Ver código fonte

作业取消优化

DLC 5 meses atrás
pai
commit
dbfeeffd14

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

@@ -86,7 +86,7 @@ public interface ApsProcessOperationDao extends BaseMapper<ApsProcessOperationDo
     @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 PREVIOUSPROCESSESIDS=#{equId}")
+    @Select("SELECT * FROM aps_process_operation_process_equ WHERE DELETED = 0 AND PREVIOUSPROCESSESIDS=#{equId} order by PLANSTARTDATE desc")
     List<ApsProcessOperationProcessEquDo> getNextProcessOperationEqus(@Param("equId") String equId);
 
     @Update("update aps_process_operation_process_equ set BACHMATERIALPROCESS = IF(BACHMATERIALPROCESS is null || BACHMATERIALPROCESS = '',#{batchnumber},concat(BACHMATERIALPROCESS,',',#{batchnumber})) where DELETED = 0 AND PREVIOUSPROCESSESIDS = #{previousprocessesids}")

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

@@ -2127,42 +2127,42 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                 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 (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 (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);
+                    if (operationequcancelrollall.containsKey(apsProcessOperationDo.getId())) {
+                        operationequcancelrollall.replace(apsProcessOperationDo.getId(), operationequcancelrollall.get(apsProcessOperationDo.getId()) + processOperationProcessEquDo.getCancelrollno());
                     } else {
-                        break;
+                        operationequcancelrollall.put(apsProcessOperationDo.getId(), processOperationProcessEquDo.getCancelrollno());
                     }
-                    equWaitCancelRoll = equWaitCancelRoll - curEquCancelRoll;
+                    continue;
+                }
+                if (equWaitCancelRoll > 0 && cancelProcessOperationVo.getUpdatecuropration()) {
+                    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);
@@ -2219,7 +2219,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                     for (ApsProcessOperationDo processOperationDo : apsProcessOperationDos) {
                         CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
                         cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
-                        cancelProcessOperationVo1.setUpdatecuropration(cancelProcessOperationVo.getUpdatecuropration());
+                        cancelProcessOperationVo1.setUpdatecuropration(false);
                         Integer nextCurCancelRoll = (int) Math.floor((double) (curcancelroll * processOperationDo.getPlanprocessrall()) / apsProcessOperationDo.getPlanprocessrall());
                         cancelProcessOperationVo1.setCurcancelroll(nextCurCancelRoll);
                         if (cancelProcessOperationVo.getCancelreason().equals("3")) {