From 0467c8f9c2f3604ddd6e7e3a0372ce0fbaa46dff Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期六, 14 三月 2026 13:58:32 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java | 16 +++++++
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 12 +++---
src/main/java/com/zy/common/web/WcsController.java | 2
src/main/java/com/zy/common/service/CommonService.java | 34 +++++++++++++++--
4 files changed, 52 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
index 968cd42..f00ac7f 100644
--- a/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
@@ -100,8 +100,9 @@
list.add(dto);
}
}
+
//涓嬪彂鐨勮鍗曟槑缁嗭紝鏌ョ湅搴撳瓨鏄惁鏈夎冻澶熺殑搴撳瓨锛屾帓闄ゆ満鍙扮殑搴撲綅
- for (DetlDto detail : list) {
+ for (DetlDto detail : list) {
List<LocDetl> matnr = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", detail.getMatnr()));
Double count=0.0;
for (LocDetl detl : matnr) {
@@ -116,6 +117,19 @@
if (count<detail.getAnfme()) {
return R.error("鐗╂枡="+detail.getMatnr()+"搴撳瓨涓嶈冻鏃犳硶鐢熸垚璁㈠崟");
}
+ //鏈哄彴鏈夊喕缁撴椂绂佹鍛煎彨鐗╂枡
+ BasDevice basDevice = basDeviceService.selectOne(new EntityWrapper<BasDevice>()
+ .eq("status", 1)
+ .eq("dev_no", detail.getStandby1()));
+ if (Objects.isNull(basDevice)) {
+ return R.error(detail.getStandby1()+"鏈哄彴淇℃伅涓嶅瓨鍦ㄦ垨宸茬鐢紒锛�");
+ }
+ List<LocAroundBind> binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>()
+ .eq("dev_no", basDevice.getType())
+ .eq("freeze", 1));
+ if (!Cools.isEmpty(binds)) {
+ return R.error(detail.getStandby1()+"鏈哄彴琚喕缁撴棤娉曞懠鍙墿鏂�");
+ }
}
// 鍗曟嵁涓绘。
order = new OrderPakout(
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 4ce13b4..c446587 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -103,12 +103,12 @@
markPublishError(wrkMast.getWrkNo(), String.valueOf("鐩爣搴撲綅琚喕缁�"));
continue;
}
-// Integer crnNo = wrkMast.getCrnNo();
-// //璇ュ爢鍨涙満宸茬粡涓嬪彂浠诲姟缁檞cs鍚庝笉鍐嶄笅鍙戞柊鐨勬惉杩愪换鍔�
-// List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("wrk_sts", Arrays.asList(2L, 12L)));
-// if (!wrkMasts1.isEmpty()) {
-// continue;
-// }
+ Integer crnNo = wrkMast.getCrnNo();
+ //璇ュ爢鍨涙満宸茬粡涓嬪彂浠诲姟缁檞cs鍚庝笉鍐嶄笅鍙戞柊鐨勬惉杩愪换鍔�
+ List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("wrk_sts", Arrays.asList(12L)));
+ if (!wrkMasts1.isEmpty()) {
+ continue;
+ }
//婧愬簱浣嶄负鍐荤粨搴撲綅鏃剁姝笅鍙戞惉杩愪换鍔$粰鍫嗗灈鏈�
if (!Cools.isEmpty(wrkMast.getSourceLocNo())) {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 845ecd9..3131f1a 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -216,7 +216,7 @@
int sRow = rowLastno.getsRow();
int eRow = rowLastno.geteRow();
int crnNumber = rowLastno.getCrnQty();
-
+ int sCrnNo= rowLastno.getsCrnNo()!=null?rowLastno.getsCrnNo():1;
// ===============>>>> 寮�濮嬫墽琛�
curRow = rowLastno.getCurrentRow();
@@ -229,11 +229,15 @@
curRow = moveCrnNo * 4 - 2;
}
}
-
+ log.info("\ncurRow:\n{}",curRow);
//姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
for (int i = times; i < crnNumber * 2; i++) {
+ log.info("\ni:\n{}",i);
+ log.info("\ntimes:\n{}",times);
+ log.info("\ncrnNumber:\n{}",crnNumber);
int[] locNecessaryParameters = Utils.LocNecessaryParameters(rowLastno, curRow, crnNumber);
crnNo = locNecessaryParameters[2];
+ log.info("\ncrnNo:\n{}",crnNo);
if (basCrnpService.checkSiteError(crnNo, true)) {
nearRow = locNecessaryParameters[3];
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
@@ -242,7 +246,9 @@
.eq("frozen", 0)
.eq("deleted", 0)
.eq("whs_type", rowLastnoType.getType().longValue()));
- int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
+// log.info("\nlocMasts:\n{}",locMasts);
+ int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
+ .eq("crn_no", crnNo).le("io_type", 100));
if (locMasts.size() - crnCountO <= 2) {
if(curRow+2==7){
@@ -254,6 +260,20 @@
}
break;
} else {
+// curRow = crnNo +2;// crnNo=3 curRow=5
+// if (curRow == 9||curRow==10) {
+// curRow = 1;
+// }
+
+ int nextCrnNo=crnNo + 1;//涓嬩竴涓爢鍨涙満鍙�
+ if(nextCrnNo> sCrnNo+crnNumber-1){//涓嬩竴鍙板ぇ浜�
+ nextCrnNo=sCrnNo;
+ }
+ if(nextCrnNo==sCrnNo){
+ curRow=0;
+ }else {
+ curRow = sRow + (nextCrnNo - sCrnNo) * 4;
+ }
times++;
}
}
@@ -266,6 +286,7 @@
BasDevp staNo = null;
if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) {
+ int selectedCrnNo=crnNo;
// 鑾峰彇鐩爣绔�
wrapper = new EntityWrapper<StaDesc>()
.eq("type_no", staDescId)
@@ -287,7 +308,12 @@
}
// 鏇存柊搴撲綅鎺掑彿
if (Cools.isEmpty(locMast)) {
- rowLastno.setCurrentRow(curRow);
+ int crnNoForRotation=crnNo!=0?crnNo:selectedCrnNo;
+ int nextCrnNoAfterSuccess=(crnNoForRotation>=sCrnNo+crnNumber-1?sCrnNo:crnNoForRotation+1);
+ int curRowToSave = (nextCrnNoAfterSuccess==sCrnNo)?0:sRow+(nextCrnNoAfterSuccess-sCrnNo)*4;
+
+ rowLastno.setCurrentRow(curRowToSave);
+ log.info("\ncurRowToSave:\n{}",curRowToSave);
rowLastnoService.updateById(rowLastno);
}
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 1124064..73510d7 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -104,7 +104,7 @@
String s = Utils.WMSLocToWCSLoc(wrkMast1.getLocNo());
dto1.setLocNo(s);
dto1.setCrnNo(wrkMast1.getCrnNo());
- dto1.setWorkNo(wrkMast1.getWrkNo());
+ dto1.setTaskNo(wrkMast1.getWrkNo());
dto1.setTaskPri((int) Math.round(wrkMast1.getIoPri()));
return R.ok(dto1);
}
--
Gitblit v1.9.1