From 3a129dc7cbc261d6d73521875f94ff75ba88aa84 Mon Sep 17 00:00:00 2001
From: gt-fuwuqi <3272660260@qq.com>
Date: 星期二, 11 二月 2025 13:05:54 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 119 ++-------------------------------------
src/main/java/com/zy/asrs/controller/MobileController.java | 2
src/main/java/com/zy/common/web/WcsController.java | 20 +++++-
src/main/java/com/zy/asrs/controller/OutController.java | 10 +-
src/main/java/com/zy/common/service/CommonService.java | 2
5 files changed, 30 insertions(+), 123 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index ba1e078..361f7e6 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -285,7 +285,7 @@
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
.eq("barcode", combParam.getBarcode())
.eq("io_type", 104)
- .eq("wrk_sts", 14));
+ .in("wrk_sts", 14,105));
if (Cools.isEmpty(wrkMast)) {
mobileService.comb(combParam, getUserId());
return R.ok("缁勬墭鎴愬姛");
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index c40cac8..ccc2f61 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -155,13 +155,13 @@
.eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch()));
if (!Cools.isEmpty(locDetl1)) {
ExistDto existDto = new ExistDto();
- existDto.setLocNo(locDetl.getLocNo());
- existDto.setMatnr(locDetl.getMatnr());
+ existDto.setLocNo(locDetl1.getLocNo());
+ existDto.setMatnr(locDetl1.getMatnr());
if (existDtos.add(existDto)){
if (issued > 0) {
- LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
- issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+ LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(),
+ issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued);
+ List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103);
List<LocDto.staListDto> maps = new ArrayList<>();
for (Integer staNo : staNos) {
LocDto.staListDto staListDto = new LocDto.staListDto();
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 8d7d5cd..92fd77b 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -6,7 +6,6 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasDevpMapper;
import com.zy.asrs.service.*;
-import com.zy.asrs.service.impl.ManLocDetlServiceImpl;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
@@ -40,10 +39,6 @@
private WaitPakinService waitPakinService;
@Autowired
private OrderDetlService orderDetlService;
- @Autowired
- private ManLocDetlService manLocDetlService;
- @Autowired
- private NodeService nodeService;
private static final Map<Integer,Integer> sourceSite = new HashMap<>();
static {
@@ -66,28 +61,14 @@
private ReturnT<String> doIn(WrkMast wrkMast){
Date now = new Date();
- LocMast locMast = null;
- Node node = null;
- if (wrkMast.getIoType() == 300){
- node = nodeService.selectOne(new EntityWrapper<Node>().eq("name",wrkMast.getLocNo()).eq("type",3));
- if (null == node) {
-// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]");
- }
- assert node != null;
- }else {
- locMast = locMastService.selectById(wrkMast.getLocNo());
+ LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ try {
if (null == locMast) {
// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]");
}
assert locMast != null;
- }
-
- try {
-
switch (wrkMast.getIoType()) {
// 绌烘澘鍏ュ簱
case 10:
@@ -362,61 +343,6 @@
return FAIL.setMsg("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
break;
- case 300:
- // 鏍规嵁宸ヤ綔鍙凤紝鏌ヨ宸ヤ綔鏄庣粏妗�
- List<WrkDetl> wrkDetls300 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- if (wrkDetls300.isEmpty()) {
-// exceptionHandle("骞舵澘鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
- }
- // 淇敼搴撳瓨鏄庣粏鏁伴噺锛屽鏃犲簱瀛橈紝鏇炬柊澧�
- for (WrkDetl wrkDetl:wrkDetls300) {
-
- ManLocDetl manLocDetl = manLocDetlService.selectItem(node.getName(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- if (null != manLocDetl) {
- Double anfme = manLocDetl.getAnfme()+wrkDetl.getAnfme();
- if (!manLocDetlService.updateAnfme(anfme, locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
-// exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
- }
- } else {
- manLocDetl = new ManLocDetl();
- manLocDetl.sync(wrkDetl);
- manLocDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
- manLocDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
- manLocDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
- manLocDetl.setModiTime(now);
- manLocDetl.setCreateTime(now);
- if (!manLocDetlService.insert(manLocDetl)) {
-// exceptionHandle("骞舵澘鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 鏂板搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
- }
- }
- if (!Cools.isEmpty(wrkDetl.getOrderNo())){
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- if (orderDetl==null){
- orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
- }
- try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetl.getBatch(),wrkDetl.getAnfme())){
-// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-// wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("骞冲簱鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
- }
- }
- } catch (Exception ignore){}
- }
-
- }
-
- break;
default:
break;
}
@@ -451,24 +377,12 @@
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
try {
- Node node = null;
- if (wrkMast.getIoType() == 301){
- node = nodeService.selectOne(new EntityWrapper<Node>().eq("name",wrkMast.getSourceLocNo()).eq("type",3));
- if (null == node) {
+ if (null == locMast) {
// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]");
- }
- assert node != null;
- }else {
- locMast = locMastService.selectById(wrkMast.getLocNo());
- if (null == locMast) {
-// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("宸ヤ綔妗workNo=" + wrkMast.getWrkNo() + "]搴撲綅鍙烽敊璇痆locNo=" + wrkMast.getLocNo() + "]");
- }
- assert locMast != null;
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("宸ヤ綔妗e簱浣嶅彿閿欒; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
+ assert locMast != null;
switch (wrkMast.getIoType()) {
// 鍏ㄦ澘鍑哄簱
case 101:
@@ -533,27 +447,6 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("绌烘澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
- }
- break;
- case 301:
- List<WrkDetl> wrkDetls301 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- for (WrkDetl wrkDetl : wrkDetls301) {
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- if (orderDetl==null){
- orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null);
- }
- try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- orderDetl.getBatch(),wrkDetl.getAnfme())){
-// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-// wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
- }
- }
- } catch (Exception ignore){}
}
break;
default:
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index a8e9ebf..c22b2dc 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -621,7 +621,7 @@
if (Cools.isEmpty(locMast) && crnNo != 0) {
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("bay1", nearRow)
- .eq("loc_sts", "O").eq("whs_type",rowLastnoType.getType().longValue())
+ .in("loc_sts", "O","X").eq("whs_type",rowLastnoType.getType().longValue())
.eq("crn_no",7)
.eq("loc_type1",locTypeDto.getLocType1())
.orderBy("lev1",true).orderBy("row1",false));//鏈�娴呭簱浣�
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 0fb2cc6..2eab1e8 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -207,7 +207,7 @@
if (Cools.isEmpty(staDesc)){
throw new CoolException("鏈壘鍒扮珯鐐硅矾寰�");
}
- if (wrkMast.getWrkSts() == 14 && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107)){
+ if (wrkMast.getWrkSts() == 14 && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107 || wrkMast.getIoType() == 104)){
try {
// 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
// if (wrkMastService.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
@@ -414,7 +414,7 @@
}
WrkMast wrkMastPakin = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
.eq("barcode", param.getBarcode())
- .in("io_type", 103,53,107,57)
+ .in("io_type", 103,53,107,57,104,54)
.eq("wrk_sts",14));
if (!Cools.isEmpty(wrkMastPakin)){
StartupDto locNo3 = getLocNo3(param);
@@ -528,7 +528,21 @@
// 妫�绱㈠簱浣�
List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
- StartupDto dto = commonService.getLocNo( 1, devpNo, matnrs.get(0),batchs.get(0),null, locTypeDto, matnrs.size() > 1);
+ boolean mixtrue =false;
+
+ if (matnrs.size() == 1 && batchs.size() == 1) {
+
+ }else if(matnrs.size() > 1 && batchs.size() == 1) {
+ mixtrue = true;
+ }else if(matnrs.size() == 1 && batchs.size() > 1) {
+ mixtrue = true;
+ }else if(matnrs.size() > 1 && batchs.size() > 1) {
+ mixtrue = true;
+ }
+ StartupDto dto = commonService.getLocNo( 1, devpNo, matnrs.get(0),batchs.get(0),null, locTypeDto, mixtrue);
+ if (Cools.isEmpty(dto)){
+ throw new CoolException("鏈壘鍒板簱浣嶄俊鎭�");
+ }
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
--
Gitblit v1.9.1