From 2b3519929a06019633e04ee9abb0c6ef8bba358f Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期三, 23 十月 2024 11:06:47 +0800 Subject: [PATCH] 测试环境暂时注释 --- src/main/java/com/zy/asrs/task/AutoMoveTwoAndThreeGoOneScheduler.java | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 115 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/AutoMoveTwoAndThreeGoOneScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveTwoAndThreeGoOneScheduler.java index 872288f..801e139 100644 --- a/src/main/java/com/zy/asrs/task/AutoMoveTwoAndThreeGoOneScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoMoveTwoAndThreeGoOneScheduler.java @@ -1,18 +1,132 @@ package com.zy.asrs.task; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.common.R; +import com.zy.asrs.entity.AgvBasDevp; +import com.zy.asrs.entity.WrkMastExecute; +import com.zy.asrs.service.AgvBasDevpService; +import com.zy.asrs.service.WrkMastExecuteService; +import com.zy.asrs.task.handler.AutoMoveTwoAndThreeGoOneHandler; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; // 鑷姩绉诲簱 @Slf4j @Component public class AutoMoveTwoAndThreeGoOneScheduler { + @Autowired + private WrkMastExecuteService wrkMastExecuteService; + @Autowired + private AutoMoveTwoAndThreeGoOneHandler autoMoveTwoAndThreeGoOneHandler; + @Autowired + private AgvBasDevpService agvBasDevpService; + /** - * 2銆�3妤艰浆绉诲埌1妤间换鍔℃墽琛� + * 鎵цagv_wrk_mast_execute浠诲姟 */ // @Scheduled(cron = "0/2 * * * * ? ") private void autoMove(){ + List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectList(new EntityWrapper<WrkMastExecute>().eq("io_type", 121).eq("wrk_sts",0L)); + for (WrkMastExecute wrkMastExecute:wrkMastExecuteList){ + try{ + if (true){ + autoMoveTwoAndThreeGoOneHandler.start(wrkMastExecute); + } + }catch (Exception e){ + log.error("鎵цagv_wrk_mast_execute浠诲姟寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } + } + } + /** + * 涓嬩竴姝gv_wrk_mast_execute浠诲姟 + */ +// @Scheduled(cron = "0/2 * * * * ? ") + private void autoMove2(){ + List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectList(new EntityWrapper<WrkMastExecute>().eq("io_type", 121).eq("wrk_sts",3L)); + for (WrkMastExecute wrkMastExecute:wrkMastExecuteList){ + Date now = new Date(); + try{ + if (wrkMastExecute.getStatus()==2 && wrkMastExecute.getNowPosition()==1){ + AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("dev_no", wrkMastExecute.getRoute()[1])); + if (Cools.isEmpty(agvBasDevp) || !agvBasDevp.getLocSts().equals("F")){ + continue; + } + //鍒ゆ柇鐢垫蹇欎笉蹇� + int count = wrkMastExecuteService.selectCount(new EntityWrapper<WrkMastExecute>().eq("io_type", 121).eq("status", 2)); + if(count<3){ + wrkMastExecute.setStatus(3); + wrkMastExecute.setWrkSts(0L); + wrkMastExecute.setModiTime(now); + wrkMastExecute.setEndPosition(4); + wrkMastExecuteService.updateById(wrkMastExecute); + updateAgvBasDevp(agvBasDevp,"R",agvBasDevp.getLocType2(),agvBasDevp.getBarcode()); + } + } + }catch (Exception e){ + log.error("鎵цagv_wrk_mast_execute浠诲姟寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } + } + } + + /** + * 涓嬩竴姝gv_wrk_mast_execute浠诲姟 + */ +// @Scheduled(cron = "0/2 * * * * ? ") + private void autoMove3(){ + List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectList(new EntityWrapper<WrkMastExecute>().eq("io_type", 121).eq("wrk_sts",2L)); + for (WrkMastExecute wrkMastExecute:wrkMastExecuteList){ + Date now = new Date(); + try{ + if (wrkMastExecute.getStatus()==2){ + AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("dev_no", wrkMastExecute.getRoute()[wrkMastExecute.getEndPosition()])); + if (Cools.isEmpty(agvBasDevp) || !agvBasDevp.getLocSts().equals("S")){ + log.error("绔欑偣鐘舵�乴ocsts鍙傛暟鏈夎锛歭ocSts:"+agvBasDevp.getLocSts$()); + }else { + wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsCode()); + wrkMastExecute.setModiTime(now); + wrkMastExecute.setNowPosition(wrkMastExecute.getEndPosition()); + wrkMastExecuteService.updateById(wrkMastExecute); + updateAgvBasDevp(agvBasDevp,"F",agvBasDevp.getLocType2(),agvBasDevp.getBarcode()); + } + }else if (wrkMastExecute.getStatus()==3 || wrkMastExecute.getStatus()==4){ + AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("dev_no", wrkMastExecute.getRoute()[wrkMastExecute.getNowPosition()])); + if (Cools.isEmpty(agvBasDevp) || !agvBasDevp.getLocSts().equals("R")){ + log.error("绔欑偣鐘舵�乴ocsts鍙傛暟鏈夎锛歭ocSts:"+agvBasDevp.getLocSts$()); + }else { + wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsCode()); + wrkMastExecute.setModiTime(now); + wrkMastExecute.setNowPosition(wrkMastExecute.getEndPosition()); + wrkMastExecuteService.updateById(wrkMastExecute); + agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"O","",(short)0); + } + }else if (wrkMastExecute.getStatus()==1){ + wrkMastExecute.setWrkSts(wrkMastExecute.getWrkStsCode()); + wrkMastExecute.setModiTime(now); + wrkMastExecute.setNowPosition(wrkMastExecute.getEndPosition()); + wrkMastExecuteService.updateById(wrkMastExecute); + } + }catch (Exception e){ + log.error("鎵цagv_wrk_mast_execute浠诲姟寮傚父===銆嬪紓甯稿師鍥狅細"+e.getMessage()); + } + } + } + + + + private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts, Short continerType, String containerCode){ + if(!Cools.isEmpty(agvBasDevp)){ + agvBasDevp.setLocSts(locSts); + agvBasDevp.setLocType2(continerType); + agvBasDevp.setBarcode(containerCode); + agvBasDevpService.updateById(agvBasDevp); + } } } -- Gitblit v1.9.1