| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | @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){ |
| | | // |
| | | // } |
| | | 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; |
| | | // BasDevp basDevp = basDevpService.selectById(wrkMast.getStaNoBying()); |
| | | // if (basDevp.getLoading().equals("Y") |
| | | // || !basDevp.getAutoing().equals("Y") |
| | | // || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){ |
| | | // continue; |
| | | // } |
| | | // 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; |
| | | // } |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | |