Quellcode durchsuchen

aps借调更新工序逻辑

sucheng vor 1 Jahr
Ursprung
Commit
2689d495d9

+ 26 - 5
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationServiceImpl.java

@@ -1,6 +1,7 @@
 package com.rongwei.bscommon.sys.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -62,6 +63,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
 
     @Autowired
     private ApsProcessOperationProcessEquService apsProcessOperationProcessEquService;
+    @Autowired
+    private ApsProductionOrderService apsProductionOrderService;
+    @Autowired
+    private ApsBlankOrderService apsBlankOrderService;
 
 
     private final static Map<String, String> UNIT_MAP = new HashMap<String, String>() {{
@@ -696,24 +701,41 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             return R.error("入参有误");
         }
 
+        String orderId = "";
+
         //迭代更新当前工序作业及其所有后续工序
-        updateProcessByProcessId(processId);
+        orderId = updateProcessByProcessId(processId, orderId);
 
         //完成后更新生产状态
         CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
         commonUpdateProductionStatusReq.setProcessOperationId(processId);
         apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
 
+        //更新订单的状态
+        ApsProductionOrderDo apsProductionOrderDo = new ApsProductionOrderDo();
+        apsProductionOrderDo.setId(orderId);
+        apsProductionOrderDo.setChangedate(DateUtil.date());
+        apsProductionOrderDo.setAuditstatus("待计划评审");
+        apsProductionOrderService.updateById(apsProductionOrderDo);
         return R.ok();
     }
 
     //根据工序ID更新,明细和工序的状态
-    private void updateProcessByProcessId(String processId) {
+    private String updateProcessByProcessId(String processId, String orderId) {
         //=============迭代开始,更新当前工序及其明细==================
 
         //查询当前工序作业详情
         ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(processId);
 
+        if (ObjectUtil.isEmpty(orderId)) {
+            //工序作业所属坯料计划
+            String blankid = apsProcessOperationDo.getBlankid();
+            //查询坯料计划的所属订单ID
+            ApsBlankOrderDo apsBlankOrderDo = apsBlankOrderService.getById(blankid);
+            orderId = apsBlankOrderDo.getProductionorderid();
+        }
+
+
         ApsProcessOperationDo previousProcessOperation = null;
         if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getPreviousprocessid())) {
             //查询上道工序作业详情
@@ -807,11 +829,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getNextprocessid())) {
             String[] nextProcessIdList = apsProcessOperationDo.getNextprocessid().split(",");
             for (String nextProcessId : nextProcessIdList) {
-                updateProcessByProcessId(nextProcessId);
+                updateProcessByProcessId(nextProcessId, orderId);
             }
-        } else {
-            return;
         }
+        return orderId;
     }
 
     /*