From 3aed7236f2db67dd90115a39bc8f1465e4cc8b73 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期二, 16 十二月 2025 14:34:08 +0800
Subject: [PATCH] 立库完成入库添加库区信息
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 68 +++++++++++++++++++++++++++-------
1 files changed, 54 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 4102aba..1f8e762 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -4,6 +4,7 @@
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.enums.LocAreaType;
import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.*;
@@ -60,6 +61,8 @@
private WaitPakinLogService waitPakinLogService;
@Autowired
private BasStationDetlService basStationDetlService;
+ @Autowired
+ private BasAreasService basAreasService;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -75,6 +78,12 @@
public ReturnT<String> doIn(WrkMast wrkMast) {
Date now = new Date();
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ BasAreas basAreas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("whs_type_id", LocAreaType.LOC_AREA_TYPE_CRN.type));
+ if (Objects.isNull(basAreas)) {
+ throw new CoolException("鏁版嵁閿欒锛氬簱鍖轰笉瀛樺湪锛侊紒");
+ }
+ locMast.setAreaId(basAreas.getId());
+ locMast.setAreaName(basAreas.getName());
try {
if (null == locMast) {
// exceptionHandle("宸ヤ綔妗workNo={0}]搴撲綅鍙烽敊璇痆locNo={1}]", wrkMast.getWrkNo(),
@@ -122,7 +131,6 @@
}
// 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
for (WrkDetl wrkDetl : wrkDetls) {
-
LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(),
wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
@@ -141,6 +149,8 @@
} else {
locDetl = new LocDetl();
locDetl.sync(wrkDetl);
+ locDetl.setAreaId(locMast.getAreaId());
+ locMast.setAreaName(locMast.getAreaName());
locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
@@ -231,6 +241,8 @@
locDetl.sync(wrkDetl);
locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+ locDetl.setAreaId(locMast.getAreaId());
+ locMast.setAreaName(locMast.getAreaName());
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
@@ -364,6 +376,8 @@
locDetl.sync(wrkDetl);
locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
+ locDetl.setAreaId(locMast.getAreaId());
+ locMast.setAreaName(locMast.getAreaName());
locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
locDetl.setModiTime(now);
locDetl.setAppeTime(now);
@@ -766,11 +780,6 @@
}
- List<BasStationDetl> detls = basStationDetlService.selectList(new EntityWrapper<BasStationDetl>().eq("dev_no", devNo.getDevNo()));
- if (!Objects.isNull(detls) || !detls.isEmpty()) {
- basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", devNo.getDevNo()));
- }
-
BasStationDetl stationDetl = new BasStationDetl();
BeanUtils.copyProperties(wrkDetl, stationDetl);
stationDetl.setDevNo(devNo.getDevNo())
@@ -859,18 +868,21 @@
throw new CoolException(
"褰撳墠搴撲綅鐘舵�佷负锛�" + LocStsType.LOC_STS_TYPE_S.type + "." + LocStsType.LOC_STS_TYPE_S.desc + "锛屼笉鏄嚭搴撻绾︾姸鎬�");
}
- List<WaitPakin> apallet = waitPakinService
- .selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
- if (Objects.isNull(apallet)) {
+
+ List<TaskDetl> taskDetls = taskDetlService
+ .selectList(new EntityWrapper<TaskDetl>().eq("zpallet", wrkMast.getBarcode()));
+
+ if (Objects.isNull(taskDetls)) {
throw new CoolException("鏁版嵁閿欒锛氱粍鎵樻暟鎹笉瀛樺湪锛侊紒");
}
- apallet.forEach(pakin -> {
+ log.info(taskDetls.size() + "-------------------------------------------------------------------");
+ taskDetls.forEach(pakin -> {
LocDetl detl = new LocDetl();
BeanUtils.copyProperties(pakin, detl);
-
detl.setBarcode(pakin.getBarcode());
detl.setAnfme(pakin.getAnfme());
detl.setBrand(pakin.getBrand());
+ detl.setSuppCode(pakin.getSuppCode());
detl.setAppeTime(new Date());
detl.setSpecs(pakin.getSpecs());
detl.setColor(pakin.getColor());
@@ -882,6 +894,33 @@
detl.setBatch(pakin.getBatch());
if (!locDetlService.insert(detl)) {
throw new CoolException("搴撲綅鏄庣粏淇濆瓨澶辫触锛侊紒");
+ }
+
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(),
+ pakin.getMatnr(), pakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
+ pakin.getStandby2(), pakin.getStandby3(),
+ pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
+ if (orderDetlPakin == null) {
+ orderDetlPakin = orderDetlPakinService.selectItem(pakin.getOrderNo(), pakin.getMatnr(),
+ pakin.getBatch(),
+ pakin.getBrand(), pakin.getStandby1(), pakin.getStandby2(),
+ pakin.getStandby3(),
+ pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3());
+ }
+ try {
+ if (!Cools.isEmpty(orderDetlPakin)) {
+ if (!orderDetlPakinService.increaseQtyByOrderNo(pakin.getOrderNo(),
+ pakin.getMatnr(),
+ orderDetlPakin.getBatch(), pakin.getBrand(), pakin.getStandby1(),
+ pakin.getStandby2(), pakin.getStandby3(),
+ pakin.getBoxType1(), pakin.getBoxType2(), pakin.getBoxType3(),
+ pakin.getAnfme())) {
+ throw new CoolException("AGV鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo()
+ + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ } catch (Exception ignore) {
}
});
@@ -899,14 +938,16 @@
throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
- for (WaitPakin pakin : apallet){
+ List<WaitPakin> apallets = waitPakinService
+ .selectList(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
+ for (WaitPakin pakin : apallets){
WaitPakinLog waitPakinLog = new WaitPakinLog();
BeanUtils.copyProperties(pakin, waitPakinLog);
waitPakinLogService.insert(waitPakinLog);
waitPakinService.deleteById(pakin.getId());
}
- Set<Long> list = apallet.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet());
+ Set<Long> list = apallets.stream().map(WaitPakin::getOrderId).collect(Collectors.toSet());
List<OrderPakin> pakins = orderPakinService.selectList(new EntityWrapper<OrderPakin>().in("id", list));
if (Objects.isNull(pakins) || pakins.isEmpty()) {
// throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
@@ -922,7 +963,6 @@
+ wrkMast.getLocNo() + "]");
}
for (TaskDetl wrkDetl : wrkDetls53) {
-
LocDetl locDetl = locDetlService.selectItem(locCache.getLocNo(), wrkDetl.getMatnr(),
wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(),
wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(),
--
Gitblit v1.9.1