Sfoglia il codice sorgente

aps借调更新工序逻辑

sucheng 1 anno fa
parent
commit
ec1b243472

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

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
 import com.rongwei.bscommon.sys.service.*;
 import com.rongwei.bsentity.domain.*;
+import com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq;
 import com.rongwei.bsentity.vo.PreviousProcessVo;
 import com.rongwei.bsentity.vo.ProcessIdRelationVo;
 import com.rongwei.commonservice.service.SysMindMappingService;
@@ -694,6 +695,11 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         //迭代更新当前工序作业及其所有后续工序
         updateProcessByProcessId(processId);
 
+        //完成后更新生产状态
+        CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
+        commonUpdateProductionStatusReq.setProcessOperationId(processId);
+        apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
+
         return R.ok();
     }
 
@@ -704,8 +710,11 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         //查询当前工序作业详情
         ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(processId);
 
-        //查询上道工序作业详情
-        ApsProcessOperationDo previousProcessOperation = apsProcessOperationService.getById(apsProcessOperationDo.getPreviousprocessid());
+        ApsProcessOperationDo previousProcessOperation = null;
+        if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getPreviousprocessid())) {
+            //查询上道工序作业详情
+            previousProcessOperation = apsProcessOperationService.getById(apsProcessOperationDo.getPreviousprocessid());
+        }
 
 
         //查询当前工序的所有作业明细
@@ -718,7 +727,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         String processOperationProcessEquId = "";
         //遍历作业明细
         for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : list) {
-            if(ObjectUtil.isEmpty(processOperationProcessEquId)){
+            if (ObjectUtil.isEmpty(processOperationProcessEquId)) {
                 processOperationProcessEquId = apsProcessOperationProcessEquDo.getId();
             }
 
@@ -736,22 +745,25 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             //先判断未完工卷数
 
             Integer unfinishroll = apsProcessOperationProcessEquDo.getUnfinishroll();
-            if (unfinishroll == 0) {
+            if (ObjectUtil.isEmpty(unfinishroll)) {
+                needUpdate.setClosestatus("未完工");
+            }
+            if (ObjectUtil.isNotEmpty(unfinishroll) && unfinishroll == 0) {
                 needUpdate.setClosestatus("已完工");
             }
             //有上道工序作业 && 上道工序作业已完工状态=已完工 && 作业明细待加工料卷批次号数量-工序作业已取消卷数<=0 && 已开工卷数=已检验卷数
             if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getPreviousprocessid())
-                    && previousProcessOperation.getClosestatus().equals("已完工")
-                    && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) <= 0
+                    && (ObjectUtil.isNotEmpty(previousProcessOperation) && previousProcessOperation.getClosestatus().equals("已完工"))
+                    && (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess()) && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) <= 0)
                     && apsProcessOperationProcessEquDo.getStartingroll().equals(apsProcessOperationProcessEquDo.getCheckoutroll())) {
                 needUpdate.setClosestatus("已完工");
             }
-            if (unfinishroll > 0) {
+            if (ObjectUtil.isNotEmpty(unfinishroll) && unfinishroll > 0) {
                 //没有上道工序作业 || 上道工序作业已完工状态=未完工 || 作业明细待加工料卷批次号数量-工序作业已取消卷数>0 || 已开工卷数不等于已检验卷数
                 if (ObjectUtil.isEmpty(apsProcessOperationDo.getPreviousprocessid())
-                        || previousProcessOperation.getClosestatus().equals("未完工")
-                        && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) > 0
-                        && !apsProcessOperationProcessEquDo.getStartingroll().equals(apsProcessOperationProcessEquDo.getCheckoutroll())) {
+                        || (ObjectUtil.isNotEmpty(previousProcessOperation) && previousProcessOperation.getClosestatus().equals("未完工"))
+                        || (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess()) && (apsProcessOperationProcessEquDo.getBachmaterialprocess().split(",").length - apsProcessOperationDo.getCancelroll()) > 0)
+                        || !apsProcessOperationProcessEquDo.getStartingroll().equals(apsProcessOperationProcessEquDo.getCheckoutroll())) {
                     needUpdate.setClosestatus("未完工");
                 }
             }
@@ -768,7 +780,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             if (apsProcessOperationProcessEquDo.getStartingroll() > 0 && needUpdate.getClosestatus().equals("未完工")) {
                 needUpdate.setWorkstatus("加工中");
             }
-            if (apsProcessOperationProcessEquDo.getUnfinishroll() == 0 && needUpdate.getClosestatus().equals("已完工")) {
+            if (ObjectUtil.isNotEmpty(unfinishroll) && unfinishroll == 0 && needUpdate.getClosestatus().equals("已完工")) {
                 needUpdate.setWorkstatus("已完工");
             }
 
@@ -776,7 +788,9 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
 
         }
         //更新
-        apsProcessOperationProcessEquService.updateBatchById(needUpdateProcessEquList);
+        if (needUpdateProcessEquList.size() > 0) {
+            apsProcessOperationProcessEquService.updateBatchById(needUpdateProcessEquList);
+        }
         //================作业明细更新完毕===================
 
         if (ObjectUtil.isNotEmpty(processOperationProcessEquId)) {
@@ -786,12 +800,12 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
 
         //===============当前工序及其明细更新完毕===============
         //===============判断是否存在下道工序,如果有,则继续更新工序,开始迭代,没有则结束迭代=================
-        if(ObjectUtil.isNotEmpty(apsProcessOperationDo.getNextprocessid())){
+        if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getNextprocessid())) {
             String[] nextProcessIdList = apsProcessOperationDo.getNextprocessid().split(",");
             for (String nextProcessId : nextProcessIdList) {
                 updateProcessByProcessId(nextProcessId);
             }
-        }else {
+        } else {
             return;
         }
     }

+ 0 - 5
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationDo.java

@@ -304,11 +304,6 @@ public class ApsProcessOperationDo extends BaseDo {
      */
     @TableField("ACTUALIMPUTROLL")
     private Integer actualimputroll;
-    /**
-     * 借调卷数
-     */
-    @TableField("BORROWROLL")
-    private Integer borrowroll;
     /**
      * 输入不合格卷数
      */