From 9c7e5bc10f242b71f3d94e2c700cb7de79feda17 Mon Sep 17 00:00:00 2001 From: yxFwq <1> Date: 星期二, 25 二月 2025 08:45:14 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 101 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java index b5aca80..8f532b7 100644 --- a/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java +++ b/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java @@ -2,18 +2,10 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.zy.asrs.entity.BasCrnp; -import com.zy.asrs.entity.BasDevp; -import com.zy.asrs.entity.WrkMast; -import com.zy.asrs.entity.WrkMastSplitTwin; -import com.zy.asrs.service.BasCrnpService; -import com.zy.asrs.service.WrkMastService; -import com.zy.asrs.service.WrkMastSplitTwinService; -import com.zy.asrs.service.impl.BasDevpServiceImpl; -import com.zy.asrs.service.impl.WrkMastServiceImpl; +import com.zy.asrs.entity.*; +import com.zy.asrs.service.*; import com.zy.asrs.task.handler.WrkMastSplitTwinInItHandler; -import com.zy.asrs.utils.LocAndStaCodeUtil; -import com.zy.asrs.utils.Utils; +import com.zy.asrs.utils.TimeCalculatorUtils; import com.zy.common.model.enums.CrnStnType; import com.zy.common.model.enums.WrkMastExecuteType; import org.slf4j.Logger; @@ -34,6 +26,7 @@ public class WrkMastSplitTwinInItScheduler { private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); +// private static Integer signBigTurn = 0; @Autowired private WrkMastSplitTwinInItHandler wrkMastSplitTwinInItHandler; @@ -42,22 +35,23 @@ @Autowired private BasCrnpService basCrnpService; @Autowired - private BasDevpServiceImpl basDevpService; + private BasDevpService basDevpService; + @Autowired + private WrkMastService wrkMastService; + @Autowired + private RgvOneSignService rgvOneSignService; public static final List<Integer> SplitTwin_CRN_NO = new ArrayList<Integer>() {{ add(3); add(4); add(5); }}; - @Autowired - private WrkMastServiceImpl wrkMastService; @Scheduled(cron = "0/3 * * * * ? ") private void execute() { for (Integer crnNo : SplitTwin_CRN_NO) { try { - List<Integer> integers = WrkMastExecuteType.get(crnNo); BasCrnp basCrnp = basCrnpService.selectById(crnNo); if (!Cools.isEmpty(basCrnp)) { if (basCrnp.getWrkNo() == 0 && basCrnp.getCrnSts() != 3) { @@ -70,7 +64,7 @@ continue; } WrkMastSplitTwin wrkMastSplitTwin = wrkMastSplitTwinList.get(0); - if (wrkMastSplitTwin.getWrkType()!=1){ + if (wrkMastSplitTwin.getWrkType()!=1 && wrkMastSplitTwin.getWrkType()!=2){ continue; } wrkMastSplitTwinList = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4); @@ -82,7 +76,7 @@ } switch (wrkMastSplitTwin.getIoType()){ case 1: - Integer count = basDevpService.selectWaitNecessary(integers,wrkMastSplitTwin.getWrkNo().intValue()); + Integer count = basDevpService.selectWaitNecessary(WrkMastExecuteType.get(crnNo),wrkMastSplitTwin.getWrkNo().intValue()); if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� break; } @@ -107,6 +101,7 @@ case 2: List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 12L).eq("crn_no", crnNo)); if (wrkMasts.size()==1){ + WrkMast wrkMast1 = wrkMasts.get(0); wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11L).eq("crn_no", crnNo)); if (wrkMasts.isEmpty()){ if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� @@ -119,9 +114,66 @@ break; }else { for (WrkMast wrkMast:wrkMasts){ +// if (wrkMast.getStaNoSign().equals(signBigTurn)){ +// continue; +// } +// if (wrkMast.booleanStaNoSign() && wrkMast.booleanStaNoSign()){ +// RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMast.getStaNo())); +// if (Cools.isEmpty(rgvOneSign)){ +// continue; +// } +// int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L)); +// if (wrkCount+rgvOneSign.getRgvOneSign()>2){ +// continue; +// } +// int wrkCountGt = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L)); +// if (wrkCountGt > 2){ +// continue; +// } +//// int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L)); +//// if (wrkCount>=12){ +//// continue; +//// } +//// RgvOneSign bigTurn = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","bigTurn")); +//// if (Cools.isEmpty(bigTurn)){ +//// continue; +//// } +//// if (bigTurn.getRgvOneSign()>13){ +//// continue; +//// } +//// BasDevp basDevp = basDevpService.selectById(wrkMast.getStaNoBying()); +//// if (basDevp.getLoading().equals("Y") +//// || !basDevp.getAutoing().equals("Y") +//// || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){ +//// continue; +//// } +// } wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin,wrkMast,2); +// signBigTurn++; +// if (signBigTurn > 2){ +// signBigTurn = 0; +// } break; } + WrkMastSplitTwin wrkMastSplitTwin1 = wrkMastSplitTwinService.selectOne(new EntityWrapper<WrkMastSplitTwin>().eq("wrk_no", wrkMast1.getWrkNo())); + if (!Cools.isEmpty(wrkMastSplitTwin1)){ + long differenceInSeconds = TimeCalculatorUtils.differenceInSeconds(wrkMastSplitTwin1.getUpdateTime(), new Date()); + if (differenceInSeconds>180 || (!Cools.isEmpty(wrkMast1.getStaNo()) && (wrkMast1.getStaNo().equals(312) || wrkMast1.getStaNo().equals(310)) )){ + if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� + break; + } + if (wrkMastSplitTwin.getWrkSts()!=2){ + break; + } + wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin); + break; + } + } + +// signBigTurn++; +// if (signBigTurn > 2){ +// signBigTurn = 0; +// } break; } } @@ -143,7 +195,7 @@ try { BasCrnp basCrnp = basCrnpService.selectById(crnNo); if (!Cools.isEmpty(basCrnp)) { - if (basCrnp.getWrkNo() == 0 && basCrnp.getCrnSts() != 3) { + if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) { continue; } if (basCrnp.getCrnStatusOne() == 20 && basCrnp.getCrnStatusTwo() == 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� 宸ヤ綅2鏈夌墿寰呬綔涓� @@ -181,4 +233,35 @@ } } + @Scheduled(cron = "0/3 * * * * ? ") + private void executeThree() { + for (Integer crnNo : SplitTwin_CRN_NO) { + try { + BasCrnp basCrnp = basCrnpService.selectById(crnNo); + if (!Cools.isEmpty(basCrnp)) { + if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) { + continue; + } + if (basCrnp.getCrnStatusOne() == 0 && basCrnp.getCrnStatusTwo() == 20) {//鍫嗗灈鏈哄伐浣�1绌洪棽 宸ヤ綅2鏈夌墿寰呬綔涓� + List<WrkMastSplitTwin> wrkMastSplitTwinListTwo = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4); + if (wrkMastSplitTwinListTwo.isEmpty()){ + continue; + } + if (wrkMastSplitTwinListTwo.size() > 1){ + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crnNo,"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃缁存姢鎵ц浣滀笟锛侊紒锛�",2); + continue; + } + WrkMastSplitTwin wrkMastSplitTwinTwo = wrkMastSplitTwinListTwo.get(0); + if (wrkMastSplitTwinTwo.getWrkType()!=1 || wrkMastSplitTwinTwo.getWrkSts()!=2){//宸ヤ綔绫诲瀷 0: 鏈煡 1: 鍙� 2: 鏀� 3: 鍙栨斁 4: 瀹屾垚 //宸ヤ綔鐘舵�� 0: 鍒濆 1: 绛夊緟鍙栬揣瀹屾垚 2: 鍙栬揣瀹屾垚寰呬綔涓� 3: 绛夊緟鏀捐揣瀹屾垚 4: 瀹屾垚 + continue; + } + wrkMastSplitTwinInItHandler.start(wrkMastSplitTwinTwo); + } + } + } catch (Exception e) { + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚澶辫触锛屽爢鍨涙満鍙�={}锛屽紓甯稿師鍥�={}", crnNo, e.getMessage()); + } + } + } + } -- Gitblit v1.9.1