فهرست منبع

作业更新优化

DLC 4 ماه پیش
والد
کامیت
8c7fc38aff

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

@@ -1473,7 +1473,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                 //这个输出的所有下道工序
                 List<ApsProcessOperationDo> apsProcessOperationDos = processOperationDoList.stream().filter(apo -> apsProcessOperationOutMaterDo.getId().equals(apo.getPlaninputid())).collect(Collectors.toList());
                 for (ApsProcessOperationDo apsProcessOperationDo : apsProcessOperationDos) {
-                    ApsProcessOperationDo newOperDo=new ApsProcessOperationDo();
+                    ApsProcessOperationDo newOperDo = new ApsProcessOperationDo();
                     newOperDo.setId(apsProcessOperationDo.getId());
                     //更新输入
                     newOperDo.setProducttypeid(apsProcessOperationOutMaterDo.getProducttypeid() == null ? "" : apsProcessOperationOutMaterDo.getProducttypeid());
@@ -1811,7 +1811,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         List<ApsProcessOperationDo> processOperationDoList = apsProcessOperationService.listByMap(map).stream().collect(Collectors.toList());
         //首道工序
         ApsProcessOperationDo apsProcessOperationDo = processOperationDoList.stream().filter(pol -> StringUtils.isBlank(pol.getPreviousprocessid())).findAny().orElse(null);
-        ApsProcessOperationDo newOperDo=new ApsProcessOperationDo();
+        ApsProcessOperationDo newOperDo = new ApsProcessOperationDo();
         newOperDo.setId(apsProcessOperationDo.getId());
 
         //首道工序输出
@@ -2127,7 +2127,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             if (apsProcessOperationDo == null && StringUtils.isNotBlank(cancelProcessOperationVo.getProcessid())) {
                 apsProcessOperationDo = apsProcessOperationService.getById(cancelProcessOperationVo.getProcessid());
             }
-            ApsProcessOperationDo newOperDo=new ApsProcessOperationDo();
+            ApsProcessOperationDo newOperDo = new ApsProcessOperationDo();
             newOperDo.setId(apsProcessOperationDo.getId());
 
             //查询坯料计划是否正在被排程或者已排程
@@ -2178,6 +2178,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             }
 //            }
 
+            newOperDo.setCancelroll(apsProcessOperationDo.getCancelroll());
+            newOperDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll());
             if (cancelProcessOperationVo.getCancelreason().equals("1")) {//借调或取消
                 newOperDo.setCancelroll(apsProcessOperationDo.getCancelroll() + curcancelroll);
             } else if (cancelProcessOperationVo.getCancelreason().equals("2")) {//输入取消
@@ -2190,10 +2192,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                 newOperDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
             }
             newOperDo.setCancelrollsum(newOperDo.getCancelroll() + newOperDo.getInputunqualifiedroll());
-            newOperDo.setLeavewaitworkroll(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getStartingroll() - apsProcessOperationDo.getCancelrollsum());
-            Integer leaveWaitJobRoll = apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getReportroll() - apsProcessOperationDo.getCancelrollsum();
+            newOperDo.setLeavewaitworkroll(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getStartingroll() - newOperDo.getCancelrollsum());
+            Integer leaveWaitJobRoll = apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getReportroll() - newOperDo.getCancelrollsum();
             newOperDo.setLeavewaitjobroll(leaveWaitJobRoll);
-            newOperDo.setProcesstotaltime(new BigDecimal(df.format(BigDecimal.valueOf(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getCancelrollsum()).multiply(apsProcessOperationDo.getOnceprocessmin()))));
+            newOperDo.setProcesstotaltime(new BigDecimal(df.format(BigDecimal.valueOf(apsProcessOperationDo.getPlanprocessrall() - newOperDo.getCancelrollsum()).multiply(apsProcessOperationDo.getOnceprocessmin()))));
             if (leaveWaitJobRoll == 0) {
                 newOperDo.setClosestatus(SaveConstans.CloseStatus.COMPLETED);
                 newOperDo.setActualfinishdate(DateUtil.date());