From b0a0b73b57e54a4e5e8cd5b8a5fa4fbc2f996656 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期一, 30 十月 2023 08:30:30 +0800 Subject: [PATCH] 输送线调用agv接口不传fromlocationcode --- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 122 +++++++++++++++++++++++++++++++++++----- 1 files changed, 105 insertions(+), 17 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 eb6fc70..734d847 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -2,13 +2,17 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; 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.common.utils.HttpHandler; @@ -37,55 +41,130 @@ @Value("${agv.containerMoveInPath}") private String containerMoveInPath; + @Value("${agv.containerMoveOutPath}") + private String containerMoveOutPath; + + @Value("${agv.containerArrivedPath}") + private String containerArrivedPath; + @Autowired AgvWrkMastMapper agvWrkMastMapper; + @Autowired + AgvWrkDetlService agvWrkDetlService; + @Autowired + AgvLocMastService agvLocMastService; @Autowired ApiLogService apiLogService; public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) { AgvWrkMast agvWrkMast = this.selectById(wrkNo); + //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父 + checkWrkSts(agvWrkMast,wrkSts); agvWrkMast.setWrkSts(wrkSts); this.updateById(agvWrkMast); } - public Map<String,List<Map<String,String>>> startWrk(List<AgvWrkMast> agvWrkMastList) throws IOException { + // TODO 鍒ゆ柇瑙勫垯 + private boolean checkWrkSts(AgvWrkMast agvWrkMast,long wrkSts){ + + + + return true; + } + + public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException { AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); - agvTaskCreateParam.setTaskType("putaway"); + agvTaskCreateParam.setTaskType(taskType); + getRequestParam(agvTaskCreateParam,agvWrkMastList); + + return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1"); + + //return containerMoveParam; + } + + //瀹瑰櫒鍏ュ満 + 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); - getRequestParam(agvTaskCreateParam,agvWrkMastList,positionCodeMapList); + getContainerMoveParam(agvWrkMastList,positionCodeMapList); - doHttpRequest(agvTaskCreateParam,"涓婃灦浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1"); - - return containerMoveParam; - } - - public int containerMove(Map<String, List<Map<String, String>>> containerMoveParam) throws IOException { - + if(Cools.isEmpty(positionCodeMapList)){ + return 0; + } return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1"); } - private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){ + //瀹瑰櫒绂诲満 + public int containerMoveOut(List<AgvWrkMast> agvWrkMastList){ + Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>(); + List<Map<String,String>> positionCodeMapList = new ArrayList<>(); + containerMoveParam.put("containerMoveOuts",positionCodeMapList); + for(AgvWrkMast agvWrkMast : agvWrkMastList){ + Map<String,String> positionCodeMap = new HashMap<>(); + positionCodeMap.put("positionCode",agvWrkMast.getLocNo()); + positionCodeMapList.add(positionCodeMap); + } + 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"); + } + + 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); + } + } + + private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,List<AgvWrkMast> agvWrkMastList){ List<AgvTaskParam> agvTaskParamList = agvWrkMastList.stream().map(agvWrkMast -> { AgvTaskParam agvTaskParam = new AgvTaskParam(); 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()); - //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆 - Map<String,String> positionCodeMap = new HashMap<>(); - positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo()); - positionCodeMapList.add(positionCodeMap); - //AgvTaskkDescribeParam + if(agvWrkMast.getSourceLocNo().contains("C")){ + agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); + } agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode()); @@ -131,4 +210,13 @@ } + public static void main(String[] args) { + String locationCode = "301-1"; + if(locationCode.contains("C")){ + System.out.println(true); + }else { + System.out.println(false); + } + } + } -- Gitblit v1.9.1