| | |
| | | |
| | | 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.exception.CoolException; |
| | | import com.zy.asrs.entity.AgvWrkMast; |
| | |
| | | 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; |
| | |
| | | @Value("${agv.containerMoveInPath}") |
| | | private String containerMoveInPath; |
| | | |
| | | @Value("${agv.containerMoveOutPath}") |
| | | private String containerMoveOutPath; |
| | | |
| | | @Autowired |
| | | AgvWrkMastMapper agvWrkMastMapper; |
| | | @Autowired |
| | | AgvWrkDetlService agvWrkDetlService; |
| | | @Autowired |
| | | AgvLocMastService agvLocMastService; |
| | | @Autowired |
| | | ApiLogService apiLogService; |
| | | |
| | |
| | | this.updateById(agvWrkMast); |
| | | } |
| | | |
| | | // TODO 判断规则 |
| | | private boolean checkWrkSts(AgvWrkMast agvWrkMast,long wrkSts){ |
| | | |
| | | // 判断规则TODO |
| | | |
| | | |
| | | return true; |
| | | } |
| | | |
| | | public Map<String,List<Map<String,String>>> startWrk(List<AgvWrkMast> agvWrkMastList) throws IOException { |
| | | public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException { |
| | | |
| | | AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); |
| | | agvTaskCreateParam.setTaskType("putaway"); |
| | | 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 containerMoveParam; |
| | | } |
| | | |
| | | //容器入场 |
| | | public int containerMove(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); |
| | | |
| | | doHttpRequest(agvTaskCreateParam,"上架任务下发",url, taskCreatePath,null,"127.0.0.1"); |
| | | |
| | | return containerMoveParam; |
| | | } |
| | | |
| | | public int containerMove(Map<String, List<Map<String, String>>> containerMoveParam) throws IOException { |
| | | |
| | | getContainerMoveParam(agvWrkMastList,positionCodeMapList); |
| | | 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)); |
| | | } |
| | | |
| | | private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){ |
| | | //往容器入场参数中放入源站点位置 |
| | | for(AgvWrkMast agvWrkMast : agvWrkMastList){ |
| | | 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()); |
| | | agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue()); |
| | | if(agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57){ |
| | | agvTaskParam.setTaskCode(-agvWrkMast.getWrkNo() + ""); |
| | | }else{ |
| | | agvTaskParam.setTaskCode(agvWrkMast.getWrkNo() + ""); |
| | | } |
| | | |
| | | //往容器入场参数中放入源站点位置 |
| | | Map<String,String> positionCodeMap = new HashMap<>(); |
| | | positionCodeMap.put("positionCode",agvWrkMast.getSourceLocNo()); |
| | | positionCodeMapList.add(positionCodeMap); |
| | | agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue()); |
| | | |
| | | //AgvTaskkDescribeParam |
| | | agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); |