Min 1 year ago
parent
commit
a6f445218c

+ 19 - 4
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ProdProcedureServiceImpl.java

@@ -2,14 +2,12 @@ package com.management.platform.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.PlanProcedureTotal;
-import com.management.platform.entity.ProdProcedure;
-import com.management.platform.entity.ProdProcedureCopy;
-import com.management.platform.entity.User;
+import com.management.platform.entity.*;
 import com.management.platform.mapper.*;
 import com.management.platform.service.PlanProcedureTotalService;
 import com.management.platform.service.ProdProcedureService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.management.platform.service.ReportService;
 import com.management.platform.util.HttpRespMsg;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -42,6 +40,8 @@ public class ProdProcedureServiceImpl extends ServiceImpl<ProdProcedureMapper, P
     private ProdProcedureCopyMapper prodProcedureCopyMapper;
     @Resource
     private PlanProcedureTotalService planProcedureTotalService;
+    @Resource
+    private ReportService reportService;
 
     @Override
     public HttpRespMsg changeProdProcedure(HttpServletRequest request, List<ProdProcedure> prodProcedureList, Integer productId, String productName, String version) {
@@ -215,6 +215,7 @@ public class ProdProcedureServiceImpl extends ServiceImpl<ProdProcedureMapper, P
         List<Integer> ids = prodProcedures.stream().map(ProdProcedure::getId).distinct().collect(Collectors.toList());
         //需要处理的数据
         List<PlanProcedureTotal> planProcedureTotals = planProcedureTotalMapper.selectList(new LambdaQueryWrapper<PlanProcedureTotal>().notIn(PlanProcedureTotal::getProdProcedureId, ids));
+        List<Report> reportList = reportService.list(new LambdaQueryWrapper<Report>().notIn(Report::getProdProcedureId, ids));
         for (PlanProcedureTotal planProcedureTotal : planProcedureTotals) {
             Optional<ProdProcedureCopy> first = prodProcedureCopyList.stream().filter(p -> p.getId().equals(planProcedureTotal.getProdProcedureId())).findFirst();
             if(first.isPresent()){
@@ -228,6 +229,20 @@ public class ProdProcedureServiceImpl extends ServiceImpl<ProdProcedureMapper, P
         if(planProcedureTotals.size()>0){
             planProcedureTotalService.updateBatchById(planProcedureTotals);
         }
+        for (Report report : reportList) {
+            Optional<ProdProcedureCopy> first = prodProcedureCopyList.stream().filter(p -> p.getId().equals(report.getProdProcedureId())).findFirst();
+            if(first.isPresent()){
+                ProdProcedureCopy prodProcedureCopy = first.get();
+                Optional<ProdProcedure> procedure = prodProcedures.stream().filter(p -> p.getProductId().equals(prodProcedureCopy.getProductId()) && p.getVersionNumber().equals(prodProcedureCopy.getVersionNumber()) && p.getName().equals(prodProcedureCopy.getName())).findFirst();
+                if(procedure.isPresent()){
+                    report.setProdProcedureId(procedure.get().getId());
+                }
+            }
+        }
+        if(reportList.size()>0){
+            reportService.updateBatchById(reportList);
+        }
+
 
         return new HttpRespMsg();
     }