From 3fd2ec65c4f8b2d0338f6e3f069b8d3c0ed2b197 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 03 九月 2024 08:06:22 +0800 Subject: [PATCH] #agv led显示信息修改 --- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 88 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 73 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java index a0f8e09..964f52f 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -2,17 +2,17 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.AgvWrkMast; import com.zy.asrs.entity.param.AgvTaskCreateParam; import com.zy.asrs.entity.param.AgvTaskParam; import com.zy.asrs.entity.param.AgvTaskkDescribeParam; import com.zy.asrs.mapper.AgvWrkMastMapper; -import com.zy.asrs.service.AgvLocMastService; -import com.zy.asrs.service.AgvWrkDetlService; -import com.zy.asrs.service.AgvWrkMastService; -import com.zy.asrs.service.ApiLogService; +import com.zy.asrs.service.*; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -39,6 +39,12 @@ @Value("${agv.containerMoveInPath}") private String containerMoveInPath; + @Value("${agv.containerMoveOutPath}") + private String containerMoveOutPath; + + @Value("${agv.containerArrivedPath}") + private String containerArrivedPath; + @Autowired AgvWrkMastMapper agvWrkMastMapper; @Autowired @@ -47,6 +53,8 @@ AgvLocMastService agvLocMastService; @Autowired ApiLogService apiLogService; + @Autowired + AgvBasDevpService agvBasDevpService; public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) { AgvWrkMast agvWrkMast = this.selectById(wrkNo); @@ -69,26 +77,25 @@ AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); agvTaskCreateParam.setTaskType(taskType); -// //璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁� -// Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>(); -// List<Map<String,String>> positionCodeMapList = new ArrayList<>(); -// containerMoveParam.put("containerMoveIns",positionCodeMapList); - getRequestParam(agvTaskCreateParam,agvWrkMastList); - return doHttpRequest(agvTaskCreateParam,"涓婃灦浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1"); + return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1"); //return containerMoveParam; } //瀹瑰櫒鍏ュ満 - public int containerMove(List<AgvWrkMast> agvWrkMastList) throws IOException { + public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException { //璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁� Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>(); List<Map<String,String>> positionCodeMapList = new ArrayList<>(); containerMoveParam.put("containerMoveIns",positionCodeMapList); getContainerMoveParam(agvWrkMastList,positionCodeMapList); + + if(Cools.isEmpty(positionCodeMapList)){ + return 0; + } return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1"); } @@ -103,12 +110,51 @@ positionCodeMap.put("positionCode",agvWrkMast.getLocNo()); positionCodeMapList.add(positionCodeMap); } - return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1"); + return doHttpRequest(containerMoveParam,"瀹瑰櫒绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1"); + } + + public boolean insertByIncrease(AgvWrkMast agvWrkMast) { + int index = this.baseMapper.insertByIncrease(agvWrkMast); + + return index > 0; + } + + @Override + public boolean deleteByWrkNo(int wrkNo) { + return this.delete(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo)); + } + + //瀹瑰櫒鍒拌揪閫氱煡 + public int containerArrived(AgvWrkMast agvWrkMast) { + + Map<String,String> containerArrivedParam = new HashMap<>(); + containerArrivedParam.put("slotCode",agvWrkMast.getSourceLocNo()); + containerArrivedParam.put("containerCode",agvWrkMast.getBarcode()); + + return doHttpRequest(containerArrivedParam,"瀹瑰櫒杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1"); + } + + @Override + public List<AgvWrkMast> selectReadyAgvWrkMast() { + List<String> stationCodes = agvBasDevpService.selectAllStationCode(); + Wrapper<AgvWrkMast> wrapper = new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 21L).like(false, "loc_no", "@"); + wrapper.in("loc_no",stationCodes); + return this.selectList(wrapper); + //return this.baseMapper.selectReadyAgvWrkMast(); + } + + @Override + public AgvWrkMast selectByContainerCode(String containerCode) { + return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode)); } private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){ //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆 for(AgvWrkMast agvWrkMast : agvWrkMastList){ + //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佸鍣ㄨ繘鍦鸿姹� + if("Y".equals(agvWrkMast.getMk())){ + continue; + } Map<String,String> positionCodeMap = new HashMap<>(); positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo()); positionCodeMapList.add(positionCodeMap); @@ -121,12 +167,24 @@ AgvTaskkDescribeParam agvTaskkDescribeParam = new AgvTaskkDescribeParam(); agvTaskParam.setTaskDescribe(agvTaskkDescribeParam); //AgvTaskParam - agvTaskParam.setTaskCode(agvWrkMast.getWrkNo().toString()); + if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57){ + agvTaskParam.setTaskCode(-agvWrkMast.getWrkNo() + ""); + }else{ + agvTaskParam.setTaskCode(agvWrkMast.getWrkNo() + ""); + } + agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue()); //AgvTaskkDescribeParam - agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); - agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); + if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){ + agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); + } + + if(agvWrkMast.getLocNo().contains("SK")){ + agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); + }else { + agvTaskkDescribeParam.setToStationCode(agvWrkMast.getLocNo()); + } agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode()); return agvTaskParam; }).collect(Collectors.toList()); -- Gitblit v1.9.1