From dddc2cadc0bd18c79f565a733d694c5f4b869843 Mon Sep 17 00:00:00 2001
From: bfwms <1>
Date: 星期二, 23 九月 2025 15:45:54 +0800
Subject: [PATCH] 正式环境数据库
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 141 ++++++++++++++++++++++++----------------------
1 files changed, 74 insertions(+), 67 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 10640fe..1bd9ff9 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -161,112 +161,118 @@
public void startupFullTakeStore(StockOutParam param, Long userId) {
List<StockOutParam.LocDetl> locDetls = new ArrayList<>();
List<String> locs = new ArrayList<>();
- List<SameMatCount> sameMatCounts = new ArrayList<>();
- for (StockOutParam.LocDetl one : param.getLocDetls()) {
+ for(StockOutParam.LocDetl one : param.getLocDetls()){
+ locs.add(one.getLocNo());
+ }
+
+ for (String loc : locs) {
+ List<LocDetl> detls = locDetlService.selectByLocNo(loc);
+ for (LocDetl detl : detls) {
+ for (StockOutParam.LocDetl paramDetls : param.getLocDetls()) {
+ if (paramDetls.getMatnr().equals(detl.getMatnr()) && paramDetls.getBatch().equals(detl.getBatch()) && paramDetls.getLocNo().equals(detl.getLocNo())) {
+ locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), paramDetls.getCount()));
+ }
+ }
+
+ }
+ }
+
+
+ // 鐩爣绔欑偣鐘舵�佹娴�
+ BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+ // 鑾峰彇搴撲綅鏄庣粏
+ List<LocDetlDto> locDetlDtos = new ArrayList<>();
+ for (StockOutParam.LocDetl paramLocDetl : locDetls) {
+ if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+ }
+ }
+ for (LocDetlDto locDetlDto:locDetlDtos){
+ if (locs.contains(locDetlDto.getLocDetl().getLocNo())){
+ locDetlDto.setSign(true);
+ }
+ }
+ if (!locDetlDtos.isEmpty()) {
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+ if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
+ // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+ stockOut2(staNo, locDetlDtos, null, userId);
+ }else {
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+ }
+ } else {
+ throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+ }
+ }
+
+ // 澶囦唤涔嬪墠 startupFullTakeStore 鏂规硶
+ @Override
+ @Transactional
+ public void startupFullTakeStore2(StockOutParam param, Long userId) {
+ List<StockOutParam.LocDetl> locDetls = new ArrayList<>();
+ List<String> locs = new ArrayList<>();
+ for(StockOutParam.LocDetl one : param.getLocDetls()){
locs.add(one.getLocNo());
}
List<StockOutParam.LocDetl> stockOutParamLocDetlSort = Utils.getStockOutParamLocDetlSort(param.getLocDetls());
boolean sign = true;
boolean isfull = false; // 鏄惁澶熸暟閲�
- //Double isOut = 0.0;
- Map<String, Double> isOuts = new HashMap<>();
+ Double isOut = 0.0;
List<String> locNoWeighting = new ArrayList<>();
- log.info("canshu:{}", stockOutParamLocDetlSort);
for (StockOutParam.LocDetl locDetl : stockOutParamLocDetlSort) {
- if (isOuts.get(locDetl.getMatnr()) == null) {
- isOuts.put(locDetl.getMatnr(), locDetl.getCount());
- } else {
- isOuts.put(locDetl.getMatnr(), isOuts.get(locDetl.getMatnr()) + locDetl.getCount());
- }
- }
- log.info("canshu:{}", JSON.toJSONString(isOuts));
-
- for (StockOutParam.LocDetl locDetl : stockOutParamLocDetlSort) {
-
-// SameMatCount smc = new SameMatCount();
-// if (Cools.isEmpty(sameMatCounts)) {
-// smc.setMatnr(locDetl.getMatnr());
-// smc.setNeedOutCount(locDetl.getCount());
-// sameMatCounts.add(smc);
-// } else {
-// for (SameMatCount sameMatCount : sameMatCounts) {
-// if (sameMatCount.getMatnr().equals(locDetl.getMatnr())) {
-// sameMatCount.setNeedOutCount(locDetl.getCount() + sameMatCount.getNeedOutCount());
-// //smc.setMatnr(sameMatCount.getMatnr());
-// smc.setNeedOutCount(sameMatCount.getNeedOutCount());
-// }
-// }
-// }
-
-
- if (Cools.isEmpty(locNoWeighting)) {
+ if (Cools.isEmpty(locNoWeighting)){
locNoWeighting.add(locDetl.getLocNo());
- } else {
- if (!Utils.getLocNoWeighting(locNoWeighting, locDetl.getLocNo())) {
+ }else {
+ if (!Utils.getLocNoWeighting(locNoWeighting,locDetl.getLocNo())){
locNoWeighting.add(locDetl.getLocNo());
sign = true;
}
}
-
- if (sign) {
+ if (sign){
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)) {
+ if (locMast.getLocType2().equals((short)3)){
groupOuterSingleLoc = Utils.getGroupOuterSingleLocLowFrequency(locDetl.getLocNo());
sign = false;
}
for (String locNo : groupOuterSingleLoc) {
//姣忎釜搴撲綅鐨勫簱浣嶆槑缁�
- if (locs.contains(locNo)) continue;
+ if(locs.contains(locNo)) continue;
LocMast mast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo));
- if (mast.getLocSts().equals("P") || mast.getLocSts().equals("Q")) {
+ if (mast.getLocSts().equals("P") || mast.getLocSts().equals("Q")){
throw new CoolException("褰撳墠搴撲綅鐨勬祬搴撲綅鐘舵�佷负" + mast.getLocSts() + "鏆備笉鏀寔鍑哄簱锛�");
}
for (LocDetl detl : locDetlService.selectByLocNo(locNo)) {
if (!detl.getMatnr().equals(locDetl.getMatnr())) {
//涓嶆槸鐩稿悓鐗╂枡
- if (!sign) {
+ if (!sign){
locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
- System.out.println("1");
}
continue;
}
- if (!param.getOutSite().equals(214) && !param.getOutSite().equals(114)) {
- if (detl.getAnfme() >= isOuts.get(detl.getMatnr())) {
- // if (detl.getAnfme() >= locDetl.getCount()) {
- locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), isOuts.get(detl.getMatnr())));
- System.out.println("2");
- //isOut = locDetl.getCount();
+ if (!param.getOutSite().equals(214) && !param.getOutSite().equals(114)){
+ if (detl.getAnfme() >= locDetl.getCount()) {
+ locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), locDetl.getCount()));
+ isOut = locDetl.getCount();
isfull = true;
break;
} else {
locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
- isOuts.put(detl.getMatnr(), isOuts.get(detl.getMatnr()) - detl.getAnfme());
- System.out.println(isOuts.get(locDetl.getMatnr()));
+ isOut = detl.getAnfme();
}
} else {
//寮哄埗涓嶆槸鐩稿悓鐗╂枡
locDetls.add(new StockOutParam.LocDetl(detl.getLocNo(), detl.getMatnr(), detl.getBatch(), detl.getAnfme()));
-// System.out.println("4");
}
}
}
}
- if (!isfull && isOuts.get(locDetl.getMatnr()) != null && isOuts.get(locDetl.getMatnr()) > 0) {
- if (locDetl.getCount() >= isOuts.get(locDetl.getMatnr())) {
- locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), isOuts.get(locDetl.getMatnr())));
- isOuts.put(locDetl.getMatnr(), isOuts.get(locDetl.getMatnr()) - locDetl.getCount());
-// System.out.println(23);
- } else {
- locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getCount()));
- isOuts.put(locDetl.getMatnr(), isOuts.get(locDetl.getMatnr()) - locDetl.getCount());
-// System.out.println("1222");
- }
+ if (!isfull) {
-
- //locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getCount() - isOut));
+ locDetls.add(new StockOutParam.LocDetl(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), locDetl.getCount() - isOut));
// locDetls.add(locDetl);
}
}
@@ -331,6 +337,7 @@
// List<StockOutParam.LocDetl> locDetls = param.getLocDetls();
+
// ArrayList<String> locNos = new ArrayList<>();
// List<StockOutParam.LocDetl> locDetls = new ArrayList<>();
// ArrayList<String> matnrs = new ArrayList<>();//鐩殑鍋氭暟鎹幓閲�
@@ -381,18 +388,18 @@
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
- for (LocDetlDto locDetlDto : locDetlDtos) {
- if (locs.contains(locDetlDto.getLocDetl().getLocNo())) {
+ for (LocDetlDto locDetlDto:locDetlDtos){
+ if (locs.contains(locDetlDto.getLocDetl().getLocNo())){
locDetlDto.setSign(true);
}
}
if (!locDetlDtos.isEmpty()) {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
- if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
+ if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
stockOut2(staNo, locDetlDtos, null, userId);
- } else {
- throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
+ }else {
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
}
} else {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
--
Gitblit v1.9.1