package com.zy.asrs.task; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; 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; import java.util.List; /** * Created by Monkey D. Luffy on 2023.07.25 * 徐工汉云..............以下.............上饶江铜.............小车执行作业生成 */ @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 STA_WORK_IN = new ArrayList() {{ add(1042);add(1043);add(1104);add(1105);add(1038);add(1036);add(2037); }}; //出库口 public static final List STA_WORK_OUT = new ArrayList() {{ add(1007);add(1005);add(1010);add(1008);add(1021);add(1019); add(1024);add(1022);add(1031);add(1029);add(2003);add(2001); add(2009);add(2007);add(2015);add(2013);add(2021);add(2019); add(2027);add(2025); }}; // public static final List STA_WORK_CU_CAR_TWO = new ArrayList() {{ // add(120);add(121); // }}; // public static final List STA_WORK_CU_CAR_THREE = new ArrayList() {{ // add(118);add(120); // }}; // public static final List STA_WORK_CU_CAR_FOUR = new ArrayList() {{ // add(119);add(121); // }}; // public static final List STA_WORK_RU = new ArrayList() {{ // add(118);add(119);add(120);add(121);add(122);add(123); // }}; @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ for(Integer staNo : STA_WORK_IN){ BasDevp basDevp = basDevpService.selectById(staNo); if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper().eq("wrk_no", basDevp.getWrkNo())); if(Cools.isEmpty(wrkMast)){ continue; } // boolean wrkTypeSign = fullKM(wrkMast); if (!Cools.isEmpty(wrkMast)){ ReturnT result = wrkMastStaInItHandler.start(wrkMast,basDevp,21);//入库 if (result.getCode()==200){ continue; }else { System.out.println(staNo+"失败1!"); } } } } for(Integer staNo : STA_WORK_OUT){ BasDevp basDevp = basDevpService.selectById(staNo); if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper().eq("wrk_no", basDevp.getWrkNo())); if (Cools.isEmpty(wrkMast)){ continue; } // if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){ // continue; // } // boolean wrkTypeSign = fullKM(wrkMast); if (!Cools.isEmpty(wrkMast)){ // if (wrkTypeSign){ ReturnT result = wrkMastStaInItHandler.start(wrkMast,basDevp,22);//出库 if (result.getCode()==200) { continue; } else { System.out.println(staNo+"失败3!"); } } } } } // @Scheduled(cron = "0/3 * * * * ? ") // private void execute2(){ // try{ // for(Integer staNo : STA_WORK_CU){ // BasDevp basDevp = basDevpService.selectById(staNo); // if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ // WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper().eq("wrk_no", basDevp.getWrkNo())); // if(Cools.isEmpty(wrkMast)){ // continue; // } // if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){ // continue; // } // if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ // continue; // } // if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){ // continue; // } // int count = wrkMastStaService.selectCount(new EntityWrapper().eq("sta_start", wrkMast.getStaNo()).or().eq("sta_end", wrkMast.getStaNo())); // if (count!=0){ // continue; // } // int countStart = wrkMastStaService.selectCount(new EntityWrapper().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.getLoading().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().eq("rgv_one_type","oneSign")); // if (rgvOneSign.getRgvOneSign()==1){ // continue; // } // } // if (wrkMast.getIoType()!=101){ // List 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 result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放 // if (result.getCode()==200){ // continue; // }else { // System.out.println(staNo+"失败4!"); // } // } // } // } // } // // for(Integer staNo : STA_WORK_CU){ // BasDevp basDevp = basDevpService.selectById(staNo); // if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ // List STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR; // WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper().eq("wrk_no", basDevp.getWrkNo())); // if(Cools.isEmpty(wrkMast)){ // continue; // } // if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){ // 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 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().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo)); // if (count!=0){ // continue; // } // int countStart = wrkMastStaService.selectCount(new EntityWrapper().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().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.getLoading().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().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther)); // if (countOther!=0){ // continue; // } // BasDevp basDevpOther = basDevpService.selectById(staNoOther); // if (!basDevpOther.getLoading().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("目标为拆垛位置的任务生成小车工作档案失败!!"+e); // } // } public boolean fullKM(WrkMast wrkMast){ if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){ return true; } return false; } }