From c327ae2c32c988c43d6881c9caf196e42bab3f8c Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期四, 27 四月 2023 14:09:48 +0800
Subject: [PATCH] 修复订单系统
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 58 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 32 insertions(+), 26 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 386c035..d7425fb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -92,16 +92,24 @@
}
int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
- int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
- if (countLoc > 0 || countWrk > 0) {
+ WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
+ if (wrkMast != null && wrkMast.getIoType() < 100){
+ throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
+
+ }
+ if (countLoc > 0 ) {
throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
}
+
+
//璁剧疆闈瀗ull鎵瑰彿锛�
for (CombParam.CombMat combMat : param.getCombMats()) {
if (combMat.getBatch() == null){
combMat.setBatch("");
}
}
+
+
Date now = new Date();
@@ -145,45 +153,35 @@
}
// 鍏宠仈缁勬墭
} else {
+ // 鐢熸垚鍏ュ簱閫氱煡妗�
Order order = orderService.selectByNo(param.getOrderNo());
if (order.getSettle() > 2) {
throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
}
- // 鐢熸垚鍏ュ簱閫氱煡妗�
- List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
-
- // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
- if (elem.getAnfme() > orderDetl.getEnableQty()) {
- throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
+ for (CombParam.CombMat combMat : param.getCombMats()) {
+ OrderDetl orderDetl = orderDetlService.selectItem(param.getOrderNo(), combMat.getMatnr(), combMat.getBatch());
+ if (orderDetl == null) {
+ throw new CoolException("鎵句笉鍒扮粍鎵樼殑鍗曟嵁鏄庣粏");
+ }
+ //璁㈠崟鏁�-宸ヤ綔涓殑鏁伴噺-缁勬墭鏁伴噺
+ if ( orderDetl.getAnfme() - orderDetl.getWorkQty() - combMat.getAnfme()<0) {
+ throw new CoolException("缁勬墭鏁伴噺宸茶秴鍑鸿鍗曢渶姹傞噺锛岃妫�鏌ユ槸鍚︽湁鍏朵粬鐨勭粍鎵樺凡瀹屾垚");
}
// 淇敼璁㈠崟浣滀笟鏁伴噺
- if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+ if (!orderDetlService.increaseWorkQty(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
}
-
- DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
- if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
- assert one != null;
- one.setAnfme(one.getAnfme() + detlDto.getAnfme());
- } else {
- detlDtos.add(detlDto);
- }
- });
- for (DetlDto detlDto : detlDtos) {
- Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+ Mat mat = matService.selectByMatnr(combMat.getMatnr());
if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ throw new CoolException(combMat.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿
- waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
+ waitPakin.setBatch(combMat.getBatch()); // 搴忓垪鐮�
waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
+ waitPakin.setAnfme(combMat.getAnfme()); // 鏁伴噺
waitPakin.setStatus("Y"); // 鐘舵��
waitPakin.setAppeUser(userId);
waitPakin.setAppeTime(now);
@@ -192,6 +190,14 @@
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
+
+// DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme());
+// if (DetlDto.has(detlDtos, detlDto)) {
+// DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
+// assert one != null;
+// one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+// } else {
+// }
}
orderService.updateSettle(order.getId(), 2L, userId);
}
--
Gitblit v1.9.1