Forráskód Böngészése

aps-调度排程增加指定坯料计划ID入口

sucheng 4 hónapja
szülő
commit
916c2ab2b3

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

@@ -166,9 +166,9 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
     void removeLockNextTwoDayProcessEqu(@Param("needScheduleDate") String needScheduleDate);
 
     List<ApsProcessOperationProcessEquChongpaiVo> selectNeedRescheduleEqu(@Param("needScheduleDate") String needScheduleDate,@Param("tenantId") String tenantId);
-    List<ApsProcessOperationProcessEquDo> selectNeedRescheduleEqu2(@Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate, @Param("tenantId") String tenantId, @Param("workshopin") Integer workshopin, @Param("workshopcross") Integer workshopcross);
+    List<ApsProcessOperationProcessEquDo> selectNeedRescheduleEqu2(@Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate, @Param("tenantId") String tenantId, @Param("workshopin") Integer workshopin, @Param("workshopcross") Integer workshopcross, @Param("blankIdList") List<String> blankIdList);
 
-    List<ApsProcessOperationProcessEquDo> selectNeedRescheduleEqu3(@Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate, @Param("tenantId") String tenantId, @Param("workshopin") Integer workshopin, @Param("workshopcross") Integer workshopcross);
+    List<ApsProcessOperationProcessEquDo> selectNeedRescheduleEqu3(@Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate, @Param("tenantId") String tenantId, @Param("workshopin") Integer workshopin, @Param("workshopcross") Integer workshopcross, @Param("blankIdList") List<String> blankIdList);
 
     void setLenZhaNextDay(@Param("tenantId") String tenantId, @Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate);
     void setTuiHuoNextDay(@Param("tenantId") String tenantId, @Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate);

+ 1 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsBlankOrderService.java

@@ -70,7 +70,7 @@ public interface ApsBlankOrderService extends IService<ApsBlankOrderDo> {
 
     R checkAddMaterial(AddMaterialReq req);
 
-    void apsScheduleRestart(Integer hour,String chongpaiStartDateStr,String chongpaiEndDateStr,SysUserVo currentUser);
+    void apsScheduleRestart(Integer hour,String chongpaiStartDateStr,String chongpaiEndDateStr,SysUserVo currentUser, String blankId);
 
     void sortLenZha(DateTime chongpaiEndDate, String tenantId);
 

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

@@ -4225,7 +4225,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     }
 
     @Override
-    public void apsScheduleRestart(Integer hour, String chongpaiStartDateStr, String chongpaiEndDateStr, SysUserVo currentUser) {
+    public void apsScheduleRestart(Integer hour, String chongpaiStartDateStr, String chongpaiEndDateStr, SysUserVo currentUser, String blankIds) {
         if (currentUser == null) {
             currentUser = CXCommonUtils.getCurrentUser();
         }
@@ -4282,10 +4282,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             //排程设置
             ApsScheduleConfigDo apsScheduleConfigDo = apsScheduleConfigService.getById("1");
             try {
+                List<String> blankIdList = null;
+                if (StringUtils.isNotBlank(blankIds)) {
+                    blankIdList = new LinkedList<>(Arrays.asList(blankIds.split(",")));
+                }
                 //冷轧重排
-                lenzhaChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo, currentUser);
+                lenzhaChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo, currentUser, blankIdList);
                 //退火重排
-                tuihuoChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo, currentUser);
+                tuihuoChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo, currentUser, blankIdList);
             } catch (Exception e) {
                 log.error(e);
             } finally {
@@ -4549,7 +4553,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         }
 
         try {
-            apsScheduleRestart(null, needScheduleStartDate, needScheduleEndDate, currentUser);
+            apsScheduleRestart(null, needScheduleStartDate, needScheduleEndDate, currentUser, null);
         } catch (Exception e) {
             log.error(e);
             return "success";
@@ -4613,10 +4617,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         }
     }
 
