*
lsh
1 天以前 a403410276a4e7744d5808004eae6dc3494aea4f
*
3个文件已修改
137 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -1,5 +1,6 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.BasAgvMast;
import lombok.Data;
/*
@@ -19,4 +20,7 @@
    public AgvTaskAssignmentParam(int id) {
        this.id = String.valueOf(id);
    }
    public AgvTaskAssignmentParam(BasAgvMast basAgvMast) {
    }
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4614,13 +4614,86 @@
    }
    /*
     * agv任务下发
     * agv任务下发:AGV库位==》输送线站点
     * */
    public synchronized void agvTaskAssignment() {
    public synchronized void agvTaskAssignment0() {
        try{
            List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("status", 0));
            for (BasAgvMast basAgvMast : basAgvMastList) {
                if (basAgvMast.getStatus()!=0 && basAgvMast.getIoType()!=3){//3==》出库==>输送线站点==》AGV库位
                if (basAgvMast.getStatus()!=0 && basAgvMast.getIoType()!=0){//0==》AGV库位==》输送线站点
                    continue;
                }
                try{
                    // 获取站点信息
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
                    StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getStaNo());
                    if (staProtocol == null) {
                        continue;
                    } else {
                        staProtocol = staProtocol.clone();
                    }
                    if (staProtocol.isAutoing()){
                        AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
                        //任务下发
                        ReturnT<String> result = new PostMesDataUtils().postMesData("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());
                }
            }
        }catch (Exception e){
            log.error("AGV任务下发失败"+e.getMessage());
        }
    }
    /*
     * agv任务下发:AGV库位==》AGV库位
     * */
    public synchronized void agvTaskAssignment1() {
        try{
            List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("status", 0));
            for (BasAgvMast basAgvMast : basAgvMastList) {
                if (basAgvMast.getStatus()!=0 && basAgvMast.getIoType()!=1){//1==》AGV库位==》AGV库位
                    continue;
                }
                try{
                    AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam();
                    //任务下发
                    ReturnT<String> result = new PostMesDataUtils().postMesData("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());
                }
            }
        }catch (Exception e){
            log.error("AGV任务下发失败"+e.getMessage());
        }
    }
    /*
     * agv任务下发:输送线站点==》AGV库位
     * */
    public synchronized void agvTaskAssignment2() {
        try{
            List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("status", 0));
            for (BasAgvMast basAgvMast : basAgvMastList) {
                if (basAgvMast.getStatus()!=0 && basAgvMast.getIoType()!=2){//2==》输送线站点==》AGV库位
                    continue;
                }
                try{
@@ -4655,6 +4728,55 @@
        }
    }
    /*
     * agv任务下发:输送线站点==》输送线站点
     * */
    public synchronized void agvTaskAssignment3() {
        try{
            List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("status", 0));
            for (BasAgvMast basAgvMast : basAgvMastList) {
                if (basAgvMast.getStatus()!=0 && basAgvMast.getIoType()!=3){//3==》输送线站点==》输送线站点
                    continue;
                }
                try{
                    // 获取站点信息
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
                    StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo());
                    if (staProtocol == null || !staProtocol.isLoading()) {
                        continue;
                    } else {
                        staProtocol = staProtocol.clone();
                    }
                    // 获取站点信息
                    StaProtocol staProtocolEnd = devpThread.getStation().get(basAgvMast.getStaNo());
                    if (staProtocolEnd == null || !staProtocolEnd.isAutoing()) {
                        continue;
                    } else {
                        staProtocolEnd = staProtocolEnd.clone();
                    }
                    if (!Cools.isEmpty(staProtocol.getWorkNo()) && staProtocol.getWorkNo().equals(basAgvMast.getTaskNo())){
                        AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam();
                        //任务下发
                        ReturnT<String> result = new PostMesDataUtils().postMesData("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());
                }
            }
        }catch (Exception e){
            log.error("AGV任务下发失败"+e.getMessage());
        }
    }
    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/core/MainProcess.java
@@ -193,7 +193,10 @@
                    continue;
                }
                //agv任务下发
                mainService.agvTaskAssignment();//0===》1
                mainService.agvTaskAssignment0();//0===》1  AGV库位==》输送线站点  0
                mainService.agvTaskAssignment1();//0===》1  AGV库位==》AGV库位  1
                mainService.agvTaskAssignment2();//0===》1  输送线站点==》AGV库位  2
                mainService.agvTaskAssignment3();//0===》1  输送线站点==》输送线站点  3
            } catch (Exception e) {
                e.printStackTrace();