Pārlūkot izejas kodu

排程数据组装优化

fangpy 1 gadu atpakaļ
vecāks
revīzija
1475cbd5b1

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

@@ -54,6 +54,10 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
             "</if></script>")
     List<ApsBlankOrderVo> getOrdersHasNotLockProcess(@Param("hasIds") String hasIds, @Param("tenantId") String tenantId);
 
+    @Select("UPDATE aps_process_operation set LOCKMARK=null where LOCKMARK='y' and DELETED='0' and " +
+            "BLANKID in (SELECT ID FROM aps_blank_order where DELETED='0' and SCHEDULINGSTATUS='10' and ID in (${hasIds}))")
+    void setLockMarkNullByToAps(@Param("hasIds") String hasIds);
+
     @Select("select * FROM (\n" +
             "select PROCESSDEVICEID,PLANSTARTDATE,PLANENDDATE,GROUP_CONCAT(PROCESSID) PROCESSID from (select * from aps_process_operation_process_equ " +
             "where DELETED='0' ORDER BY PROCESSID ASC) a GROUP BY PROCESSDEVICEID,PLANSTARTDATE,PLANENDDATE" +

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

@@ -182,6 +182,12 @@ public class ApsServiceImpl implements ApsService {
                 });
                 processOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().set(ApsProcessOperationProcessEquDo::getLockmark,"n")
                         .in(ApsProcessOperationProcessEquDo::getBlankid,blankOrderIds));
+                // 更新待排程的锁定的作业
+                if(blankOrderIds != null && blankOrderIds.size()>0){
+                    String blankidStrs = CollUtil.join(blankOrderIds, "','");
+                    blankidStrs = "'" + blankidStrs + "'";
+                    apsBlankOrderDao.setLockMarkNullByToAps(blankidStrs);
+                }
                 // 排程
                 List<ProductionScheduleVo> productionScheduleVos = new ArrayList<>();
                 Map<String,List<ApsBlankOrderVo>> dataMap = new HashMap<>();