From e899597b10286b38fdda652b37872e5a170c8e2b Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 01 七月 2023 16:46:50 +0800
Subject: [PATCH] st订单,平库功能修复
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 54 +++++++-----
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 142 ++++++++++++++++++++---------------
2 files changed, 113 insertions(+), 83 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..f4457b9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -641,7 +641,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);
}
@@ -719,8 +723,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 +744,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(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 (!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))){ //鍒犻櫎鍘熷叆搴撻�氱煡妗�
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 67a1fc6..9465115 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -382,37 +382,45 @@
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
}
- if (!wrkDetls101.get(0).getOrderNo().isEmpty()){
- //鏇存柊璁㈠崟瀹屾垚鏁伴噺
- EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
- orderDetlEntityWrapper.eq("order_no",wrkDetls101.get(0).getOrderNo());
- orderDetlEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
- OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
-
- OrderDetl orderDetl1 = new OrderDetl();
- orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
- orderDetl1.setUpdateTime(now);
- if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
- return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+ for (WrkDetl wrkDetl: wrkDetls101) {
+ if(Cools.isEmpty(wrkDetl)){
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 浠诲姟鏄庣粏涓虹┖; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
- //鏇存柊鎷h揣鍗曞畬鎴愭暟閲�
- EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
- manPakOutEntityWrapper.eq("doc_num",wrkDetls101.get(0).getOrderNo());
- manPakOutEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
- ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
- if (manPakOut.getCount() + wrkDetls101.get(0).getAnfme() >= manPakOut.getAnfme()){
- manPakOut.setStatus(1);
- }
- manPakOut.setCount(manPakOut.getCount() + wrkDetls101.get(0).getAnfme());
+ if (!wrkDetl.getOrderNo().isEmpty()){
+ //鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
+ orderDetlEntityWrapper.eq("order_no",wrkDetl.getOrderNo());
+ orderDetlEntityWrapper.eq("matnr",wrkDetl.getMatnr());
- if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
- return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�");
+ OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
+
+ OrderDetl orderDetl1 = new OrderDetl();
+ orderDetl1.setQty(orderDetl.getQty() + wrkDetl.getAnfme());
+ orderDetl1.setUpdateTime(now);
+ if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
+ return FAIL.setMsg("鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触");
+ }
+ //鏇存柊绔嬪簱鎷h揣鍗曞畬鎴愭暟閲�
+ EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
+ manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo());
+ manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr());
+ manPakOutEntityWrapper.eq("loc_no","绔嬪簱");
+ ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
+ if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){
+ manPakOut.setStatus(1);
+ }
+ manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme());
+ if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
+ return FAIL.setMsg("鏇存柊鎷h揣鍗曞畬鎴愭暟閲忓け璐�");
+ }
}
}
+
Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo());
if (finsihed) {
Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo());
--
Gitblit v1.9.1