From 57c998f034a16bb50b7a9e6e71caf6f9e5d5c2fc Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期一, 27 六月 2022 13:58:19 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/luxiaotao1123/zy-asrs into hylyasrs
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 77 insertions(+), 10 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 7f80bd7..34c46a2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -3,10 +3,8 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.common.SnowflakeIdWorker;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
@@ -59,6 +57,12 @@
private SnowflakeIdWorker snowflakeIdWorker;
@Autowired
private ApiLogService apiLogService;
+ @Autowired
+ private BasCrnpService basCrnpService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private LocDetlService locDetlService;
@Override
@Transactional
@@ -125,9 +129,9 @@
if (elem.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
- // 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increase(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
- throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+ // 淇敼璁㈠崟浣滀笟鏁伴噺
+ if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+ throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
}
DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
@@ -199,7 +203,7 @@
// todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰�
// 淇敼鏄庣粏
if (!wrkDetlService.updateAnfme(wrkDetl1.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
- throw new CoolException(wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�");
+ throw new CoolException(wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿淇敼鏁伴噺澶辫触");
}
}
iterator.remove();
@@ -212,7 +216,7 @@
for (WrkDetl wrkDetl : wrkDetls) {
// todo 鐩樼偣璁板綍銆佷繚瀛樿皟鏁磋褰�
if (!wrkDetlService.updateAnfme(-1.0D, wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
- throw new CoolException("鍒犻櫎" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "搴忓垪鐮佷换鍔℃槑缁嗗け璐�");
+ throw new CoolException("鍒犻櫎" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
}
}
@@ -229,7 +233,7 @@
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "搴忓垪鐮佷换鍔℃槑缁嗗け璐�");
+ throw new CoolException("娣诲姞" + wrkMast.getWrkNo() + "鐩樼偣浠诲姟锛�" + wrkDetl.getMatnr() + "鍟嗗搧锛�" + wrkDetl.getBatch() + "鎵瑰彿浠诲姟鏄庣粏澶辫触");
}
}
@@ -400,4 +404,67 @@
}
}
+ @Override
+ @Transactional
+ public void pakoutByOrder(JSONObject param, Long userId) {
+ Integer staNo = param.containsKey("staNo") ? Integer.parseInt(param.get("staNo").toString()) : 0;
+ String orderNo = param.containsKey("orderNo") ? param.get("orderNo").toString() : "";
+
+ BasDevp sta = basDevpService.checkSiteStatus(staNo);
+ //鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。
+ Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderNo));
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
+ Date now = new Date();
+ for(OrderDetl orderDetl : orderDetls){
+ //鏌ヨ鎵�鏈夊簱浣嶇姸鎬佷负F鐨勫簱浣嶄俊鎭�
+ List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),null);
+ if (locDetls.size() == 0) {
+ throw new CoolException("搴撳瓨涓病鏈夎鐗╂枡");
+ }
+ for(LocDetl locDetl : locDetls){
+ //濡傛灉璇ュ簱浣嶅嚭搴撹矾绾挎墍鐢ㄧ殑鍫嗗灈鏈簅ut_enable涓嶄负Y,璺宠繃璇ュ惊鐜�
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_no", locDetl.getLocNo()));
+ if (Cools.isEmpty(locMast)) {
+ continue;
+ }
+ BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
+ .eq("crn_no", locMast.getCrnNo()));
+ if (Cools.isEmpty(crn_no) || !crn_no.getOutEnable().equals("Y")){
+ continue;
+ }
+
+ //鍙嚭搴撴暟閲� = 璁㈠崟鏁伴噺 - 浣滀笟涓暟閲�
+ Double outQty = orderDetl.getAnfme() - orderDetl.getWorkQty();
+ if(outQty <= 0){
+ break;
+ }
+ // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
+ Double sumCount = locDetlService.getLocDetlSumQty(locDetl.getLocNo());
+ Double curOutQty = outQty >= locDetl.getAnfme() ? locDetl.getAnfme() : outQty; //鏈鍑哄簱閲�
+ int ioType = sumCount <= curOutQty ? 101 : 103;
+
+// stockOut(orderDetl, staNo, locDetl, curOutQty, ioType, userId);
+ order.setSettle(2L);
+ order.setUpdateBy(userId);
+ order.setUpdateTime(now);
+ if(orderService.update(order, new EntityWrapper<Order>().eq("order_no", orderNo))){
+ throw new CoolException("鏇存柊璁㈠崟鐘舵�佸け璐�");
+ }
+ orderDetl.setWorkQty(orderDetl.getWorkQty() + curOutQty);
+ orderDetl.setUpdateBy(userId);
+ orderDetl.setUpdateTime(now);
+ Wrapper wrapper = new EntityWrapper<OrderDetl>().eq("order_no", orderNo)
+ .eq("matnr",orderDetl.getMatnr());
+ if(!Cools.isEmpty(orderDetl.getBatch())){
+ wrapper.eq("batch", orderDetl.getBatch());
+ }
+ if(orderDetlService.update(orderDetl, wrapper)){
+ throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
+ }
+ }
+
+ }
+ }
+
}
--
Gitblit v1.9.1