From a1334287fc3e563ff3494553d0c1e6fa390b314d Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 24 三月 2026 16:54:44 +0800
Subject: [PATCH] 大屏缓存
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 51 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 1fe34d1..d96111d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -21,6 +21,8 @@
import com.zy.common.properties.SlaveProperties;
import com.zy.common.service.CommonService;
import com.zy.common.web.WcsController;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.WorkMastHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -80,6 +82,8 @@
private WaitPakinService waitPakinService;
@Autowired
private MonitorLocMapCacheService monitorLocMapCacheService;
+ @Autowired
+ private WorkMastHandler workMastHandler;
@Override
@Transactional
@@ -609,14 +613,18 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+ long sts = wrkMast.getWrkSts();
+ if (sts == 4 || sts == 5 || sts == 14 || sts == 15 || sts == 20) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
- // 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+ boolean inboundFinish = wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType() != null && wrkMast.getIoType() == 11);
+ boolean outboundFinish = wrkMast.getWrkSts() > 10 && (wrkMast.getIoType() == null || wrkMast.getIoType() != 11);
+ if (!inboundFinish && !outboundFinish) {
+ throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曟墜鍔ㄥ畬鎴�");
+ }
+ if (inboundFinish) {
wrkMast.setWrkSts(4L);
- // 鍑哄簱
- } else if (wrkMast.getWrkSts() > 10) {
+ } else {
wrkMast.setWrkSts(14L);
}
Date now = new Date();
@@ -624,8 +632,45 @@
wrkMast.setCrnEndTime(now);
wrkMast.setModiTime(now);
wrkMast.setModiUser(userId);
- // 瀹屾垚鎿嶄綔浜哄憳璁板綍
wrkMast.setManuType("鎵嬪姩瀹屾垚");
+ ReturnT<String> rt = workMastHandler.start(wrkMast);
+ if (!rt.isSuccess()) {
+ throw new CoolException(Cools.isEmpty(rt.getMsg()) ? "瀹屾垚澶勭悊澶辫触" : rt.getMsg());
+ }
+ // doOut 瀵� 103/107 涓嶈惤 15 鏃讹紝鎵嬪姩琛ラ綈 15锛涙簮搴撲綅 O 涓庡畾鏃朵换鍔� doOut 涓�鑷�
+ if (wrkMast.getWrkSts() == 14) {
+ wrkMast.setWrkSts(15L);
+ wrkMast.setModiTime(now);
+ wrkMast.setModiUser(userId);
+ if (!Cools.isEmpty(wrkMast.getSourceLocNo())) {
+ LocMast src = locMastService.selectById(wrkMast.getSourceLocNo());
+ if (!Cools.isEmpty(src) && !"O".equals(src.getLocSts())) {
+ Integer io = wrkMast.getIoType();
+ if (io != null && (io == 101 || io == 110)) {
+ src.setLocSts("O");
+ src.setModiTime(now);
+ src.setIoTime(now);
+ src.setModiUser(userId);
+ if (!locMastService.updateById(src)) {
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ } else if ("R".equals(src.getLocSts())) {
+ src.setLocSts("O");
+ src.setModiTime(now);
+ src.setIoTime(now);
+ src.setModiUser(userId);
+ if (!locMastService.updateById(src)) {
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ }
+ }
+ }
+ }
+ wrkMast.setManuType("鎵嬪姩瀹屾垚");
+ wrkMast.setModiUser(userId);
+ wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
+ wrkMast.setCrnEndTime(now);
+ wrkMast.setModiTime(now);
if (!wrkMastService.updateById(wrkMast)) {
throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
}
--
Gitblit v1.9.1