From f3a7b17ceb5da091ec7987a7a78b23996364b687 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 22 四月 2026 14:54:30 +0800
Subject: [PATCH] #4.22需求变更V1
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 112 insertions(+), 2 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 a437a9a..58bff73 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1506,6 +1506,7 @@
if(Cools.isEmpty(locNo)) {
return R.error("娌℃湁绌哄簱浣�");
}
+// if()
Date now = new Date();
// 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
@@ -1514,8 +1515,8 @@
BeanUtils.copyProperties(wrkMast, mast);
mast.setWrkNo(wokNo);
// 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
- mast.setIoType(ioType); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
- mast.setWrkSts(1L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+ mast.setIoType(ioType); // 1浣欐枡鍥炲簱锛�10绌鸿酱鍥炲簱
+ mast.setWrkSts(1L); // 鐢熸垚鍥炲簱id
mast.setSourceStaNo(""); // 婧愮珯
mast.setStaNo(""); // 鐩爣绔�
mast.setSourceLocNo(wrkMast.getLocNo());
@@ -1581,6 +1582,115 @@
return R.ok("鐢熸垚鍥炲簱浠诲姟鎴愬姛锛侊紒");
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R backLocOperationV2(String workNo, Long userId) {
+ WrkMast wrkMast = wrkMastService.selectById(workNo);
+ if (Cools.isEmpty(wrkMast)) {
+ return R.error(workNo+"宸ヤ綔妗d笉瀛樺湪");
+ }
+ if (wrkMast.getWrkSts() != 15) {
+ return R.error("褰撳墠浠诲姟鐘舵�佷笉鑳芥墽琛屾鎿嶄綔锛�");
+ }
+
+ Integer ioType = 101;
+ Integer wokNo;
+
+ if (Objects.isNull(wrkMast.getIsSuplus())) {
+ return R.error("鍥炲簱绫诲瀷涓嶈兘涓虹┖锛侊紒");
+ }
+
+ 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", 1070) // 1070
+ .eq("crn_no", locMast1.getCrnNo()); // 鍫嗗灈鏈哄彿
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ if (Cools.isEmpty(staDesc)) {
+ return R.error("鍑哄簱璺緞涓嶅瓨鍦�");
+ }
+
+ int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", wrkMast.getBarcode()));
+ if (count >= 2) {
+ return R.error("浠诲姟妗e凡鐢熸垚锛屼笉鍙互閲嶅鐢熸垚鐩稿悓鐨勫瓙浠诲姟锛侊紒");
+ }
+
+ WrkDetl detl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ LocDetl locDetl = new LocDetl();
+ BeanUtils.copyProperties(detl, locDetl);
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl);
+
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(staDesc.getCrnStn(), false);
+ sourceStaNo.setLocType1((short) 1);
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ String locNo = wrkMast.getSourceLocNo();
+
+ if(Cools.isEmpty(locNo)) {
+ return R.error("娌℃湁绌哄簱浣�");
+ }
+
+ Date now = new Date();
+ // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+ Integer staNo = staDesc.getCrnStn();
+ WrkMast mast = new WrkMast();
+ BeanUtils.copyProperties(wrkMast, mast);
+ mast.setWrkNo(wokNo);
+ // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+ mast.setIoType(ioType); // 110鍏堝嚭搴撳埌1070
+ mast.setWrkSts(11L); // 鐢熸垚鍑哄簱id
+ mast.setSourceStaNo(String.valueOf(staDesc.getCrnStn())); // 婧愮珯
+ mast.setStaNo(String.valueOf(staDesc.getStnNo())); // 鐩爣绔�
+ mast.setSourceLocNo(wrkMast.getLocNo()); //鍑哄簱浣�
+ mast.setLocNo(locNo); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣嶏紝鐢ㄤ簬鍒ゆ柇宸烽亾
+ mast.setModiTime(now);
+ mast.setWrkCode(null);
+ mast.setPacked(workNo);
+ mast.setModiUser(userId);
+ if (!wrkMastService.insert(mast)) {
+ return R.error("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (Cools.isEmpty(wrkDetls)) {
+ return R.error("鏁版嵁閿欒锛屼换鍔℃。鏄庣粏涓嶅瓨鍦� 锛侊紒");
+ }
+
+ LocAroundBind aroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", mast.getSourceLocNo()));
+ if (!Objects.isNull(aroundBind)) {
+ aroundBind.setLocType(LocStsType.LOC_STS_TYPE_R.type);
+ if (!locAroundBindService.updateById(aroundBind)) {
+ return R.error("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
+ }
+
+
+ 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槑缁嗕繚瀛樺け璐ワ紒锛�");
+ }
+ });
+
+ //淇敼浣滀笟搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+ locMast.setLocSts("R");
+ locMast.setModiTime(now);
+ locMast.setModiUser(userId);
+ if (!locMastService.updateById(locMast)) {
+ return R.error("淇敼搴撲綅鐘舵�佸け璐�");
+ }
+ if (Cools.isEmpty(mast)) {
+ return R.error("娌℃湁鐢熸垚浠诲姟");
+ }
+ return R.ok("鐢熸垚鍥炲簱浠诲姟鎴愬姛锛侊紒");
+ }
+
@Override
public StartupDto createWaitPainWrkMastStart(List<WaitPakin> list, Long userId) {
--
Gitblit v1.9.1