Pārlūkot izejas kodu

feature 增加修改在制品状态逻辑

xiahan 1 gadu atpakaļ
vecāks
revīzija
8efe7a3a3a

+ 10 - 6
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ReportCheckServiceImpl.java

@@ -2,7 +2,6 @@ package com.rongwei.bscommon.sys.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.google.common.collect.Lists;
 import com.rongwei.bscommon.sys.service.ApsBlankOrderService;
 import com.rongwei.bscommon.sys.service.ApsReportRecordsService;
 import com.rongwei.bscommon.sys.service.ReportCheckService;
@@ -10,9 +9,7 @@ import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.ProcessIdRelationVo;
 import com.rongwei.rwcommon.base.BaseDo;
 import com.rongwei.rwcommon.base.R;
-import jodd.util.ArraysUtil;
 import jodd.util.StringUtil;
-import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -20,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -63,7 +59,9 @@ public class ReportCheckServiceImpl implements ReportCheckService {
     public static final String TO_BE_PROCESSED = "待加工";
     public static final String VERIFIED = "已检验";
     public static final String COMPLETED = "已完工";
-
+    public static final String REJECTS = "不良品备料";
+    public static final String SEMIFINISHED_PRODUCTS="半成品备料";
+    public static final String WORK_IN_PROCESS="在制品";
     /**
      * 保存检验结果后更新相关信息
      *
@@ -186,6 +184,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
             //更新后续工序的待加工批次号信息
             apsProcessOperationService.updateBachmaterialprocessByIds(nextProcessOperationDos.stream()
                     .map(ApsProcessOperationDo::getId).collect(Collectors.toList()), toBeProcessedBatchNum);
+
             apsProcessOperationProcessEquService.updateBachmaterialprocessByIds(nextProcessOperationDos.stream()
                     .map(ApsProcessOperationDo::getId).collect(Collectors.toList()), toBeProcessedBatchNum);
         }
@@ -279,6 +278,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         apsWorkInProgressInventoryDos.forEach(info -> {
             if (unqualificationNum.contains(info.getBatchnumber())) {
                 info.setWorkinprocessstatus(PREPARING_MATERIAL);
+                info.setWorkinprocesstype(REJECTS);
             }
         });
 
@@ -289,7 +289,8 @@ public class ReportCheckServiceImpl implements ReportCheckService {
          *
          */
         List<String> qualificationNum = qualifiedOutPutList.stream().map(ApsReportOutputDo::getOutputnumber).collect(Collectors.toList());
-        int nextProcessingPlannedNum = nextProcessOperationDo.stream().mapToInt(ApsProcessOperationDo::getOutputqualifiednum).sum();
+        int nextProcessingPlannedNum = nextProcessOperationDo.stream().mapToInt(info -> info.getPlanprocessrall() - (info.getCancelroll() == null ? 0 : info.getCancelroll())).sum();
+
         apsWorkInProgressInventoryDos.forEach(info -> {
             if (!qualificationNum.contains(info.getBatchnumber())) {
                 return;
@@ -299,10 +300,13 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                     info.setDeleted(DELETED);
                 }
             } else {
+                // 输出合格卷数>计划成品卷数+下一个工序的(计划加工卷数-已取消卷数)
                 if (processOperationDo.getOutputqualifiednum() + 1 > operationOutMaterDo.getPlanprodrollnum() + nextProcessingPlannedNum) {
                     info.setWorkinprocessstatus(PREPARING_MATERIAL);
+                    info.setWorkinprocesstype(SEMIFINISHED_PRODUCTS);
                 } else  { // if (processOperationDo.getOutputqualifiednum() + 1 <= operationOutMaterDo.getPlanprodrollnum() + nextProcessingPlannedNum)
                     info.setWorkinprocessstatus(TO_BE_PROCESSED);
+                    info.setWorkinprocesstype(WORK_IN_PROCESS);
                 }
             }
 

+ 2 - 1
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsWorkInProgressInventoryDao.xml

@@ -55,7 +55,8 @@
     <update id="updateWorkinprocessstatus">
         <foreach collection="datas" item="data" separator=";">
             UPDATE aps_work_in_progress_inventory
-            SET WORKINPROCESSSTATUS = #{data.workinprocessstatus}
+            SET WORKINPROCESSSTATUS = #{data.workinprocessstatus},
+             WORKINPROCESSTYPE = #{data.workinprocesstype}
             WHERE ID = #{data.id}
         </foreach>
     </update>