guoyujia 2 mesiacov pred
rodič
commit
d6aa5e3d1e

+ 67 - 70
src/main/java/cn/ezhizao/project/business/controller/Inc10100Controller.java

@@ -434,76 +434,73 @@ public class Inc10100Controller extends BaseController {
                 }
             }
         });
-        System.out.println("--------------------");
-        System.out.println(saveProcess);
-//        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);
-//            // 判断是否已有新版本 假设已有不更新 没有则更新
-//            Long count = processDetails.stream().filter(v -> v.getTechnologyVersion().equals(l.getPrver().trim()) && v.getProductCode().equals(l.getCpart().trim())).count();
-//            Long newCount = allChangeSfc10401.stream().filter(v -> v.getCpart().trim().equals(l.getCpart().trim()) && v.getPrver().trim().equals(l.getPrver().trim())).count();
-//            System.out.println("saveProcess"+saveProcess);
-//            System.out.println("l"+l);
-//            System.out.println("qian"+saveProcess.stream().anyMatch(t -> t.getProductCode().trim().equals(l.getCpart().trim()) && t.getTechnologyVersion().trim().equals(l.getPrver().trim())));
-//            System.out.println("hou"+!count.equals(newCount));
-//            if (!saveProcess.stream().anyMatch(t -> t.getProductCode().trim().equals(l.getCpart().trim()) && t.getTechnologyVersion().trim().equals(l.getPrver().trim())) && !count.equals(newCount)) {
-//                BizTechnologicalProcess newTech;
-//
-//                if(oldTech!=null){
-//                    oldTech.setIsHistory(1);
-//                    updateProcess.add(oldTech);
-//                    newTech = new BizTechnologicalProcess(oldTech);
-//                }else {
-//                    newTech = new BizTechnologicalProcess();
-//                }
-//
-//                // 判断是否已加过对应工艺
-//
-//                newTech.setIsHistory(0);
-//                newTech.setId(snowflakeIdWorker.nextId());
-//                saveProcess.add(newTech);
-//                // 添加所有工艺明细
-//                List<Sfc10401> itemProcesses = allChangeSfc10401.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(l.getCpart().trim())).findFirst().orElse(null);
-//                        if (bizProduct != null) {
-//                            newItem.setProductId(bizProduct.getId());
-//                        }
-//                        bizProduct = newProducts.stream().filter(v -> v.getProductCode().trim().equals(l.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);
-//                });
-//
-//            }
-//        });
-//        List<BizTechnologicalProcessDetail> distinctSaveProcessDetail = saveProcessDetail.stream().filter(distinctByKey(e -> e.getProductCode() + e.getProcessCode() + e.getTechnologyVersion() + e.getProcessStepNumber() + e.getTechnologicalProcessId())).collect(Collectors.toList());
-//        if ((saveProcess.isEmpty() || technologicalProcessService.saveBatch(saveProcess)) && (updateProcess.isEmpty() || technologicalProcessService.updateBatchById(updateProcess)) && (distinctSaveProcessDetail.isEmpty() || technologicalProcessDetailService.saveBatch(distinctSaveProcessDetail)) && (updateProcessDetail.isEmpty() || technologicalProcessDetailService.updateBatchById(updateProcessDetail))) {
-//            BizPullP2Time bizPullP2Time = new BizPullP2Time();
-//            // 将当前时间赋值给 pullTime 属性
-//            bizPullP2Time.setPullTime(new Date());
-//            bizPullP2Time.setType("productProcess");
-//            // 保存数据
-//            pullP2TimeService.saveOrUpdate(bizPullP2Time);
-//
-//            BizPullP2Time bizPullP2Tech = new BizPullP2Time();
-//            // 将当前时间赋值给 pullTime 属性
-//            bizPullP2Tech.setPullTime(new Date());
-//            bizPullP2Tech.setType("productTech");
-//            // 保存数据
-////            pullP2TimeService.saveOrUpdate(bizPullP2Tech);
-//            result = result && pullP2TimeService.saveOrUpdate(bizPullP2Tech);
-//        } else {
-//            result = false;
-//        }
+        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);
+            // 判断是否已有新版本 假设已有不更新 没有则更新
+            Long count = processDetails.stream().filter(v -> v.getTechnologyVersion().equals(l.getPrver().trim()) && v.getProductCode().equals(l.getCpart().trim())).count();
+            Long newCount = allChangeSfc10401.stream().filter(v -> v.getCpart().trim().equals(l.getCpart().trim()) && v.getPrver().trim().equals(l.getPrver().trim())).count();
+            System.out.println("saveProcess"+saveProcess);
+            System.out.println("l"+l);
+            System.out.println("qian"+saveProcess.stream().anyMatch(t -> t.getProductCode().trim().equals(l.getCpart().trim()) && t.getTechnologyVersion().trim().equals(l.getPrver().trim())));
+            if (!saveProcess.stream().anyMatch(t -> t.getProductCode().trim().equals(l.getCpart().trim()) && t.getTechnologyVersion().trim().equals(l.getPrver().trim())) && !count.equals(newCount)) {
+                BizTechnologicalProcess newTech;
+
+                if(oldTech!=null){
+                    oldTech.setIsHistory(1);
+                    updateProcess.add(oldTech);
+                    newTech = new BizTechnologicalProcess(oldTech);
+                }else {
+                    newTech = new BizTechnologicalProcess();
+                }
+
+                // 判断是否已加过对应工艺
+
+                newTech.setIsHistory(0);
+                newTech.setId(snowflakeIdWorker.nextId());
+                saveProcess.add(newTech);
+                // 添加所有工艺明细
+                List<Sfc10401> itemProcesses = allChangeSfc10401.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(l.getCpart().trim())).findFirst().orElse(null);
+                        if (bizProduct != null) {
+                            newItem.setProductId(bizProduct.getId());
+                        }
+                        bizProduct = newProducts.stream().filter(v -> v.getProductCode().trim().equals(l.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);
+                });
+
+            }
+        });
+        List<BizTechnologicalProcessDetail> distinctSaveProcessDetail = saveProcessDetail.stream().filter(distinctByKey(e -> e.getProductCode() + e.getProcessCode() + e.getTechnologyVersion() + e.getProcessStepNumber() + e.getTechnologicalProcessId())).collect(Collectors.toList());
+        if ((saveProcess.isEmpty() || technologicalProcessService.saveBatch(saveProcess)) && (updateProcess.isEmpty() || technologicalProcessService.updateBatchById(updateProcess)) && (distinctSaveProcessDetail.isEmpty() || technologicalProcessDetailService.saveBatch(distinctSaveProcessDetail)) && (updateProcessDetail.isEmpty() || technologicalProcessDetailService.updateBatchById(updateProcessDetail))) {
+            BizPullP2Time bizPullP2Time = new BizPullP2Time();
+            // 将当前时间赋值给 pullTime 属性
+            bizPullP2Time.setPullTime(new Date());
+            bizPullP2Time.setType("productProcess");
+            // 保存数据
+            pullP2TimeService.saveOrUpdate(bizPullP2Time);
+
+            BizPullP2Time bizPullP2Tech = new BizPullP2Time();
+            // 将当前时间赋值给 pullTime 属性
+            bizPullP2Tech.setPullTime(new Date());
+            bizPullP2Tech.setType("productTech");
+            // 保存数据
+//            pullP2TimeService.saveOrUpdate(bizPullP2Tech);
+            result = result && pullP2TimeService.saveOrUpdate(bizPullP2Tech);
+        } else {
+            result = false;
+        }
 //
 //        QueryWrapper<Sfc10401> test = new QueryWrapper<>();
 //        if (lastPullProcess != null) {