From f6e17ebcf5e66b590391e13595968b7e05a7f966 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 28 十月 2025 19:08:22 +0800
Subject: [PATCH] *待判接口开发
---
src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 157 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java b/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java
index 18521d3..2ae4d46 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastStaInIt2Scheduler.java
@@ -13,6 +13,7 @@
import org.springframework.stereotype.Component;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -60,13 +61,32 @@
}};
public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
- add(120);add(121);add(122);add(123);
+ add(120);add(121);add(122);add(123);add(171);
}};
-// @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
private void execute(){
+ RgvOneSign rgvTwoSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","rgvTwo"));
+ if (Cools.isEmpty(rgvTwoSign) || rgvTwoSign.getRgvOneSign()!=0){
+ return;
+ }
+ List<Integer> integersStaArr = new ArrayList<>();
+ List<int[]> stalistArr = new ArrayList<>();
for(Integer staNo : STA_WORK_CU){
+ Integer crnNo = getCrnNo(staNo);
+ int selectCount = wrkMastService.selectCount(
+ new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("wrk_sts", 11L));
+ stalistArr.add(new int[]{staNo, selectCount});
+ }
+
+// 鎸塻electCount闄嶅簭鎺掑簭锛堟渶澶х殑鎺掔涓�浣嶏級
+ Collections.sort(stalistArr, (a, b) -> b[1] - a[1]); // 闄嶅簭鎺掑垪
+// 濡傛灉鎮ㄩ渶瑕佽浆涓烘暟缁勶紙鍙�夛級
+ for (int[] staNowArr : stalistArr){
+ integersStaArr.add(staNowArr[0]);
+ }
+ for(Integer staNo : integersStaArr){
try{
BasDevp basDevp = basDevpService.selectById(staNo);
if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -139,10 +159,26 @@
}
}
-// @Scheduled(cron = "0/3 * * * * ? ")
+ @Scheduled(cron = "0/1 * * * * ? ")
private void execute2(){
+ RgvOneSign rgvTwoSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","rgvTwo"));
+ if (Cools.isEmpty(rgvTwoSign) || rgvTwoSign.getRgvOneSign()!=0){
+ return;
+ }
try{
+ List<Integer> integersStaArr = new ArrayList<>();
+ List<int[]> stalistArr = new ArrayList<>();
for(Integer staNo : STA_WORK_CU){
+ Integer crnNo = getCrnNo(staNo);
+ int selectCount = wrkMastService.selectCount(
+ new EntityWrapper<WrkMast>().eq("crn_no", crnNo).eq("wrk_sts", 11L));
+ stalistArr.add(new int[]{staNo, selectCount});
+ }
+ Collections.sort(stalistArr, (a, b) -> b[1] - a[1]);
+ for (int[] staNowArr : stalistArr){
+ integersStaArr.add(staNowArr[0]);
+ }
+ for(Integer staNo : integersStaArr){
try{
BasDevp basDevp = basDevpService.selectById(staNo);
if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -168,8 +204,93 @@
continue;
}
BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo());
- if (!basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
+ if (!basDevpEnd.getAutoing().equals("Y")){
continue;
+ }
+ if (basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
+ if (basDevpEnd.getWrkNo()!=0 && basDevpEnd.getLoading().equals("Y") && basDevpEnd.getReportSign()!=0){
+ WrkMast wrkMastEnd = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpEnd.getWrkNo()));
+ if (Cools.isEmpty(wrkMastEnd) || wrkMastEnd.getIoType()!=101 || Cools.isEmpty(wrkMastEnd.getSheetNo()) || wrkMastEnd.getSheetNo().equals("0")){
+ continue;
+ }
+ if (wrkMast.getStaNo()==121){
+ BasDevp basDevpEnd120 = basDevpService.selectById(120);
+ if (Cools.isEmpty(basDevpEnd120)){
+ continue;
+ }
+ if (basDevpEnd120.getAutoing().equals("Y")){
+ if (basDevpEnd120.getLoading().equals("N")){
+ boolean signQQ = false;
+ for (Integer staNoQQ : STA_WORK_CU){
+ BasDevp basDevpEndQQ = basDevpService.selectById(staNoQQ);
+ if (!Cools.isEmpty(basDevpEndQQ) && basDevpEndQQ.getWrkNo()!=0){
+ WrkMast wrkMastEndQQ = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpEndQQ.getWrkNo()));
+ if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==101){
+ signQQ = true;
+ break;
+ }
+ if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==103){
+ List<WrkDetl> wrkDetlsQQ = wrkDetlService.selectByWrkNo(wrkMastEndQQ.getWrkNo());
+ for (WrkDetl wrkDetlQQ: wrkDetlsQQ){
+ String originQQ = wrkDetlQQ.getOrigin();
+ if (originQQ.equals("2")){
+ signQQ = true;
+ break;
+ }
+ }
+ if (signQQ){
+ break;
+ }
+ }
+ }
+ }
+ if (signQQ){
+ continue;
+ }
+ }
+ }
+ }
+
+ if (wrkMast.getStaNo()==120){
+ BasDevp basDevpEnd121 = basDevpService.selectById(121);
+ if (Cools.isEmpty(basDevpEnd121)){
+ continue;
+ }
+ if (basDevpEnd121.getAutoing().equals("Y")){
+ if (basDevpEnd121.getLoading().equals("N")){
+ boolean signQQ = false;
+ for (Integer staNoQQ : STA_WORK_CU){
+ BasDevp basDevpEndQQ = basDevpService.selectById(staNoQQ);
+ if (!Cools.isEmpty(basDevpEndQQ) && basDevpEndQQ.getWrkNo()!=0){
+ WrkMast wrkMastEndQQ = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpEndQQ.getWrkNo()));
+ if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==101){
+ signQQ = true;
+ break;
+ }
+ if (!Cools.isEmpty(wrkMastEndQQ) && wrkMastEndQQ.getIoType()==103){
+ List<WrkDetl> wrkDetlsQQ = wrkDetlService.selectByWrkNo(wrkMastEndQQ.getWrkNo());
+ for (WrkDetl wrkDetlQQ: wrkDetlsQQ){
+ String originQQ = wrkDetlQQ.getOrigin();
+ if (originQQ.equals("1")){
+ signQQ = true;
+ break;
+ }
+ }
+ if (signQQ){
+ break;
+ }
+ }
+ }
+ }
+ if (signQQ){
+ continue;
+ }
+ }
+ }
+ }
+ } else {
+ continue;
+ }
}
if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
@@ -213,7 +334,7 @@
}
}
- for(Integer staNo : STA_WORK_CU){
+ for(Integer staNo : integersStaArr){
try{
BasDevp basDevp = basDevpService.selectById(staNo);
if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
@@ -313,4 +434,35 @@
return false;
}
+ public Integer getCrnNo(Integer staNo){
+ switch (staNo){
+ case 100:
+ case 101:
+ case 102:
+ return 1;
+ case 103:
+ case 104:
+ case 105:
+ return 2;
+ case 106:
+ case 107:
+ case 108:
+ return 3;
+ case 109:
+ case 110:
+ case 111:
+ return 4;
+ case 112:
+ case 113:
+ case 114:
+ return 5;
+ case 115:
+ case 116:
+ case 117:
+ return 6;
+ default:
+ return 0;
+ }
+ }
+
}
--
Gitblit v1.9.1