From b20f26652b83b3cee96451f61b3092e53c1b3d55 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 14 八月 2024 20:34:50 +0800
Subject: [PATCH] 合格品校验
---
src/main/java/com/zy/common/service/CommonService.java | 78 +++++++++++++++++++++------------------
1 files changed, 42 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 67550c8..48928ae 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -17,7 +17,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
/**
* 璐ф灦鏍稿績鍔熻兘
@@ -119,20 +122,11 @@
* 鍙屾繁鎵惧簱浣�
*/
@Transactional
- public StartupDto getLocNo(Integer staDescId, Integer sourceStaNo,LocTypeDto locTypeDto) {
-
- // 鐩爣搴撲綅
+ public StartupDto getLocNo(Integer staDescId, Integer sourceStaNo,LocTypeDto locTypeDto,int times) {
LocMast locMast;
-// // 鎼滅储绌烘墭
-// locMast = getLocNoStep4(staDescId, sourceStaNo);
-// if (locMast != null) {
-// //鎵惧埌搴撲綅锛岃繑鍥瀌to
-// return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
-// }
-
- //鎼滅储鏁翠釜绌哄簱浣嶇粍
locMast = getLocNoStepSingle(locTypeDto);
+
if (locMast != null) {
//鎵惧埌搴撲綅锛岃繑鍥瀌to
return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
@@ -141,37 +135,49 @@
//鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父
throw new CoolException("娌℃湁绌哄簱浣�");
}
+
// 鎼滅储鍗曞搧(鏁翠釜搴撲綅缁�)
private LocMast getLocNoStepSingle(LocTypeDto locTypeDto) {
+
LocMast locMast = null;
- //鍗曞搧
- List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1());//鎼滅储璐х墿
+ // 鑾峰彇妯″紡涓虹數鑴戞ā寮忥紝鏃犱换鍔$殑鍫嗗灈鏈哄垪琛�:闃叉鍒嗛厤鍒板爢鍨涙満涓嶅彲鐢�
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3)
+ .eq("wrk_no",0));
+ if (basCrnps.isEmpty()) {
+ // 閮芥湁浠诲姟鍒欒幏鍙栫數鑴戞ā寮忕殑鍫嗗灈鏈哄垪琛�
+ basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3));
+ }
+ if (basCrnps.isEmpty()) {
+ throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父");
+ }
+ // 鍙敤鍫嗗灈鏈哄垪琛�
+ List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList());
+
+ // 鎼滅储娣卞簱浣�
+ 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"));
+
+ // 娣卞簱浣嶆病鏈夊垯鎼滅储娴呭簱浣�
+ 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()) {
+ throw new CoolException("娌℃湁鍙敤搴撲綅");
+ }
+
+ // 璁板綍鍫嗗灈鏈烘槸鍚︽煡璇㈣繃锛岄伩鍏嶉噸澶嶆煡璇�
+ Map<Integer,Boolean> crnMap = new HashMap<>();
for (LocMast mast : locMasts) {
- List<String> groupLoc = Utils.getGroupLocNo(mast.getLocNo(), true);
-// if (!locMastService.checkAllLocEmpty(groupLoc)) {
-// continue;
-// }
-
- LocMast tmp = null;
- for (String loc : groupLoc) {
- LocMast locMast1 = locMastService.selectByLoc(loc);
- if (locMast1 == null) {
- continue;
+ if (crnMap.get(mast.getCrnNo()) == null) {
+ //棰勭暀绌哄簱浣�
+ if (locMastService.checkEmptyCount(mast, 10)) {
+ locMast = mast;
+ break;
+ } else {
+ crnMap.put(mast.getCrnNo(),true);
}
-
- if (!locMast1.getLocSts().equals("O")) {
- continue;
- }
-
- tmp = locMast1;
- break;
- }
-
- //棰勭暀绌哄簱浣�
- if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
- locMast = tmp;
- break;
}
}
--
Gitblit v1.9.1