From d1480e6c40cbcaf7e0dd6349153a461a3635bee3 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 19 八月 2024 09:04:39 +0800
Subject: [PATCH] #优化
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 77 +++++++++++++++++++++++++++-----------
1 files changed, 54 insertions(+), 23 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 9380c83..79f152d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -94,7 +94,7 @@
// 妫�绱㈠簱浣�
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);
+ StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matnrs, locTypeDto,0);
// 鐢熸垚宸ヤ綔鍙�
int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
@@ -167,17 +167,25 @@
for(StockOutParam.LocDetl one : param.getLocDetls()){
locs.add(one.getLocNo());
}
- boolean sign = true;
- for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
- //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙�
- List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
- if (locMast.getLocType2().equals((short)3)){
- groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
- }
+ List<StockOutParam.LocDetl> stockOutParamLocDetlSort = Utils.getStockOutParamLocDetlSort(param.getLocDetls());
+ boolean sign = true;
+ List<String> locNoWeighting = new ArrayList<>();
+ for (StockOutParam.LocDetl locDetl : stockOutParamLocDetlSort) {
+ if (Cools.isEmpty(locNoWeighting)){
+ locNoWeighting.add(locDetl.getLocNo());
+ }else {
+ if (!Utils.getLocNoWeighting(locNoWeighting,locDetl.getLocNo())){
+ locNoWeighting.add(locDetl.getLocNo());
+ sign = true;
+ }
+ }
if (sign){
- if (locMast.getLocType2().equals((short)3)) {
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
+ //鑾峰彇鍚屼竴搴撲綅缁勭殑澶栦晶搴撲綅鍙�
+ List<String> groupOuterSingleLoc = Utils.getGroupOuterSingleLoc(locDetl.getLocNo());
+ if (locMast.getLocType2().equals((short)3)){
+ groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
sign = false;
}
for (String locNo : groupOuterSingleLoc) {
@@ -470,21 +478,44 @@
Date now = new Date();
// 鍚堝苟鍚岀被椤�
Set<String> locNos = new HashSet<>();
+ ArrayList<String> locNos2 = new ArrayList<String>();
List<OutLocDto> dtos = new ArrayList<>();
for (LocDetlDto locDetlDto : locDetlDtos) {
String locNo = locDetlDto.getLocDetl().getLocNo();
- if (locNos.contains(locNo)) {
- for (OutLocDto dto : dtos) {
- if (dto.getLocNo().equals(locNo)) {
- dto.getLocDetlDtos().add(locDetlDto);
- break;
+ locNos2.add(locNo);
+ //if (locNos.contains(locNo)) {
+ //for (OutLocDto dto : dtos) {
+ // if (dto.getLocNo().equals(locNo)) {
+ // dto.getLocDetlDtos().add(locDetlDto);
+ // break;
+ // }
+ //}
+ //} else {
+ //locNos.add(locNo);
+
+ //dtos.add(new OutLocDto(locNo, locDetlDto));
+ //}
+ }
+ List<String> innermostSideLoc = Utils.getInnermostSideLoc(locNos2, true);
+ System.out.println(innermostSideLoc);
+ for (LocDetlDto locDetlDto : locDetlDtos) {
+ String locNo = locDetlDto.getLocDetl().getLocNo();
+ if(innermostSideLoc.contains(locNo)) {
+ if (locNos.contains(locNo)) {
+ for (OutLocDto dto : dtos) {
+ if (dto.getLocNo().equals(locNo)) {
+ dto.getLocDetlDtos().add(locDetlDto);
+ break;
+ }
}
+ } else {
+ locNos.add(locNo);
+ dtos.add(new OutLocDto(locNo, locDetlDto));
}
- } else {
- locNos.add(locNo);
- dtos.add(new OutLocDto(locNo, locDetlDto));
+ //dtos.add(new OutLocDto(locNo,locDetlDto));
}
}
+
Integer ioType = null;
List<String> excludeLocNos = dtos.stream().map(OutLocDto::getLocNo).distinct().collect(Collectors.toList());
// 鐢熸垚宸ヤ綔妗�
@@ -815,7 +846,7 @@
}
WaitPakin waitPakin = new WaitPakin();
waitPakin.sync(mat);
- waitPakin.setBatch("");
+ //waitPakin.setBatch("");
waitPakin.setZpallet(locDetl.getZpallet()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
waitPakin.setAnfme(locDetl.getAnfme()); // 鏁伴噺
@@ -1193,7 +1224,7 @@
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
- StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto);
+ StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto,0);
int workNo = dto.getWorkNo();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
@@ -1504,6 +1535,7 @@
AdjDetl adjDetl = new AdjDetl();
adjDetl.setLocNo(locDetl.getLocNo());
adjDetl.setMatnr(locDetl.getMatnr());
+ adjDetl.setSpecs(locDetl.getSpecs());
adjDetl.setBatch(locDetl.getBatch());
adjDetl.setOriQty(locDetl.getAnfme());
adjDetl.setAdjQty(adjust.getCount());
@@ -1655,7 +1687,7 @@
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())){
String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
- if (!Cools.isEmpty(orderNos)){
+ if (!Cools.isEmpty(orderNos) && orderNos.length!=0){
String[] anfmes = GetAnfme(wrkDetl.getOrderNo());
int i = 0;
for (String orderNo : orderNos) {
@@ -1729,8 +1761,7 @@
if (!wrkMastRes || !locMastRes) {
throw new CoolException("淇濆瓨鏁版嵁澶辫触");
}
- WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
- waitPakinService.delete(new EntityWrapper<>(waitPakin));
+ waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
}
@Override
--
Gitblit v1.9.1