From 7e8c8abedab8d33ea5faff80545e566aa71306d6 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期二, 21 五月 2024 14:48:11 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 113 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 78 insertions(+), 35 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 d8e056b..865dcb5 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -3,18 +3,18 @@ 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.AgvBasDevp; +import com.zy.asrs.entity.AgvLocMast; 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.service.AgvCommonService; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -22,11 +22,7 @@ import org.springframework.stereotype.Service; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; +import java.util.*; @Service @Slf4j @@ -37,6 +33,9 @@ @Value("${agv.taskCreatePath}") private String taskCreatePath; + + @Value("${agv.taskCancelPath}") + private String taskCancelPath; @Value("${agv.containerMoveInPath}") private String containerMoveInPath; @@ -55,6 +54,12 @@ AgvLocMastService agvLocMastService; @Autowired ApiLogService apiLogService; + @Autowired + AgvBasDevpService agvBasDevpService; + @Autowired + private AgvCommonService agvCommonService; + @Autowired + private AgvWrkMastService agvWrkMastService; public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) { AgvWrkMast agvWrkMast = this.selectById(wrkNo); @@ -72,16 +77,27 @@ return true; } - public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException { + public int startWrk(AgvWrkMast agvWrkMast) throws IOException { AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); - agvTaskCreateParam.setTaskType(taskType); + //agvTaskCreateParam.setTaskType(taskType); - getRequestParam(agvTaskCreateParam,agvWrkMastList); + getRequestParam(agvTaskCreateParam,agvWrkMast); return doHttpRequest(agvTaskCreateParam,"鎼繍浠诲姟涓嬪彂",url, taskCreatePath,null,"127.0.0.1"); //return containerMoveParam; + } + + public int startAllcationIn(AgvWrkMast agvWrkMast) throws IOException { + AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo()); + //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 + AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor()); + agvWrkMast.setLocNo(locMast.getLocNo()); + agvWrkMast.setWrkSts(201L); + agvWrkMastService.updateById(agvWrkMast); + return 0; + } //瀹瑰櫒鍏ュ満 @@ -128,12 +144,36 @@ public int containerArrived(AgvWrkMast agvWrkMast) { Map<String,String> containerArrivedParam = new HashMap<>(); - String slotCode = agvWrkMast.getSourceLocNo().substring(3, 6) + "-1"; - containerArrivedParam.put("slotCode",slotCode); + 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)); + } + + @Override + public int callCancelTask(int wrkNo) { + + AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); + agvTaskCreateParam.setTaskCode(wrkNo + ""); + + return doHttpRequest(agvTaskCreateParam,"鍙栨秷浠诲姟涓嬪彂",url, taskCancelPath,null,"127.0.0.1"); + + } + private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){ //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆 @@ -148,28 +188,31 @@ } } - 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 - if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57){ - agvTaskParam.setTaskCode(-agvWrkMast.getWrkNo() + ""); - }else{ - agvTaskParam.setTaskCode(agvWrkMast.getWrkNo() + ""); - } + private void getRequestParam(AgvTaskCreateParam agvTaskCreateParam,AgvWrkMast agvWrkMast){ - agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue()); + List<AgvTaskParam> agvTaskParamList = Arrays.asList( + //璧峰浣� + new AgvTaskParam(agvWrkMast.getSourceLocNo()), + //鐩爣浣� + new AgvTaskParam(agvWrkMast.getLocNo())); - //AgvTaskkDescribeParam - agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); - agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); - agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode()); - return agvTaskParam; - }).collect(Collectors.toList()); +// //璧峰浣� +// agvTaskParamList.add(new AgvTaskParam(agvWrkMast.getSourceLocNo())); +// //鐩爣浣� +// agvTaskParamList.add(new AgvTaskParam(agvWrkMast.getLocNo())); - agvTaskCreateParam.setTasks(agvTaskParamList); + if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 ){ + agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo()); + } + agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString()); + if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 109 || agvWrkMast.getIoType() == 12) { + agvTaskCreateParam.setTaskTyp("F06"); + } else { + agvTaskCreateParam.setTaskTyp("F01"); + } + + agvTaskCreateParam.setPositionCodePath(agvTaskParamList); + } private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){ @@ -185,7 +228,7 @@ .doPost(); JSONObject jsonObject = JSON.parseObject(response); - int code = (int) jsonObject.get("code"); + int code = Integer.parseInt(jsonObject.get("code").toString()); if(code != 0){ throw new CoolException("璋冪敤AGV鍝嶅簲閿欒"); } -- Gitblit v1.9.1