From d7ec100166068db8197d218c57d2a6c86a5289a4 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 04 十一月 2025 14:10:42 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 188 +++++++++++++++++++++++++++++++++++-----------
1 files changed, 141 insertions(+), 47 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 e3494e1..e8ee51c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2756,51 +2756,58 @@
* 婕旂ず妯″紡鍚姩
*/
public boolean crnStnDEMOOpen1() {
- int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
- if (selectCount>0) {
- return false;
- }
- for (CrnSlave crn : slaveProperties.getCrn()) {
-
- // 鑾峰彇鍫嗗灈鏈轰俊鎭�
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
- CrnProtocol crnProtocol = crnThread.getCrnProtocol();
- if (crnProtocol == null) {
- continue;
+ try{
+ int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
+ if (selectCount>0) {
+ return false;
}
- BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
- if (basCrnp == null) {
- log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
- continue;
- }
-
- if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "瀛樺湪鍏跺畠鍫嗗灈鏈哄紑鍚紨绀烘ā寮忥紒");
- continue;
- }
-
- CrnSlave crnSlave = new CrnSlave(crn);
- if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
- CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
- continue;
- }
-
- if (!crn.getId().equals(crnProtocol.getLaneNo())) {
- for (CrnSlave crnOther : slaveProperties.getCrn()) {
- if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
- crnSlave.updateCrnInStn(crnOther);
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ try{
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
}
- }
- }
- for (String locNo : crnProtocol.getLocMastDemoList()){
- LocMast locMast = locMastService.selectByLocNo(locNo);
- TaskCreateParam taskCreateParam = new TaskCreateParam(crnSlave,locMast);
- taskCreateParam.setStartPointSta(crnProtocol.getStaIntDemo());
- taskCreateParam.setTargetPointSta(crnProtocol.getStaOutDemo());
- openService.taskCreate(taskCreateParam);
- }
+ BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+ if (basCrnp == null) {
+ log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+ continue;
+ }
- return true;
+ if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "瀛樺湪鍏跺畠鍫嗗灈鏈哄紑鍚紨绀烘ā寮忥紒");
+ continue;
+ }
+//
+ CrnSlave crnSlave = new CrnSlave(crn);
+ if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+ CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "鍫嗗灈鏈哄贩閬撳彿寮傚父锛�");
+ continue;
+ }
+
+ if (!crn.getId().equals(crnProtocol.getLaneNo())) {
+ for (CrnSlave crnOther : slaveProperties.getCrn()) {
+ if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+ crnSlave.updateCrnInStn(crnOther);
+ }
+ }
+ }
+ for (String locNo : crnProtocol.getLocMastDemoList()){
+ LocMast locMast = locMastService.selectByLocNo(locNo);
+ TaskCreateParam taskCreateParam = new TaskCreateParam(crnSlave,locMast);
+ taskCreateParam.setStartPointSta(crnProtocol.getStaIntDemo());
+ taskCreateParam.setTargetPointSta(crnProtocol.getStaOutDemo());
+ openService.taskCreate(taskCreateParam);
+ }
+ } catch (Exception e) {
+ CrnErrCache.updateCrnErr(crn.getId(), "婕旂ず妯″紡鐢熸垚浠诲姟寮傚父锛�");
+ continue;
+ }
+
+ return true;
+ }
+ } catch (Exception e) {
}
return false;
}
@@ -3000,7 +3007,7 @@
* 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
*/
public void locToCrnStnDemo(CrnSlave slave, CrnProtocol crnProtocol) {
- List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOut(crnProtocol.getLaneNo(), null);
+ List<TaskWrk> taskWrksInitial = taskWrkMapper.selectPakOutDemo(crnProtocol.getLaneNo(), null);
if (taskWrksInitial.size() == 0) {
return;
}
@@ -3177,7 +3184,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;
@@ -3187,18 +3193,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) {
@@ -3282,4 +3287,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