From 2cf3d9466adbeca29221974cb76f649e3cfddaa8 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期二, 29 七月 2025 15:58:51 +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