From 8ce4dcbd701b40165b0dbf365f667932cf2a8916 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 06 三月 2026 08:21:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 106 ++++++++++++++++++++---------------------------------
1 files changed, 40 insertions(+), 66 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 ed3f0b1..bdba3fd 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -420,7 +420,7 @@
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
String wrkCode = null;
if (!Objects.isNull(deviceNo)) {
- wrkCode = workNo + "-1";
+ wrkCode = workNo + "";
ioType = 101;
generateOutStock(taskDto, userId, workNo, wrkCode, now, ioType, locMast, staDesc, deviceNo);
} else {
@@ -443,58 +443,7 @@
* @date 2026/1/9 20:16
*/
private void generateOutStock(TaskDto taskDto, Long userId, int workNo, String wrkCode, Date now, int ioType, LocMast locMast, StaDesc staDesc, String deviceNo) {
- if (Objects.isNull(deviceNo)) {
- throw new CoolException("鏈哄彴鍙蜂笉鑳戒负绌猴紒锛�");
- }
- BasDevice basDevice = basDeviceService.selectOne(new EntityWrapper<BasDevice>()
- .eq("status", 1)
- .eq("dev_no", deviceNo));
- if (Objects.isNull(basDevice)) {
- throw new CoolException("鏈哄彴淇℃伅涓嶅瓨鍦ㄦ垨宸茬鐢紒锛�");
- }
- List<LocAroundBind> binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>()
- .eq("dev_no", basDevice.getDevNo())
- .eq("is_default", 1));
-
- if (Objects.isNull(binds) || binds.isEmpty()) {
- throw new CoolException("鏈哄彴鏈缃粯璁ゅ伐浣滀綅锛侊紒");
- }
-
- Set<String> locs = binds.stream().map(LocAroundBind::getBlocNo).collect(Collectors.toSet());
-
- LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
- .in("loc_no", locs)
- .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
- .orderAsc(Arrays.asList("loc_no"))
- .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
-
- if (Objects.isNull(locMasts)) {
- binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>()
- .eq("dev_no", basDevice.getDevNo()));
-
- Set<String> nlocs = binds.stream().map(LocAroundBind::getBlocNo).collect(Collectors.toSet());
-
- locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
- .in("loc_no", nlocs)
- .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
- .orderAsc(Arrays.asList("loc_no"))
- .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
- if (Objects.isNull(locMasts)) {
- throw new CoolException("鏆傛棤鍙敤宸ヤ綔浣嶏紒锛�");
- }
-
- LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", locMasts.getLocNo()));
- bLocNo.setLocType(LocStsType.LOC_STS_TYPE_S.type);
-
- if (!locAroundBindService.updateById(bLocNo)) {
- throw new CoolException("宸ヤ綅棰勭害澶辫触锛侊紒");
- }
- }
-
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locMasts.getLocNo(), 1);
- //TODO 1. 鑾峰彇鍏ュ簱绔欑偣锛� 鐩爣搴撲綅 3. 灏嗗嚭搴撴槑缁嗘坊鍔犺嚦鍏ュ簱鏄庣粏
- Integer staNo = staNos.stream().findFirst().get();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -505,10 +454,7 @@
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
wrkMast.setCrnNo(locMast.getCrnNo());
- wrkMast.setSourceStaNo(staDesc.getCrnStn() + ""); // 婧愮珯
-// wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
- wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
- wrkMast.setLocNo(locMasts.getLocNo());
+ wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
@@ -542,7 +488,7 @@
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
wrkDetl.setOrderNo(locDto.getOrderNo());
- wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+// wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
wrkDetl.setStandby1(locDto.getStandby1());
LocDetl locDel = locDetlService.selectOne(new EntityWrapper<LocDetl>()
.eq("loc_no", locDto.getLocNo())
@@ -557,7 +503,12 @@
wrkDetl.setUnit(locDel.getUnit());
wrkDetl.setSpecs(locDel.getSpecs());
wrkDetl.setBatch(locDel.getBatch());
-// wrkDetl.setAnfme(locDel.getAnfme());
+ //搴撳瓨鏁伴噺
+ wrkDetl.setStockQty(locDel.getAnfme());
+ //鍗曟嵁鏁伴噺
+ wrkDetl.setRealQty(locDto.getAnfme());
+ //鍗曟嵁鏁伴噺
+ wrkDetl.setAnfme(locDto.getAnfme());
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
@@ -1206,9 +1157,18 @@
if (!Objects.isNull(wrkMast.getWrkCode())) {
LocAroundBind aroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo()));
if (!Objects.isNull(aroundBind)) {
- aroundBind.setLocType(LocStsType.LOC_STS_TYPE_O.type);
+ aroundBind.setLocType(LocStsType.LOC_STS_TYPE_F.type);
if (!locAroundBindService.updateById(aroundBind)) {
throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ }
+
+
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+ if (!Objects.isNull(locMast)) {
+ locMast.setLocSts(LocStsType.LOC_STS_TYPE_F.type);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
}
}
@@ -1218,6 +1178,16 @@
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
locSts = "F";
+ if (!Cools.isEmpty(wrkMast.getLocNo())) {
+ LocAroundBind bLocId = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_id", wrkMast.getLocNo()));
+ if (!Objects.isNull(bLocId)) {
+ bLocId.setLocType(LocStsType.LOC_STS_TYPE_O.type);
+ if (!locAroundBindService.updateById(bLocId)) {
+
+ }
+ }
+ }
+
// 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 110) {
locSts = "D";
@@ -1433,11 +1403,13 @@
ioType = 1;
}
wokNo = commonService.getWorkNo(0);
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
+
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", ioType)
- .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
- .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+// .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("crn_no", locMast1.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
@@ -1454,10 +1426,10 @@
FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl);
// 婧愮珯鐐圭姸鎬佹娴�
- BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.parseInt(wrkMast.getStaNo()), false);
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(staDesc.getCrnStn(), false);
sourceStaNo.setLocType1((short) 1);
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- StartupDto locNo = commonService.getLocNo(1, Integer.parseInt(wrkMast.getStaNo()), findLocNoAttributeVo, locTypeDto);
+ StartupDto locNo = commonService.getLocNo1(locMast1.getCrnNo());
Date now = new Date();
// 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
@@ -1467,9 +1439,9 @@
mast.setWrkNo(wokNo);
// 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
mast.setIoType(ioType); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
- mast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
- mast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
- mast.setStaNo(staNo + ""); // 鐩爣绔�
+ mast.setWrkSts(1L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+ mast.setSourceStaNo(""); // 婧愮珯
+ mast.setStaNo(""); // 鐩爣绔�
mast.setSourceLocNo(wrkMast.getLocNo());
mast.setLocNo(locNo.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
mast.setModiTime(now);
@@ -1504,6 +1476,7 @@
wrkDetls.forEach(wrkDetl -> {
WrkDetl wrkDetl1 = new WrkDetl();
BeanUtils.copyProperties(wrkDetl, wrkDetl1);
+ wrkDetl1.setAnfme(wrkDetl.getStockQty() - wrkDetl.getAnfme());
wrkDetl1.setWrkNo(wokNo);
if (!wrkDetlService.insert(wrkDetl1)) {
throw new CoolException("浠诲姟妗f槑缁嗕繚瀛樺け璐ワ紒锛�");
@@ -1519,6 +1492,7 @@
if (!locMastService.updateById(locMast)) {
throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
}
+
// wrkMast.setWrkCode(null);
//
// if (!wrkMastService.updateById(wrkMast)) {
--
Gitblit v1.9.1