From ff66ddf96807fac02e01c7d2ecdfd1ba808af9c5 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 25 四月 2026 18:42:10 +0800
Subject: [PATCH] wms下发任务给wcs时上锁,防止erp发送中止任务
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 20049bc..fb7b29f 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -14,6 +14,7 @@
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.support.WorkPublishLockKeys;
import com.zy.asrs.utils.MatUtils;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.asrs.utils.Utils;
@@ -28,6 +29,7 @@
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.utils.NodeUtils;
+import com.zy.common.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -121,6 +123,8 @@
private WcsApiService wcsApiService;
@Autowired
private WorkService workService;
+ @Autowired
+ private RedisUtil redisUtil;
@Autowired
private BasCrnpService basCrnpService;
@Autowired
@@ -406,6 +410,10 @@
}
if (param.getExecute() == null) {
throw new CoolException("execute涓嶈兘涓虹┖");
+ }
+ if (Objects.equals(param.getExecute(), 2)
+ && redisUtil.hasKey(WorkPublishLockKeys.outboundUserNoLock(param.getOrderId()))) {
+ return R.error("姝e湪涓嬪彂浠诲姟缁橶CS锛屾棤娉曚腑姝�");
}
List<WrkMast> activeTasks = findActiveOutboundTasks(param.getOrderId());
@@ -1599,7 +1607,7 @@
// 7.11锛歟ntryWmsCode銆乷utDoorNo 澶嶇敤鏄庣粏澶囩敤瀛楁銆�
wrkDetl.setStandby1(param.getEntryWmsCode());
wrkDetl.setStandby2(param.getOutDoorNo());
- wrkDetl.setSupp(i+"/"+count);
+ wrkDetl.setSupp(count+"");
wrkDetl.setTeu(param.getTeu());
if (!wrkDetlService.insert(wrkDetl)) {
@@ -1627,7 +1635,7 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public R outOrderBatch(Map<String, List<OutTaskParam>> linesByBatchSeq) {
+ public R outOrderBatch(Map<String, List<OutTaskParam>> linesByBatchSeq,int count) {
int i = 0;
for (Map.Entry<String, List<OutTaskParam>> entry : linesByBatchSeq.entrySet()) {
for (OutTaskParam outTaskParam : entry.getValue()) {
@@ -1636,8 +1644,7 @@
}else{
i++;
}
- int count = entry.getValue().size();
- int teu = outTaskParam.getTeu();
+ int teu = Cools.isEmpty(outTaskParam.getTeu())?0:outTaskParam.getTeu();
R r = outOrder(outTaskParam, count, teu ,i);
if (!Objects.equals(r.get("code"), 200)) {
throw new CoolException("鍑哄簱寤哄崟澶辫触");
--
Gitblit v1.9.1