From 058770cc7f646ed387757fdde6e45d2f92ea01c4 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 31 五月 2023 10:06:37 +0800
Subject: [PATCH] 2023.5.31上架区域版本兼容代码。判断当前库位组是否均为同一种物料,如不是,则认定需要执行兼容代码
---
src/main/java/com/zy/asrs/utils/Utils.java | 6 +-
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 102 insertions(+), 6 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 cca463e..89db0a0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -196,8 +196,8 @@
}
}
- //妫�娴嬫彁浜ょ殑鍑哄簱搴撲綅鏄惁鍚堟硶(娴呭簱浣嶆湁闈炵┖搴撲綅)
- Utils.checkStockOutLocNo(locNos);
+// //妫�娴嬫彁浜ょ殑鍑哄簱搴撲綅鏄惁鍚堟硶(娴呭簱浣嶆湁闈炵┖搴撲綅)
+// Utils.checkStockOutLocNo(locNos);
// 鐩爣绔欑偣鐘舵�佹娴�
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
@@ -380,6 +380,102 @@
continue;
}
}
+
+ //-----------------2023.5.31涓婃灦鍖哄煙鐗堟湰鍏煎浠g爜-----------------------
+ //鍒ゆ柇褰撳墠搴撲綅缁勬槸鍚﹀潎涓哄悓涓�绉嶇墿鏂欙紝濡備笉鏄紝鍒欒瀹氶渶瑕佹墽琛屽吋瀹逛唬鐮�
+ //闇�瑕佸皢寰呭嚭搴撳簱浣嶅墠渚у簱浣�(涓嶅寘鍚渶澶栦晶楂橀搴撲綅)鎵ц101鍏ㄦ澘鍑哄簱
+ String locNo = dto.getLocNo();
+ String matnr = null;
+ for (LocDetlDto locDetlDto : dto.getLocDetlDtos()) {
+ LocDetl locDetl = locDetlDto.getLocDetl();
+ if (locDetl.getLocNo().equals(locNo)) {
+ matnr = locDetl.getMatnr();
+ }
+ }
+
+ List<String> outerLoc = Utils.getGroupOuterSingleLoc(locNo);
+ Double wrkPri = 15D;
+ for (LocMast locMast : locMastService.selectByLocNos(outerLoc)) {
+ if (!locMast.getLocSts().equals("F")) {
+ continue;
+ }
+
+ boolean flag = false;
+ for (LocDetl locDetl : locDetlService.selectByLocNo(locMast.getLocNo())) {
+ if (!locDetl.getMatnr().equals(matnr)) {
+ flag = true;
+ break;
+ }
+ }
+
+ if (flag) {
+ //褰撳墠宸烽亾瀛樺湪涓嶅悓瑙勬牸鐨勭墿鏂欙紝闇�瑕佽繘琛�101鍏ㄦ澘鍑哄簱
+ // 鑾峰彇璺緞
+ StaDesc staDesc = staDescService.queryCrnStn(101, locMast.getCrnNo(), staNo.getDevNo(), locMast.getRow1());
+ if(staDesc == null){
+ throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+ }
+
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(101));
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(101); // 鍏ュ嚭搴撶姸鎬�101鍏ㄦ澘鍑哄簱
+ wrkPri += 2D;
+ wrkMast.setIoPri(wrkPri); // 浼樺厛绾�
+ wrkMast.setOutMost(0);
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
+ wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+ wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setBarcode(locMast.getBarcode());
+ wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+ if (!wrkMastService.insert(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ for (LocDetl locDetl : locDetlService.selectByLocNo(locMast.getLocNo())) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAnfme(locDetl.getAnfme()); // 鏁伴噺
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setModiUser(userId);
+ wrkDetl.setSpecs(locDetl.getSpecs());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害
+ if (locMast.getLocSts().equals("F")) {
+ locMast.setLocSts("R");
+ locMast.setModiUser(userId);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ } else {
+ throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+ }
+ }
+
+ }
+ //-----------------2023.5.31涓婃灦鍖哄煙鐗堟湰鍏煎浠g爜end-----------------------
// 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
if (ioWorkType == null) {
@@ -1055,7 +1151,7 @@
locSts = "O";
// 搴撲綅杞Щ
- if (wrkMast.getIoType() == 11) {
+ if (wrkMast.getIoType() == 11 || wrkMast.getIoType() == 111) {
// 搴撲綅杞Щ锛氭簮搴撲綅
LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
if (Cools.isEmpty(locMast)) {
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 5ded7a4..d4e1661 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -405,8 +405,8 @@
}
}
- // 鑾峰彇褰撳墠搴撲綅鍑哄簱鍓嶆柟搴撲綅缁勪笉鍖呭惈鏈�澶栦晶搴撲綅
- public static List<String> getGroupOutWrkLoc(String locNo){
+ // 鑾峰彇搴撲綅鍓嶄晶鍏ㄩ儴鍗曞搧鍖哄煙搴撲綅缁�(涓嶅寘鍚渶澶栦晶搴撲綅楂橀鍖哄煙)
+ public static List<String> getGroupOuterSingleLoc(String locNo){
int row = getRow(locNo);
switch (row) {
case 1:
@@ -665,7 +665,7 @@
if (sign) {
break;
}
- List<String> groupInsideLoc = Utils.getGroupOutWrkLoc(locNo);
+ List<String> groupInsideLoc = Utils.getGroupOuterSingleLoc(locNo);
if (!Cools.isEmpty(groupInsideLoc)) {
for (String insideLoc : groupInsideLoc) {
if (locNos.contains(insideLoc)) {
--
Gitblit v1.9.1