Ver código fonte

定制工序附件丢失问题处理

yzc 1 ano atrás
pai
commit
ec2efd45f5

+ 15 - 14
hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderProductionProcessesServiceImpl.java

@@ -38,7 +38,6 @@ import org.springframework.stereotype.Service;
 
 import java.util.*;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * <p>
@@ -80,23 +79,25 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
             List<ProductionProcesses> productionProcesses = productionProcessesService.getBaseProductionProcessesList(workOrder);
             List<WorkOrderProductionProcessesVo> workOrderProductionProcessesList0 = BeanUtil.copyToList(productionProcesses, WorkOrderProductionProcessesVo.class);
             int i = 0;
-            Map<Long,Long> newOldIdMap = new HashMap<>();
+            Map<Long, Long> newOldIdMap = new HashMap<>();
 
-            //获取基础文件列表
+            //获取基础工序文件列表
             List<Long> productionProcessesIds = productionProcesses.stream().map(ProductionProcesses::getId).collect(Collectors.toList());
             Map<Long, List<FileInfo>> oldFileInfoMap = new HashMap();
-            if(ObjectUtil.isNotEmpty(productionProcessesIds)){
+            if (ObjectUtil.isNotEmpty(productionProcessesIds)) {
                 DynamicDataSourceContextHolder.push(SourceConstant.BASE);
                 List<FileInfo> oldFileInfoList = fileInfoService.list(q -> q.in(FileInfo::getBusinessId, productionProcessesIds));
-                oldFileInfoList.forEach(item->item.setId(null));
-                oldFileInfoMap = oldFileInfoList.stream().collect(Collectors.groupingBy(FileInfo::getBusinessId));
                 DynamicDataSourceContextHolder.poll();
+                if (ObjectUtil.isNotEmpty(oldFileInfoList)) {
+                    oldFileInfoList.forEach(item -> item.setId(null));
+                    oldFileInfoMap = oldFileInfoList.stream().collect(Collectors.groupingBy(FileInfo::getBusinessId));
+                }
             }
 
             for (WorkOrderProductionProcessesVo workOrderProductionProcesses : workOrderProductionProcessesList0) {
                 Long oldId = workOrderProductionProcesses.getId();
                 Long newId = IdWorker.getId();
-                newOldIdMap.put(oldId,newId);
+                newOldIdMap.put(oldId, newId);
 
                 //将基础工序的文件信息复制一份给新的
                 List<FileInfo> fileInfoList = oldFileInfoMap.get(oldId);
@@ -115,7 +116,7 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
             ApplicableProducts applicableProducts = applicableProductsService.getOne(q -> q
                     .eq(ApplicableProducts::getProductId, workOrderVo.getProductId())
             );
-            if(ObjectUtil.isNotEmpty(applicableProducts)){
+            if (ObjectUtil.isNotEmpty(applicableProducts)) {
                 Technology technology = technologyService.getById(applicableProducts.getTechnologyId());
                 String nodeObject = technology.getNodeObject();
 
@@ -124,10 +125,10 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
                 JSONArray jsonArray = JSONArray.parseArray(nodeObject);
                 for (int j = 0; j < jsonArray.size(); j++) {
                     JSONObject json = jsonArray.getJSONObject(j);
-                    if(json.getString("shape").equals("handle-btn") || json.getString("shape").equals("handle-btn-one")){
+                    if (json.getString("shape").equals("handle-btn") || json.getString("shape").equals("handle-btn-one")) {
                         Long oldProductionId = json.getLong("productionId");
                         Long newProductionId = newOldIdMap.get(oldProductionId);
-                        if(ObjectUtil.isNotEmpty(newProductionId)) {
+                        if (ObjectUtil.isNotEmpty(newProductionId)) {
                             json.put("productionId", newProductionId.toString());
                         }
                     }
@@ -150,7 +151,7 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
     public void edit(WorkOrderProductionProcessesDto dto) {
         workOrderService.update(q -> q
                 .eq(WorkOrder::getId, dto.getWorkOrderId())
-                .set(ObjectUtil.isNotEmpty(dto.getTechnologyStatus()),WorkOrder::getTechnologyStatus, dto.getTechnologyStatus())
+                .set(ObjectUtil.isNotEmpty(dto.getTechnologyStatus()), WorkOrder::getTechnologyStatus, dto.getTechnologyStatus())
                 .set(WorkOrder::getCustomizedNodeObject, dto.getCustomizedNodeObject())
                 .set(BasePo::getUpdateTime, new Date())
                 .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
@@ -179,9 +180,9 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
         //保存图信息
         WorkOrder workOrder = workOrderService.getById(dto.getWorkOrderId());
         //先删除图信息再保存
-        workOrderProcessLineService.remove(q->q.eq(WorkOrderProcessLine::getWorkOrderId,workOrder.getId()));
+        workOrderProcessLineService.remove(q -> q.eq(WorkOrderProcessLine::getWorkOrderId, workOrder.getId()));
         List<WorkOrderProcessLine> workOrderProcessLines = analysisJsonData(workOrder);
-        if(ObjectUtil.isNotEmpty(workOrderProcessLines)){
+        if (ObjectUtil.isNotEmpty(workOrderProcessLines)) {
             workOrderProcessLineService.saveBatch(workOrderProcessLines);
         }
 
@@ -189,7 +190,7 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
         workOrderService.checkWorkOrderStatus(dto.getWorkOrderId());
 
         //增加附件(绑定到工单上,附件类型为1)
-        ObsFileUtil.editFile(dto.getFileList(),dto.getWorkOrderId(),1);
+        ObsFileUtil.editFile(dto.getFileList(), dto.getWorkOrderId(), 1);
     }
 
     /**