From 21e9b4b7d15e10cec7c8ad0b14006f225e16de1c Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期六, 08 六月 2024 09:24:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java | 182 +++++++++------------------------------------ 1 files changed, 38 insertions(+), 144 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java index c9a66cf..b5aca80 100644 --- a/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java +++ b/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java @@ -12,6 +12,7 @@ import com.zy.asrs.service.impl.BasDevpServiceImpl; import com.zy.asrs.service.impl.WrkMastServiceImpl; import com.zy.asrs.task.handler.WrkMastSplitTwinInItHandler; +import com.zy.asrs.utils.LocAndStaCodeUtil; import com.zy.asrs.utils.Utils; import com.zy.common.model.enums.CrnStnType; import com.zy.common.model.enums.WrkMastExecuteType; @@ -56,7 +57,6 @@ private void execute() { for (Integer crnNo : SplitTwin_CRN_NO) { try { - Date now = new Date(); List<Integer> integers = WrkMastExecuteType.get(crnNo); BasCrnp basCrnp = basCrnpService.selectById(crnNo); if (!Cools.isEmpty(basCrnp)) { @@ -66,7 +66,7 @@ if (((basCrnp.getCrnStatusOne() > 0 && basCrnp.getCrnStatusOne() <= 3) || basCrnp.getCrnStatusOne() == 20) && basCrnp.getCrnStatusTwo() == 0) {//鍫嗗灈鏈哄伐浣�1鍙栬揣杩愯涓� //鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 1, null, null, 4); if (wrkMastSplitTwinList.size() != 1){ - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crnNo,"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",1); + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,浣滀笟鏁伴噺={},鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",wrkMastSplitTwinList.size(),crnNo,"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃缁存姢鎵ц浣滀笟锛侊紒锛�",1); continue; } WrkMastSplitTwin wrkMastSplitTwin = wrkMastSplitTwinList.get(0); @@ -75,7 +75,7 @@ } wrkMastSplitTwinList = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4); if (wrkMastSplitTwinList.size() > 1){ - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crnNo,"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",2); + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,浣滀笟鏁伴噺={},鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",wrkMastSplitTwinList.size(),crnNo,"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇风淮鎶ゆ墽琛屼綔涓氾紒锛侊紒",2); continue; } else if (wrkMastSplitTwinList.size()==1){ continue; @@ -84,53 +84,24 @@ case 1: Integer count = basDevpService.selectWaitNecessary(integers,wrkMastSplitTwin.getWrkNo().intValue()); if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� - continue; + break; } if (wrkMastSplitTwin.getWrkSts()!=2){ - continue; + break; } if (count==0){ - - wrkMastSplitTwin.setWrkSts(4); - wrkMastSplitTwin.setUpdateTime(now); - wrkMastSplitTwinService.updateById(wrkMastSplitTwin); - - WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMastSplitTwin); - wrkMastSplitTwinNew.setCreateTime(now); - wrkMastSplitTwinNew.setUpdateTime(now); - wrkMastSplitTwinNew.setWrkSts(0); - wrkMastSplitTwinNew.setWrkType(2); - wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); - }else { - BasDevp basDevp = basDevpService.selectById(CrnStnType.getDevNo(crnNo, true)); + wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin); + break; + } else { + BasDevp basDevp = basDevpService.selectById(CrnStnType.getDevNo(crnNo, true));//鍏ュ簱绔欑偣 if (Cools.isEmpty(basDevp) || basDevp.getWrkNo()==0){ - continue; + break; } WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); - if (wrkMast.getIoType()>10 || wrkMast.getWrkSts()!=2){ - continue; + if (wrkMast.getIoType()>100 || wrkMast.getWrkSts()!=2){ + break; } - WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMast,2,now); - wrkMastSplitTwinNew.setWrkStart(wrkMast.getSourceLocNo()); - wrkMastSplitTwinNew.setWrkEnd(wrkMast.getIoType()==11? wrkMast.getLocNo():wrkMast.getSourceStaNo().toString()); - wrkMastSplitTwinNew.setStartRow(Utils.getRow(wrkMast.getSourceLocNo())); - wrkMastSplitTwinNew.setStartBay(Utils.getBay(wrkMast.getSourceLocNo())); - wrkMastSplitTwinNew.setStartLev(Utils.getLev(wrkMast.getSourceLocNo())); - int[] ints = new int[3]; - if (wrkMast.getIoType()!=11){ - ints = CrnStnType.get(wrkMast.getSourceStaNo()); - if (ints == null){ - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綔鍙�={},绔欑偣鍙�={}",crnNo,"鏈煡绔欑偣鍙�",wrkMast.getSourceStaNo(),wrkMast.getSourceStaNo()); - continue; - } - } - wrkMastSplitTwinNew.setEndRow(wrkMast.getIoType()==11? Utils.getRow(wrkMast.getLocNo()): ints[0]); - wrkMastSplitTwinNew.setEndBay(wrkMast.getIoType()==11? Utils.getBay(wrkMast.getLocNo()): ints[1]); - wrkMastSplitTwinNew.setEndLev(wrkMast.getIoType()==11? Utils.getLev(wrkMast.getLocNo()): ints[2]); - wrkMastSplitTwinNew.setWrkType(1); - wrkMastSplitTwinNew.setIoType(1); - wrkMastSplitTwinNew.setWrkSts(0); - wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); + wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin,wrkMast,2); } break; case 2: @@ -139,45 +110,19 @@ wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11L).eq("crn_no", crnNo)); if (wrkMasts.isEmpty()){ if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� - continue; + break; } if (wrkMastSplitTwin.getWrkSts()!=2){ - continue; + break; } - wrkMastSplitTwin.setWrkSts(4); - wrkMastSplitTwin.setUpdateTime(now); - wrkMastSplitTwinService.updateById(wrkMastSplitTwin); - - WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMastSplitTwin); - wrkMastSplitTwinNew.setCreateTime(now); - wrkMastSplitTwinNew.setUpdateTime(now); - wrkMastSplitTwinNew.setWrkSts(0); - wrkMastSplitTwinNew.setWrkType(2); - wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); + wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin); + break; }else { for (WrkMast wrkMast:wrkMasts){ - WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMast,2,now); - wrkMastSplitTwinNew.setWrkStart(wrkMast.getSourceLocNo()); - wrkMastSplitTwinNew.setWrkEnd(wrkMast.getIoType()==11? wrkMast.getLocNo():wrkMast.getSourceStaNo().toString()); - wrkMastSplitTwinNew.setStartRow(Utils.getRow(wrkMast.getSourceLocNo())); - wrkMastSplitTwinNew.setStartBay(Utils.getBay(wrkMast.getSourceLocNo())); - wrkMastSplitTwinNew.setStartLev(Utils.getLev(wrkMast.getSourceLocNo())); - int[] ints = new int[3]; - if (wrkMast.getIoType()!=11){ - ints = CrnStnType.get(wrkMast.getSourceStaNo()); - if (ints == null){ - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綔鍙�={},绔欑偣鍙�={}",crnNo,"鏈煡绔欑偣鍙�",wrkMast.getSourceStaNo(),wrkMast.getSourceStaNo()); - continue; - } - } - wrkMastSplitTwinNew.setEndRow(wrkMast.getIoType()==11? Utils.getRow(wrkMast.getLocNo()): ints[0]); - wrkMastSplitTwinNew.setEndBay(wrkMast.getIoType()==11? Utils.getBay(wrkMast.getLocNo()): ints[1]); - wrkMastSplitTwinNew.setEndLev(wrkMast.getIoType()==11? Utils.getLev(wrkMast.getLocNo()): ints[2]); - wrkMastSplitTwinNew.setWrkType(1); - wrkMastSplitTwinNew.setIoType(2); - wrkMastSplitTwinNew.setWrkSts(0); - wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); + wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin,wrkMast,2); + break; } + break; } } break; @@ -196,89 +141,38 @@ private void executeTwo() { for (Integer crnNo : SplitTwin_CRN_NO) { try { - Date now = new Date(); - List<Integer> integers = WrkMastExecuteType.get(crnNo); BasCrnp basCrnp = basCrnpService.selectById(crnNo); if (!Cools.isEmpty(basCrnp)) { if (basCrnp.getWrkNo() == 0 && basCrnp.getCrnSts() != 3) { continue; } - - if (basCrnp.getCrnStatusOne() == 20 && basCrnp.getCrnStatusTwo() == 0) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� + if (basCrnp.getCrnStatusOne() == 20 && basCrnp.getCrnStatusTwo() == 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� 宸ヤ綅2鏈夌墿寰呬綔涓� List<WrkMastSplitTwin> wrkMastSplitTwinList = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 1, null, null, 4); - if (wrkMastSplitTwinList.size() != 1){ - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crnNo,"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃鍒犻櫎鏃犳晥浣滀笟锛侊紒锛�",1); + if (wrkMastSplitTwinList.isEmpty()){ + continue; + } + if (wrkMastSplitTwinList.size() > 1){ + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crnNo,"涓嶅瓨鍦ㄦ垨鑰呭瓨鍦ㄥ绗斿彲鎵ц浣滀笟锛岃缁存姢鎵ц浣滀笟锛侊紒锛�",1); continue; } WrkMastSplitTwin wrkMastSplitTwin = wrkMastSplitTwinList.get(0); - if (wrkMastSplitTwin.getWrkType()!=1){ + if (wrkMastSplitTwin.getWrkType()!=1 || wrkMastSplitTwin.getWrkSts()!=2){//宸ヤ綔绫诲瀷 0: 鏈煡 1: 鍙� 2: 鏀� 3: 鍙栨斁 4: 瀹屾垚 continue; } - wrkMastSplitTwinList = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4); - if (wrkMastSplitTwinList.size() > 1){ - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={}",crnNo,"瀛樺湪澶氱瑪鍙墽琛屼綔涓氾紝璇峰垹闄ゆ棤鏁堜綔涓氾紒锛侊紒",2); - continue; - } else if (wrkMastSplitTwinList.size()==1){ + List<WrkMastSplitTwin> wrkMastSplitTwinListTwo = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4); + if (wrkMastSplitTwinListTwo.isEmpty()){ continue; } - switch (wrkMastSplitTwin.getIoType()){ - case 1: - Integer count = basDevpService.selectWaitNecessary(integers,wrkMastSplitTwin.getWrkNo().intValue()); - if (count!=0){ - - } - break; - case 2: - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 12L).eq("crn_no", crnNo)); - if (wrkMasts.size()==1){ - wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11L).eq("crn_no", crnNo)); - if (wrkMasts.isEmpty()){ - if (basCrnp.getCrnStatusOne() != 20) {//鍫嗗灈鏈哄伐浣�1鏈夌墿寰呬綔涓� - continue; - } - if (wrkMastSplitTwin.getWrkSts()!=2){ - continue; - } - wrkMastSplitTwin.setWrkSts(4); - wrkMastSplitTwin.setUpdateTime(now); - wrkMastSplitTwinService.updateById(wrkMastSplitTwin); - - WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMastSplitTwin); - wrkMastSplitTwinNew.setCreateTime(now); - wrkMastSplitTwinNew.setUpdateTime(now); - wrkMastSplitTwinNew.setWrkSts(0); - wrkMastSplitTwinNew.setWrkType(2); - wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); - }else { - for (WrkMast wrkMast:wrkMasts){ - WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMast,2,now); - wrkMastSplitTwinNew.setWrkStart(wrkMast.getSourceLocNo()); - wrkMastSplitTwinNew.setWrkEnd(wrkMast.getIoType()==11? wrkMast.getLocNo():wrkMast.getSourceStaNo().toString()); - wrkMastSplitTwinNew.setStartRow(Utils.getRow(wrkMast.getSourceLocNo())); - wrkMastSplitTwinNew.setStartBay(Utils.getBay(wrkMast.getSourceLocNo())); - wrkMastSplitTwinNew.setStartLev(Utils.getLev(wrkMast.getSourceLocNo())); - int[] ints = new int[3]; - if (wrkMast.getIoType()!=11){ - ints = CrnStnType.get(wrkMast.getSourceStaNo()); - if (ints == null){ - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綔鍙�={},绔欑偣鍙�={}",crnNo,"鏈煡绔欑偣鍙�",wrkMast.getSourceStaNo(),wrkMast.getSourceStaNo()); - continue; - } - } - wrkMastSplitTwinNew.setEndRow(wrkMast.getIoType()==11? Utils.getRow(wrkMast.getLocNo()): ints[0]); - wrkMastSplitTwinNew.setEndBay(wrkMast.getIoType()==11? Utils.getBay(wrkMast.getLocNo()): ints[1]); - wrkMastSplitTwinNew.setEndLev(wrkMast.getIoType()==11? Utils.getLev(wrkMast.getLocNo()): ints[2]); - wrkMastSplitTwinNew.setWrkType(0); - wrkMastSplitTwinNew.setIoType(1); - wrkMastSplitTwinNew.setWrkSts(0); - wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); - } - } - } - break; - default: - log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚,鍫嗗灈鏈哄彿={},寮傚父淇℃伅={},宸ヤ綅鍙�={},宸ヤ綔绫诲瀷={},宸ヤ綔鐘舵��={}",crnNo,"浠诲姟绫诲瀷鏈煡",1,1,1); + 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(wrkMastSplitTwin); + wrkMastSplitTwinInItHandler.start(wrkMastSplitTwinTwo); } } } catch (Exception e) { -- Gitblit v1.9.1