-    private void tuihuoChongpai(DateTime chongpaiStartDate, DateTime chongpaiEndDate, ApsScheduleConfigDo apsScheduleConfigDo, SysUserVo currentUser) {
+    private void tuihuoChongpai(DateTime chongpaiStartDate, DateTime chongpaiEndDate, ApsScheduleConfigDo apsScheduleConfigDo, SysUserVo currentUser, List<String> blankIdsList) {
         //退火重排
         //查询在重排时间段的所有作业明细信息,只包括:成退、中退、小卷成退
-        List<ApsProcessOperationProcessEquDo> needScheduleList = this.baseMapper.selectNeedRescheduleEqu2(chongpaiStartDate, chongpaiEndDate, CXCommonUtils.getCurrentUserFactoryId(currentUser), apsScheduleConfigDo.getWorkshopin(), apsScheduleConfigDo.getWorkshopcross());
+        List<ApsProcessOperationProcessEquDo> needScheduleList = this.baseMapper.selectNeedRescheduleEqu2(chongpaiStartDate, chongpaiEndDate, CXCommonUtils.getCurrentUserFactoryId(currentUser), apsScheduleConfigDo.getWorkshopin(), apsScheduleConfigDo.getWorkshopcross(), blankIdsList);
         if (needScheduleList.isEmpty()) {
             log.info("未查询到退火作业明细,结束排程");
             return;
@@ -4713,9 +4717,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
     }
 
-    private void lenzhaChongpai(DateTime chongpaiStartDate, DateTime chongpaiEndDate, ApsScheduleConfigDo apsScheduleConfigDo, SysUserVo currentUser) {
+    private void lenzhaChongpai(DateTime chongpaiStartDate, DateTime chongpaiEndDate, ApsScheduleConfigDo apsScheduleConfigDo, SysUserVo currentUser, List<String> blankIdsList) {
         //查询需要重排的所有明细信息
-        List<ApsProcessOperationProcessEquDo> needScheduleList = this.baseMapper.selectNeedRescheduleEqu3(chongpaiStartDate, chongpaiEndDate, CXCommonUtils.getCurrentUserFactoryId(currentUser), apsScheduleConfigDo.getWorkshopin(), apsScheduleConfigDo.getWorkshopcross());
+        List<ApsProcessOperationProcessEquDo> needScheduleList = this.baseMapper.selectNeedRescheduleEqu3(chongpaiStartDate, chongpaiEndDate, CXCommonUtils.getCurrentUserFactoryId(currentUser), apsScheduleConfigDo.getWorkshopin(), apsScheduleConfigDo.getWorkshopcross(), blankIdsList);
         if (needScheduleList.isEmpty()) {
             log.info("未查询到冷轧作业明细,结束排程");
             return;

+ 12 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsBlankOrderDao.xml

@@ -510,6 +510,12 @@
                     ) &lt;= #{chongpaiEndDate} -- 调度结束时间之前可以开工
                     AND DATE_ADD(preapope.PLANENDDATE, INTERVAL apo.MAXFLOWWAITMIN MINUTE) >= #{chongpaiStartDate})
             )
+        <if test="blankIdsList != null and blankIdsList.size > 0">
+            AND apope.BLANKID IN
+            <foreach collection="blankIdsList" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </select>
     <select id="selectNeedRescheduleEqu3"
             resultType="com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo">
@@ -537,6 +543,12 @@
         if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0))) MINUTE -- 机台流转时间
         ) &lt;= #{chongpaiEndDate}) -- 调度结束时间之前可以开工
         )
+        <if test="blankIdsList != null and blankIdsList.size > 0">
+            AND apope.BLANKID IN
+            <foreach collection="blankIdsList" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </select>
     <select id="selectAllNeedSortLenZha"
             resultType="com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo">

+ 9 - 7
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsBlankOrderController.java

@@ -70,10 +70,12 @@ public class ApsBlankOrderController {
     @GetMapping("/apsScheduleRestart")
     public R apsScheduleRestart(@RequestParam(required = false) Integer hour,
                                 @RequestParam(required = false) String chongpaiStartDate,
-                                @RequestParam(required = false) String chongpaiEndDate) {
-        apsBlankOrderService.apsScheduleRestart(hour,chongpaiStartDate,chongpaiEndDate,null);
+                                @RequestParam(required = false) String chongpaiEndDate,
+                                @RequestParam(required = false) String blankIds) {
+        apsBlankOrderService.apsScheduleRestart(hour, chongpaiStartDate, chongpaiEndDate, null, blankIds);
         return R.ok();
     }
+
     /**
      * 定时任务自动调度,每天19点执行
      */
@@ -241,7 +243,7 @@ public class ApsBlankOrderController {
      * 领料
      */
     @PostMapping("/addMaterial")
-    public R addMaterial(@RequestBody AddMaterialReq req){
+    public R addMaterial(@RequestBody AddMaterialReq req) {
         log.info("领料 入参:{}", req);
         return apsBlankOrderService.addMaterial(req);
     }
@@ -250,7 +252,7 @@ public class ApsBlankOrderController {
      * 领料校验
      */
     @PostMapping("/checkAddMaterial")
-    public R checkAddMaterial(@RequestBody AddMaterialReq req){
+    public R checkAddMaterial(@RequestBody AddMaterialReq req) {
         log.info("领料校验 入参:{}", req);
         return apsBlankOrderService.checkAddMaterial(req);
     }
@@ -259,7 +261,7 @@ public class ApsBlankOrderController {
      * 将制定时间后的数据顺序重排
      */
     @GetMapping("/chongPaiByEndDate")
-    public R chongPaiByEndDate(@RequestParam("chongpaiEndDate") String chongpaiEndDate){
+    public R chongPaiByEndDate(@RequestParam("chongpaiEndDate") String chongpaiEndDate) {
         apsBlankOrderService.sortLenZha(DateUtil.parseDate(chongpaiEndDate), CXCommonUtils.getCurrentUserFactoryId(null));
         apsBlankOrderService.sortTuiHuo(DateUtil.parseDate(chongpaiEndDate), CXCommonUtils.getCurrentUserFactoryId(null));
         return R.ok();
@@ -269,7 +271,7 @@ public class ApsBlankOrderController {
      * 查询坯料计划是否正在被排程
      */
     @GetMapping("/checkBlankScheduling")
-    public R checkBlankScheduling(@RequestParam("blankId") String blankId){
+    public R checkBlankScheduling(@RequestParam("blankId") String blankId) {
         ApsUtils.checkSchedulingByBlankId(null, blankId);
         return R.ok();
     }
@@ -278,7 +280,7 @@ public class ApsBlankOrderController {
      * 查询坯料计划是否正在被排程或者已排程
      */
     @GetMapping("/checkBlankSchedul")
-    public R checkBlankSchedul(@RequestParam("blankId") String blankId){
+    public R checkBlankSchedul(@RequestParam("blankId") String blankId) {
         ApsUtils.checkSchedulByBlankId(null, blankId);
         return R.ok();
     }