From 203e2664c13883f8bb64f638cb1794c0b4480ec2 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 27 四月 2025 08:24:20 +0800
Subject: [PATCH] 完成米多泉州wms开发
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 128 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 116 insertions(+), 12 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 64d70f8..4c73c11 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -106,9 +106,9 @@
BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
+// List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
// List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
- FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0));
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0));
StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo,locTypeDto);
if (Cools.isEmpty(dto)){
throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
@@ -347,6 +347,7 @@
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
wrkMast.setBarcode(locMast.getBarcode());
+ wrkMast.setPdcType(dto.getLocDetlDtos().get(0).getLocDetl().getModel());
wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
@@ -621,7 +622,7 @@
}
for (String locNo : param.getLocNos()) {
// 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(0);
+ int workNo = commonService.getWorkNo(2);
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
@@ -643,7 +644,7 @@
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
- wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
+ wrkMast.setIoType(locMast.getLocSts().equals("M") ? 111 : 112); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(10D);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
@@ -664,7 +665,7 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
- if (locMast.getLocSts().equals("D")){
+ if (locMast.getLocSts().equals("M") || locMast.getLocSts().equals("Z")){
locMast.setLocSts("R");
locMast.setModiUser(1L);
locMast.setModiTime(now);
@@ -852,6 +853,31 @@
List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList();
+ // 娣诲姞鍘嗗彶宸ヤ綔涓绘。
+ WrkMastLog wrkMast = new WrkMastLog();
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(5);
+ wrkMast.setIoPri(13D); // 浼樺厛绾�
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceLocNo(locMast.getLocNo());
+ wrkMast.setLocNo(locMast.getLocNo());
+ wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ wrkMast.setAppeUser(userId);
+ wrkMast.setModiUser(userId);
+
+ // 澧炲垹鏀瑰彧鍒涘缓涓�娆″伐浣滀富妗�
+ boolean updateFlag = true;
+ boolean deleteFlag = true;
+ boolean addFlag = true;
+
// 淇敼鏁伴噺
Iterator<LocDetl> iterator = locDetls.iterator();
while (iterator.hasNext()) {
@@ -881,6 +907,30 @@
adjDetl.setAppeTime(now);
adjDetl.setAppeUser(userId);
adjDetlService.save(adjDetl, userId);
+
+ if (updateFlag) {
+ wrkMast.setWrkNo(commonService.getWorkNo(3));
+ wrkMast.setIoType(23);
+ boolean res = wrkMastLogService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("搴撳瓨璋冩暣-淇敼 淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ updateFlag = false;
+ }
+
+ // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏
+ WrkDetlLog wrkDetl = new WrkDetlLog();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setAnfme(adjust.getCount());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ wrkMast.setAppeUser(userId);
+ wrkMast.setModiUser(userId);
+ if (!wrkDetlLogService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
}
iterator.remove();
iterator1.remove();
@@ -907,6 +957,30 @@
adjDetl.setAppeTime(now);
adjDetl.setAppeUser(userId);
adjDetlService.save(adjDetl, userId);
+
+ if (deleteFlag) {
+ wrkMast.setWrkNo(commonService.getWorkNo(3));
+ wrkMast.setIoType(22);
+ boolean res = wrkMastLogService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("搴撳瓨璋冩暣-鍒犻櫎 淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ deleteFlag = false;
+ }
+
+ // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏
+ WrkDetlLog wrkDetl = new WrkDetlLog();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setAnfme(0.0);
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ wrkMast.setAppeUser(userId);
+ wrkMast.setModiUser(userId);
+ if (!wrkDetlLogService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
}
// 娣诲姞搴撳瓨
@@ -917,6 +991,7 @@
locDetl.sync(mat);
locDetl.setBatch(adjust.getBatch());
locDetl.setLocNo(locMast.getLocNo());
+ locDetl.setZpallet(locMast.getBarcode());
locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
locDetl.setModiTime(now);
@@ -937,6 +1012,30 @@
adjDetl.setAppeTime(now);
adjDetl.setAppeUser(userId);
adjDetlService.save(adjDetl, userId);
+
+ if (addFlag) {
+ wrkMast.setWrkNo(commonService.getWorkNo(3));
+ wrkMast.setIoType(21);
+ boolean res = wrkMastLogService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("搴撳瓨璋冩暣-鏂板 淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ addFlag = false;
+ }
+
+ // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏
+ WrkDetlLog wrkDetl = new WrkDetlLog();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setAnfme(adjust.getCount());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ wrkMast.setAppeUser(userId);
+ wrkMast.setModiUser(userId);
+ if (!wrkDetlLogService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
}
// 淇敼搴撲綅鐘舵��
int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
@@ -988,13 +1087,18 @@
// 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
} else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
locNo = wrkMast.getSourceLocNo();
- // 鍑哄簱 ===>> F.鍦ㄥ簱
- if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
- locSts = "F";
- // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
- } else if (wrkMast.getIoType() == 110) {
+ if (wrkMast.getIoType() == 110) {
locSts = "D";
- // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
+ // 鍑哄簱 M.绌烘瘝鎵樼洏
+ } else if (wrkMast.getIoType() == 111) {
+ locSts = "M";
+ // 鍑哄簱Z.绌哄瓙鎵樼洏
+ } else if (wrkMast.getIoType() == 112) {
+ locSts = "Z";
+ } else if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
+ // 鍑哄簱 ===>> F.鍦ㄥ簱
+ locSts = "F";
+ // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 11) {
locSts = wrkMast.getFullPlt().equalsIgnoreCase("N")?"D":"F";
// 搴撲綅杞Щ锛氱洰鏍囧簱浣�
@@ -1179,7 +1283,7 @@
}
LocTypeDto locTypeDto = new LocTypeDto();
locTypeDto.setLocType1((short) 1);
- return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list);
+ return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list.get(0),1,false);
}
@Override
--
Gitblit v1.9.1