guoyujia 2 月之前
父節點
當前提交
5598b68bf8
共有 1 個文件被更改,包括 116 次插入114 次删除
  1. 116 114
      src/main/java/cn/ezhizao/project/business/controller/Inc10100Controller.java

+ 116 - 114
src/main/java/cn/ezhizao/project/business/controller/Inc10100Controller.java

@@ -380,127 +380,129 @@ 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);
-                }
-            }
-        });
-        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);
-                });
-
             }
+//            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);
+//                }
+//            }
         });
-        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())));
+//            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;
+//        }
 //
 //        QueryWrapper<Sfc10401> test = new QueryWrapper<>();
 //        if (lastPullProcess != null) {