From c397643ce84b62690c814fc1dbca04a110647d1a Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期一, 12 一月 2026 13:02:19 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/service/CommonService.java | 47 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 86294ea..9420bc0 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -24,6 +24,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Random;
@Slf4j
@Service
@@ -43,6 +44,8 @@
private NavigateUtils navigateUtils;
@Autowired
private RedisUtil redisUtil;
+ @Autowired
+ private BasOutStationAreaService basOutStationAreaService;
/**
* 鐢熸垚宸ヤ綔鍙�
@@ -83,8 +86,18 @@
}
public boolean completeTask(CompleteTaskParam param) {
+ WrkMast wrkMast = null;
Integer wrkNo = param.getWrkNo();
- WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ String taskNo = param.getTaskNo();//wms浠诲姟鍙�
+
+ if(wrkNo == null) {
+ if (!Cools.isEmpty(taskNo)) {
+ wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
+ }
+ }else {
+ wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ }
+
if (null == wrkMast) {
throw new CoolException("浠诲姟涓嶅瓨鍦�");
}
@@ -103,8 +116,18 @@
}
public boolean cancelTask(CancelTaskParam param) {
+ WrkMast wrkMast = null;
Integer wrkNo = param.getWrkNo();
- WrkMast wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ String taskNo = param.getTaskNo();//wms浠诲姟鍙�
+
+ if(wrkNo == null) {
+ if (!Cools.isEmpty(taskNo)) {
+ wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", taskNo));
+ }
+ }else {
+ wrkMast = wrkMastService.selectByWorkNo(wrkNo);
+ }
+
if (null == wrkMast) {
throw new CoolException("浠诲姟涓嶅瓨鍦�");
}
@@ -282,7 +305,23 @@
}
Integer crnNo = findCrnResult.getCrnNo();
- Integer sourceStationId = this.findOutStationId(findCrnResult, param.getStaNo());
+ Integer staNo = param.getStaNo();
+ String outArea = param.getOutArea();
+ if(Cools.isEmpty(staNo) && Cools.isEmpty(outArea)) {
+ throw new CoolException("璇蜂紶鍏ュ嚭搴撶珯鐐规垨鍑哄簱鍖哄煙");
+ }
+
+ if(Cools.isEmpty(staNo)) {
+ List<BasOutStationArea> areaList = basOutStationAreaService.selectList(new EntityWrapper<BasOutStationArea>().eq("area_code", outArea));
+ if (areaList.isEmpty()) {
+ throw new CoolException("鍑哄簱鍖哄煙涓嶅瓨鍦�");
+ }
+ int nextInt = new Random().nextInt(areaList.size());
+ BasOutStationArea basOutStationArea = areaList.get(nextInt);
+ staNo = basOutStationArea.getStationId();
+ }
+
+ Integer sourceStationId = this.findOutStationId(findCrnResult, staNo);
if (sourceStationId == null) {
throw new CoolException("鏈壘鍒拌緭閫佺洰鏍囩珯鐐瑰彲璧拌璺緞");
}
@@ -298,7 +337,7 @@
wrkMast.setIoPri(ioPri);
wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
wrkMast.setSourceStaNo(sourceStationId);//婧愮珯
- wrkMast.setStaNo(param.getStaNo());//鐩爣绔�
+ wrkMast.setStaNo(staNo);//鐩爣绔�
wrkMast.setWmsWrkNo(param.getTaskNo());
wrkMast.setBarcode(locMast.getBarcode());
wrkMast.setAppeTime(now);
--
Gitblit v1.9.1