From f53706e7e8a7b4e0278917e9d3cdfbc877de177d Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 30 五月 2024 16:59:47 +0800
Subject: [PATCH] #平库下架完成
---
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 104 insertions(+), 4 deletions(-)
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
index ee572f3..fe051e7 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
@@ -103,7 +104,7 @@
}
}
// 鍏宠仈缁勬墭
- } else {
+ } else {
Order order = orderService.selectByNo(param.getOrderNo(), hostId);
if (order.getSettle() > 2) {
throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
@@ -113,12 +114,12 @@
param.getCombMats().forEach(elem -> {
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),hostId);
if (elem.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
// 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increase(order.getId(), hostId, elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+ if (!orderDetlService.increaseWorkQtyByOrderNo(order.getOrderNo(), elem.getMatnr(), elem.getBatch(), elem.getAnfme(), hostId)) {
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
@@ -237,7 +238,7 @@
@Override
@Transactional
public R WarehouseIn(String locNo, String barcode,Long hostId) {
- //鍒ゆ柇搴撲綅鐘舵��
+ //鍒ゆ柇搴撲綅鐘舵��
LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, locNo).eq(LocMast::getHostId,hostId));
if (Cools.isEmpty(locMast)){
return R.error("璇ュ簱浣嶄笉瀛樺湪");
@@ -266,11 +267,31 @@
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
locDetlService.save(locDetl);
+ //鏄惁灞炰簬璁㈠崟鏁版嵁
+ if (!Cools.isEmpty(waitPakin.getOrderNo())){
+ Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId);
+ if (Cools.isEmpty(order)){
+ continue;
+ }
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(),hostId);
+ if (Cools.isEmpty(orderDetl)){
+ continue;
+ }
+ // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
+ if (!orderDetlService.increase(order.getId(), hostId, waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
+ throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+ }
+ // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+ orderService.checkComplete(waitPakin.getOrderNo(), hostId);
+
+ }
}
//淇敼搴撲綅鐘舵��
locMast.setLocSts("F");
locMast.setModiTime(now);
locMastService.updateById(locMast);
+
+
// 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
if (!waitPakinLogService.saveToHistory(barcode, hostId)) {
@@ -282,4 +303,83 @@
}
return R.ok("涓婃灦鎴愬姛");
}
+
+ @Override
+ public R WarehouseOut(CombParam combParam, Long hostId) {
+ //鍒ゆ柇搴撲綅鐘舵��
+ LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId,hostId));
+ if (Cools.isEmpty(locMast)){
+ return R.error("璇ュ簱浣嶄笉瀛樺湪");
+ }
+ if (!locMast.getLocSts().equals("F")){
+ return R.error("璇ュ簱浣嶇姸鎬佷负锛�"+locMast.getLocSts()+",绂佹鍑哄簱");
+ }
+ //鏌ヨ搴撳瓨鏁版嵁
+ for (CombParam.CombMat combMat :combParam.getCombMats()){
+ LocDetl locDetl = locDetlService.getOne(new LambdaQueryWrapper<LocDetl>()
+ .eq(LocDetl::getLocNo, combParam.getLocno())
+ .eq(LocDetl::getHostId, hostId)
+ .eq(LocDetl::getZpallet, combMat.getZpallet())
+ .eq(LocDetl::getMatnr, combMat.getMatnr())
+ .eq(LocDetl::getBatch, combMat.getBatch())
+ );
+ if (Cools.isEmpty(locDetl)){
+ return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
+ }
+ if (combMat.getAnfme() > locDetl.getAnfme()){
+ return R.error("涓嬫灦鏁伴噺閿欒锛岃秴鍑哄簱瀛樻暟閲�");
+ }
+ try {
+ //澶勭悊搴撳瓨淇℃伅
+ if (combMat.getAnfme().equals(locDetl.getAnfme())){
+ //搴撳瓨鐩哥瓑鍒犻櫎鏁版嵁
+ locDetlService.removeById(locDetl);
+ int count = locDetlService.count(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo,combParam.getLocno()).eq(LocDetl::getHostId, hostId));
+ if (count == 0){
+ LocMast locMast1 = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId, hostId));
+ locMast1.setLocSts("O");
+ locMastService.updateById(locMast1);
+ }
+ }else {
+ BigDecimal subtract = BigDecimal.valueOf(locDetl.getAnfme()).subtract(BigDecimal.valueOf(combMat.getAnfme()));
+ locDetl.setAnfme(subtract.doubleValue());
+ locDetlService.updateById(locDetl);
+ }
+ }catch (Exception e){
+ throw new CoolException("鏇存柊搴撳瓨鏁版嵁鍑洪敊"+e.getMessage());
+ }
+
+ if (!Cools.isEmpty(combParam.getOrderNo())){
+ Order order = orderService.selectByNo(combParam.getOrderNo(), hostId);
+ if (Cools.isEmpty(order)){
+ continue;
+ }
+ OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch(),hostId);
+ if (Cools.isEmpty(orderDetl)){
+ continue;
+ }
+ if (orderDetl.getWorkQty() < orderDetl.getWorkQty()+combMat.getAnfme()){
+ throw new CoolException("涓嬫灦鏁伴噺鍑洪敊");
+ }
+ // 淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺
+ if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
+ throw new CoolException("淇敼鍗曟嵁鏄庣粏宸ヤ綔鏁伴噺澶辫触");
+ }
+ // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
+ if (!orderDetlService.increase(order.getId(), hostId, combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
+ throw new CoolException("淇敼鍗曟嵁鏄庣粏瀹屾垚鏁伴噺澶辫触");
+ }
+ // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+ orderService.checkComplete(combParam.getOrderNo(), hostId);
+ }
+
+
+ }
+
+
+
+
+
+ return R.ok();
+ }
}
--
Gitblit v1.9.1