From a23b44f21f596c5500bda617050aa72125e2e701 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期六, 07 十月 2023 12:49:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/tzskasrs' into tzskasrs
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 163 +++++++-----------------------------------------------
1 files changed, 22 insertions(+), 141 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 5efb6d0..b29f993 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -191,9 +191,9 @@
}
}
- List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
- if (!Cools.isEmpty(groupInsideLoc)) {
- for (String insideLoc : groupInsideLoc) {
+ List<String> groupInnerLoc = Utils.getGroupInnerLoc(locNo);
+ if (!Cools.isEmpty(groupInnerLoc)) {
+ for (String insideLoc : groupInnerLoc) {
if (locNos.contains(insideLoc)){
continue;
}
@@ -217,8 +217,8 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
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()));
+ //LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ // if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
if (!locDetlDtos.isEmpty()) {
@@ -360,7 +360,6 @@
} else {
throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
}
- locMastService.breakUp(dto.getLocNo(), excludeLocNos);
}
}
@@ -412,7 +411,7 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDto locDto : taskDto.getLocDtos()) {
if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
- LocDetl locDetl = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch());
+ LocDetl locDetl = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getContainerCode());
if (locDetl == null || locDetl.getAnfme() < locDto.getAnfme()) {
throw new CoolException(locDto.getLocNo() + "搴撲綅涓�" + locDto.getMatnr() + "鍟嗗搧搴撳瓨涓嶈冻锛�");
}
@@ -556,9 +555,9 @@
if (sign){
break;
}
- List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
- if (!Cools.isEmpty(groupInsideLoc)) {
- for (String insideLoc : groupInsideLoc) {
+ List<String> groupInnerLoc = Utils.getGroupInnerLoc(locNo);
+ if (!Cools.isEmpty(groupInnerLoc)) {
+ for (String insideLoc : groupInnerLoc) {
if (locNos.contains(insideLoc)){
continue;
}
@@ -599,8 +598,7 @@
// 鑾峰彇婧愮珯
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", 110)
- .eq("stn_no", param.getOutSite())
- .eq("crn_no", outCrnNo);
+ .eq("stn_no", param.getOutSite());
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
throw new CoolException("闈炴硶璺緞锛�");
@@ -656,7 +654,7 @@
List<LocDetlDto> locDetlDtos = new ArrayList<>();
for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
- LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+ LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(),paramLocDetl.getContainerCode());
if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
}
}
@@ -757,15 +755,15 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 9 || wrkMast.getWrkSts() == 17) {
+ if (wrkMast.getWrkSts() == 9 || wrkMast.getWrkSts() == 29) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
if (wrkMast.getWrkSts() < 9 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
wrkMast.setWrkSts(9L);
// 鍑哄簱
- } else if (wrkMast.getWrkSts() > 10) {
- wrkMast.setWrkSts(17L);
+ } else if (wrkMast.getWrkSts() > 20) {
+ wrkMast.setWrkSts(29L);
}
Date now = new Date();
wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -922,6 +920,13 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
+
+ if (wrkMast.getWrkSts() == 200) {
+ //灏忚溅绉诲簱浠诲姟锛岀洿鎺ュ垹闄ゅ伐浣滄。
+ wrkMastService.deleteById(wrkMast);
+ return;
+ }
+
String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
// 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
@@ -942,7 +947,7 @@
locMastService.updateById(locMast);
}
// 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
- } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 19) {
+ } else if (wrkMast.getWrkSts() > 20) {
locNo = wrkMast.getSourceLocNo();
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
@@ -1104,130 +1109,6 @@
throw new CoolException("鍔熻兘鍋滅敤");
}
return "";
- }
-
- @Override
- @Transactional
- public void shuttleTransfer(List<String> locNos) {
- if (Cools.isEmpty(locNos)) {
- return;
- }
- if (true && !Cools.isEmpty(locNos)) {
- throw new CoolException("鏆備笉鏀寔绉诲簱浠诲姟"); // todo:luxiaotao 绉诲簱寮�鍏�
- }
- LocMast one = locMastService.selectById(locNos.get(0));
- List<Integer> rows = Utils.getGroupLoc(Integer.parseInt(locNos.get(0).substring(0, 2)));
- List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), one.getLocType1());
- if (Cools.isEmpty(locMasts)) {
- throw new CoolException("搴撲綅绉昏浆澶辫触锛屽凡鏃犵┖搴撲綅");
- }
- // 鍏ュ簱鎺掑簭 娣卞簱浣� ==> 娴呭簱浣�
- switch (locMasts.get(0).getRow1()) {
- case 4:
- case 5:
- case 6:
- case 7:
- case 12:
- case 13:
- case 14:
- case 19:
- case 20:
- case 21:
- Collections.reverse(locMasts);
- break;
- default:
- break;
- }
- if (locNos.size() > locMasts.size()) {
- throw new CoolException("鏈嶅姟鍣ㄩ敊璇�");
- }
- Date now = new Date();
- // 鐢熸垚绉诲簱宸ヤ綔妗�
- Iterator<LocMast> iterator = locMasts.iterator();
- for (String sourceLocNo : locNos) {
-
- while (iterator.hasNext()) {
- LocMast sourceLoc = locMastService.selectById(sourceLocNo);
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
- if (Cools.isEmpty(sourceLoc)){
- throw new CoolException("鏈壘鍒板簱浣�");
- }
- LocMast loc = iterator.next();
- if (Cools.isEmpty(loc)){
- throw new CoolException("鏈壘鍒板簱浣�");
- }
- if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
-// throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�"); todo:luxiaotao
- }
- // 鑾峰彇宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
- // 淇濆瓨宸ヤ綔妗�
- WrkMast wrkMast = new WrkMast();
- wrkMast.setWrkNo(workNo);
- wrkMast.setIoTime(now);
- wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟
- wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
- wrkMast.setIoPri(15D);
- wrkMast.setOutMost(locMastService.isOutMost(loc.getLocNo(), false)?1:0);;
- wrkMast.setCrnNo(sourceLoc.getCrnNo());
- wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
- wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
- wrkMast.setFullPlt(Cools.isEmpty(locDetls)?"N":"Y"); // 婊℃澘锛歒
- wrkMast.setPicking("N"); // 鎷f枡
- wrkMast.setExitMk("N"); // 閫�鍑�
- wrkMast.setEmptyMk(sourceLoc.getLocSts().equals("D")?"Y":"N"); // 绌烘澘
- wrkMast.setBarcode(sourceLoc.getBarcode()); // 鎵樼洏鐮�
- wrkMast.setLinkMis("N");
- wrkMast.setAppeUser(9527L);
- wrkMast.setAppeTime(now);
- wrkMast.setModiUser(9527L);
- wrkMast.setModiTime(now);
- boolean res = wrkMastService.insert(wrkMast);
- if (!res) {
- throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
- }
- // 宸ヤ綔妗f槑缁嗕繚瀛�
- for (LocDetl locDetl : locDetls) {
- WrkDetl wrkDetl = new WrkDetl();
- wrkDetl.sync(locDetl);
- wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(now);
- wrkDetl.setAnfme(locDetl.getAnfme());
- wrkDetl.setAppeTime(now);
- wrkDetl.setAppeUser(9527L);
- wrkDetl.setModiTime(now);
- wrkDetl.setModiUser(9527L);
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
- }
- }
- // 淇敼婧愬簱浣嶇姸鎬�
- if (sourceLoc.getLocSts().equals("D") || sourceLoc.getLocSts().equals("F")) {
- sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
- sourceLoc.setModiUser(9527L);
- sourceLoc.setModiTime(now);
- if (!locMastService.updateById(sourceLoc)){
- throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
- }
- } else {
- throw new CoolException(sourceLoc.getLocNo() + "婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocSts$());
- }
- // 淇敼鐩爣搴撲綅鐘舵��
- if (loc.getLocSts().equals("O")) {
- loc.setLocSts("S"); // S.鍏ュ簱棰勭害
- loc.setModiTime(now);
- loc.setModiUser(9527L);
- if (!locMastService.updateById(loc)) {
- throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
- }
- } else {
- throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$());
- }
-
- iterator.remove();
- break;
- }
- }
}
}
--
Gitblit v1.9.1