From 9856aeef001d66e34a11b98c58ee9722ab887dab Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 29 八月 2022 08:56:27 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 127 +++++++++++-------------------------------
1 files changed, 33 insertions(+), 94 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 e9577be..e49c04f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -99,6 +99,7 @@
wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
@@ -197,6 +198,14 @@
Integer ioType = null;
// 鐢熸垚宸ヤ綔妗�
for (OutLocDto dto : dtos) {
+ // 濡傛灉涓烘繁搴撲綅锛屼笖瀵瑰簲娴呭簱浣嶄负X.绂佺敤锛屽垯鐣ヨ繃姝ゅ簱浣�
+ if (Utils.isDeepLoc(slaveProperties, dto.getLocNo())) {
+ String shallowLoc = Utils.getShallowLoc(slaveProperties, dto.getLocNo());
+ if (locMastService.selectById(shallowLoc).getLocSts().equals("X")) {
+ continue;
+ }
+ }
+
// 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
if (ioWorkType == null) {
ioType = dto.isAll() ? 101 : 103;
@@ -217,6 +226,7 @@
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false)?1:0);;
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -291,6 +301,7 @@
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo(), false)?1:0);;
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -314,6 +325,10 @@
OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
if (orderDetl == null) {
orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ }
+ LocDetl locDetl = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch());
+ if (locDetl == null || locDetl.getAnfme() < locDto.getAnfme()) {
+ throw new CoolException(locDto.getLocNo() + "搴撲綅涓�" + locDto.getMatnr() + "鍟嗗搧搴撳瓨涓嶈冻锛�");
}
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(orderDetl);
@@ -366,6 +381,7 @@
wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
wrkMast.setIoPri(10D); // 浼樺厛绾э細10
+ wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);;
wrkMast.setCrnNo(dto.getCrnNo());
wrkMast.setSourceStaNo(dto.getSourceStaNo());
wrkMast.setStaNo(dto.getStaNo());
@@ -414,6 +430,13 @@
throw new CoolException("绔欑偣涓嶅瓨鍦�");
}
for (String locNo : param.getLocNos()) {
+ // 濡傛灉涓烘繁搴撲綅锛屼笖瀵瑰簲娴呭簱浣嶄负X.绂佺敤锛屽垯鐣ヨ繃姝ゅ簱浣�
+ if (Utils.isDeepLoc(slaveProperties, locNo)) {
+ String shallowLoc = Utils.getShallowLoc(slaveProperties, locNo);
+ if (locMastService.selectById(shallowLoc).getLocSts().equals("X")) {
+ continue;
+ }
+ }
// 鑾峰彇宸ヤ綔鍙�
int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
// 鑾峰彇搴撲綅
@@ -440,6 +463,7 @@
wrkMast.setIoPri(10D);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
+ wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -512,6 +536,7 @@
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
wrkMast.setIoPri(10D);
+ wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);;
wrkMast.setCrnNo(sourceLoc.getCrnNo());
wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
@@ -575,15 +600,15 @@
if (Cools.isEmpty(wrkMast)){
throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+ if (wrkMast.getWrkSts() == 9 || wrkMast.getWrkSts() == 17) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
- if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
- wrkMast.setWrkSts(4L);
- // 鍑哄簱
+ if (wrkMast.getWrkSts() < 9 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+ wrkMast.setWrkSts(9L);
+ // 鍑哄簱
} else if (wrkMast.getWrkSts() > 10) {
- wrkMast.setWrkSts(14L);
+ wrkMast.setWrkSts(17L);
}
Date now = new Date();
wrkMast.setCrnStrTime(DateUtils.calculate(now, 1L, TimeUnit.SECONDS, true));
@@ -886,96 +911,10 @@
@Override
@Transactional
public String dealPreHaveStart(Integer wrkNo, Long userId) {
- WrkMast wrkMast = wrkMastService.selectById(wrkNo);
- if (wrkMast == null) {
- throw new CoolException("浠诲姟宸插け鏁�");
+ if (true) {
+ throw new CoolException("鍔熻兘鍋滅敤");
}
- String locNo = wrkMast.getLocNo();
- LocMast locMast = locMastService.selectById(locNo);
- assert locMast != null;
- RowLastno rowLastno = rowLastnoService.findBySection(locMast.getRow1());
- assert rowLastno != null;
-
- // 鐩爣搴撲綅
- LocMast targetLoc = null;
-
- for (int curRow = rowLastno.getsRow(); curRow<=rowLastno.geteRow(); curRow++) {
-
- if (Utils.isShallowLoc(slaveProperties, curRow)) {
- Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
- targetLoc = locMastService.queryFreeLocMast(deepRow, locMast.getLocType1());
- // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
- if (!locMastService.checkEmptyCount(targetLoc)) {
- continue;
- }
- }
- if (Cools.isEmpty(targetLoc)) {
- targetLoc = locMastService.queryFreeLocMast(curRow, locMast.getLocType1());
- // 鍥犲簱浣嶇Щ杞�侀渶棰勭暀绌哄簱浣�
- if (!locMastService.checkEmptyCount(targetLoc)) {
- continue;
- }
- // 鐩爣搴撲綅 ===>> 娴呭簱浣嶏紝 鍒欐牎楠屽叾娣卞簱浣嶆槸鍚︿负 F D X
- if (null != targetLoc && Utils.isShallowLoc(slaveProperties, targetLoc.getLocNo())) {
- LocMast deepLoc = locMastService.selectById(Utils.getDeepLoc(slaveProperties, targetLoc.getLocNo()));
- if (!deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("X")) {
- continue;
- }
- }
- // 鐩爣搴撲綅 ===>> 娣卞簱浣嶏紝 鍒欐牎楠屽叾娴呭簱浣嶆槸鍚︿负 O
- if (null != targetLoc && Utils.isDeepLoc(slaveProperties, targetLoc.getLocNo())) {
- LocMast shallowLoc = locMastService.selectById(Utils.getShallowLoc(slaveProperties, targetLoc.getLocNo()));
- if (!shallowLoc.getLocSts().equals("O")) {
- continue;
- }
- }
- }
-
- if (!Cools.isEmpty(targetLoc)) {
- break;
- }
-
- }
-
- if (targetLoc == null) {
- throw new CoolException("鎿嶄綔澶辫触锛屽綋鍓嶄粨搴撴壘涓嶅埌绌哄簱浣�");
- }
-
- Date now = new Date();
- // 淇敼宸ヤ綔妗�
- StaDesc staDesc = staDescService.queryCrnStn(targetLoc.getCrnNo());
- if (Cools.isEmpty(staDesc)) {
- throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
- }
- wrkMast.setWrkSts(2L);
- wrkMast.setLocNo(targetLoc.getLocNo());
- wrkMast.setStaNo(staDesc.getCrnStn());
- wrkMast.setCrnNo(targetLoc.getCrnNo());
- wrkMast.setModiTime(now);
- wrkMast.setModiUser(userId);
- wrkMast.setPreHave("N");
- if (!wrkMastService.updateById(wrkMast)) {
- throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
- }
- // 淇敼搴撲綅鐘舵�� O ===>>> S
- if (targetLoc.getLocSts().equals("O")){
- targetLoc.setLocSts("S"); // S.鍏ュ簱棰勭害
- targetLoc.setModiUser(userId);
- targetLoc.setModiTime(now);
- if (!locMastService.updateById(targetLoc)){
- throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
- }
- } else {
- throw new CoolException(targetLoc.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
- }
- // 绂佺敤寮傚父搴撲綅
-// locMast.setLocSts("X"); // X.绂佺敤
-// locMast.setModiUser(userId);
-// locMast.setModiTime(now);
-// if (!locMastService.updateById(locMast)){
-// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
-// }
- return targetLoc.getLocNo();
+ return "";
}
}
--
Gitblit v1.9.1