From bcfe83d1795c3ba57334677ec2e18df1229f676e Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 04 十一月 2025 08:28:45 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 103 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 97 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 35cf0f5..8da6e81 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2853,14 +2853,18 @@
this.crnStnToLocDemo(crn, crnProtocol); // 鍏ュ簱
crnProtocol.setLastIo("O");
} else if (basCrnp.getOutEnable().equals("Y")) {
- this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
+ if (!Cools.isEmpty(basCrnp.getHpMk()) && basCrnp.getHpMk().equals("Y")) {
+ this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
+ }
crnProtocol.setLastIo("I");
}
}
// 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
else if (crnProtocol.getLastIo().equals("O")) {
if (basCrnp.getOutEnable().equals("Y")) {
- this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
+ if (!Cools.isEmpty(basCrnp.getHpMk()) && basCrnp.getHpMk().equals("Y")) {
+ this.locToCrnStnDemo(crn, crnProtocol); // 鍑哄簱
+ }
crnProtocol.setLastIo("I");
} else if (basCrnp.getInEnable().equals("Y")) {
this.crnStnToLocDemo(crn, crnProtocol); // 鍏ュ簱
@@ -3173,7 +3177,6 @@
continue;
}
log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
-// R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
staProtocol.setWorkNo(taskWrk.getWrkNo());
staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId()));
boolean offer = false;
@@ -3183,18 +3186,17 @@
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
}
-// JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
if (offer) {
log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
Date now = new Date();
-// taskWrk.setStatus(TaskStatusType.OVER3.id);
+ taskWrk.setStatus(TaskStatusType.DISTRIBUTE.id);
+
taskWrk.setWrkSts(2);
taskWrk.setModiTime(now);
taskWrk.setCompleteTime(now);
taskWrkService.updateById(taskWrk);
} else {
log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
-// log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯镐俊鎭�:"+JSON.toJSONString(r));
}
}
} catch (Exception e) {
@@ -3278,4 +3280,93 @@
}
}
+ /**
+ * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+ */
+ public void storeFinishedDemo() throws InterruptedException {
+ for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+ try{
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+
+ BasCrnp basCrnp = basCrnpService.selectById(crnSlave.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crnSlave.getId());
+ continue;
+ }
+
+
+ CrnSlave crn = new CrnSlave(crnSlave);
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
+ continue;
+ }
+
+ if (!crnSlave.getId().equals(crnProtocol.getLaneNo())) {
+ for (CrnSlave crnOther : slaveProperties.getCrn()) {
+ if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+ crn.updateCrnInStn(crnOther);
+ }
+ }
+ }
+
+ // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
+ if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
+ //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+ TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorkingDemo(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue());
+ if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) {
+ log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽贩閬撳彿={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo());
+ continue;
+ }
+
+ Date now = new Date();
+
+ crnThread.setResetFlag(true);
+
+ if (!Cools.isEmpty(taskWrk)) {
+ if (taskWrk.getIoType() == 4 && taskWrk.getWrkSts() == 3) {
+ taskWrk.setWrkSts(11);//鍏ュ簱瀹屾垚
+ taskWrk.setStatus(TaskStatusType.RECEIVE.id);//鎺ユ敹
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")) {
+ taskWrk.setWrkSts(4);
+ taskWrk.setStatus(TaskStatusType.OVER.id);
+ }
+ //鏇存柊搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+ locMast.setLocSts("R");//F.鍦ㄥ簱
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")) {
+ locMast.setLocSts("F");//F.鍦ㄥ簱
+ }
+ locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+ locMast.setModiTime(now);
+ locMast.setModiUser(9999L);
+ locMastService.updateById(locMast);
+ } else if (taskWrk.getIoType() == 4 && taskWrk.getWrkSts() == 12) {
+ taskWrk.setWrkSts(13);//鍑哄簱瀹屾垚
+ taskWrk.setStatus(TaskStatusType.RECEIVE.id);//鎺ユ敹
+ //鏇存柊搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
+ locMast.setLocSts("S");//O.绌哄簱浣�
+ locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
+ locMast.setModiTime(now);
+ locMast.setModiUser(9999L);
+ locMastService.updateById(locMast);
+ }
+ taskWrk.setModiTime(now);
+ taskWrk.setCompleteTime(now);
+ taskWrkService.updateById(taskWrk);
+
+ }
+
+ }
+ } catch (Exception e){
+ log.error("鍫嗗灈鏈烘墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔澶辫触 ===>> [id:{}] [error:{}]", crnSlave.getId(), e.getMessage());
+ }
+ }
+ }
+
}
--
Gitblit v1.9.1