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/WrkMastStaInItScheduler.java | 127 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 116 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
index eb36dc9..8ae4cea 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -13,6 +13,7 @@
import org.springframework.stereotype.Component;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -41,11 +42,12 @@
public static final List<Integer> STA_WORK_CU = new ArrayList<Integer>() {{
- add(101);add(102);add(104);add(105);add(107);add(108);add(110);add(111);add(113);add(114);add(116);add(117);
+ add(101);add(102);add(104);add(105);add(107);add(108);add(110);add(111);add(113);add(114);
}};
+// add(116);add(117);
public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{
- add(118);add(119);add(120);add(121);
+ add(118);add(120);add(121);
}};
public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{
@@ -55,20 +57,42 @@
add(118);add(120);
}};
public static final List<Integer> STA_WORK_CU_CAR_FOUR = new ArrayList<Integer>() {{
- add(119);add(121);
+ add(121);add(118);
}};
public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
- add(118);add(119);add(120);add(121);add(122);add(123);
+ add(118);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()!=2){
+ 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});
+ }
+ 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")){
+ if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
+ if (!basDevp.getLoadingSuper().equals("Y")){
+ continue;
+ }
+ }
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
if(Cools.isEmpty(wrkMast)){
continue;
@@ -111,7 +135,7 @@
for(Integer staNo : STA_WORK_RU){
try{
BasDevp basDevp = basDevpService.selectById(staNo);
- if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
+ if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getLoadingSuper().equals("Y") && basDevp.getAutoing().equals("Y")){
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
if (Cools.isEmpty(wrkMast)){
continue;
@@ -138,13 +162,34 @@
}
}
- @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()!=2){
+ 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")){
+ if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
+ if (!basDevp.getLoadingSuper().equals("Y")){
+ continue;
+ }
+ }
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
if(Cools.isEmpty(wrkMast)){
continue;
@@ -170,6 +215,11 @@
if (!basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
continue;
}
+ if (basDevpEnd.getDevNo()>117 && basDevpEnd.getDevNo()<124){
+ if (basDevpEnd.getLoadingSuper().equals("Y")){
+ continue;
+ }
+ }
if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
if (rgvOneSign.getRgvOneSign()==1){
@@ -178,7 +228,7 @@
}
if (wrkMast.getIoType()!=101){
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- if (wrkDetls.size()!=0){
+ if (!Cools.isEmpty(wrkDetls) && !wrkDetls.isEmpty()){
String origin = wrkDetls.get(0).getOrigin();
if (origin.equals("1")){
if (!STA_WORK_CU_CAR_FOUR.contains(wrkMast.getStaNo())){
@@ -212,10 +262,15 @@
}
}
- 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")){
+ if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){
+ if (!basDevp.getLoadingSuper().equals("Y")){
+ continue;
+ }
+ }
List<Integer> STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR;
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
if(Cools.isEmpty(wrkMast)){
@@ -233,9 +288,10 @@
}
String origin = null;
boolean sign = false;
+ boolean sign101 = false;
if (wrkMast.getIoType()!=101){
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- if (wrkDetls.size()!=0){
+ if (!Cools.isEmpty(wrkDetls) && !wrkDetls.isEmpty()){
origin = wrkDetls.get(0).getOrigin();
if (origin.equals("1")){
if (!STA_WORK_CU_CAR_FOUR.contains(wrkMastStaNo)){
@@ -250,6 +306,8 @@
log.error("鏈煡璇㈠埌宸ヤ綔鏄庣粏");
continue;
}
+ }else {
+ sign101 = true;
}
int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo));
if (count!=0){
@@ -265,11 +323,22 @@
}
BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo);
+ if (Cools.isEmpty(basDevpEnd)){
+ sign = true;
+ }
+ if (!sign && basDevpEnd.getDevNo()>117 && basDevpEnd.getDevNo()<124){
+ if (basDevpEnd.getLoadingSuper().equals("Y")){
+ sign = true;
+ }
+ }
if (sign || !basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0) {
for (Integer staNoOther : STA_WORK_CU_CAR_NOW) {
if (staNoOther.equals(wrkMastStaNo)) continue;
- if (sign){
+ if (sign && !sign101){
+ if (Cools.isEmpty(origin)){
+ continue;
+ }
if (origin.equals("1")){
if (!STA_WORK_CU_CAR_FOUR.contains(staNoOther)){
continue;
@@ -288,6 +357,11 @@
BasDevp basDevpOther = basDevpService.selectById(staNoOther);
if (!basDevpOther.getAutoing().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) {
continue;
+ }
+ if (basDevpOther.getDevNo()>117 && basDevpOther.getDevNo()<124){
+ if (basDevpOther.getLoadingSuper().equals("Y")){
+ continue;
+ }
}
wrkMast.setStaNo(staNoOther);
wrkMastService.updateById(wrkMast);
@@ -312,4 +386,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