From a4c02621b8a3fa96cfb7b7839a9c7e5e23df785f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 28 五月 2021 11:02:59 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 62 ++++++++++++++++++++++---------
1 files changed, 44 insertions(+), 18 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 72e43ca..1c91ccf 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,8 +14,10 @@
import com.zy.asrs.service.*;
import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.LocDetlDto;
+import com.zy.common.model.LocTypeDto;
import com.zy.common.model.OutLocDto;
import com.zy.common.model.StartupDto;
+import com.zy.common.model.enums.WorkNoType;
import com.zy.common.service.CommonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -68,11 +70,12 @@
}
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
- // 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
// 妫�绱㈠簱浣�
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
List<String> matNos = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatNo).distinct().collect(Collectors.toList());
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos);
+ StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos, locTypeDto, 0);
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -146,7 +149,7 @@
}
if (!locDetlDtos.isEmpty()) {
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
- stockOut(staNo, locDetlDtos, null, userId);
+ stockOut(staNo, locDetlDtos, null, userId, null, false);
} else {
throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
}
@@ -154,7 +157,7 @@
@Override
@Transactional
- public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) {
+ public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId, String allotNo, Boolean sell) {
// 鍚堝苟鍚岀被椤�
Set<String> locNos = new HashSet<>();
locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
@@ -189,7 +192,7 @@
throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
}
// 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -206,6 +209,8 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
+ wrkMast.setPacked(allotNo); // 骞充粨琛ヤ粨鍗曞彿
+ wrkMast.setPdcType(sell?"Y":"N"); // ERP閿�鍞鍗曞嚭搴撲换鍔�
wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(new Date());
wrkMast.setModiUser(userId);
@@ -251,22 +256,22 @@
public String emptyPlateIn(Integer devpNo, Long userId) {
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
- // 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
// 妫�绱㈠簱浣�
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null);
+ LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+ StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto, 0);
+ int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(new Date());
wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
- wrkMast.setIoPri(13D); // 浼樺厛绾э細10
+ wrkMast.setIoPri(10D); // 浼樺厛绾э細10
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
wrkMast.setLocNo(dto.getLocNo());
- wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+ wrkMast.setFullPlt("N"); // 婊℃澘
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("Y"); // 绌烘澘
@@ -311,7 +316,7 @@
}
for (String locNo : param.getLocNos()) {
// 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+ int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
@@ -382,7 +387,7 @@
}
if (!locDetlDtos.isEmpty()) {
// 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
- stockOut(staNo, locDetlDtos, 107, userId);
+ stockOut(staNo, locDetlDtos, 107, userId, null, false);
} else {
throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
}
@@ -403,7 +408,7 @@
throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
}
// 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+ int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
// 淇濆瓨宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -490,6 +495,8 @@
wrkMast.setCrnEndTime(now);
wrkMast.setModiTime(now);
wrkMast.setModiUser(userId);
+ // 瀹屾垚鎿嶄綔浜哄憳璁板綍
+ wrkMast.setManuType("鎵嬪姩瀹屾垚");
if (!wrkMastService.updateById(wrkMast)) {
throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
}
@@ -629,10 +636,29 @@
} else {
throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
}
- // 鍒犻櫎宸ヤ綔妗�
+ // 鍙栨秷鎿嶄綔浜哄憳璁板綍
+ wrkMast.setManuType("鎵嬪姩鍙栨秷");
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(new Date());
+ if (!wrkMastService.updateById(wrkMast)) {
+ throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐�");
+ }
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+ throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
+ }
+ // 鍒犻櫎宸ヤ綔涓绘。
boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
- // 鍒犻櫎宸ヤ綔妗f槑缁�
- boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+
+ if (wrkMast.getIoType() != 10 && wrkMast.getIoType() != 110) {
+ // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+ if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�, workNo = " + wrkMast.getWrkNo());
+ }
+ // 鍒犻櫎宸ヤ綔妗f槑缁�
+ boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+ }
+
// 淇敼搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(locNo);
if (Cools.isEmpty(locMast)) {
@@ -642,7 +668,7 @@
locMast.setModiTime(new Date());
locMast.setModiUser(userId);
boolean locMastRes = locMastService.updateById(locMast);
- if (!wrkMastRes || !wrkDetlRes || !locMastRes) {
+ if (!wrkMastRes || !locMastRes) {
throw new CoolException("淇濆瓨鏁版嵁澶辫触");
}
}
--
Gitblit v1.9.1