| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.RgvOneSign; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.entity.WrkMastSta; |
| | | import com.zy.asrs.service.BasDevpService; |
| | | import com.zy.asrs.service.RgvOneSignService; |
| | | 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; |
| | |
| | | @Component |
| | | public class WrkMastStaInItScheduler { |
| | | |
| | | private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); |
| | | |
| | | @Autowired |
| | | private WrkMastStaInItHandler wrkMastStaInItHandler; |
| | | @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); |
| | | }}; |
| | | |
| | | public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{ |
| | | add(118);add(120);add(121); |
| | | }}; |
| | | |
| | | public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{ |
| | | add(120);add(121); |
| | | }}; |
| | | public static final List<Integer> STA_WORK_CU_CAR_THREE = new ArrayList<Integer>() {{ |
| | | add(118);add(120); |
| | | }}; |
| | | public static final List<Integer> STA_WORK_CU_CAR_FOUR = new ArrayList<Integer>() {{ |
| | | add(121); |
| | | }}; |
| | | |
| | | public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{ |
| | | add(118);add(119);add(120);add(121);add(122);add(123); |
| | | add(118);add(120);add(121);add(122);add(123);add(171); |
| | | }}; |
| | | |
| | | |
| | | @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 && 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)){ |
| | | try{ |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ |
| | | if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ |
| | | if (!basDevp.getLoadingSuper().equals("Y")){ |
| | | continue; |
| | | } |
| | | } |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); |
| | | if(Cools.isEmpty(wrkMast)){ |
| | | continue; |
| | | } |
| | | } |
| | | if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){ |
| | | 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; |
| | | // } |
| | | // } |
| | | boolean wrkTypeSign = fullKM(wrkMast); |
| | | if (!Cools.isEmpty(wrkMast)){ |
| | | if (wrkTypeSign) { |
| | | ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放 |
| | | if (result.getCode()==200){ |
| | | 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,23);//5:满取 |
| | | 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("自动补空板STA_WORK_CU处理失败,当前站点号:"+staNo+"异常信息"+e); |
| | | } |
| | | } |
| | | |
| | | for(Integer staNo : STA_WORK_RU){ |
| | | 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 (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){ |
| | | continue; |
| | | } |
| | | try{ |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getLoadingSuper().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.getWrkSts()!=2 || wrkMast.getIoType()==10){ |
| | | continue; |
| | | } |
| | | // boolean wrkTypeSign = fullKM(wrkMast); |
| | | |
| | | if (!Cools.isEmpty(wrkMast)){ |
| | | if (!Cools.isEmpty(wrkMast)){ |
| | | // if (wrkTypeSign){ |
| | | ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13); |
| | | if (result.getCode()==200) { |
| | |
| | | } else { |
| | | System.out.println(staNo+"失败!"); |
| | | } |
| | | // }else { |
| | | // ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23); |
| | | // if (result.getCode()==200) { |
| | | // continue; |
| | | // } else { |
| | | // System.out.println(staNo+"失败!"); |
| | | // } |
| | | // } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("自动补空板STA_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")){ |
| | | if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ |
| | | if (!basDevp.getLoadingSuper().equals("Y")){ |
| | | continue; |
| | | } |
| | | } |
| | | 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 (basDevpEnd.getDevNo()>117 && basDevpEnd.getDevNo()<124){ |
| | | if (basDevpEnd.getLoadingSuper().equals("Y")){ |
| | | 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 (!Cools.isEmpty(wrkDetls) && !wrkDetls.isEmpty()){ |
| | | 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")){ |
| | | if (basDevp.getDevNo()>117 && basDevp.getDevNo()<124){ |
| | | if (!basDevp.getLoadingSuper().equals("Y")){ |
| | | continue; |
| | | } |
| | | } |
| | | 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; |
| | | boolean sign101 = false; |
| | | if (wrkMast.getIoType()!=101){ |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | if (!Cools.isEmpty(wrkDetls) && !wrkDetls.isEmpty()){ |
| | | 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; |
| | | } |
| | | }else { |
| | | sign101 = true; |
| | | } |
| | | 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 (Cools.isEmpty(basDevpEnd)){ |
| | | sign = true; |
| | | } |
| | | if (!sign && basDevpEnd.getDevNo()>117 && basDevpEnd.getDevNo()<124){ |
| | | if (basDevpEnd.getLoadingSuper().equals("Y")){ |
| | | sign = true; |
| | | } |
| | | } |
| | | 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 && !sign101){ |
| | | if (Cools.isEmpty(origin)){ |
| | | continue; |
| | | } |
| | | 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; |
| | | } |
| | | if (basDevpOther.getDevNo()>117 && basDevpOther.getDevNo()<124){ |
| | | if (basDevpOther.getLoadingSuper().equals("Y")){ |
| | | 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("目标为拆垛位置的任务生成小车工作档案失败!!"+e); |
| | | } |
| | | } |
| | | |