From 65539f6fb4d836180f784c2c4e0bc441764cd23f Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期一, 19 一月 2026 11:02:44 +0800
Subject: [PATCH] agv逻辑调整
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 68 +++++++++++++++++++++++++++++++++-
1 files changed, 66 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 399614d..b8114ca 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -629,9 +629,40 @@
public ReturnT<String> agvDoOut(Task task) {
if (task.getIoType().equals(101)) {
Date now = new Date();
+
+ // 妫�鏌ourceLocNo鏄惁涓虹┖
+ if (task.getSourceLocNo() == null || task.getSourceLocNo().isEmpty()) {
+// log.warn("浠诲姟ID锛歿}鐨剆ourceLocNo涓虹┖锛岃烦杩囧簱浣嶆搷浣滐紙鍙兘鏄粠绔欑偣鍏ュ簱鐨勪换鍔★級", task.getId());
+ task.setWrkSts(15L);
+ if (!taskService.updateById(task)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ return SUCCESS;
+ }
+
+ // 鏌ヨ搴撲綅淇℃伅
LocCache locMast = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", task.getSourceLocNo()));
if (Objects.isNull(locMast)) {
- throw new RuntimeException("鏁版嵁閿欒锛氬簱浣嶄俊鎭笉鑳戒负绌猴紒锛�");
+ // 濡傛灉鏌ヨ涓嶅埌搴撲綅锛屽彲鑳芥槸sourceLocNo鏄珯鐐瑰彿鑰屼笉鏄簱浣嶅彿
+ // 妫�鏌asDevp琛ㄤ腑鏄惁瀛樺湪璇ョ珯鐐�
+ try {
+ Integer siteNo = Integer.parseInt(task.getSourceLocNo());
+ List<BasDevp> basDevpList = basDevpMapper.selectList(new EntityWrapper<BasDevp>().eq("dev_no", siteNo));
+ if (basDevpList != null && !basDevpList.isEmpty()) {
+ // sourceLocNo鏄珯鐐瑰彿锛岃繖鏄粠绔欑偣鍏ュ簱鐨勪换鍔★紝涓嶉渶瑕佸鐞嗗簱浣�
+// log.info("浠诲姟ID锛歿}鐨剆ourceLocNo鏄珯鐐瑰彿锛歿}锛岃烦杩囧簱浣嶆搷浣滐紙浠庣珯鐐瑰叆搴撲换鍔★級", task.getId(), task.getSourceLocNo());
+ task.setWrkSts(15L);
+ if (!taskService.updateById(task)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ return SUCCESS;
+ }
+ } catch (NumberFormatException e) {
+ // sourceLocNo涓嶆槸鏁板瓧锛屽彲鑳芥槸搴撲綅鍙锋牸寮忛敊璇�
+ log.warn("浠诲姟ID锛歿}鐨剆ourceLocNo锛歿}涓嶆槸鏈夋晥鐨勬暟瀛楁牸寮�", task.getId(), task.getSourceLocNo());
+ }
+ // 鏃笉鏄簱浣嶄篃涓嶆槸绔欑偣锛屾姏鍑哄紓甯�
+ throw new RuntimeException("鏁版嵁閿欒锛氬簱浣嶄俊鎭笉鑳戒负绌猴紒锛佷换鍔D锛�" + task.getId() + "锛宻ourceLocNo锛�" + task.getSourceLocNo());
}
List<TaskDetl> wrkDetls101 = taskDetlService.selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
if (wrkDetls101.isEmpty()) {
@@ -1182,9 +1213,42 @@
if (ioType == 1 || ioType == 10 || ioType == 53 || ioType == 57) {
// ioType == 1 闇�瑕佸鐞嗙粍鎵樻暟鎹�
if (ioType == 1) {
+ // 妫�鏌ocNo鏄惁涓虹┖
+ if (wrkMast.getLocNo() == null || wrkMast.getLocNo().isEmpty()) {
+ log.warn("浠诲姟ID锛歿}鐨刲ocNo涓虹┖锛岃烦杩囧簱浣嶆搷浣滐紙鍙兘鏄粠绔欑偣鍏ュ簱鐨勪换鍔★級", wrkMast.getId());
+ // 鏇存柊浠诲姟鐘舵�佷负5锛堝簱瀛樻洿鏂板畬鎴愶級
+ wrkMast.setWrkSts(5L);
+ wrkMast.setModiTime(new Date());
+ if (!taskService.updateById(wrkMast)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ return SUCCESS;
+ }
+
LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", wrkMast.getLocNo()));
if (Objects.isNull(locCache)) {
- throw new CoolException("鏁版嵁閿欒锛屽簱浣嶄笉瀛樺湪锛侊紒");
+ // 濡傛灉鏌ヨ涓嶅埌搴撲綅锛屽彲鑳芥槸locNo鏄珯鐐瑰彿鑰屼笉鏄簱浣嶅彿
+ // 妫�鏌asDevp琛ㄤ腑鏄惁瀛樺湪璇ョ珯鐐�
+ try {
+ Integer siteNo = Integer.parseInt(wrkMast.getLocNo());
+ List<BasDevp> basDevpList = basDevpMapper.selectList(new EntityWrapper<BasDevp>().eq("dev_no", siteNo));
+ if (basDevpList != null && !basDevpList.isEmpty()) {
+ // locNo鏄珯鐐瑰彿锛岃繖鏄粠绔欑偣鍏ュ簱鐨勪换鍔★紝涓嶉渶瑕佸鐞嗗簱浣嶆槑缁�
+ log.info("浠诲姟ID锛歿}鐨刲ocNo鏄珯鐐瑰彿锛歿}锛岃烦杩囧簱浣嶆搷浣滐紙浠庣珯鐐瑰叆搴撲换鍔★級", wrkMast.getId(), wrkMast.getLocNo());
+ // 鏇存柊浠诲姟鐘舵�佷负5锛堝簱瀛樻洿鏂板畬鎴愶級
+ wrkMast.setWrkSts(5L);
+ wrkMast.setModiTime(new Date());
+ if (!taskService.updateById(wrkMast)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ return SUCCESS;
+ }
+ } catch (NumberFormatException e) {
+ // locNo涓嶆槸鏁板瓧锛屽彲鑳芥槸搴撲綅鍙锋牸寮忛敊璇�
+ log.warn("浠诲姟ID锛歿}鐨刲ocNo锛歿}涓嶆槸鏈夋晥鐨勬暟瀛楁牸寮�", wrkMast.getId(), wrkMast.getLocNo());
+ }
+ // 鏃笉鏄簱浣嶄篃涓嶆槸绔欑偣锛屾姏鍑哄紓甯�
+ throw new CoolException("鏁版嵁閿欒锛屽簱浣嶄笉瀛樺湪锛侊紒浠诲姟ID锛�" + wrkMast.getId() + "锛宭ocNo锛�" + wrkMast.getLocNo());
}
if (!locCache.getLocSts().equals(LocStsType.LOC_STS_TYPE_S.type)) {
throw new CoolException("褰撳墠搴撲綅鐘舵�佷负锛�" + LocStsType.LOC_STS_TYPE_S.type + "." + LocStsType.LOC_STS_TYPE_S.desc + "锛屼笉鏄嚭搴撻绾︾姸鎬�");
--
Gitblit v1.9.1