From 6de5d93c41f03d477f805f35d14a98f267430d6e Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期四, 24 十月 2024 16:13:13 +0800 Subject: [PATCH] 备货区按层列排放 --- src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java | 303 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 254 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java index 26c8166..b97a3f1 100644 --- a/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java +++ b/src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java @@ -2,15 +2,13 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.zy.asrs.entity.BasDevp; -import com.zy.asrs.entity.WrkMast; -import com.zy.asrs.entity.WrkMastSta; -import com.zy.asrs.service.BasDevpService; -import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.entity.*; +import com.zy.asrs.service.*; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.WrkMastStaInItHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -23,82 +21,289 @@ @Component public class WrkMastStaInItScheduler { + private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); + @Autowired private WrkMastStaInItHandler wrkMastStaInItHandler; @Autowired private BasDevpService basDevpService; @Autowired private WrkMastService wrkMastService; + @Autowired + private RgvOneSignService rgvOneSignService; + @Autowired + private WrkMastStaService wrkMastStaService; + @Autowired + private WrkDetlService wrkDetlService; + @Autowired + private LocDetlService locDetlService; 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); + }}; + + public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{ + add(119);add(118); + }}; + + public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{ + + }}; + public static final List<Integer> STA_WORK_CU_CAR_THREE = new ArrayList<Integer>() {{ + add(118); + }}; + public static final List<Integer> STA_WORK_CU_CAR_FOUR = new ArrayList<Integer>() {{ + add(119); }}; public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{ - add(118);add(119);add(120);add(121);add(122);add(123); + add(119);add(118);add(122); }}; - @Scheduled(cron = "0/3 * * * * ? ") +// @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ for(Integer staNo : STA_WORK_CU){ - BasDevp basDevp = basDevpService.selectById(staNo); - if (basDevp.getWrkNo()!=0){ - WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); - if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ - continue; - } - boolean wrkTypeSign = fullKM(wrkMast); - if (!Cools.isEmpty(wrkMast)){ - if (wrkTypeSign) { -// ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,11);//1:鍙栵紙鍙犵洏锛� -// if (result.getCode()==200){ -// continue; -// }else { -// System.out.println(staNo+"澶辫触锛�"); -// } - ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀� - if (result.getCode()==200){ + try{ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if(Cools.isEmpty(wrkMast)){ + continue; + } + if (wrkMast.getIoType()<100 || wrkMast.getIoType()==110){ + if (!wrkMast.getStaNo().equals(122)){ continue; - }else { - System.out.println(staNo+"澶辫触锛�"); } - } else { - ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀� - if (result.getCode()==200){ - continue; - }else { - System.out.println(staNo+"澶辫触锛�"); + } + if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ + continue; + } + if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119 || wrkMast.getStaNo()==120 || wrkMast.getStaNo()==121){ + continue; + } + boolean wrkTypeSign = fullKM(wrkMast); + if (!Cools.isEmpty(wrkMast)){ + if (wrkTypeSign) { + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀� + if (result.getCode()==200){ + continue; + }else { + System.out.println(staNo+"澶辫触锛�"); + } + } else { + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23);//5锛氭弧鍙� + if (result.getCode()==200){ + continue; + }else { + System.out.println(staNo+"澶辫触锛�"); + } } } } + }catch (Exception e){ + log.error("鑷姩琛ョ┖鏉縎TA_WORK_CU澶勭悊澶辫触锛屽綋鍓嶇珯鐐瑰彿锛�"+staNo+"寮傚父淇℃伅"+e); } } for(Integer staNo : STA_WORK_RU){ - BasDevp basDevp = basDevpService.selectById(staNo); - if (basDevp.getWrkNo()!=0){ - WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); - if (wrkMast.getWrkSts()!=2){ - continue; - } - boolean wrkTypeSign = fullKM(wrkMast); - if (wrkTypeSign){ - boolean equals = wrkMast.getIoType().equals(1); - } - if (!Cools.isEmpty(wrkMast)){ - ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,2); - if (result.getCode()==200) { + try{ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if (Cools.isEmpty(wrkMast)){ continue; - } else { - System.out.println(staNo+"澶辫触锛�"); + } + + if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){ + continue; + } +// boolean wrkTypeSign = fullKM(wrkMast); + + if (!Cools.isEmpty(wrkMast)){ +// if (wrkTypeSign){ + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13); + if (result.getCode()==200) { + continue; + } else { + System.out.println(staNo+"澶辫触锛�"); + } } } + }catch (Exception e){ + log.error("鑷姩琛ョ┖鏉縎TA_WORK_RU澶勭悊澶辫触锛屽綋鍓嶇珯鐐瑰彿锛�"+staNo+"寮傚父淇℃伅"+e); } } } +// @Scheduled(cron = "0/3 * * * * ? ") + private void execute2(){ + try{ + for(Integer staNo : STA_WORK_CU){ + try{ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); + if(Cools.isEmpty(wrkMast)){ + continue; + } + if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=103){ + continue; + } + if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ + continue; + } + if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){ + continue; + } + int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMast.getStaNo()).or().eq("sta_end", wrkMast.getStaNo())); + if (count!=0){ + continue; + } + int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo())); + if (countStart!=0){ + continue; + } + BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo()); + if (!basDevpEnd.getAutoing().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){ + continue; + } + if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){ + RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign")); + if (rgvOneSign.getRgvOneSign()==1){ + continue; + } + } + if (wrkMast.getIoType()!=101){ + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (wrkDetls.size()!=0){ + String origin = wrkDetls.get(0).getOrigin(); + if (origin.equals("1")){ + if (!STA_WORK_CU_CAR_FOUR.contains(wrkMast.getStaNo())){ + continue; + } + }else { + if (!STA_WORK_CU_CAR_THREE.contains(wrkMast.getStaNo())){ + continue; + } + } + }else { + log.error("鏈煡璇㈠埌宸ヤ綔鏄庣粏"); + continue; + } + } +// + boolean wrkTypeSign = fullKM(wrkMast); + if (!Cools.isEmpty(wrkMast)){ + if (wrkTypeSign) { + ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3锛氬彇鏀� + if (result.getCode()==200){ + continue; + }else { + System.out.println(staNo+"澶辫触锛�"); + } + } + } + } + }catch (Exception e){ + log.error("STA_WORK_CU澶勭悊澶辫触锛屽綋鍓嶇珯鐐瑰彿锛�"+staNo+"寮傚父淇℃伅"+e); + } + } + + for(Integer staNo : STA_WORK_CU){ + try{ + BasDevp basDevp = basDevpService.selectById(staNo); + if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ + 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)){ + continue; + } + if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=103){ + continue; + } + if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ + continue; + } + Integer wrkMastStaNo = wrkMast.getStaNo(); + if (wrkMastStaNo<118 || wrkMastStaNo>121){ + continue; + } + String origin = null; + boolean sign = false; + if (wrkMast.getIoType()!=101){ + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (wrkDetls.size()!=0){ + origin = wrkDetls.get(0).getOrigin(); + if (origin.equals("1")){ + if (!STA_WORK_CU_CAR_FOUR.contains(wrkMastStaNo)){ + sign = true; + } + }else { + if (!STA_WORK_CU_CAR_THREE.contains(wrkMastStaNo)){ + sign = true; + } + } + }else { + log.error("鏈煡璇㈠埌宸ヤ綔鏄庣粏"); + continue; + } + } + int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo)); + if (count!=0){ + continue; + } + int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo())); + if (countStart!=0){ + continue; + } + RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign")); + if (rgvOneSign.getRgvOneSign()==1){ + STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR_TWO; + } + + BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo); + 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 (origin.equals("1")){ + if (!STA_WORK_CU_CAR_FOUR.contains(staNoOther)){ + continue; + } + }else { + if (!STA_WORK_CU_CAR_THREE.contains(staNoOther)){ + continue; + } + } + } + + int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther)); + if (countOther!=0){ + continue; + } + BasDevp basDevpOther = basDevpService.selectById(staNoOther); + if (!basDevpOther.getAutoing().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) { + continue; + } + wrkMast.setStaNo(staNoOther); + wrkMastService.updateById(wrkMast); + log.info("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"淇敼鐩爣绔欎负:"+staNoOther+";鍘熺洰鏍囩珯涓�:"+wrkMastStaNo); + return; + } + } + } + }catch (Exception e){ + log.error("STA_WORK_CU澶勭悊澶辫触锛屽綋鍓嶇珯鐐瑰彿锛�"+staNo+"寮傚父淇℃伅"+e); + } + } + }catch (Exception e){ + log.error("鐩爣涓烘媶鍨涗綅缃殑浠诲姟鐢熸垚灏忚溅宸ヤ綔妗f澶辫触锛侊紒"+e); + } + } + public boolean fullKM(WrkMast wrkMast){ if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){ return true; -- Gitblit v1.9.1