Browse Source

问题处理

yzc 1 year ago
parent
commit
d09ab6e937

+ 36 - 16
hx-mes/src/main/java/com/fjhx/mes/service/technology/impl/TechnologyServiceImpl.java

@@ -129,22 +129,22 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
         List<Long> productList = list.stream().map(ApplicableProducts::getProductId).collect(Collectors.toList());
         List<ProductInfo> productInfos = productInfoService.listByIds(productList);
         result.setApplicableProductsList(productInfos);
-        //获取工艺线路信息
-        List<TechnologyProcessLine> processRoute = technologyProcessLineService.list(q -> q.eq(TechnologyProcessLine::getTechnologyId, technology.getId()));
-        List<Long> processRouteIds = processRoute.stream().map(TechnologyProcessLine::getTargetProcessesId).collect(Collectors.toList());
-        if (ObjectUtil.isNotEmpty(processRouteIds)) {
-//        List<String> processRouteIds = Arrays.asList(result.getProcessRoute().split(","));
-            List<ProductionProcesses> productionProcessesList = productionProcessesService.listByIds(processRouteIds);
-            Map<Long, ProductionProcesses> productionProcessesMap = productionProcessesList.stream()
-                    .collect(Collectors.groupingBy(ProductionProcesses::getId,
-                            Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
-            //对工艺线路排序必须按照前端提交的顺序排序
-            List<ProductionProcesses> newProductionProcessesList = new ArrayList<>();
-            for (Long processRouteId : processRouteIds) {
-                newProductionProcessesList.add(productionProcessesMap.get(processRouteId));
-            }
-            result.setProcessRouteList(newProductionProcessesList);
-        }
+//        //获取工艺线路信息
+//        List<TechnologyProcessLine> processRoute = technologyProcessLineService.list(q -> q.eq(TechnologyProcessLine::getTechnologyId, technology.getId()));
+//        List<Long> processRouteIds = processRoute.stream().map(TechnologyProcessLine::getTargetProcessesId).collect(Collectors.toList());
+//        if (ObjectUtil.isNotEmpty(processRouteIds)) {
+////        List<String> processRouteIds = Arrays.asList(result.getProcessRoute().split(","));
+//            List<ProductionProcesses> productionProcessesList = productionProcessesService.listByIds(processRouteIds);
+//            Map<Long, ProductionProcesses> productionProcessesMap = productionProcessesList.stream()
+//                    .collect(Collectors.groupingBy(ProductionProcesses::getId,
+//                            Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
+//            //对工艺线路排序必须按照前端提交的顺序排序
+//            List<ProductionProcesses> newProductionProcessesList = new ArrayList<>();
+//            for (Long processRouteId : processRouteIds) {
+//                newProductionProcessesList.add(productionProcessesMap.get(processRouteId));
+//            }
+//            result.setProcessRouteList(newProductionProcessesList);
+//        }
         return result;
     }
 
@@ -161,10 +161,20 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
         applicableProductsService.saveBatch(productList);
 
         //保存工艺线路列表
+        String processRoute;
         List<TechnologyProcessLine> technologyProcessLines = analysisJsonData(technologyDto);
         if (ObjectUtil.isNotEmpty(technologyProcessLines)) {
             technologyProcessLineService.saveBatch(technologyProcessLines);
+
+             processRoute = technologyProcessLines.stream()
+                    .map(TechnologyProcessLine::getTargetProcessesId)
+                    .map(Objects::toString)
+                    .filter(item -> !Objects.equals(item, "99")).collect(Collectors.joining(","));
+        } else {
+            processRoute = null;
         }
+
+        this.update(q->q.eq(Technology::getId,technologyDto.getId()).set(Technology::getProcessRoute,processRoute));
     }
 
     @DSTransactional
@@ -181,11 +191,21 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
         applicableProductsService.saveBatch(productList);
 
         //修改工艺线路列表,只能全删了再创建
+        String processRoute;
         technologyProcessLineService.remove(q -> q.eq(TechnologyProcessLine::getTechnologyId, technologyDto.getId()));
         List<TechnologyProcessLine> technologyProcessLines = analysisJsonData(technologyDto);
         if (ObjectUtil.isNotEmpty(technologyProcessLines)) {
             technologyProcessLineService.saveBatch(technologyProcessLines);
+
+            processRoute = technologyProcessLines.stream()
+                    .map(TechnologyProcessLine::getTargetProcessesId)
+                    .map(Objects::toString)
+                    .filter(item -> !Objects.equals(item, "99")).collect(Collectors.joining(","));
+        } else {
+            processRoute = null;
         }
+
+        this.update(q->q.eq(Technology::getId,technologyDto.getId()).set(Technology::getProcessRoute,processRoute));
     }
 
     @DSTransactional