From 7a1e5afac83d9ab5be57ecbf5e1da9f6593c637e Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 03 四月 2024 15:23:17 +0800
Subject: [PATCH] 手动出入库作业修改
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 54 insertions(+), 4 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 f31fec3..22cdb82 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.mapper.BasDevpMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.*;
@@ -25,6 +26,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -77,6 +79,8 @@
private SlaveProperties slaveProperties;
@Autowired
private WaitPakinService waitPakinService;
+ @Resource
+ private BasDevpMapper basDevpMapper;
@Override
@Transactional
@@ -92,7 +96,8 @@
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
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());
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,locTypeDto);
+// StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs.get(0), batchs.get(0), null,locTypeDto);
+ StartupDto dto = commonService.getLocNo(sourceStaNo,locTypeDto, 1);
// 鐢熸垚宸ヤ綔鍙�
int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
@@ -160,6 +165,42 @@
public void startupFullTakeStore(StockOutParam param, Long userId) {
// 鐩爣绔欑偣鐘舵�佹娴�
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+ // 鑾峰彇鎵�鏈夊簱浣嶅彿闆嗗悎
+ List<String> locNos = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList());
+ // 娴呭簱浣嶆爣璇�
+ boolean sign = false;
+ // 鎻愮ず淇℃伅
+ String tips = "";
+
+ /*
+ 鍒ゆ柇濡傛灉鏄繁搴撲綅锛屽搴旂殑娴呭簱浣嶄笉涓虹┖鍒欎笉鑳藉嚭
+ */
+ for (String locNo : locNos) {
+ if (sign) {
+ break;
+ }
+ List<String> groupOuterLoc = Utils.getGroupOuterLocNo(locNo);
+ if (!Cools.isEmpty(groupOuterLoc)) {
+ for (String outerLoc : groupOuterLoc) {
+ if (locNos.contains(outerLoc)) {
+ continue;
+ }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", outerLoc));
+ if (locMast != null) {
+ if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")) {
+ sign = true;
+ tips = "搴撲綅鍙凤細" + locNo + " 娴呭簱浣嶆湁闈炵┖搴撲綅锛�";
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ if (sign) {
+ throw new CoolException("鍑哄簱澶辫触锛�" + tips);
+ }
+
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
@@ -288,13 +329,14 @@
Date now = new Date();
List<LocDto> locDtos = taskDto.getLocDtos();
for (LocDto locDto : locDtos) {
+ // 浠诲姟鐨勫簱浣嶅彿涓嶆槸杩欐潯鏄庣粏鐨勫簱浣嶅彿骞朵笖浠诲姟鐨勭洰鏍囩珯鐐逛笉鏄繖鏉℃槑缁嗙殑鐩爣绔欑偣
if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) {
throw new CoolException("璁㈠崟鍑哄簱寮傚父锛岃鑱旂郴绠$悊鍛�");
}
}
// 鑾峰彇搴撲綅
LocMast locMast = locMastService.selectById(taskDto.getLocNo());
- // 鑾峰彇璺緞
+ // 鑾峰彇璺緞锛屾牴鎹鍑哄簱浠诲姟鐨勭墿鏂欐槑缁嗗垽鏂搴撲綅鏄叏鏉垮嚭搴� 杩樻槸鎹℃枡鍑哄簱
int ioType = taskDto.isAll() ? 101 : 103;
StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
// 鐢熸垚宸ヤ綔鍙�
@@ -370,9 +412,11 @@
public String emptyPlateIn(Integer devpNo, Long userId) {
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
- // 妫�绱㈠簱浣�
+ // 妫�绱㈠绐�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto);
+// StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null,null,null, locTypeDto);
+ // 鎼滅储搴撲綅
+ StartupDto dto = commonService.getLocNo(sourceStaNo,locTypeDto,10);
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
@@ -589,6 +633,9 @@
if (Cools.isEmpty(loc)){
throw new CoolException("鏈壘鍒板簱浣�");
}
+ if (loc.getLocNo().equals("N")){
+ throw new CoolException("N.璁惧鍗犵敤(绂佹鏇存敼)");
+ }
if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){
throw new CoolException("搴撲綅鐘舵�佸凡鏀瑰彉");
}
@@ -688,6 +735,9 @@
if (!wrkMastService.updateById(wrkMast)) {
throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
}
+ // 鎵嬪姩瀹屾垚鍚庯紝娓呯┖婧愮珯鐐逛笂鐨勫伐浣滃彿
+ basDevpMapper.updateWorkNoById(wrkMast.getSourceStaNo());
+
}
@Override
--
Gitblit v1.9.1