guoyujia hai 2 meses
pai
achega
03c005cea3

+ 49 - 48
src/main/java/cn/ezhizao/project/business/controller/Inc10100Controller.java

@@ -380,60 +380,61 @@ public class Inc10100Controller extends BaseController {
                     newTech.setProductDrawingNumber(sfc10400.getDraw());
                     newTech.setProductDescription(sfc10400.getDescr());
                     newTech.setId(snowflakeIdWorker.nextId());
-                    System.out.println(newTech);
                     saveProcess.add(newTech);
                     newProcess.setTechnologicalProcessId(newTech.getId());
 
                     saveProcessDetail.add(newProcess);
                 }
             }
-//            else {
-//                BizTechnologicalProcessDetail old = processDetails.stream().filter(v -> v.getTechnologyVersion().equals(l.getPrver().trim()) && v.getProductCode().equals(l.getCpart().trim()) && v.getProcessCode().equals(l.getPrcode().trim()) && v.getTechnologicalProcessId().equals(oldTech.getId())).findFirst().orElse(null);
-//                Long count = processDetails.stream().filter(v -> v.getTechnologyVersion().equals(l.getPrver().trim()) && v.getProductCode().equals(l.getCpart().trim())).count();
-//                Long newCount = all10401List.stream().filter(v -> v.getCpart().trim().equals(l.getCpart().trim()) && v.getPrver().trim().equals(l.getPrver().trim())).count();
-//                if (old == null || !old.getProcessStepNumber().trim().equals(l.getPrseq().trim()) || !newCount.equals(count)) {
-//                    // 假设旧工艺不存在,或新的工艺序号和旧的不同则将旧工艺版本isHistory置为1
-//                    oldTech.setIsHistory(1);
-//                    updateProcess.add(oldTech);
-//                    BizTechnologicalProcess newTech;
-//                    // 判断是否已加过对应工艺
-//                    if (!saveProcess.stream().anyMatch(v -> v.getProductCode().trim().equals(l.getCpart().trim()) && v.getTechnologyVersion().trim().equals(l.getPrver()))) {
-//                        newTech = new BizTechnologicalProcess(oldTech);
-//                        newTech.setIsHistory(0);
-//                        newTech.setId(snowflakeIdWorker.nextId());
-//                        saveProcess.add(newTech);
-//                        // 添加所有工艺明细
-//                        List<Sfc10401> itemProcesses = all10401List.stream().filter(v -> v.getCpart().trim().equals(l.getCpart().trim()) && v.getPrver().trim().equals(l.getPrver().trim())).collect(Collectors.toList());
-//                        itemProcesses.forEach(e -> {
-//                            BizTechnologicalProcessDetail newItem = new BizTechnologicalProcessDetail(e);
-//                            newItem.setTechnologicalProcessId(newTech.getId());
-//                            if (newTech.getProductCode() != null && !newTech.getProductCode().isEmpty()) {
-//                                BizProduct bizProduct = products.stream().filter(v -> v.getProductCode().trim().equals(sfc10400.getCpart().trim())).findFirst().orElse(null);
-//                                if (bizProduct != null) {
-//                                    newItem.setProductId(bizProduct.getId());
-//                                }
-//                                bizProduct = newProducts.stream().filter(v -> v.getProductCode().trim().equals(sfc10400.getCpart().trim())).findFirst().orElse(null);
-//                                if (bizProduct != null && newItem.getProductId() == null) {
-//                                    newItem.setProductId(bizProduct.getId());
-//                                }
-//                            }
-//                            if (newItem.getProcessCode() != null && !newItem.getProcessCode().isEmpty()) {
-//                                BizProcess bizProcess = bases.stream().filter(v -> v.getProcessCode().equals(e.getPrcode().trim())).findFirst().orElse(null);
-//                                newItem.setProcessId(bizProcess == null ? null : bizProcess.getId());
-//                            }
-//                            saveProcessDetail.add(newItem);
-//                        });
-//                    }
-//                } else {
-//                    // 假设工艺存在则更新工艺信息
-//                    old.setProcessKey(l.getFinkey());
-//                    old.setProcessAlias(l.getPrna());
-//                    old.setProductShaftCategory(l.getZtype());
-//                    old.setProductShaftCategoryName(l.getZtydm());
-//                    old.setProductDescription(l.getDescr());
-//                    updateProcessDetail.add(old);
-//                }
-//            }
+            else {
+                BizTechnologicalProcessDetail old = processDetails.stream().filter(v -> v.getTechnologyVersion().equals(l.getPrver().trim()) && v.getProductCode().equals(l.getCpart().trim()) && v.getProcessCode().equals(l.getPrcode().trim()) && v.getTechnologicalProcessId().equals(oldTech.getId())).findFirst().orElse(null);
+                Long count = processDetails.stream().filter(v -> v.getTechnologyVersion().equals(l.getPrver().trim()) && v.getProductCode().equals(l.getCpart().trim())).count();
+                Long newCount = all10401List.stream().filter(v -> v.getCpart().trim().equals(l.getCpart().trim()) && v.getPrver().trim().equals(l.getPrver().trim())).count();
+                if (old == null || !old.getProcessStepNumber().trim().equals(l.getPrseq().trim()) || !newCount.equals(count)) {
+                    // 假设旧工艺不存在,或新的工艺序号和旧的不同则将旧工艺版本isHistory置为1
+                    oldTech.setIsHistory(1);
+                    updateProcess.add(oldTech);
+                    BizTechnologicalProcess newTech;
+                    // 判断是否已加过对应工艺
+                    if (!saveProcess.stream().anyMatch(v -> v.getProductCode().trim().equals(l.getCpart().trim()) && v.getTechnologyVersion().trim().equals(l.getPrver()))) {
+                        newTech = new BizTechnologicalProcess(oldTech);
+                        newTech.setIsHistory(0);
+                        newTech.setId(snowflakeIdWorker.nextId());
+                        System.out.println("_______________________");
+                        System.out.println(newTech);
+                        saveProcess.add(newTech);
+                        // 添加所有工艺明细
+                        List<Sfc10401> itemProcesses = all10401List.stream().filter(v -> v.getCpart().trim().equals(l.getCpart().trim()) && v.getPrver().trim().equals(l.getPrver().trim())).collect(Collectors.toList());
+                        itemProcesses.forEach(e -> {
+                            BizTechnologicalProcessDetail newItem = new BizTechnologicalProcessDetail(e);
+                            newItem.setTechnologicalProcessId(newTech.getId());
+                            if (newTech.getProductCode() != null && !newTech.getProductCode().isEmpty()) {
+                                BizProduct bizProduct = products.stream().filter(v -> v.getProductCode().trim().equals(sfc10400.getCpart().trim())).findFirst().orElse(null);
+                                if (bizProduct != null) {
+                                    newItem.setProductId(bizProduct.getId());
+                                }
+                                bizProduct = newProducts.stream().filter(v -> v.getProductCode().trim().equals(sfc10400.getCpart().trim())).findFirst().orElse(null);
+                                if (bizProduct != null && newItem.getProductId() == null) {
+                                    newItem.setProductId(bizProduct.getId());
+                                }
+                            }
+                            if (newItem.getProcessCode() != null && !newItem.getProcessCode().isEmpty()) {
+                                BizProcess bizProcess = bases.stream().filter(v -> v.getProcessCode().equals(e.getPrcode().trim())).findFirst().orElse(null);
+                                newItem.setProcessId(bizProcess == null ? null : bizProcess.getId());
+                            }
+                            saveProcessDetail.add(newItem);
+                        });
+                    }
+                } else {
+                    // 假设工艺存在则更新工艺信息
+                    old.setProcessKey(l.getFinkey());
+                    old.setProcessAlias(l.getPrna());
+                    old.setProductShaftCategory(l.getZtype());
+                    old.setProductShaftCategoryName(l.getZtydm());
+                    old.setProductDescription(l.getDescr());
+                    updateProcessDetail.add(old);
+                }
+            }
         });
 //        changeSfc10400.forEach(l -> {
 //            BizTechnologicalProcess oldTech = processes.stream().filter(v -> v.getTechnologyVersion().trim().equals(l.getPrver().trim()) && v.getProductCode().trim().equals(l.getCpart().trim()) && v.getIsHistory().equals(0)).findFirst().orElse(null);