瀏覽代碼

作业取消逻辑调整

DLC 6 月之前
父節點
當前提交
28dbb48495

+ 1 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationDao.java

@@ -83,7 +83,7 @@ public interface ApsProcessOperationDao extends BaseMapper<ApsProcessOperationDo
     @Select("SELECT * FROM aps_process_operation WHERE DELETED = 0 AND ID in ('${nextIds}')")
     List<ApsProcessOperationDo> getNextProcessOperations(@Param("nextIds") String nextIds);
 
-    @Select("SELECT * FROM aps_process_operation_process_equ WHERE DELETED = 0 AND PROCESSID = #{processid} and IFNULL(CLOSESTATUS,'')='未完工' ${euqwhr} order by PLANSTARTDATE desc")
+    @Select("SELECT * FROM aps_process_operation_process_equ WHERE DELETED = 0 AND PROCESSID = #{processid} ${euqwhr} order by PLANSTARTDATE desc")
     List<ApsProcessOperationProcessEquDo> getProcessOperationProcessEqus(@Param("processid") String processid, @Param("euqwhr") String euqwhr);
 
     @Select("SELECT * FROM aps_process_operation_process_equ WHERE DELETED = 0 AND ID in ('${nextIds}') and CLOSESTATUS='未完工' and PLANPROCESSRALL-STARTINGROLL-CANCELROLL>0")

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

