From 450cedf62f1c264912996566cddb3b5e637b65a0 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 24 九月 2025 14:38:06 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 141 +++++++++++------------------------------------
1 files changed, 33 insertions(+), 108 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 162e683..3c6ac19 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,7 @@
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.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.*;
@@ -91,7 +92,11 @@
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto, 0);
+
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+ findLocNoAttributeVo.setMatnr(matnrs.get(0));
+
+ StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, findLocNoAttributeVo, locTypeDto, param.getBarcode());
// 鐢熸垚宸ヤ綔鍙�
int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
@@ -209,14 +214,17 @@
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (Cools.isEmpty(locMast)) {
+ throw new CoolException(dto.getLocNo()+"搴撲綅涓嶅瓨鍦�");
+ }
+ if(!locMast.getLocSts().equals("F")){
+ throw new CoolException(dto.getLocNo()+"鎵樼洏闈炲湪搴撶姸鎬�");
+ }
+
Integer outSta = staNo.getDevNo();
- //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
-// if(locMast.getCrnNo()==2){
-// outSta = ioType == 101 ? 204 : 202;
-// }
// 鑾峰彇璺緞
- StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+ StaDesc staDesc = staDescService.queryCrnStn(ioType, outSta);
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
@@ -225,7 +233,7 @@
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
- wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setIoPri(10D); // 浼樺厛绾�
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -253,6 +261,8 @@
wrkDetl.setIoTime(now);
Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
wrkDetl.setAnfme(anfme); // 鏁伴噺
+ wrkDetl.setPrice(detlDto.getLocDetl().getAnfme());//鎬绘暟
+ wrkDetl.setWeight(detlDto.getLocDetl().getAnfme());//鎬绘暟
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
@@ -290,7 +300,7 @@
LocMast locMast = locMastService.selectById(taskDto.getLocNo());
// 鑾峰彇璺緞
int ioType = taskDto.isAll() ? 101 : 103;
- StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
+ StaDesc staDesc = staDescService.queryCrnStn(ioType, staNo.getDevNo());
// 鐢熸垚宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
@@ -324,6 +334,8 @@
if (orderDetl == null) {
orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
}
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo()).eq("matnr", locDto.getMatnr()));
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", locDto.getMatnr()));
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(orderDetl);
wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -331,7 +343,10 @@
wrkDetl.setWrkNo(workNo);
wrkDetl.setBatch(locDto.getBatch());
wrkDetl.setOrderNo(locDto.getOrderNo());
+ wrkDetl.setModel(mat.getModel());
+ wrkDetl.setPrice(locDetl.getAnfme());//搴撳瓨鏁伴噺
wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+ wrkDetl.setWeight(locDetl.getAnfme());//鎬绘暟
wrkDetl.setAppeTime(now);
wrkDetl.setAppeUser(userId);
wrkDetl.setModiTime(now);
@@ -366,7 +381,10 @@
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto, 0);
+
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+
+ StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, findLocNoAttributeVo, locTypeDto, "");
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
@@ -431,6 +449,9 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
}
+ if(!locMast.getLocSts().equals("D")){
+ throw new CoolException(locNo+"鎵樼洏闈炲湪搴撶姸鎬�");
+ }
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
@@ -453,6 +474,7 @@
wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
+ wrkMast.setIoPri(10.0D);//浼樺厛绾�
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
@@ -510,9 +532,6 @@
LocMast loc = locMastService.selectById(locNo);
if (Cools.isEmpty(loc)){
throw new CoolException("鏈壘鍒板簱浣�");
- }
- if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
- throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
}
Date now = new Date();
// 鑾峰彇宸ヤ綔鍙�
@@ -851,6 +870,7 @@
if (!wrkMastService.updateById(wrkMast)) {
throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�");
}
+
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
@@ -945,102 +965,7 @@
}
LocTypeDto locTypeDto = new LocTypeDto();
locTypeDto.setLocType1((short) 1);
- return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list);
- }
-
- @Override
- @Transactional
- public String dealPreHaveStart(Integer wrkNo, Long userId) {
- WrkMast wrkMast = wrkMastService.selectById(wrkNo);
- if (wrkMast == null) {
- throw new CoolException("浠诲姟宸插け鏁�");
- }
- String locNo = wrkMast.getLocNo();
- LocMast locMast = locMastService.selectById(locNo);
- assert locMast != null;
- RowLastno rowLastno = rowLastnoService.findBySection(locMast.getRow1());
- assert rowLastno != null;
-
- // 鐩爣搴撲綅
- LocMast targetLoc = null;
-
- for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) {
-
- if (Utils.isShallowLoc(slaveProperties, curRow)) {
- Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
- targetLoc = locMastService.queryFreeLocMast(deepRow, locMast.getLocType1());
- // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
- if (!locMastService.checkEmptyCount(targetLoc)) {
- continue;
- }
- }
- if (Cools.isEmpty(targetLoc)) {
- targetLoc = locMastService.queryFreeLocMast(curRow, locMast.getLocType1());
- // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
- if (!locMastService.checkEmptyCount(targetLoc)) {
- continue;
- }
- // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
- if (null != targetLoc && Utils.isShallowLoc(slaveProperties, targetLoc.getLocNo())) {
- LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, targetLoc.getLocNo()));
- if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
- continue;
- }
- }
- // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
- if (null != targetLoc && Utils.isDeepLoc(slaveProperties, targetLoc.getLocNo())) {
- LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, targetLoc.getLocNo()));
- if (!shallowLoc.getLocSts().equals("O")) {
- continue;
- }
- }
- }
-
- if (!Cools.isEmpty(targetLoc)) {
- break;
- }
-
- }
-
- if (targetLoc == null) {
- throw new CoolException("鎿嶄綔澶辫触锛屽綋鍓嶄粨搴撴壘涓嶅埌绌哄簱浣�");
- }
-
- Date now = new Date();
- // 淇敼宸ヤ綔妗�
- StaDesc staDesc = staDescService.queryCrnStn(targetLoc.getCrnNo());
- if (Cools.isEmpty(staDesc)) {
- throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
- }
- wrkMast.setWrkSts(2L);
- wrkMast.setLocNo(targetLoc.getLocNo());
- wrkMast.setStaNo(staDesc.getCrnStn());
- wrkMast.setCrnNo(targetLoc.getCrnNo());
- wrkMast.setModiTime(now);
- wrkMast.setModiUser(userId);
- wrkMast.setPreHave("N");
- if (!wrkMastService.updateById(wrkMast)) {
- throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
- }
- // 淇敼搴撲綅鐘舵�� O ===>>> S
- if (targetLoc.getLocSts().equals("O")){
- targetLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
- targetLoc.setModiUser(userId);
- targetLoc.setModiTime(now);
- if (!locMastService.updateById(targetLoc)){
- throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
- }
- } else {
- throw new CoolException(targetLoc.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
- }
- // 绂佺敤寮傚父搴撲綅
-// locMast.setLocSts("X"); // X.绂佺敤
-// locMast.setModiUser(userId);
-// locMast.setModiTime(now);
-// if (!locMastService.updateById(locMast)){
-// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
-// }
- return targetLoc.getLocNo();
+ return null;
}
}
--
Gitblit v1.9.1