|  |  | 
 |  |  | import org.springframework.stereotype.Component; | 
 |  |  |  | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.Collections; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |     }}; | 
 |  |  |  | 
 |  |  |     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}); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  | // 按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")){ | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @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")){ | 
 |  |  | 
 |  |  |                             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")); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             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")){ | 
 |  |  | 
 |  |  |         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; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |