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