Browse Source

取消作业调整

DLC 11 months ago
parent
commit
9d0617e2d8

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

@@ -75,12 +75,15 @@ public interface ApsProcessOperationDao extends BaseMapper<ApsProcessOperationDo
             ") p1 order by PLANSTARTDATE desc")
     List<ApsProcessOperationDo> getNextProcessOperationsOrderBy(@Param("nextIds") String nextIds);
 
-    @Select("SELECT * FROM aps_process_operation WHERE DELETED = 0 AND o.ID in ('${nextIds}')")
+    @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} order by PLANSTARTDATE desc")
     List<ApsProcessOperationProcessEquDo> getProcessOperationProcessEqus(@Param("processid") String processid);
 
+    @Select("SELECT * FROM aps_process_operation_process_equ WHERE DELETED = 0 AND ID in ('${nextIds}') and CLOSESTATUS='未完工' and PLANPROCESSRALL-STARTINGROLL-CANCELROLL>0")
+    List<ApsProcessOperationProcessEquDo> getNextProcessOperationEqus(@Param("nextIds") String nextIds);
+
     @Update("update aps_process_operation_process_equ set BACHMATERIALPROCESS = IF(BACHMATERIALPROCESS is null || BACHMATERIALPROCESS = '',#{batchnumber},concat(BACHMATERIALPROCESS,',',#{batchnumber})) where DELETED = 0 AND PREVIOUSPROCESSESIDS = #{previousprocessesids}")
     void updateBatchNumberByPrevious(@Param("batchnumber") String batchnumber, @Param("previousprocessesids") String previousprocessesids);
 }

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

@@ -2031,7 +2031,6 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
 
             //本道工序的作业明细
             List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = apsProcessOperationDao.getProcessOperationProcessEqus(apsProcessOperationDo.getId());
-            R cancelEqu = R.ok();
             if (cancelProcessOperationVo.getUpdatecuropration()) {
                 Integer equWaitCancelRoll = curcancelroll;//明细的待分配取消卷数
                 Integer curEquCancelRoll = 0;//作业明细本次取消卷数
@@ -2073,7 +2072,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             req.setProcessOperationId(apsProcessOperationDo.getId());
             apsProcessOperationProcessEquService.updateProductionStatus(req);
 
-            if (bool1 && bool2 && cancelEqu.getCode() == "200") {
+            if (bool1 && bool2) {
                 String blanckId = apsProcessOperationDo.getBlankid();
                 List<String> blankIds = Arrays.asList(blanckId.split(","));
                 List<ApsProcessOperationDo> apsProcessOperationList = apsProcessOperationService.getBaseMapper().selectList(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, blanckId));
@@ -2142,6 +2141,14 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             }
         }
 
+        //取消和更新该作业明细每个后道作业明细
+        if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids())) {
+            List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqus(processOperationProcessEquDo.getNextprocessesids().replace(",", "','"));
+            for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
+                cancelProcessOperationEqu(curEquCancelRoll * processOperationEquDo.getPlanprocessrall() / processOperationProcessEquDo.getPlanprocessrall(), apsProcessOperationDo, processOperationEquDo);
+            }
+        }
+
         boolean bool = apsProcessOperationProcessEquService.saveOrUpdate(processOperationProcessEquDo);
         if (bool) {
             return R.ok();