Browse Source

任务明细 当前工序信息修改

yzc 1 year ago
parent
commit
11d84f8e4c

+ 30 - 14
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskServiceImpl.java

@@ -22,6 +22,7 @@ import com.fjhx.mes.entity.production.po.*;
 import com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo;
 import com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo;
 import com.fjhx.mes.entity.production.vo.ProductionTaskVo;
 import com.fjhx.mes.entity.production.vo.ProductionTaskVo;
 import com.fjhx.mes.entity.task.po.TaskProgress;
 import com.fjhx.mes.entity.task.po.TaskProgress;
+import com.fjhx.mes.entity.task.vo.TaskProgressVo;
 import com.fjhx.mes.entity.technology.po.Technology;
 import com.fjhx.mes.entity.technology.po.Technology;
 import com.fjhx.mes.entity.technology.po.TechnologyProcessLine;
 import com.fjhx.mes.entity.technology.po.TechnologyProcessLine;
 import com.fjhx.mes.entity.work.po.WorkOrder;
 import com.fjhx.mes.entity.work.po.WorkOrder;
@@ -111,7 +112,7 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
     @Autowired
     @Autowired
     private WorkOrderProcessLineService workOrderProcessLineService;
     private WorkOrderProcessLineService workOrderProcessLineService;
     @Autowired
     @Autowired
-    private TaskProgressService taskProgressServices;
+    private TaskProgressService taskProgressService;
 
 
     @Override
     @Override
     public Page<ProductionTaskVo> getPage(ProductionTaskSelectDto dto) {
     public Page<ProductionTaskVo> getPage(ProductionTaskSelectDto dto) {
@@ -412,7 +413,7 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
                 taskProgressList.add(taskProgress);
                 taskProgressList.add(taskProgress);
             }
             }
         }
         }
-        taskProgressServices.saveBatch(taskProgressList);
+        taskProgressService.saveBatch(taskProgressList);
 
 
 
 
         //添加任务对每一个工序的用户绑定
         //添加任务对每一个工序的用户绑定
@@ -454,18 +455,25 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
 
 
         List<ProductionTaskDetail> list = productionTaskDetailService.list(q -> q.eq(ProductionTaskDetail::getProductionTaskId, id));
         List<ProductionTaskDetail> list = productionTaskDetailService.list(q -> q.eq(ProductionTaskDetail::getProductionTaskId, id));
         List<ProductionTaskDetailVo> productionTaskDetailVos = BeanUtil.copyToList(list, ProductionTaskDetailVo.class);
         List<ProductionTaskDetailVo> productionTaskDetailVos = BeanUtil.copyToList(list, ProductionTaskDetailVo.class);
+
         //赋值当前工序名称
         //赋值当前工序名称
+        List<Long> ptdIds = productionTaskDetailVos.stream().map(ProductionTaskDetail::getId).collect(Collectors.toList());
+
+        List<TaskProgress> taskProgressList = taskProgressService.list(q -> q
+                .in(TaskProgress::getProductionTaskDetailId, ptdIds)
+                .ne(TaskProgress::getStatus,2)
+        );
+        List<TaskProgressVo> taskProgressVos = BeanUtil.copyToList(taskProgressList, TaskProgressVo.class);
+        UserUtil.assignmentNickName(taskProgressVos, TaskProgress::getPersonLiableId, TaskProgressVo::setPersonLiableName);
+
+
+        Map<Long, String> gxmap = new HashMap<>();
+
         WorkOrder workOrder = workOrderService.getById(productionPlan.getWorkOrderId());
         WorkOrder workOrder = workOrderService.getById(productionPlan.getWorkOrderId());
         //判断是否是定制工单 获取指定工序
         //判断是否是定制工单 获取指定工序
         if ("1".equals(workOrder.getIsCustomized())) {
         if ("1".equals(workOrder.getIsCustomized())) {
             //获取定制工序
             //获取定制工序
-            Map<Long, String> gxmap = workOrderProductionProcessesService.mapKV(WorkOrderProductionProcesses::getId, WorkOrderProductionProcesses::getName, q -> q.eq(WorkOrderProductionProcesses::getWorkOrderId, workOrder.getId()));
-            if (ObjectUtil.isNotEmpty(gxmap)) {
-                for (ProductionTaskDetailVo productionTaskDetail : productionTaskDetailVos) {
-                    String gxname = gxmap.get(productionTaskDetail.getProductionProcessesId());
-                    productionTaskDetail.setProductionProcessesName(gxname);
-                }
-            }
+             gxmap = workOrderProductionProcessesService.mapKV(WorkOrderProductionProcesses::getId, WorkOrderProductionProcesses::getName, q -> q.eq(WorkOrderProductionProcesses::getWorkOrderId, workOrder.getId()));
         } else {
         } else {
             //获取基本工序
             //获取基本工序
             ApplicableProducts applicableProducts = applicableProductsService.getOne(q -> q.eq(ApplicableProducts::getProductId, workOrder.getProductId()));
             ApplicableProducts applicableProducts = applicableProductsService.getOne(q -> q.eq(ApplicableProducts::getProductId, workOrder.getProductId()));
@@ -475,15 +483,23 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
                     String processRoute = technology.getProcessRoute();
                     String processRoute = technology.getProcessRoute();
                     if (ObjectUtil.isNotEmpty(processRoute)) {
                     if (ObjectUtil.isNotEmpty(processRoute)) {
                         String[] split = processRoute.split(",");
                         String[] split = processRoute.split(",");
-                        Map<Long, String> gxmap = productionProcessesService.mapKV(ProductionProcesses::getId, ProductionProcesses::getName, q -> q.in(ProductionProcesses::getId, split));
-                        for (ProductionTaskDetailVo productionTaskDetail : productionTaskDetailVos) {
-                            String gxname = gxmap.get(productionTaskDetail.getProductionProcessesId());
-                            productionTaskDetail.setProductionProcessesName(gxname);
-                        }
+                         gxmap = productionProcessesService.mapKV(ProductionProcesses::getId, ProductionProcesses::getName, q -> q.in(ProductionProcesses::getId, split));
                     }
                     }
                 }
                 }
             }
             }
         }
         }
+
+        if (ObjectUtil.isNotEmpty(gxmap)) {
+            for (TaskProgressVo taskProgressVo : taskProgressVos) {
+                taskProgressVo.setProcessesName(gxmap.getOrDefault(taskProgressVo.getProcessesId(),"未知工序"));
+            }
+            Map<Long, List<TaskProgressVo>> taskProgressMap = taskProgressVos.stream().collect(Collectors.groupingBy(TaskProgressVo::getProductionTaskDetailId));
+            for (ProductionTaskDetailVo productionTaskDetail : productionTaskDetailVos) {
+                List<TaskProgressVo> taskProgressVos1 = taskProgressMap.get(productionTaskDetail.getId());
+                productionTaskDetail.setTaskProgressList(taskProgressVos1);
+            }
+        }
+
         //赋值累计耗时
         //赋值累计耗时
         for (ProductionTaskDetailVo productionTaskDetail : productionTaskDetailVos) {
         for (ProductionTaskDetailVo productionTaskDetail : productionTaskDetailVos) {
             long diff = new Date().getTime() - productionTaskDetail.getCreateTime().getTime();
             long diff = new Date().getTime() - productionTaskDetail.getCreateTime().getTime();