From f45838dcf659f51112900d5e74a8016ec0d51127 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 13 七月 2023 11:18:48 +0800
Subject: [PATCH] #平库库位查询bug修复
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 163 +++++++++++++++++++++++++++++++----------------------
1 files changed, 95 insertions(+), 68 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 2169f86..af82405 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -170,7 +170,7 @@
// 鍏宠仈缁勬墭
} else {
for (CombParam.CombMat combMat : param.getCombMats()) {
- OrderDetl orderDetl = orderDetlService.selectItem(param.getOrderNo(), combMat.getMatnr(), combMat.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(combMat.getOrderNo(), combMat.getMatnr(), combMat.getBatch());
if (orderDetl == null) {
throw new CoolException("鎵句笉鍒扮粍鎵樼殑鍗曟嵁鏄庣粏");
@@ -181,13 +181,14 @@
throw new CoolException("缁勬墭鏁伴噺宸茶秴鍑鸿鍗曢渶姹傞噺锛岃妫�鏌ユ槸鍚︽湁鍏朵粬鐨勭粍鎵樺凡瀹屾垚");
}
}
- Order order = orderService.selectByNo(param.getOrderNo());
- if (order.getSettle() > 2) {
- throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
- }
+
// 鐢熸垚鍏ュ簱閫氱煡妗�
List<DetlDto> detlDtos = new ArrayList<>();
for (CombParam.CombMat elem : param.getCombMats()) {
+ Order order = orderService.selectByNo(elem.getOrderNo());
+ if (order.getSettle() > 2) {
+ throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
+ }
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
if(orderDetl == null){
@@ -211,7 +212,10 @@
detlDtos.add(detlDto);
}
}
+ int i=0;
for (DetlDto detlDto : detlDtos) {
+ Order order = orderService.selectByNo(param.getCombMats().get(i).getOrderNo());
+ i++;
String uuid = String.valueOf(System.currentTimeMillis());
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
if (Cools.isEmpty(mat)) {
@@ -219,7 +223,7 @@
}
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
- waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿
+ waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿
waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
@@ -236,8 +240,9 @@
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
}
+ orderService.updateSettle(order.getId(), 2L, userId);
}
- orderService.updateSettle(order.getId(), 2L, userId);
+
}
}
@@ -641,7 +646,11 @@
EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
manPakOutEntityWrapper.eq("loc_no",jsonLocNo);
manPakOutEntityWrapper.eq("matnr",jsonOrderDetl.getMatnr());
+ manPakOutEntityWrapper.eq("doc_num",order.getOrderNo());
ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); //鑾峰彇鎷h揣鍗曚腑鐨勫搴旂殑璁㈠崟
+ if(Cools.isEmpty(manPakOut)){
+ return R.error("娌℃湁鎵惧埌瀵瑰簲鐨勫嚭搴撳崟"+jsonLocNo+"-------"+jsonOrderDetl.getMatnr());
+ }
if(manPakOut.getCount() == null){
manPakOut.setCount(0.0);
}
@@ -693,7 +702,7 @@
boolean log=true;
for (OrderDetl orderDetl1: orderDetls) {
//宸ヤ綔涓殑鏁伴噺灏忎簬鎬昏鍗曟暟鏃讹紝璁㈠崟鐘舵�佹敼涓�2锛屼綔涓氫腑
- if(orderDetl1.getQty() < orderDetl.getAnfme()){
+ if(orderDetl1.getQty() < orderDetl1.getAnfme()){
log=false;
}
}
@@ -719,8 +728,7 @@
EntityWrapper<ManLocDetl> manLocDetlEntityWrapper = new EntityWrapper<>();
manLocDetlEntityWrapper.eq("loc_no",manPakOut.getLocNo());
manLocDetlEntityWrapper.eq("matnr",manPakOut.getMatnr());
- if (checkManLocDetl.getAnfme().intValue() == manPakOut.getCount()){
-
+ if (checkManLocDetl.getAnfme() == 0 ){
if(!manLocDetlService.delete(manLocDetlEntityWrapper)){
return R.error("鍒犻櫎骞冲簱搴撳瓨澶辫触");
}
@@ -741,70 +749,89 @@
String jsonLocNo = (String) json.get("locNo"); //鑾峰彇搴撲綅鐮�
String jsonBarNo = (String) json.get("barcode"); //鑾峰彇鎵樼洏鐮�
- WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", jsonBarNo)); //鑾峰彇瀵瑰簲缁勬墭淇℃伅
- if (waitPakin.equals(null)){
+ List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", jsonBarNo)); //鑾峰彇瀵瑰簲缁勬墭淇℃伅
+ if (Cools.isEmpty(waitPakins)){
return R.error("鏈煡璇㈠埌缁勬墭");
- } else if (waitPakin.getIoStatus() == "Y") {
+ } else if (waitPakins.get(0).getIoStatus() == "Y") {
return R.error("缁勬墭宸茬粡鐢熸垚宸ヤ綔妗�");
}
- Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo())); //鑾峰彇瀵瑰簲璁㈠崟淇℃伅
- if (order.equals(null)){
- return R.error("鏈煡璇㈠埌璁㈠崟淇℃伅");
- }
- OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", waitPakin.
- getOrderNo()).eq("matnr", waitPakin.getMatnr())); //鑾峰彇瀵瑰簲璁㈠崟鏄庣粏淇℃伅
- if (orderDetl.equals(null)){
- return R.error("鏈煡璇㈠埌璁㈠崟鏄庣粏淇℃伅");
- }
- Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", jsonLocNo)); //鑾峰彇瀵瑰簲搴撲綅淇℃伅
- if (node.equals(null)){
- return R.error("鏈煡璇㈠埌搴撲綅淇℃伅");
- }
- Date date = new Date();
- ManLocDetl manLocDetl = new ManLocDetl(); //鍒濆鍖栧簱瀛樺疄浣撶被
- manLocDetl.setLocNo(node.getName());
- manLocDetl.setNodeId(node.getId());
- manLocDetl.setZpallet(waitPakin.getZpallet());
- manLocDetl.setAnfme(waitPakin.getAnfme());
- manLocDetl.setMatnr(waitPakin.getMatnr());
- manLocDetl.setMaktx(waitPakin.getMaktx());
- manLocDetl.setStatus(1);
- manLocDetl.setCreateBy(user.getId());
- manLocDetl.setCreateTime(date);
- manLocDetl.setUpdateBy(user.getId());
- manLocDetl.setModiTime(date);
- manLocDetl.setOrderNo(waitPakin.getOrderNo());
- manLocDetl.setOwner(waitPakin.getOwner());
- manLocDetl.setPayment(waitPakin.getPayment());
+ //鍒ゆ柇璁㈠崟鏄惁瀹屾垚
+ boolean log =true;
- if (!manLocDetlService.insert(manLocDetl)){ //鏁版嵁搴撴彃鍏ュ疄浣撶被淇℃伅
- return R.error("鐗╂枡淇℃伅鍏ュ簱澶辫触");
- }
- orderDetl.setQty(orderDetl.getQty()+ waitPakin.getAnfme()); //鏇存柊璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.updateById(orderDetl)){
- return R.error("鏇存柊璁㈠崟鏄庣粏澶辫触");
- }
+ for (WaitPakin waitPakin: waitPakins) {
+ Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo())); //鑾峰彇瀵瑰簲璁㈠崟淇℃伅
+ if (order.equals(null)){
+ return R.error("鏈煡璇㈠埌璁㈠崟淇℃伅");
+ }
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", waitPakin.
+ getOrderNo()).eq("matnr", waitPakin.getMatnr())); //鑾峰彇瀵瑰簲璁㈠崟鏄庣粏淇℃伅
+ if (orderDetl.equals(null)){
+ return R.error("鏈煡璇㈠埌璁㈠崟鏄庣粏淇℃伅");
+ }
+ Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", jsonLocNo)); //鑾峰彇瀵瑰簲搴撲綅淇℃伅
+ if (node.equals(null)){
+ return R.error("鏈煡璇㈠埌搴撲綅淇℃伅");
+ }
+ Date date = new Date();
+ ManLocDetl manLocDetl = new ManLocDetl(); //鍒濆鍖栧簱瀛樺疄浣撶被
+ manLocDetl.setLocNo(node.getName());
+ manLocDetl.setNodeId(node.getId());
+ manLocDetl.setZpallet(waitPakin.getZpallet());
+ manLocDetl.setAnfme(waitPakin.getAnfme());
+ manLocDetl.setMatnr(waitPakin.getMatnr());
+ manLocDetl.setMaktx(waitPakin.getMaktx());
+ manLocDetl.setStatus(1);
+ manLocDetl.setCreateBy(user.getId());
+ manLocDetl.setCreateTime(date);
+ manLocDetl.setUpdateBy(user.getId());
+ manLocDetl.setModiTime(date);
+ manLocDetl.setOrderNo(waitPakin.getOrderNo());
+ manLocDetl.setOwner(waitPakin.getOwner());
+ manLocDetl.setPayment(waitPakin.getPayment());
- WaitPakinLog waitPakinLog = new WaitPakinLog(); //鍒濆鍖栧叆搴撻�氱煡鍗曟棩蹇楀疄浣撶被
- waitPakinLog.setZpallet(waitPakin.getZpallet());
- waitPakinLog.setAnfme(waitPakin.getAnfme());
- waitPakinLog.setMatnr(waitPakin.getMatnr());
- waitPakinLog.setLocNo(waitPakin.getLocNo());
- waitPakinLog.setMaktx(waitPakin.getMaktx());
- waitPakinLog.setOrderNo(waitPakin.getOrderNo());
- waitPakinLog.setWeight(waitPakin.getWeight());
- waitPakinLog.setStatus("Y");
- waitPakinLog.setIoStatus("Y");
- waitPakinLog.setModiUser(user.getId());
- waitPakinLog.setModiTime(date);
- waitPakinLog.setAppeUser(user.getId());
- waitPakinLog.setAppeTime(date);
- waitPakinLog.setOwner(waitPakin.getOwner());
- waitPakinLog.setPayment(waitPakin.getPayment());
- waitPakinLog.setUuid(waitPakin.getUuid());
+ if (!manLocDetlService.insert(manLocDetl)){ //鏁版嵁搴撴彃鍏ュ疄浣撶被淇℃伅
+ return R.error("鐗╂枡淇℃伅鍏ュ簱澶辫触");
+ }
+ orderDetl.setQty(orderDetl.getQty()+ waitPakin.getAnfme()); //鏇存柊璁㈠崟鏄庣粏鏁伴噺
+ if (!orderDetlService.updateById(orderDetl)){
+ return R.error("鏇存柊璁㈠崟鏄庣粏澶辫触");
+ }
- if (!waitPakinLogService.insert(waitPakinLog)){ //鎻掑叆鍏ュ簱閫氱煡鍘嗗彶妗f暟鎹簱
- return R.error("鎻掑叆鍘嗗彶鍏ュ簱閫氱煡妗eけ璐�");
+ WaitPakinLog waitPakinLog = new WaitPakinLog(); //鍒濆鍖栧叆搴撻�氱煡鍗曟棩蹇楀疄浣撶被
+ waitPakinLog.setZpallet(waitPakin.getZpallet());
+ waitPakinLog.setAnfme(waitPakin.getAnfme());
+ waitPakinLog.setMatnr(waitPakin.getMatnr());
+ waitPakinLog.setLocNo(jsonLocNo);
+ waitPakinLog.setMaktx(waitPakin.getMaktx());
+ waitPakinLog.setOrderNo(waitPakin.getOrderNo());
+ waitPakinLog.setWeight(waitPakin.getWeight());
+ waitPakinLog.setStatus("Y");
+ waitPakinLog.setIoStatus("Y");
+ waitPakinLog.setModiUser(user.getId());
+ waitPakinLog.setModiTime(date);
+ waitPakinLog.setAppeUser(user.getId());
+ waitPakinLog.setAppeTime(date);
+ waitPakinLog.setOwner(waitPakin.getOwner());
+ waitPakinLog.setPayment(waitPakin.getPayment());
+ waitPakinLog.setUuid(waitPakin.getUuid());
+
+ if (!waitPakinLogService.insert(waitPakinLog)){ //鎻掑叆鍏ュ簱閫氱煡鍘嗗彶妗f暟鎹簱
+ return R.error("鎻掑叆鍘嗗彶鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ //璁㈠崟鏄惁瀹屾垚
+ List<OrderDetl> or = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", waitPakin.getOrderNo()));
+ for (OrderDetl o: or) {
+ if(o.getAnfme()-o.getQty()>0){
+ log=false;
+ break;
+ }
+ }
+ if(log){
+ order.setSettle(4L);
+ if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no", waitPakin.getOrderNo()))){
+ return R.error("璁㈠崟杞畬鎴愮姸鎬佸け璐ワ紒锛侊紒");
+ }
+ }
}
if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet",jsonBarNo))){ //鍒犻櫎鍘熷叆搴撻�氱煡妗�
--
Gitblit v1.9.1