From e012a72a5660566d698c93ca4f29b6e5ffe997b0 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 29 十月 2025 16:47:35 +0800
Subject: [PATCH] 3077,3106只有合格能出,2041 只有待判能出
---
src/main/java/com/zy/common/service/CommonService.java | 54 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 45 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 48928ae..c269c0f 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -12,11 +12,14 @@
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.StartupDto;
import com.zy.common.properties.SlaveProperties;
+import com.zy.system.entity.Config;
+import com.zy.system.mapper.ConfigMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -48,6 +51,9 @@
private LocDetlService locDetlService;
@Autowired
private SlaveProperties slaveProperties;
+
+ @Resource
+ private ConfigMapper configMapper;
/**
* 鐢熸垚宸ヤ綔鍙�
@@ -143,36 +149,61 @@
// 鑾峰彇妯″紡涓虹數鑴戞ā寮忥紝鏃犱换鍔$殑鍫嗗灈鏈哄垪琛�:闃叉鍒嗛厤鍒板爢鍨涙満涓嶅彲鐢�
List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3)
- .eq("wrk_no",0));
+ .eq("wrk_no",0).eq("in_enable","Y"));
if (basCrnps.isEmpty()) {
// 閮芥湁浠诲姟鍒欒幏鍙栫數鑴戞ā寮忕殑鍫嗗灈鏈哄垪琛�
- basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3));
+ basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3).eq("in_enable","Y"));
}
if (basCrnps.isEmpty()) {
- throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父");
+ throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父鎴栫鐢�");
}
// 鍙敤鍫嗗灈鏈哄垪琛�
List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList());
+ // 鑾峰彇澶囪揣鍖洪厤缃�
+ Config config = configMapper.selectConfigByCode("auto_stock_up");
+ if (config == null) {
+ throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖洪厤缃敊璇紒锛侊紒");
+ }
+
+ // 鍓嶅嚑鍒楁槸澶囪揣鍖�
+ int columnNum = Integer.parseInt(config.getValue());
+
// 鎼滅储娣卞簱浣�
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","1,4,5,8,9,12,13,16,17,20,21,24").orderBy("lev1,bay1,row1"));
+ .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","1,4,5,8,9,12,13,16,17,20,21,24").orderBy("lev1,bay1,row1")
+ .gt("bay1",columnNum));
// 娣卞簱浣嶆病鏈夊垯鎼滅储娴呭簱浣�
- if (locMasts.isEmpty()) {
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","2,3,6,7,10,11,14,15,18,19,22,23").orderBy("lev1,bay1,row1"));
- }
+// if (locMasts.isEmpty()) {
+ List<LocMast> locMasts2 = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("loc_sts","O").in("crn_no",crnNoList).in("row1","2,3,6,7,10,11,14,15,18,19,22,23").orderBy("lev1,bay1,row1")
+ .gt("bay1",columnNum));
+ if(!locMasts2.isEmpty()) {
+ locMasts.addAll(locMasts2);
+ }
+// }
if (locMasts.isEmpty()) {
throw new CoolException("娌℃湁鍙敤搴撲綅");
}
-
+ // 娴呭簱浣�
+ String[] split = "02,03,06,07,10,11,14,15,18,19,22,23".split(",");
// 璁板綍鍫嗗灈鏈烘槸鍚︽煡璇㈣繃锛岄伩鍏嶉噸澶嶆煡璇�
Map<Integer,Boolean> crnMap = new HashMap<>();
for (LocMast mast : locMasts) {
if (crnMap.get(mast.getCrnNo()) == null) {
//棰勭暀绌哄簱浣�
if (locMastService.checkEmptyCount(mast, 10)) {
+ Integer row1 = mast.getRow1();
+ if(slaveProperties.getDoubleLocs().contains(row1)){
+ // 鍙栨祬搴撲綅
+ String s = split[slaveProperties.getDoubleLocs().indexOf(row1)];
+ LocMast locMast1 = locMastService.selectById(s + mast.getLocNo().substring(2));
+ if(locMast1 != null && !locMast1.getLocSts().equals("O")) {
+ log.warn("鍏ュ簱鍒嗛厤搴撲綅锛歿}锛屽搴旀祬搴撲綅{}涓嶄负绌猴細{}",mast.getLocNo(),locMast1.getLocNo(),locMast1.getLocSts());
+ continue;
+ }
+ }
locMast = mast;
break;
} else {
@@ -181,6 +212,11 @@
}
}
+ if (locMast == null) {
+ log.error("鍏ュ簱璇锋眰搴撲綅涓嶈冻锛屽墿浣欏簱浣嶄笉瓒�/涓嶆弧瓒冲叆搴撴潯浠�");
+ throw new CoolException("鍏ュ簱璇锋眰搴撲綅涓嶈冻锛屽墿浣欐暟閲忎笉瓒�/涓嶆弧瓒冲叆搴撴潯浠�");
+ }
+
return locMast;
}
--
Gitblit v1.9.1