From 2a534b8afd115ec4a566be611a4be7f543c9a3af Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 16 十二月 2024 16:23:33 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 105 insertions(+), 15 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 3aa9551..03acb2b 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -13,6 +13,7 @@
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.*;
import com.zy.common.model.enums.IoWorkType;
@@ -77,6 +78,12 @@
private SlaveProperties slaveProperties;
@Autowired
private WaitPakinService waitPakinService;
+
+ @Autowired
+ private LocOwnerService locOwnerService;
+
+ @Autowired
+ private ManLocDetlService manLocDetlService;
@Override
@Transactional
@@ -181,6 +188,80 @@
}
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+ }
+ }
+
+ @Override
+ @Transactional
+ public void turnOverOut(EmptyPlateOutParam param, Long userId) {
+ try {
+ if (Cools.isEmpty(param.getOwnerId())) {
+ throw new CoolException("瀹㈡埛鍚嶇О涓嶈兘涓虹┖");
+ }else if (param.getLocDetls().size()<=0){
+ throw new CoolException("璇锋彁鍙栨槑缁�");
+ }
+ ArrayList<String> locNos = new ArrayList<>();
+ String[][] locNos2 =new String[param.getLocDetls().size()][4];
+ int i=0;
+ for (EmptyPlateOutParam.LocDetl locDetl : param.getLocDetls()){
+ if (!locNos.contains(locDetl.getLoc_no())){
+ locNos.add(locDetl.getLoc_no());
+ locNos2[i][0]=locDetl.getLoc_no();
+ locNos2[i][1]=locDetl.getManu();
+ locNos2[i][2] = locDetl.getMatnr();
+ locNos2[i][3] = locDetl.getBatch();
+ i++;
+ }
+ }
+ LocOwner locOwner = locOwnerService.selectById(param.getOwnerId());
+ param.setOwner(locOwner.getOwner());
+ String lgort = "";
+ String owner="";
+ List<DetlDto> detlDtos = new ArrayList<>();
+ for (String[] locNo1 : locNos2) {
+ String locNo = locNo1[0];
+ if (locNo1[1].equals("骞冲簱")){
+ List<ManLocDetl> manLocDetls = new ArrayList<>();
+ if (locNo1[3] == null){
+ manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",locNo1[2]));
+ }else {
+ manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",locNo1[2]).eq("batch",locNo1[3]));
+ }
+ for (ManLocDetl manLocDetl:manLocDetls){
+ if (Cools.isEmpty(owner)) {
+ owner = manLocDetl.getOwner$();
+ }
+ detlDtos.add(new DetlDto(manLocDetl.getMatnr(), manLocDetl.getBatch(), manLocDetl.getAnfme()));
+ manLocDetl.setOwner(param.getOwnerId());
+ try{
+ manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>().eq("loc_no", locNo).eq("matnr",manLocDetl.getMatnr()));
+ }catch (Exception e){
+ throw new Exception("鏇存柊搴撳瓨鏄庣粏鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡");
+ }
+ }
+ }else if (locNo1[1].equals("绔嬪簱")){
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr",locNo1[2]).eq("batch",locNo1[3]));
+ for (LocDetl locDetl:locDetls){
+ if (Cools.isEmpty(lgort)) {
+ lgort = locDetl.getOrigin();
+ }
+ if (Cools.isEmpty(owner)) {
+ owner = locDetl.getOwner$();
+ }
+ detlDtos.add(new DetlDto(locDetl.getMatnr(), locDetl.getBatch(), locDetl.getAnfme()));
+ locDetl.setOwner(param.getOwnerId());
+ try{
+ locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr",locDetl.getMatnr()));
+ }catch (Exception e){
+ throw new Exception("鏇存柊搴撳瓨鏄庣粏鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡");
+ }
+ }
+ }else {
+ throw new Exception("鏇存柊搴撲綅鎷ユ湁鑰呭瓧娈典俊鎭嚭閿欎簡");
+ }
+ }
+ }catch (Exception e){
+ throw new CoolException("绉讳氦浣滀笟鍑洪敊浜嗭細"+e);
}
}
@@ -329,9 +410,12 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDto locDto : taskDto.getLocDtos()) {
if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
- OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+// OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+// orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), null);
+
}
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(orderDetl);
@@ -348,11 +432,13 @@
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
- // 淇敼璁㈠崟鏄庣粏
- if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
- throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
- }
- orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+// // 淇敼璁㈠崟鏄庣粏
+// if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+// throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
+// }
+// orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+ OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE,orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme());
+ OrderInAndOutUtil.updateOrder(Boolean.FALSE,orderDetl.getOrderId(), 2L, userId);
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(taskDto.getLocNo());
@@ -888,28 +974,32 @@
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
- throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
- }
+// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+// }
+ OrderInAndOutUtil.decrease(Boolean.FALSE,wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
//淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼
boolean flag = true;
- List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
+// List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no",wrkDetl.getOrderNo()));
+ Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, wrkDetl.getOrderNo());
+ List<OrderDetl> orderDetls = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
for(OrderDetl orderDetl : orderDetls){
if(orderDetl.getWorkQty() > 0){
flag = false;
}
}
if(flag){
- Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
+// Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()));
if(!Cools.isEmpty(order) && order.getSettle()==2){
order.setSettle(1L);
order.setUpdateBy(userId);
order.setUpdateTime(now);
}
- if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
- throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
- }
+// if(!orderService.update(order,new EntityWrapper<Order>().eq("order_no",wrkDetl.getOrderNo()))){
+// throw new CoolException("淇敼璁㈠崟鐘舵�佸け璐�");
+// }
+ OrderInAndOutUtil.updateOrder(Boolean.FALSE,order.getId(),order.getSettle(),userId);
}
}
}
--
Gitblit v1.9.1