From 20bd270fbecc8356a17b1b429eb97abe1a48700e Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 09 七月 2025 16:43:37 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 203 +++++++++++++++++++++++++++++++++++++-------------
1 files changed, 150 insertions(+), 53 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 3f4ac35..6b3d16b 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -181,8 +181,15 @@
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.鍑哄簱
- stockOut(staNo, locDetlDtos, null, userId);
+ if (staNo.getDevNo() == 1135 && locMast.getLocType1() == 2) {
+ throw new CoolException("鎵�閫夊簱浣嶄笉鏄綆搴撲綅鏃犳硶璋冩嫧锛屽簱浣嶅彿锛歿}" + locMast.getLocNo());
+ }
+ if(staNo.getDevNo()>=1100){
+ // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+ stockOut(staNo, locDetlDtos, null, userId);
+ }else {
+ stockOutSXK(staNo, locDetlDtos, null, userId);
+ }
} else {
throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
}
@@ -228,6 +235,11 @@
LocMast locMast = locMastService.selectById(dto.getLocNo());
Integer outSta = staNo.getDevNo();
+ if (outSta == 1135 || outSta == 1031) {
+ if (101 != ioType) {
+ throw new CoolException("璇ョ珯鐐瑰繀椤诲叏鏉垮嚭搴擄紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ }
// //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
// if(locMast.getCrnNo()==2){
// outSta = ioType == 101 ? 204 : 202;
@@ -526,30 +538,26 @@
LocMast locMast = locMastService.selectById(taskDto.getLocNo());
List<LocMast> locMasts = new ArrayList<>();
- if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
+ if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6) ) {
locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1", locMast.getLocType1())
- .orderBy("bay1", false));
- } else {
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
+ .eq("row1", locMast.getBay1())
+ .in("bay1", 3,4,5,6)
.eq("crn_no", 7)
.eq("loc_type1", locMast.getLocType1())
.orderBy("bay1", true));
- }
- for (LocMast locMast1 : locMasts) {
- if (locMast1.getLocNo().equals(taskDto.getLocNo())) {
- break;
- }
- if (locMast1.getLocSts().equals("X")) {
- throw new CoolException(taskDto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
- }
- if (locMast1.getLocSts().equals("F")) {
- moveLocForDeepLoc(locMast1);
+ for (LocMast locMast1 : locMasts) {
+ if (locMast1.getLocNo().equals(taskDto.getLocNo())) {
+ break;
+ }
+ if (locMast1.getLocSts().equals("X")) {
+ throw new CoolException(taskDto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
+ }
+ if (locMast1.getLocSts().equals("F")) {
+ locMast = locMast1;
+ }
}
}
+
// 鑾峰彇璺緞
int ioType = taskDto.isAll() ? 101 : 103;
@@ -1218,7 +1226,7 @@
if (Cools.isEmpty(locMast)) {
throw new CoolException("搴撲綅涓嶅瓨鍦�");
}
- if (!(locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
+ if (!(locMast.getLocSts().equals("P") ||locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
throw new CoolException("褰撳墠搴撲綅涓嶅彲璋冩暣锛佸簱浣嶇姸鎬侊細" + locMast.getLocSts$());
}
@@ -1329,6 +1337,9 @@
}
locMast.setModiUser(userId);
locMast.setModiTime(now);
+ if (locMast.getLocSts().equals("O")){
+ locMast.setBarcode("");
+ }
if (!locMastService.updateById(locMast)) {
throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
}
@@ -1521,7 +1532,7 @@
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", wrkMast.getIoType() - 50)
- .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+ .eq("stn_no", wrkMast.getSourceStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
.eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
@@ -1763,30 +1774,50 @@
LocMast locMast = locMastService.selectById(dto.getLocNo());
List<LocMast> locMasts = new ArrayList<>();
- if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
+// if ((locMast.getBay1() >= 1 && locMast.getBay1() <= 2) || (locMast.getBay1() >= 6 && locMast.getBay1() <= 7 && locMast.getRow1() != 36 && locMast.getRow1() != 29) || (locMast.getBay1() >= 11 && locMast.getBay1() <= 12)) {
+// locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+// .eq("gro1", locMast.getGro1())
+// .eq("crn_no", 7)
+// .eq("loc_type1", locMast.getLocType1())
+// .orderBy("bay1", false));
+// } else {
+// locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+// .eq("gro1", locMast.getGro1())
+// .eq("crn_no", 7)
+// .eq("loc_type1", locMast.getLocType1())
+// .orderBy("bay1", true));
+// }
+// for (LocMast locMast1 : locMasts) {
+// if (locMast1.getLocNo().equals(dto.getLocNo())) {
+// break;
+// }
+// if (locMast1.getLocSts().equals("X")) {
+// throw new CoolException(dto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
+// }
+// if (locMast1.getLocSts().equals("F")) {
+// moveLocForDeepLoc(locMast1);
+// }
+// }
+ if ((locMast.getBay1() >= 3 && locMast.getBay1() <= 6) ) {
locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1", locMast.getLocType1())
- .orderBy("bay1", false));
- } else {
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
+ .eq("row1", locMast.getBay1())
+ .in("bay1", 3,4,5,6)
.eq("crn_no", 7)
.eq("loc_type1", locMast.getLocType1())
.orderBy("bay1", true));
- }
- for (LocMast locMast1 : locMasts) {
- if (locMast1.getLocNo().equals(dto.getLocNo())) {
- break;
- }
- if (locMast1.getLocSts().equals("X")) {
- throw new CoolException(dto.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
- }
- if (locMast1.getLocSts().equals("F")) {
- moveLocForDeepLoc(locMast1);
+ for (LocMast locMast1 : locMasts) {
+ if (locMast1.getLocNo().equals(locMast.getLocNo())) {
+ break;
+ }
+ if (locMast1.getLocSts().equals("X")) {
+ throw new CoolException(locMast.getLocNo() + "搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
+ }
+ if (locMast1.getLocSts().equals("F")) {
+ locMast = locMast1;
+ }
}
}
+
Integer outSta = staNo.getDevNo();
// //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
@@ -1863,7 +1894,6 @@
@Transactional
public void toSxk(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType) {
-
LocTypeDto locTypeDto = new LocTypeDto();
locTypeDto.setLocType1(locType);
StartupDto dto = commonService.getLocNo(1, 1031, null, null, null, locTypeDto, false);
@@ -1877,9 +1907,11 @@
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(new Date());
- wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱ID
- wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細 1.搴撴牸绉昏浇
+ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(wrkMastold.getIoType() - 100); // 鍏ュ嚭搴撶姸鎬侊細 1.搴撴牸绉昏浇
wrkMast.setIoPri(12D);
+ wrkMast.setStaNo(1032);
+ wrkMast.setSourceStaNo(1031);
wrkMast.setCrnNo(7);
wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
wrkMast.setFullPlt("Y"); // 婊℃澘
@@ -1888,6 +1920,7 @@
wrkMast.setEmptyMk("Y"); // 绌烘澘
wrkMast.setBarcode(wrkMastold.getBarcode()); // 鎵樼洏鐮�
wrkMast.setLinkMis("N");
+ wrkMast.setPltType(wrkMastold.getWrkNo());
wrkMast.setAppeTime(new Date());
wrkMast.setModiTime(new Date());
boolean res = wrkMastService.insert(wrkMast);
@@ -1895,16 +1928,18 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
// 宸ヤ綔妗f槑缁嗕繚瀛�
- for (WrkDetl wrk : wrkDetls) {
- WrkDetl wrkDetl = new WrkDetl();
- Synchro.Copy(wrk, wrkDetl);
- wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- wrkDetl.setAnfme(wrk.getAnfme());
- wrkDetl.setAppeTime(new Date());
- wrkDetl.setModiTime(new Date());
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ if (wrkDetls != null) {
+ for (WrkDetl wrk : wrkDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ Synchro.Copy(wrk, wrkDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(wrk.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
}
}
// 淇敼鐩爣搴撲綅鐘舵��
@@ -1920,5 +1955,67 @@
}
+ @Transactional
+ public void toCrn(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType) {
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1(locType);
+ StartupDto dto = commonService.getLocNo(1, 1135, null, null, null, locTypeDto, false);
+ if (Cools.isEmpty(dto)) {
+ throw new CoolException("鍘诲爢鍨涙満鏈壘鍒板簱浣�");
+ }
+ LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", dto.getLocNo()));
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(0);
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細1.鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(wrkMastold.getIoType() - 100); // 鍏ュ嚭搴撶姸鎬侊細 1.鍏ュ簱
+ wrkMast.setIoPri(12D);
+ wrkMast.setCrnNo(1);
+ wrkMast.setStaNo(1131);
+ wrkMast.setSourceStaNo(1135);
+ wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
+ wrkMast.setFullPlt(wrkDetls == null ? "N" : "Y"); // 婊℃澘
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(wrkDetls != null ? "N" : "Y"); // 绌烘澘
+ wrkMast.setBarcode(wrkMastold.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setPltType(wrkMastold.getWrkNo());
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiTime(new Date());
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ if (wrkDetls != null) {
+ for (WrkDetl wrk : wrkDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ Synchro.Copy(wrk, wrkDetl);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(wrk.getAnfme());
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ }
+ // 淇敼鐩爣搴撲綅鐘舵��
+ if (loc.getLocSts().equals("O")) {
+ loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ loc.setModiTime(new Date());
+ if (!locMastService.updateById(loc)) {
+ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException("绉昏浆澶辫触");
+ }
+
+ }
}
--
Gitblit v1.9.1