From 6d50cb49ac3c44ddf1b07a375b02b29eb79c12ba Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 30 五月 2024 10:27:33 +0800
Subject: [PATCH] #平库上架完成
---
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 105 insertions(+), 3 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 9aaacf0..a7e0e3b 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
@@ -5,11 +5,16 @@
import com.zy.asrs.common.domain.param.MobileAdjustParam;
import com.zy.asrs.common.openapi.entity.param.CombParam;
import com.zy.asrs.common.wms.entity.*;
+import com.zy.asrs.common.wms.mapper.LocDetlMapper;
import com.zy.asrs.common.wms.service.*;
import com.zy.asrs.framework.common.BaseRes;
import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +45,12 @@
private WrkMastService wrkMastService;
@Autowired
private WrkDetlService wrkDetlService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private LocDetlService locDetlService;
+ @Autowired
+ private WaitPakinLogService waitPakinLogService;
@Override
@Transactional
@@ -92,7 +103,7 @@
}
}
// 鍏宠仈缁勬墭
- } else {
+ } else {
Order order = orderService.selectByNo(param.getOrderNo(), hostId);
if (order.getSettle() > 2) {
throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
@@ -102,12 +113,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("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
@@ -222,4 +233,95 @@
}
}
+
+ @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("璇ュ簱浣嶄笉瀛樺湪");
+ }
+ if (!locMast.getLocSts().equals("O")){
+ return R.error("璇ュ簱浣嶇姸鎬佷负锛�"+locMast.getLocSts()+",绂佹鍏ュ簱");
+ }
+ //鏌ヨ缁勬墭鏁版嵁
+ List<WaitPakin> list = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getZpallet, barcode).eq(WaitPakin::getHostId, hostId));
+ if (Cools.isEmpty(list)){
+ return R.error("鏈壘鍒扮粍鎵樹俊鎭�");
+ }
+ Date now = new Date();
+ //鎻掑叆搴撳瓨鏁版嵁
+ for (WaitPakin waitPakin: list){
+ Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, waitPakin.getMatnr()).eq(Mat::getHostId, hostId));
+ LocDetl locDetl = new LocDetl();
+ locDetl.sync(mat);
+ locDetl.setLocNo(locNo);
+// locDetl.setBarcode(waitPakin.getBarcode());
+ locDetl.setZpallet(waitPakin.getZpallet());
+ locDetl.setAnfme(waitPakin.getAnfme());
+ locDetl.setBatch(waitPakin.getBatch());
+// locDetl.setWeight(waitPakin.getWeight());
+ locDetl.setHostId(hostId);
+ 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)) {
+ throw new CoolException("淇濆瓨缁勬墭鏁版嵁澶辫触");
+ }
+ // 鍒犻櫎鍏ュ簱閫氱煡妗�
+ if (!waitPakinService.remove(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getZpallet, barcode).eq(WaitPakin::getHostId, hostId))) {
+ throw new CoolException("鍒犻櫎缁勬墭鏁版嵁澶辫触");
+ }
+ 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()+",绂佹鍑哄簱");
+ }
+ //鏌ヨ搴撳瓨鏁版嵁
+ List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getZpallet, combParam.getBarcode()).eq(LocDetl::getLocNo, combParam.getLocno()).eq(LocDetl::getHostId, hostId));
+ if (Cools.isEmpty(locDetls)){
+ return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
+ }
+ for (LocDetl locDetl: locDetls){
+
+ }
+
+ return R.ok();
+ }
}
--
Gitblit v1.9.1