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/entity/WrkMastSplitTwin.java | 2 src/main/java/com/zy/asrs/task/handler/WrkMastSplitTwinInItHandler.java | 107 ++++++++------- src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java | 183 +++++-------------------- src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java | 38 +++++ src/main/java/com/zy/asrs/utils/LocAndStaCodeUtil.java | 52 +++++++ 5 files changed, 186 insertions(+), 196 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSplitTwin.java b/src/main/java/com/zy/asrs/entity/WrkMastSplitTwin.java index 2ef6006..3005012 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMastSplitTwin.java +++ b/src/main/java/com/zy/asrs/entity/WrkMastSplitTwin.java @@ -297,7 +297,7 @@ case 2: return "鍑哄簱"; default: - return String.valueOf(this.ioType); + return "鏈煡:"+this.ioType; } } diff --git a/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java index 6026252..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; @@ -192,92 +137,42 @@ } } -// @Scheduled(cron = "0/3 * * * * ? ") + @Scheduled(cron = "0/3 * * * * ? ") 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) { diff --git a/src/main/java/com/zy/asrs/task/handler/WrkMastSplitTwinInItHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkMastSplitTwinInItHandler.java index 8f879a8..722738b 100644 --- a/src/main/java/com/zy/asrs/task/handler/WrkMastSplitTwinInItHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WrkMastSplitTwinInItHandler.java @@ -1,13 +1,12 @@ package com.zy.asrs.task.handler; -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.core.common.Cools; -import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.WrkMast; -import com.zy.asrs.entity.WrkMastSta; -import com.zy.asrs.service.WrkMastStaService; +import com.zy.asrs.entity.WrkMastSplitTwin; +import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.service.WrkMastSplitTwinService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; +import com.zy.asrs.utils.LocAndStaCodeUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,61 +23,67 @@ @Transactional public class WrkMastSplitTwinInItHandler extends AbstractHandler<String> { @Autowired - private WrkMastStaService wrkMastStaService; + private WrkMastSplitTwinService wrkMastSplitTwinService; + @Autowired + private WrkMastService wrkMastService; - public ReturnT<String> start(WrkMast wrkMast,BasDevp basDevp,Integer type) { + public ReturnT<String> start(WrkMastSplitTwin wrkMastSplitTwin) { //鍙栬揣浠诲姟瀹屾垚 鏀捐揣 try { - WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMast.getWrkNo().longValue())); - if (!Cools.isEmpty(wrkMastSta)){ - return SUCCESS; - } - switch (type){ - case 13://鍑� 3锛氬彇鏀� - if (Cools.isEmpty(wrkMastSta)){ - WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); - wrkMastSta1.setType(1); //绫诲瀷 1:闈炵┖ 2:绌烘澘 - wrkMastSta1.setWrkType(3); //宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� - wrkMastStaService.insert(wrkMastSta1); - } - break; - case 21://1:鍙栵紙鍙犵洏锛� - if (Cools.isEmpty(wrkMastSta)){ - WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); - wrkMastSta1.setType(fullKM(wrkMast)? 1:2); - wrkMastSta1.setWrkType(1);//宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� - wrkMastStaService.insert(wrkMastSta1); - }; - break; - case 22://2锛氭斁(鎷嗙洏) - if (Cools.isEmpty(wrkMastSta)){ - WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); - wrkMastSta1.setType(fullKM(wrkMast)? 1:2); - wrkMastSta1.setWrkType(5);//宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� - wrkMastStaService.insert(wrkMastSta1); - }; - break; - case 23://3锛氭弧鍙� - if (Cools.isEmpty(wrkMastSta)){ - WrkMastSta wrkMastSta1 = new WrkMastSta(wrkMast,new Date(),basDevp); - wrkMastSta1.setType(fullKM(wrkMast)? 1:2); - wrkMastSta1.setWrkType(5); - wrkMastStaService.insert(wrkMastSta1); - } - default: - return SUCCESS; - } + Date now = new Date(); + WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMastSplitTwin); + wrkMastSplitTwin.setWrkSts(4);//宸ヤ綔鐘舵�� 0: 鍒濆 1: 绛夊緟鍙栬揣瀹屾垚 2: 鍙栬揣瀹屾垚寰呬綔涓� 3: 绛夊緟鏀捐揣瀹屾垚 4: 瀹屾垚 + wrkMastSplitTwin.setUpdateTime(now); + wrkMastSplitTwinService.updateById(wrkMastSplitTwin); + + wrkMastSplitTwinNew.setCreateTime(now); + wrkMastSplitTwinNew.setUpdateTime(now); + wrkMastSplitTwinNew.setWrkSts(0);//宸ヤ綔鐘舵�� 0: 鍒濆 1: 绛夊緟鍙栬揣瀹屾垚 2: 鍙栬揣瀹屾垚寰呬綔涓� 3: 绛夊緟鏀捐揣瀹屾垚 4: 瀹屾垚 + wrkMastSplitTwinNew.setWrkType(2);//宸ヤ綔绫诲瀷 0: 鏈煡 1: 鍙� 2: 鏀� 3: 鍙栨斁 4: 瀹屾垚 + wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); }catch (Exception e){ - log.error("寮傚父锛侊紒锛�"+e); + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚寮傚父锛侊紒锛�"+e.getMessage()); return FAIL; } return SUCCESS; } - public boolean fullKM(WrkMast wrkMast){ - if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){ - return true; + public ReturnT<String> start(WrkMastSplitTwin wrkMastSplitTwin,WrkMast wrkMast,Integer crnStation) { //鍙栬揣浠诲姟瀹屾垚 鏀捐揣 + try { + Date now = new Date(); + WrkMastSplitTwin wrkMastSplitTwinNew = new WrkMastSplitTwin(wrkMast,crnStation,now); + switch (wrkMastSplitTwin.getIoType()){ + case 1: + wrkMastSplitTwinNew.setWrkStart(wrkMast.getStaNo().toString()); + wrkMastSplitTwinNew.setWrkEnd(wrkMast.getLocNo()); + break; + case 2: + wrkMastSplitTwinNew.setWrkStart(wrkMast.getSourceLocNo()); + wrkMastSplitTwinNew.setWrkEnd(wrkMast.getIoType()==11? wrkMast.getLocNo():wrkMast.getSourceStaNo().toString()); + break; + default: + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚寮傚父锛侊紒锛�====>宸ヤ綔鍙�={},浠诲姟绫诲瀷={},浠诲姟绫诲瀷寮傚父锛�",wrkMastSplitTwin.getWrkNo(),wrkMastSplitTwin.getIoType$()); + return FAIL; + } + wrkMastSplitTwinNew.setStartRow(LocAndStaCodeUtil.getRow(wrkMastSplitTwin.getWrkStart())); + wrkMastSplitTwinNew.setStartBay(LocAndStaCodeUtil.getBay(wrkMastSplitTwin.getWrkStart())); + wrkMastSplitTwinNew.setStartLev(LocAndStaCodeUtil.getLev(wrkMastSplitTwin.getWrkStart())); + wrkMastSplitTwinNew.setEndRow(LocAndStaCodeUtil.getRow(wrkMastSplitTwin.getWrkStart())); + wrkMastSplitTwinNew.setEndBay(LocAndStaCodeUtil.getBay(wrkMastSplitTwin.getWrkStart())); + wrkMastSplitTwinNew.setEndLev(LocAndStaCodeUtil.getLev(wrkMastSplitTwin.getWrkStart())); + wrkMastSplitTwinNew.setWrkType(1);//宸ヤ綔绫诲瀷 0: 鏈煡 1: 鍙� 2: 鏀� 3: 鍙栨斁 4: 瀹屾垚 + wrkMastSplitTwinNew.setIoType(wrkMastSplitTwin.getIoType());//浠诲姟绫诲瀷 0: 鏈煡 1: 鍏ュ簱 2: 鍑哄簱 + wrkMastSplitTwinNew.setWrkSts(0);//宸ヤ綔鐘舵�� 0: 鍒濆 1: 绛夊緟鍙栬揣瀹屾垚 2: 鍙栬揣瀹屾垚寰呬綔涓� 3: 绛夊緟鏀捐揣瀹屾垚 4: 瀹屾垚 + wrkMastSplitTwinService.insert(wrkMastSplitTwinNew); + + wrkMast.setWrkSts(wrkMast.getWrkSts()+1); + wrkMast.setAppeTime(now); + wrkMastService.updateById(wrkMast); + }catch (Exception e){ + log.error("鍓嶅悗鍙屽伐浣嶆媶鍒嗗爢鍨涙満鎵ц浣滀笟鐢熸垚寮傚父锛侊紒锛�"+e.getMessage()); + return FAIL; } - return false; + return SUCCESS; } + } diff --git a/src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java b/src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java new file mode 100644 index 0000000..22afa1f --- /dev/null +++ b/src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java @@ -0,0 +1,38 @@ +package com.zy.asrs.utils; + +import java.util.regex.Pattern; + +public class CodeDetectionUtil { + + /** + * 妫�娴嬭揣鏋剁爜 + */ + public static boolean barcodeDetection(String barcode,int code){ + Pattern pattern = Pattern.compile("\\d{"+code+"}");//浣嶆暟瀛� + return pattern.matcher(barcode).matches(); + } + + /** + * 妫�娴嬪皬杞﹀湴鐮� + */ + public static boolean carCodeDetection(String carCode){ + return carCode.contains("_"); + } + + public static void main(String[] args) { + System.out.println("barcodeDetection:"+"22222222===>"+barcodeDetection("22222222",7)); + System.out.println("barcodeDetection:"+"222222===>"+barcodeDetection("222222",7)); + System.out.println("barcodeDetection:"+"111===>"+barcodeDetection("111",7)); + System.out.println("barcodeDetection:"+"DB_123ss===>"+barcodeDetection("DB_123ss",7)); + System.out.println("barcodeDetection:"+"12_1231===>"+barcodeDetection("12_1231",7)); + System.out.println("barcodeDetection:"+"DB_123456===>"+barcodeDetection("DB_123456",7)); + + System.out.println("carCodeDetection:"+"22222222===>"+carCodeDetection("22222222")); + System.out.println("carCodeDetection:"+"222222===>"+carCodeDetection("222222")); + System.out.println("carCodeDetection:"+"111===>"+carCodeDetection("111")); + System.out.println("carCodeDetection:"+"DB_123ss===>"+carCodeDetection("DB_123ss")); + System.out.println("carCodeDetection:"+"12_1231===>"+carCodeDetection("12_1231")); + System.out.println("carCodeDetection:"+"DB_123456===>"+carCodeDetection("DB_123456")); + } + +} diff --git a/src/main/java/com/zy/asrs/utils/LocAndStaCodeUtil.java b/src/main/java/com/zy/asrs/utils/LocAndStaCodeUtil.java new file mode 100644 index 0000000..858443f --- /dev/null +++ b/src/main/java/com/zy/asrs/utils/LocAndStaCodeUtil.java @@ -0,0 +1,52 @@ +package com.zy.asrs.utils; + +import com.core.common.Cools; +import com.zy.common.model.enums.CrnStnType; + +import java.util.Objects; + +public class LocAndStaCodeUtil { + + /** + * 閫氳繃搴撲綅鍙疯幏鍙� 鎺� + */ + public static int getRow(String parameter) { + if (!Cools.isEmpty(parameter)) { + if (CodeDetectionUtil.barcodeDetection(parameter,7)){ + return Integer.parseInt(parameter.substring(0, 2)); + } else if (CodeDetectionUtil.barcodeDetection(parameter,3)){ + return Objects.requireNonNull(CrnStnType.get(Integer.parseInt(parameter)))[0]; + } + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + /** + * 閫氳繃搴撲綅鍙疯幏鍙� 鍒� + */ + public static int getBay(String parameter) { + if (!Cools.isEmpty(parameter)) { + if (CodeDetectionUtil.barcodeDetection(parameter,7)){ + return Integer.parseInt(parameter.substring(2, 5)); + } else if (CodeDetectionUtil.barcodeDetection(parameter,3)){ + return Objects.requireNonNull(CrnStnType.get(Integer.parseInt(parameter)))[1]; + } + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + + /** + * 閫氳繃搴撲綅鍙疯幏鍙� 灞� + */ + public static int getLev(String parameter) { + if (!Cools.isEmpty(parameter)) { + if (CodeDetectionUtil.barcodeDetection(parameter,7)){ + return Integer.parseInt(parameter.substring(5, 7)); + } else if (CodeDetectionUtil.barcodeDetection(parameter,3)){ + return Objects.requireNonNull(CrnStnType.get(Integer.parseInt(parameter)))[2]; + } + } + throw new RuntimeException("搴撲綅瑙f瀽寮傚父"); + } + +} -- Gitblit v1.9.1