From d60e84cbedb554555578f071de95c4a8049183db Mon Sep 17 00:00:00 2001 From: yxFwq <1> Date: 星期五, 13 六月 2025 15:16:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 144 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java index 13b8b2c..bfc361e 100644 --- a/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java +++ b/src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java @@ -7,6 +7,7 @@ import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.WrkMastCrnHandler; import com.zy.asrs.task.handler.WrkMastStaInItHandler; +import com.zy.asrs.utils.Utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -14,16 +15,18 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** * Created by Monkey D. Luffy on 2023.07.25 - * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鑷姩琛ョ┖鏉� + * 浜冲窞鐓滄槦..............浠ヤ笅.............浜冲窞鐓滄槦.............宸﹀彸鍙屽伐浣嶅爢鍨涙満鎵ц浠诲姟鐢熸垚 */ @Component public class WrkMastCrnScheduler { private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); +// private static Integer signSmallTurn = 0; @Autowired private WrkMastCrnHandler wrkMastCrnHandler; @@ -42,45 +45,161 @@ @Autowired private WrkMastCrnService wrkMastCrnService; - public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{ + public static final List<Integer> CRN_WORK_RU = new ArrayList<Integer>() {{ add(153);add(145); + }}; + + public static final List<Integer> CRN_WORK_CU = new ArrayList<Integer>() {{ + add(100);add(148); + }}; + public static final List<Integer> CRN_WORK_CU_SMA = new ArrayList<Integer>() {{ + add(126);add(131); }}; @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ - for(Integer staNo : STA_WORK_RU){ - BasDevp basDevp = basDevpService.selectById(staNo); - if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y") && basDevp.getInEnable().equals("Y")){ - WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); - if(Cools.isEmpty(wrkMast)){ - continue; - } - if (wrkMast.getWrkSts()!=2){ - continue; - } - WrkMastCrn wrkMastCrn = wrkMastCrnService.selectOne(new EntityWrapper<WrkMastCrn>().eq("wrk_no", wrkMast.getWrkNo())); - if (Cools.isEmpty(wrkMastCrn)){ - BasDevp basDevpOther = basDevpService.selectById(staNoOther(staNo)); - if (basDevpOther.getWrkNo()!=0 && basDevpOther.getLoading().equals("Y") && basDevpOther.getAutoing().equals("Y") && basDevpOther.getInEnable().equals("Y")){ - WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpOther.getWrkNo())); - if(Cools.isEmpty(wrkMastOther)){ + try{ + for(Integer staNo : CRN_WORK_RU){ + List<WrkMastCrn> wrkMastCrnList = wrkMastCrnService.selectList(new EntityWrapper<WrkMastCrn>().eq("sta_no", staNo)); + if (Cools.isEmpty(wrkMastCrnList)){ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y") && basDevp.getInEnable().equals("Y")){ + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if(Cools.isEmpty(wrkMast)){ continue; } - if (wrkMastOther.getWrkSts()!=2){ + if (wrkMast.getWrkSts()!=2){ continue; } - if (!Cools.isEmpty(wrkMast)){ - ReturnT<String> result = wrkMastCrnHandler.start(wrkMast,wrkMastOther); - if (result.getCode()==200){ - continue; - }else { - System.out.println(staNo+"澶辫触锛�"); + WrkMastCrn wrkMastCrn = wrkMastCrnService.selectOne(new EntityWrapper<WrkMastCrn>().eq("wrk_no", wrkMast.getWrkNo())); + if (Cools.isEmpty(wrkMastCrn)){ + BasDevp basDevpOther = basDevpService.selectById(staNoOther(staNo)); + if (basDevpOther.getWrkNo()!=0 && basDevpOther.getLoading().equals("Y") && basDevpOther.getAutoing().equals("Y") && basDevpOther.getInEnable().equals("Y")){ + WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevpOther.getWrkNo())); + if(Cools.isEmpty(wrkMastOther)){ + continue; + } + if (wrkMastOther.getWrkSts()!=2){ + continue; + } + if (!Cools.isEmpty(wrkMast)){ + ReturnT<String> result = wrkMastCrnHandler.start(wrkMast,wrkMastOther); + if (result.getCode()!=200){ + System.out.println(staNo+"澶辫触锛�"); + } + } } } } } } + }catch (Exception e){ + log.error("宸﹀彸鍙屽伐浣嶅爢鍨涙満鎵ц浠诲姟鐢熸垚====銆嬪叆搴撲换鍔$敓鎴愬紓甯革細"+e.getMessage()); + } + } + + @Scheduled(cron = "0/3 * * * * ? ") + private void execute2(){ + for(Integer staNo : CRN_WORK_CU) { +// try{ +// for(Integer staNo1 : CRN_WORK_CU_SMA) { +// RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+staNo1)); +// trunSma.setRgvOneSign(0); +// rgvOneSignService.updateById(trunSma); +// } +// } catch (Exception e){ +// +// } + + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getLoading().equals("Y") + || !basDevp.getAutoing().equals("Y") + || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){ + continue; + } + + BasDevp basDevp1 = basDevpService.selectById(staNo==100? 101:149); + if (basDevp1.getLoading().equals("Y") + || !basDevp1.getAutoing().equals("Y") + || (!Cools.isEmpty(basDevp1.getWrkNo()) && basDevp1.getWrkNo()!=0) ){ + continue; + } + List<WrkMastCrn> wrkMastCrnList = wrkMastCrnService.selectList(new EntityWrapper<WrkMastCrn>().eq("source_sta_no",staNo)); + if (Cools.isEmpty(wrkMastCrnList)){ + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("source_sta_no", staNo).eq("wrk_sts", 11L) + .orderBy("io_pri",false)); + for (WrkMast wrkMast:wrkMasts){ +// if (wrkMast.getStaNoSign().equals(signSmallTurn)){ +// continue; +// } +// if (wrkMast.booleanStaNoSignOther()){ +// continue; +// } + boolean sign = true; + if ((wrkMast.getIoType()==101 || wrkMast.getIoType() == 110) && wrkMast.booleanStaNoSign() && wrkMast.getIoPri()<99D){ + Date now = new Date(); + long differenceInSeconds = now.getTime() - wrkMast.getModiTime().getTime(); + if (differenceInSeconds<=2000){ + continue; + } +// RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMast.getStaNo())); +// if (Cools.isEmpty(rgvOneSign)){ +// continue; +// } +// RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMast.getStaNo())); +// if (Cools.isEmpty(trunSma)){ +// continue; +// } +// int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L)); +// int wrkCountCrn = wrkMastCrnService.selectCount(new EntityWrapper<WrkMastCrn>().eq("sta_no", wrkMast.getStaNo())); +// if (wrkCountCrn*2+wrkCount+rgvOneSign.getRgvOneSign()+trunSma.getRgvOneSign()>1){ +// continue; +// } +// int wrkCountGt = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",11L)); +// if (wrkCountGt > 1){ +// continue; +// } +// sign = false; +// int loadIngCount = basDevpService.selectCount(new EntityWrapper<BasDevp>().ge("dev_no", 103).le("dev_no", 121).eq("loading", "Y")); +// if (loadIngCount>8){ +// continue; +// } +// RgvOneSign smallTurn = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","smallTurn")); +// if (Cools.isEmpty(smallTurn)){ +// continue; +// } +// if (smallTurn.getRgvOneSign()>15){ +// continue; +// } + } + try{ + int row = Utils.getRow(wrkMast.getSourceLocNo()); + if (row == wrkMast.getCrnNo()*4 || row == wrkMast.getCrnNo()*4-3){ + WrkMastCrn wrkMastCrn = wrkMastCrnService.selectOne(new EntityWrapper<WrkMastCrn>().eq("wrk_no", wrkMast.getWrkNo())); + if (Cools.isEmpty(wrkMastCrn)){ + ReturnT<String> result = wrkMastCrnHandler.start(wrkMast,sign); + if (result.isSuccess()) { +// signSmallTurn++; +// if (signSmallTurn > 2){ +// signSmallTurn = 0; +// } + break; + } + } + } + }catch (Exception e){ + log.error("宸﹀彸鍙屽伐浣嶅爢鍨涙満鎵ц浠诲姟鐢熸垚====銆嬪嚭搴撲换鍔$敓鎴愬紓甯革細"+e.getMessage()); + } + } +// if (!wrkMasts.isEmpty()){ +// signSmallTurn++; +// if (signSmallTurn > 2){ +// signSmallTurn = 0; +// } +// } + } } } -- Gitblit v1.9.1