@@ -2112,26 +2112,74 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         try {
             String craftrouteid = cancelProcessOperationVo.getCraftrouteid();
             Integer curcancelroll = cancelProcessOperationVo.getCurcancelroll();//作业本次取消卷数
+            //作业及该作业明细的已取消卷数合计
+            HashMap<String, Integer> operationequcancelrollall = cancelProcessOperationVo.getOperationequcancelrollall();
+            CancelOperationProcessEquVo cancelOperationProcessEquVo = new CancelOperationProcessEquVo();
 
             //本道工序作业
             ApsProcessOperationDo apsProcessOperationDo = cancelProcessOperationVo.getApsprocessoperationdo();
             if (apsProcessOperationDo == null && StringUtils.isNotBlank(cancelProcessOperationVo.getProcessid())) {
                 apsProcessOperationDo = apsProcessOperationService.getById(cancelProcessOperationVo.getProcessid());
             }
+            //先更新本道作业明细取消卷数
+            String euqwhr = "";
+            if (StringUtils.isNotBlank(cancelProcessOperationVo.getProcessequid())) {
+                euqwhr = "and ID='" + cancelProcessOperationVo.getProcessequid() + "'";
+            }
+            List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = apsProcessOperationDao.getProcessOperationProcessEqus(apsProcessOperationDo.getId(), euqwhr);
+            if (cancelProcessOperationVo.getUpdatecuropration()) {
+                Integer equWaitCancelRoll = curcancelroll;//明细的待分配取消卷数
+                Integer curEquCancelRoll = 0;//作业明细本次取消卷数
+                for (ApsProcessOperationProcessEquDo processOperationProcessEquDo : apsProcessOperationProcessEquDos) {
+                    Integer tempRoll = processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll();
+                    if (tempRoll <= 0 || processOperationProcessEquDo.getClosestatus().equals("已完工")) {
+                        //计算所有作业明细已取消卷数的合计
+                        if (operationequcancelrollall == null) {
+                            operationequcancelrollall = new HashMap<>();
+                        }
+                        if (operationequcancelrollall.containsKey(apsProcessOperationDo.getId())) {
+                            operationequcancelrollall.replace(apsProcessOperationDo.getId(), operationequcancelrollall.get(apsProcessOperationDo.getId()) + processOperationProcessEquDo.getCancelrollno());
+                        } else {
+                            operationequcancelrollall.put(apsProcessOperationDo.getId(), processOperationProcessEquDo.getCancelrollno());
+                        }
+                        continue;
+                    }
+                    if (equWaitCancelRoll > 0) {
+                        if (tempRoll >= equWaitCancelRoll) {
+                            curEquCancelRoll = equWaitCancelRoll;
+                        } else {
+                            curEquCancelRoll = tempRoll;
+                        }
+                        //取消和更新作业明细
+                        cancelOperationProcessEquVo.setCurEquCancelRoll(curEquCancelRoll);
+                        cancelOperationProcessEquVo.setApsProcessOperationDo(apsProcessOperationDo);
+                        cancelOperationProcessEquVo.setProcessOperationProcessEquDo(processOperationProcessEquDo);
+                        cancelOperationProcessEquVo.setCancelreason(cancelProcessOperationVo.getCancelreason());
+                        cancelOperationProcessEquVo.setOperationequcancelrollall(operationequcancelrollall);
+                        cancelProcessOperationEqu(cancelOperationProcessEquVo);
+                    } else {
+                        break;
+                    }
+                    equWaitCancelRoll = equWaitCancelRoll - curEquCancelRoll;
+                }
+            }
 
             if (cancelProcessOperationVo.getCancelreason().equals("1")) {//借调或取消
                 apsProcessOperationDo.setCancelroll(apsProcessOperationDo.getCancelroll() + curcancelroll);
             } else if (cancelProcessOperationVo.getCancelreason().equals("2")) {//输入取消
                 apsProcessOperationDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
+                Integer cancelrollall = (operationequcancelrollall.get(apsProcessOperationDo.getId()) == null ? 0 : operationequcancelrollall.get(apsProcessOperationDo.getId()));
+                curcancelroll = curcancelroll - apsProcessOperationDo.getCancelroll() - cancelrollall;
+                apsProcessOperationDo.setCancelroll(cancelrollall);
             } else if (cancelProcessOperationVo.getCancelreason().equals("3")) {//输入不合格
                 apsProcessOperationDo.setInputunqualifiednum(apsProcessOperationDo.getInputunqualifiednum() + curcancelroll);
                 apsProcessOperationDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
             }
-            apsProcessOperationDo.setCancelrollsum(apsProcessOperationDo.getCancelrollsum() + curcancelroll);
+            apsProcessOperationDo.setCancelrollsum(apsProcessOperationDo.getCancelroll() + apsProcessOperationDo.getInputunqualifiedroll());
             apsProcessOperationDo.setLeavewaitworkroll(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getStartingroll() - apsProcessOperationDo.getCancelrollsum());
             Integer leaveWaitJobRoll = apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getReportroll() - apsProcessOperationDo.getCancelrollsum();
             apsProcessOperationDo.setLeavewaitjobroll(leaveWaitJobRoll);
-            apsProcessOperationDo.setProcesstotaltime(new BigDecimal(df.format(BigDecimal.valueOf(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getInputunqualifiedroll() - apsProcessOperationDo.getCancelroll()).multiply(apsProcessOperationDo.getOnceprocessmin()))));
+            apsProcessOperationDo.setProcesstotaltime(new BigDecimal(df.format(BigDecimal.valueOf(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getCancelrollsum()).multiply(apsProcessOperationDo.getOnceprocessmin()))));
             if (leaveWaitJobRoll == 0) {
                 apsProcessOperationDo.setClosestatus(SaveConstans.CloseStatus.COMPLETED);
                 apsProcessOperationDo.setActualfinishdate(DateUtil.date());
@@ -2148,74 +2196,41 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                 }
             }
 
-            //本道工序的输出
-            Map<String, Object> map = new HashMap<>();
-            map.put("MAINID", apsProcessOperationDo.getId());
-            List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDos = apsProcessOperationOutMaterService.listByMap(map).stream().collect(Collectors.toList());
-            for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDos) {
-                apsProcessOperationOutMaterDo.setOutcancelroll(apsProcessOperationOutMaterDo.getOutcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
-                apsProcessOperationOutMaterDo.setProdcancelroll(apsProcessOperationOutMaterDo.getProdcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
-                apsProcessOperationOutMaterDo.setProdleaveoutroll(apsProcessOperationOutMaterDo.getProdleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
-                apsProcessOperationOutMaterDo.setStockcancelroll(apsProcessOperationOutMaterDo.getStockcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
-                apsProcessOperationOutMaterDo.setStockleaveoutroll(apsProcessOperationOutMaterDo.getStockleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
-                apsProcessOperationOutMaterDo.setMovecancelroll(apsProcessOperationOutMaterDo.getMovecancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
-                apsProcessOperationOutMaterDo.setMoveleaveoutroll(apsProcessOperationOutMaterDo.getMoveleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
-
-                apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
-            }
-
-            //本道作业所有后道工序
-            if (StringUtils.isNotBlank(apsProcessOperationDo.getNextprocessid())) {
-                List<ApsProcessOperationDo> apsProcessOperationDos = apsProcessOperationDao.getNextProcessOperations(apsProcessOperationDo.getNextprocessid().replace(",", "','"));
-                for (ApsProcessOperationDo processOperationDo : apsProcessOperationDos) {
-                    CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
-                    cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
-//                    cancelProcessOperationVo1.setSetincancelroll(false);
-                    cancelProcessOperationVo1.setUpdatecuropration(false);
-                    Integer nextCurCancelRoll = (int) Math.floor((double) (curcancelroll * processOperationDo.getPlanprocessrall()) / apsProcessOperationDo.getPlanprocessrall());
-                    cancelProcessOperationVo1.setCurcancelroll(nextCurCancelRoll);
-                    if (cancelProcessOperationVo.getCancelreason().equals("3")) {
-                        cancelProcessOperationVo1.setCancelreason("3");
-                    } else {
-                        cancelProcessOperationVo1.setCancelreason("2");
-                    }
-//                    processOperationDo.setInputunqualifiedroll(processOperationDo.getInputunqualifiedroll() + nextCurCancelRoll);
-                    cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
-                    cancelProcessOperation(cancelProcessOperationVo1);
+            if (curcancelroll > 0) {
+                //本道工序的输出
+                Map<String, Object> map = new HashMap<>();
+                map.put("MAINID", apsProcessOperationDo.getId());
+                List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDos = apsProcessOperationOutMaterService.listByMap(map).stream().collect(Collectors.toList());
+                for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDos) {
+                    apsProcessOperationOutMaterDo.setOutcancelroll(apsProcessOperationOutMaterDo.getOutcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
+                    apsProcessOperationOutMaterDo.setProdcancelroll(apsProcessOperationOutMaterDo.getProdcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
+                    apsProcessOperationOutMaterDo.setProdleaveoutroll(apsProcessOperationOutMaterDo.getProdleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
+                    apsProcessOperationOutMaterDo.setStockcancelroll(apsProcessOperationOutMaterDo.getStockcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
+                    apsProcessOperationOutMaterDo.setStockleaveoutroll(apsProcessOperationOutMaterDo.getStockleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
+                    apsProcessOperationOutMaterDo.setMovecancelroll(apsProcessOperationOutMaterDo.getMovecancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
+                    apsProcessOperationOutMaterDo.setMoveleaveoutroll(apsProcessOperationOutMaterDo.getMoveleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
+
+                    apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
                 }
-            }
 
-            //本道工序的作业明细
-            String euqwhr = "";
-            if (StringUtils.isNotBlank(cancelProcessOperationVo.getProcessequid())) {
-                euqwhr = "and ID='" + cancelProcessOperationVo.getProcessequid() + "'";
-            }
-            List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = apsProcessOperationDao.getProcessOperationProcessEqus(apsProcessOperationDo.getId(), euqwhr);
-            if (cancelProcessOperationVo.getUpdatecuropration()) {
-                Integer equWaitCancelRoll = curcancelroll;//明细的待分配取消卷数
-                Integer curEquCancelRoll = 0;//作业明细本次取消卷数
-                for (ApsProcessOperationProcessEquDo processOperationProcessEquDo : apsProcessOperationProcessEquDos) {
-                    Integer tempRoll = processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll();
-                    if (tempRoll <= 0) {
-                        continue;
-                    }
-                    if (equWaitCancelRoll > 0) {
-                        if (tempRoll >= equWaitCancelRoll) {
-                            curEquCancelRoll = equWaitCancelRoll;
+                //本道作业所有后道工序
+                if (StringUtils.isNotBlank(apsProcessOperationDo.getNextprocessid())) {
+                    List<ApsProcessOperationDo> apsProcessOperationDos = apsProcessOperationDao.getNextProcessOperations(apsProcessOperationDo.getNextprocessid().replace(",", "','"));
+                    for (ApsProcessOperationDo processOperationDo : apsProcessOperationDos) {
+                        CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
+                        cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
+                        cancelProcessOperationVo1.setUpdatecuropration(false);
+                        Integer nextCurCancelRoll = (int) Math.floor((double) (curcancelroll * processOperationDo.getPlanprocessrall()) / apsProcessOperationDo.getPlanprocessrall());
+                        cancelProcessOperationVo1.setCurcancelroll(nextCurCancelRoll);
+                        if (cancelProcessOperationVo.getCancelreason().equals("3")) {
+                            cancelProcessOperationVo1.setCancelreason("3");
                         } else {
-                            curEquCancelRoll = tempRoll;
+                            cancelProcessOperationVo1.setCancelreason("2");
                         }
-                        //取消和更新作业明细
-                        CancelOperationProcessEquVo cancelOperationProcessEquVo = new CancelOperationProcessEquVo();
-                        cancelOperationProcessEquVo.setCurEquCancelRoll(curEquCancelRoll);
-                        cancelOperationProcessEquVo.setApsProcessOperationDo(apsProcessOperationDo);
-                        cancelOperationProcessEquVo.setProcessOperationProcessEquDo(processOperationProcessEquDo);
-                        cancelOperationProcessEquVo.setCancelreason(cancelProcessOperationVo.getCancelreason());
-                        cancelProcessOperationEqu(cancelOperationProcessEquVo);
-                    } else {
-                        break;
+                        cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
+                        cancelProcessOperationVo1.setOperationequcancelrollall(cancelOperationProcessEquVo.getOperationequcancelrollall());
+                        cancelProcessOperation(cancelProcessOperationVo1);
                     }
-                    equWaitCancelRoll = equWaitCancelRoll - curEquCancelRoll;
                 }
             }
 
@@ -2232,7 +2247,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             }
 
             boolean bool1 = apsProcessOperationService.saveOrUpdate(apsProcessOperationDo);
-            boolean bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
+            boolean bool2 = true;
+            if (!apsProcessOperationOutMaterDoList.isEmpty()) {
+                bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
+            }
 
             //更新状态
             CommonUpdateProductionStatusReq req = new CommonUpdateProductionStatusReq();
@@ -2297,10 +2315,21 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() + curEquCancelRoll);
         } else if (cancelreason.equals("2")) {//输入取消
             processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
+            if (processOperationProcessEquDo.getCancelrollno() > 0) {
+                if (curEquCancelRoll > processOperationProcessEquDo.getCancelrollno()) {
+                    processOperationProcessEquDo.setCancelrollno(0);
+                    curEquCancelRoll = curEquCancelRoll - processOperationProcessEquDo.getCancelrollno();
+                } else {
+                    processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() - curEquCancelRoll);
+                    curEquCancelRoll = 0;
+                }
+            }
         } else if (cancelreason.equals("3")) {//输入不合格
             processOperationProcessEquDo.setInputunqualifiednum(processOperationProcessEquDo.getInputunqualifiednum() + curEquCancelRoll);
             processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
         }
+
+        //该坯料计划下所有的作业明细
         List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = cancelOperationProcessEquVo.getApsProcessOperationProcessEquDos();
         if (apsProcessOperationProcessEquDos == null) {
             apsProcessOperationProcessEquDos = apsProcessOperationDao.getNextOperationProcessEqus(apsProcessOperationDo.getBlankid());
@@ -2309,7 +2338,20 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         if (noEquProcessEquIds == null) {
             noEquProcessEquIds = new ArrayList<>();
         }
-        processOperationProcessEquDo.setCancelroll(processOperationProcessEquDo.getCancelroll() + curEquCancelRoll);
+
+        //作业及该作业明细的已取消卷数合计
+        HashMap<String, Integer> operationequcancelrollall = cancelOperationProcessEquVo.getOperationequcancelrollall();
+        if (operationequcancelrollall == null) {
+            operationequcancelrollall = new HashMap<>();
+        }
+        if (operationequcancelrollall.containsKey(processOperationProcessEquDo.getProcessid())) {
+            operationequcancelrollall.replace(processOperationProcessEquDo.getProcessid(), operationequcancelrollall.get(processOperationProcessEquDo.getProcessid()) + processOperationProcessEquDo.getCancelrollno());
+        } else {
+            operationequcancelrollall.put(processOperationProcessEquDo.getProcessid(), processOperationProcessEquDo.getCancelrollno());
+        }
+        cancelOperationProcessEquVo.setOperationequcancelrollall(operationequcancelrollall);
+
+        processOperationProcessEquDo.setCancelroll(processOperationProcessEquDo.getCancelrollno() + processOperationProcessEquDo.getInputunqualifiedroll());
         processOperationProcessEquDo.setLeavewaitworkroll(processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll());
         List<String> noUpdatePlanenddateList = Arrays.asList("小卷成退", "中退", "成退");
         if (processOperationProcessEquDo.getPlanprocessrall() == processOperationProcessEquDo.getCancelroll()) {
@@ -2379,9 +2421,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         processOperationProcessEquDo.setLeavewaitjobroll(leaveWaitJobRoll);
 
         //取消和更新该作业明细每个后道作业明细
-        if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids())) {
+        if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids()) && curEquCancelRoll > 0) {
             List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqus(processOperationProcessEquDo.getNextprocessesids().replace(",", "','"));
             for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
+                //1-借调或取消 2-输入取消  3-输入不合格
                 if (!cancelreason.equals("3")) {
                     cancelreason = "2";
                 }
@@ -2454,34 +2497,6 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         }
     }
 
-    //获取输入已取消卷数
-    private Integer getInputCancelRoll(Integer planPrecessRoll, Integer cancelRoll, ApsProcessOperationOutMaterDo outMaterDo) {
-        Integer inputCancelRoll = 0;
-        if (outMaterDo.getOutcancelroll() + outMaterDo.getFailrollnum() > outMaterDo.getPlanstockrollnum()) {
-            if (outMaterDo.getPlanstockrollnum() == 0 && outMaterDo.getPlanprodrollnum() == 0) {//没有计划备料卷数和计划成品卷数
-                inputCancelRoll = outMaterDo.getFailrollnum() + outMaterDo.getOutcancelroll();
-            } else if (outMaterDo.getPlanstockrollnum() > 0 && outMaterDo.getPlanprodrollnum() == 0) {//有计划备料卷数,无计划成品卷数
-                inputCancelRoll = outMaterDo.getFailrollnum() + outMaterDo.getOutcancelroll() - outMaterDo.getPlanstockrollnum();
-            } else if (outMaterDo.getPlanstockrollnum() == 0 && outMaterDo.getPlanprodrollnum() > 0) {//无计划备料卷数,有计划成品卷数
-                Integer tempRoll = planPrecessRoll - cancelRoll - outMaterDo.getFailrollnum();
-                if (tempRoll < outMaterDo.getPlanprodrollnum()) {
-                    inputCancelRoll = planPrecessRoll - outMaterDo.getPlanprodrollnum();
-                } else {
-                    inputCancelRoll = outMaterDo.getOutcancelroll() + outMaterDo.getFailrollnum();
-                }
-            } else {//有计划备料卷数,有计划成品卷数
-                Integer tempRoll = planPrecessRoll - cancelRoll - outMaterDo.getFailrollnum();
-                if (tempRoll < outMaterDo.getPlanprodrollnum()) {
-                    inputCancelRoll = planPrecessRoll - outMaterDo.getPlanprodrollnum() - outMaterDo.getPlanstockrollnum();
-                } else {
-                    inputCancelRoll = outMaterDo.getOutcancelroll() + outMaterDo.getFailrollnum() - outMaterDo.getPlanstockrollnum();
-                }
-            }
-        }
-
-        return inputCancelRoll;
-    }
-
     /*
     工艺步骤管理/输入物料描述
      */

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

@@ -652,7 +652,6 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 cancelProcessOperationVo.setCraftrouteid(null);
                 cancelProcessOperationVo.setCurcancelroll(cancelQty);
                 cancelProcessOperationVo.setApsprocessoperationdo(apsProcessOperationDo);
-                cancelProcessOperationVo.setSetincancelroll(false);
                 cancelProcessOperationVo.setUpdatecuropration(false);
                 cancelProcessOperationVo.setCancelreason("3");
                 apsProcessOperationService.cancelProcessOperation(cancelProcessOperationVo);
@@ -1073,7 +1072,6 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                     cancelProcessOperationVo.setCraftrouteid(null);
                     cancelProcessOperationVo.setCurcancelroll(cancelQty);
                     cancelProcessOperationVo.setApsprocessoperationdo(apsProcessOperationDo);
-                    cancelProcessOperationVo.setSetincancelroll(false);
                     cancelProcessOperationVo.setUpdatecuropration(false);
                     cancelProcessOperationVo.setCancelreason("3");
                     apsProcessOperationService.cancelProcessOperation(cancelProcessOperationVo);

+ 3 - 1
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/CancelOperationProcessEquVo.java

@@ -4,6 +4,7 @@ import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo;
 import lombok.Data;
 
+import java.util.HashMap;
 import java.util.List;
 
 @Data
@@ -11,7 +12,8 @@ public class CancelOperationProcessEquVo {
     private Integer curEquCancelRoll;//作业明细本次取消卷数
     private ApsProcessOperationDo apsProcessOperationDo;//当前作业
     private ApsProcessOperationProcessEquDo processOperationProcessEquDo;//作业明细
-    private String cancelreason;//取消原因
+    private String cancelreason;//取消原因    1-借调或取消 2-输入取消  3-输入不合格
     private List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = null;//该坯料计划下所有的作业明细
     private List<String> noEquProcessEquIds = null;//设备为空的明细ids
+    private HashMap<String, Integer> operationequcancelrollall;//作业及该作业明细的已取消卷数合计
 }

+ 4 - 2
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/CancelProcessOperationVo.java

@@ -3,14 +3,14 @@ package com.rongwei.bsentity.vo;
 import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import lombok.Data;
 
+import java.util.HashMap;
+
 @Data
 public class CancelProcessOperationVo {
     //工艺路线D
     private String craftrouteid;
     //本次取消卷数
     private Integer curcancelroll;
-    //是否更新输入已取消卷数
-    private Boolean setincancelroll = true;
     //是否更新本道作业明细
     private Boolean updatecuropration = true;
     //本次取消原因    1-借调或取消 2-输入取消  3-输入不合格
@@ -21,4 +21,6 @@ public class CancelProcessOperationVo {
     private String processequid = "";
     //修改的作业
     private ApsProcessOperationDo apsprocessoperationdo;
+    //作业及该作业明细的已取消卷数合计
+    private HashMap<String, Integer> operationequcancelrollall = null;
 }