#
1
昨天 dfb16176c060ace64d01926c42e041d268e90262
#
4个文件已修改
1个文件已添加
135 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/constant/AgvConstant.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
New file
@@ -0,0 +1,73 @@
package com.zy.asrs.entity.param;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.SnowflakeIdWorker;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasAgvLocNo;
import com.zy.asrs.entity.BasAgvMast;
import com.zy.asrs.service.BasAgvLocNoService;
import lombok.Data;
import java.util.ArrayList;
/*
 *  Created by Monkey D. Luffy on 2025.09.09
 * */
@Data
public class AgvBindCtnrAndBinParam {
    private String reqCode;
    private String reqTime;
    private String clientCode;
    private String tokenCode;
    private String ctnrCode;
    private String ctnrTyp;
    private String stgBinCode;
    private String positionCode;
    private String indBind;
    public AgvBindCtnrAndBinParam() {
    }
    public AgvBindCtnrAndBinParam(BasAgvMast basAgvMast) {
        switch (basAgvMast.getIoType()){
            case 0:
                getAgvTaskAssignmentParam0(basAgvMast);
                indBind = "0";
                return;
            case 1:
                getAgvTaskAssignmentParam0(basAgvMast);
                indBind = "1";
                return;
            case 2:
                getAgvTaskAssignmentParam1(basAgvMast);
                indBind = "1";
                return;
            case 3:
                getAgvTaskAssignmentParam1(basAgvMast);
                indBind = "0";
                return;
            default:
                return;
        }
    }
    public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
        this.positionCode = basAgvLocNoSou.getAgvLocNo();
        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
        this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
    }
    public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
        this.positionCode = basAgvLocNoSou.getAgvLocNo();
        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
        this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
    }
}
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -66,7 +66,7 @@
        SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class);
        long nextId = snowflakeIdWorker.nextId();
        this.taskCode = String.valueOf(nextId);
        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
        positionCodePathClassEnd.setPositionCode(basAgvLocNoSou.getAgvLocNo());
@@ -83,7 +83,7 @@
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo().toString();
        this.taskCode = basAgvMast.getTimestamp().toString();
        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
@@ -98,7 +98,7 @@
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo().toString();
        this.taskCode = basAgvMast.getTimestamp().toString();
        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou= basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
@@ -113,7 +113,7 @@
        BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
        this.reqCode = basAgvMast.getTaskNo().toString();
        this.taskCode = basAgvMast.getTimestamp().toString();
        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,10 +7,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.AgvTaskAssignmentParam;
import com.zy.asrs.entity.param.ArmOrderAssignmentParam;
import com.zy.asrs.entity.param.ArmTaskAssignmentParam;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OrderDetlValueResultUtil;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
@@ -323,7 +320,15 @@
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                            log.error("输送线下发2:"+dto.getWorkNo()+","+dto.getStaNo());
                            if(staProtocol.getSiteId() == 1036){ //1036
                                BasAgvMast basAgvMast = basAgvMastService.selectOne(new EntityWrapper<BasAgvMast>().eq("sta_no", 1037));
                                AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
                                agvBindCtnrAndBinParam.setCtnrCode(barcode);
                                ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定解绑", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
                                if (resultBind.getCode()!=200){
                                    agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV容器绑定解绑", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false);
                                }
                            }
                            ledThread.errorReset();
                            log.error("组托请求后LED错误清除");
@@ -4725,6 +4730,7 @@
                            basAgvMastService.insert(basAgvMast);
                            wrkMast.setTakeNone("2");
                            wrkMastMapper.updateById(wrkMast);
                        } else {
@@ -4956,7 +4962,6 @@
                    if (staProtocol.isAutoing()){
                        AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
                        //任务下发
                        ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
                        if (result.getCode()==200){
@@ -5033,7 +5038,11 @@
                            (basAgvMast.getSourceStaNo().equals(2033))){
                        AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
                        AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
                        WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
                        agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode());
                        ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定解绑", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvBindCtnrAndBinParam);
                        if (resultBind.getCode()==200){
                        //任务下发
                        ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
                        if (result.getCode()==200){
@@ -5042,6 +5051,17 @@
                        } else {
                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV任务下发失败", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false);
                        }
                        } else {
                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV容器绑定解绑", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false);
                        }
//                        //任务下发
//                        ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
//                        if (result.getCode()==200){
//                            basAgvMast.setStatus(1);
//                            basAgvMastService.updateById(basAgvMast);
//                        } else {
//                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV任务下发失败", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false);
//                        }
                    }
                }  catch (Exception e){
                    log.error("任务号:"+basAgvMast.getTaskNo()+"====》AGV任务下发失败"+e.getMessage());
@@ -5082,7 +5102,21 @@
                    if (!Cools.isEmpty(staProtocol.getWorkNo()) && staProtocol.getWorkNo().equals(basAgvMast.getTaskNo())){
                        AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
//                        AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
//
//                        ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定解绑", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvBindCtnrAndBinParam);
//                        if (resultBind.getCode()==200){
//                            //任务下发
//                            ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
//                            if (result.getCode()==200){
//                                basAgvMast.setStatus(1);
//                                basAgvMastService.updateById(basAgvMast);
//                            } else {
//                                agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV任务下发失败", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false);
//                            }
//                        } else {
//                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV容器绑定解绑", "任务号:"+basAgvMast.getTaskNo()+"任务信息下发失败!!!", false);
//                        }
                        //任务下发
                        ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV任务下发", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
                        if (result.getCode()==200){
@@ -5101,6 +5135,7 @@
        }
    }
    public void agvTaskAssignmentCallApiLogSave(BasAgvMast basAgvMast ,String tableName, String response, Boolean bool) {
        ApiLog apiLog = apiLogService.selectOne(new EntityWrapper<ApiLog>()
                .eq("namespace", "Agv任务下发")
src/main/java/com/zy/common/constant/AgvConstant.java
@@ -9,6 +9,7 @@
    public static final String AGV_URL = "http://10.10.10.200:8181";
    public static final String AGV_ADAPTOR = "rcms/services/rest/hikRpcService/genAgvSchedulingTask";//创建订单
    public static final String AGV_CTNRANDBING = "rcms/services/rest/hikRpcService/bindCtnrAndBin";//容器绑定
}
src/main/java/com/zy/core/MainProcess.java
@@ -174,7 +174,7 @@
                mainService.agvTaskCreateFull();//任务生成  出库口==》AGV库位
                mainService.agvTaskCreateEmpty();//任务生成  出库口==》AGV库位
                mainService.agvTaskCreateR();//任务生成  AGV库位==》入库口
                mainService.agvTaskCreateException();//任务生成  出库口==》入库口
//                mainService.agvTaskCreateException();//任务生成  出库口==》入库口
            } catch (Exception e) {
                e.printStackTrace();