From 2c945116a7d4dccac387930e40980ae1ba32f05c Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期六, 30 三月 2024 16:18:58 +0800 Subject: [PATCH] 物料导入更新 任务完成不解绑站点和容器 组托入库时增加判断是否容器和接驳位已经绑定 --- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 70 ++++++++++++++++++---------------- 1 files changed, 37 insertions(+), 33 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 2cf9450..c2b575b 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,15 @@ 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; @@ -22,11 +19,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 @@ -55,6 +48,8 @@ AgvLocMastService agvLocMastService; @Autowired ApiLogService apiLogService; + @Autowired + AgvBasDevpService agvBasDevpService; public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) { AgvWrkMast agvWrkMast = this.selectById(wrkNo); @@ -72,12 +67,12 @@ 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"); @@ -134,6 +129,20 @@ 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){ @@ -147,28 +156,23 @@ } } - 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); + agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString()); + agvTaskCreateParam.setTaskTyp("F01"); + agvTaskCreateParam.setPositionCodePath(agvTaskParamList); + } private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){ @@ -184,7 +188,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