From 655f0eaba18ec8c56058a87270bf7e15790b6aab Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期三, 17 十二月 2025 11:05:56 +0800
Subject: [PATCH] 添加备货单接口对接
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 67 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 1 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 ca9d398..13d9382 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -12,6 +12,9 @@
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.enums.LocAreaType;
+import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.enums.TaskIOType;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.service.*;
@@ -99,6 +102,12 @@
private TaskService taskService;
@Autowired
private TaskDetlService taskDetlService;
+ @Autowired
+ private BasStationService basStationService;
+ @Autowired
+ private BasStationDetlService basStationDetlService;
+ @Autowired
+ private BasAreasService basAreasService;
@Override
@Transactional
@@ -418,7 +427,7 @@
.eq("loc_no", locDto.getLocNo())
.eq("matnr", locDto.getMatnr())
.eq("batch", locDto.getBatch())
- .eq("standby1",locDto.getStandby2())
+ .eq("standby1",locDto.getStandby1())
).getDiffQty().compareTo(BigDecimal.ZERO) == 0
);
if (!DiffQty){
@@ -1457,6 +1466,10 @@
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
+ BasAreas basAreas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("whs_type_id", LocAreaType.LOC_AREA_TYPE_CRN.type));
+ if (Objects.isNull(basAreas)) {
+ throw new CoolException("鏁版嵁閿欒锛屽簱鍖轰笉瀛樺湪锛侊紒");
+ }
// 鍏ュ嚭搴撶被鍨嬪垽鏂�
if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
@@ -1465,6 +1478,11 @@
if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
}
+ String agvSta = null;
+ if (wrkMast.getIoType() == TaskIOType.MERGE_OUT.type) {
+ agvSta = wrkMast.getAvgSta();
+ }
+
// 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
// if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
@@ -1500,11 +1518,58 @@
// 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
locMast.setLocSts("Q");
+ locMast.setAreaId(basAreas.getId());
+ locMast.setAreaName(basAreas.getName());
+ locMast.setBarcode(locMast.getBarcode());
locMast.setModiTime(now);
locMast.setModiUser(userId);
if (!locMastService.updateById(locMast)) {
throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
+
+ // . 鍒犻櫎缂撳瓨绔欑偣鏄庣粏
+ if (!Objects.isNull(agvSta)) {
+ // 淇敼鐩爣绔欑偣淇℃伅
+ BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta));
+ if (Objects.isNull(station)) {
+ throw new CoolException("绔欑偣涓嶅瓨鍦�!!");
+ }
+ basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
+ station.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
+ if (!basStationService.updateById(station)) {
+ throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
+ }
+ }
+ // .淇敼骞舵墭鍏ュ簱鏄庣粏鎵樼爜
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+ .eq("area_id", locMast.getAreaId())
+ .eq("loc_no", locMast.getLocNo()));
+ if (!Objects.isNull(locDetls) && !locDetls.isEmpty()) {
+ locDetls.forEach(locDetl -> {
+ locDetl.setZpallet(locMast.getBarcode());
+ locDetl.setBarcode(locMast.getBarcode());
+ if (!locDetlService.updateById(locDetl)) {
+ throw new CoolException("搴撳瓨鏄庣粏淇敼澶辫触锛侊紒");
+ }
+ });
+ }
+
+ // .淇敼浠诲姟妗f槑缁嗘墭鐩樼爜
+
+
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (!Objects.isNull(wrkDetls) && !wrkDetls.isEmpty()) {
+ wrkDetls.forEach(wrkDetl -> {
+ wrkDetl.setZpallet(wrkMast.getBarcode());
+ wrkDetl.setBarcode(wrkMast.getBarcode());
+ if (!wrkDetlService.updateById(wrkDetl)) {
+ throw new CoolException("浠诲姟妗f槑缁嗕慨鏀瑰け璐ワ紒锛�");
+
+ }
+ });
+ }
+
+
}
@Override
--
Gitblit v1.9.1