From 18e59c9a3b6e363626a0320a4f1638fa3f460548 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 31 十月 2022 14:58:39 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index ee7c48f..46dabea 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -215,6 +215,9 @@
ioType = dto.isAll() ? 101 : 103;
} else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
ioType = 107;
+ if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
+ throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�");
+ }
}
assert ioType != null;
// 鑾峰彇搴撲綅
@@ -352,14 +355,25 @@
}
// 淇敼璁㈠崟鏄庣粏
if (BaseController.isJSON(locDto.getOrderNo())) {
- OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
- if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ String[] orderNos = GetOrderNo(locDto.getOrderNo());
+ Double anfme = locDto.getAnfme();
+ for (String orderNo:orderNos){
+ OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch());
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), null);
+ }
+ if (orderDetl.getAnfme()<=anfme){
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getAnfme())) {
+ throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
+ }
+ anfme=anfme-orderDetl.getAnfme();
+ }else{
+ if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),anfme)) {
+ throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
+ }
+ }
+ orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
}
- if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
- throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
- }
- orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
} else {
// 璁㈠崟鍚堝苟鍑哄簱
List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
@@ -387,6 +401,21 @@
} else {
throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
}
+ }
+
+ private String[] GetOrderNo(String orderNo){
+ String[] s3= orderNo.split("\"");
+ String[] s =new String[(s3.length-1)/6];
+ int i=0;
+ int j=0;
+ for (String ss:s3){
+ if (ss.equals("orderNo")){
+ s[i]=s3[j+2];
+ i++;
+ }
+ j++;
+ }
+ return s;
}
@Override
@@ -523,6 +552,9 @@
@Override
@Transactional
public void locCheckOut(StockOutParam param, Long userId) {
+ if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
+ throw new CoolException("鍙兘瀛樺湪涓�绗旂洏鐐逛换鍔�");
+ }
// 鐩爣绔欑偣鐘舵�佹娴�
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
// 鑾峰彇搴撲綅鏄庣粏
--
Gitblit v1.9.1