*
lsh
2025-11-03 3ba44e1a566074a38779c918da391b5c6264a381
*
8个文件已修改
218 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/BasCrnp.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/TaskWrk.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnProtocol.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/properties/SystemProperties.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasCrnp.java
@@ -119,7 +119,7 @@
    @TableField("MODI_TIME")
    private Date modiTime;
    @ApiModelProperty(value= "")
    @ApiModelProperty(value= "演示")
    @TableField("HP_MK")
    private String hpMk;
src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -72,7 +72,7 @@
    /**
     * 任务类型
     */
    @ApiModelProperty(value= "任务类型")
    @ApiModelProperty(value= "任务类型")  // 1: 入库  2: 出库  3: 移库  4:演示
    @TableField("IO_TYPE")
    private Integer ioType;
@@ -257,6 +257,8 @@
                return "手动完结";
            case 9:
                return "出库到输送线";
            case 99:
                return "演示";
            default:
                return String.valueOf(this.status);
        }
@@ -356,17 +358,6 @@
        return Math.abs(day) + "天" + Math.abs(hour) + "小时" + Math.abs(min) + "分" + Math.abs(s) + "秒";
    }
    public Integer getTargetPointConvert(){
        switch (originTargetPoint){
            case "11":
                return 11;
            default:
                return null;
        }
    }
    public Integer getIoTypeWms(){
        switch (ioType){
            case 2:
@@ -375,6 +366,8 @@
                return 2;
            case 1:
                return 3;
            case 4:
                return 4;
            default:
                return 0;
        }
src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
@@ -1,5 +1,7 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.LocMast;
import com.zy.core.model.CrnSlave;
import io.swagger.models.auth.In;
import lombok.Data;
@@ -92,6 +94,20 @@
        this.targetPointSta = crnSta;
    };
    public TaskCreateParam(CrnSlave crnSlave, LocMast locMast){
        this.taskNo = locMast.getLocNo() + "-" + crnSlave.getId();
        this.ioType = 4;
        this.barcode = locMast.getBarcode();
        this.taskPriority = 1;
        this.startPoint = locMast.getLocNo();
        this.startPointSta = crnSlave.getCrnOutStn().get(0).getStaNo();
        this.targetPoint = locMast.getLocNo();
        this.targetPointSta = crnSlave.getCrnInStn().get(0).getStaNo();
        this.emptyContainer = "N";
        this.crn = locMast.getCrnNo();
        this.memo = "演示任务";
    };
    public static Integer convertParamIoType(String paramIoType){
        switch (paramIoType){
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -11,6 +11,7 @@
import com.zy.asrs.domain.enums.WorkNoType;
import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.TaskCreateParam;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.*;
@@ -81,6 +82,8 @@
    private CrnController crnController;
    @Autowired
    private BasDevpPositionService basDevpPositionService;
    @Autowired
    private OpenService openService;
    @Value("${wms.url}")
    private String wmsUrl;
@@ -670,6 +673,7 @@
            CrnSlave crnSlave = new CrnSlave(crn);
            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!");
                continue;
            }
@@ -839,6 +843,7 @@
            CrnSlave crn = new CrnSlave(crnSlave);
            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!");
                continue;
            }
@@ -1347,6 +1352,7 @@
                CrnSlave crn = new CrnSlave(crnSlave);
                if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                    CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!");
                    continue;
                }
@@ -2677,4 +2683,125 @@
    }
    /**
     * 堆垛机站出库到出库站
     */
    public boolean crnStnDEMOStop2() {
        int signHpMk = 0;
        for (CrnSlave crn : slaveProperties.getCrn()) {
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
            if (crnProtocol == null) {
                continue;
            }
            BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
            if (basCrnp == null) {
                log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId());
                continue;
            }
            if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
                signHpMk++;
            }
        }
        if (signHpMk == slaveProperties.getCrn().size()){
            return true;
        }
        return false;
    }
    /**
     * 堆垛机站出库到出库站
     */
    public boolean crnStnDEMOStop3() {
        int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>().eq("io_type",4));
        if (selectCount>0) {
            return false;
        }
        return true;
    }
    /**
     * 演示模式启动
     */
    public boolean crnStnDEMOOpen0() {
        for (CrnSlave crn : slaveProperties.getCrn()) {
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
            if (crnProtocol == null) {
                continue;
            }
            BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
            if (basCrnp == null) {
                log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId());
                continue;
            }
            if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
                continue;
            }
            return true;
        }
        return false;
    }
    /**
     * 演示模式启动
     */
    public boolean crnStnDEMOOpen1() {
        int selectCount = taskWrkService.selectCount(new EntityWrapper<TaskWrk>());
        if (selectCount>0) {
            return false;
        }
        for (CrnSlave crn : slaveProperties.getCrn()) {
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
            if (crnProtocol == null) {
                continue;
            }
            BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
            if (basCrnp == null) {
                log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId());
                continue;
            }
            if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "存在其它堆垛机开启演示模式!");
                continue;
            }
            CrnSlave crnSlave = new CrnSlave(crn);
            if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                CrnErrCache.updateCrnErr(crnProtocol.getCrnNo(), "堆垛机巷道号异常!");
                continue;
            }
            if (!crn.getId().equals(crnProtocol.getLaneNo())) {
                for (CrnSlave crnOther : slaveProperties.getCrn()) {
                    if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
                        crnSlave.updateCrnInStn(crnOther);
                    }
                }
            }
            for (String locNo : crnProtocol.getLocMastDemoList()){
                LocMast locMast = locMastService.selectByLocNo(locNo);
                TaskCreateParam taskCreateParam = new TaskCreateParam(crnSlave,locMast);
                openService.taskCreate(taskCreateParam);
            }
            return true;
        }
        return false;
    }
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -143,6 +143,14 @@
                taskWrk.setOriginStartPoint("0");
                taskWrk.setOriginTargetPoint("0");
            }
        }else if (param.getIoType() == 4){
            taskWrk.setWrkSts(11);
            if (!Cools.isEmpty(param.getStartPoint())) {
                taskWrk.setStartPoint(param.getStartPoint());//起点
                taskWrk.setTargetPoint(param.getTargetPoint());//终点
                taskWrk.setOriginStartPoint(param.getStartPointSta().toString());
                taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString());
            }
        }
src/main/java/com/zy/core/MainProcess.java
@@ -134,24 +134,34 @@
                // 系统演示模式运行状态变化
                if (SystemProperties.WCS_RUNNING_STATUS_DEMO.get()) {
                    if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 2){
                        boolean signHpMk = mainService.crnStnDEMOStop2();
                        if (signHpMk){
                            SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 3;
                        }
                    } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 3){
                    } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 0){
                    } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){
                        boolean signHpMk = mainService.crnStnDEMOStop3();
                        if (signHpMk){
                            SystemProperties.WCS_RUNNING_STATUS_DEMO.set(false);
                            SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
                        }
                    }
                } else {
                    if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 0){
                    } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){
                    } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 2){
                    } else if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 3){
                    }
                     if (SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE == 1){
                        boolean signHpMk = mainService.crnStnDEMOOpen1();
                        if (signHpMk){
                            SystemProperties.WCS_RUNNING_STATUS_DEMO.set(true);
                            SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 2;
                        } else {
                            SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
                        }
                    } else {
                         boolean signHpMk = mainService.crnStnDEMOOpen0();
                         if (signHpMk){
                             SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 1;
                         } else {
                             SystemProperties.WCS_RUNNING_STATUS_DEMO_VALUE = 0;
                         }
                     }
                }
                // 其他  ===>> LED显示器显示时间
            } catch (Exception e) {
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -7,6 +7,8 @@
import com.zy.core.enums.CrnStatusType;
import lombok.Data;
import java.util.ArrayList;
/**
 * Created by vincent on 2020/8/7
 */
@@ -199,6 +201,10 @@
    public Float yDuration;
    public String errCrn;
    public String locMastDemoCount;//测试库位数量
    public ArrayList<String> locMastDemoList;//测试库位列表
    public void setMode(Short mode) {
        this.mode = mode;
        this.modeType = CrnModeType.get(mode);
src/main/java/com/zy/core/properties/SystemProperties.java
@@ -12,7 +12,7 @@
    // 系统运行状态
    public static final AtomicBoolean WCS_RUNNING_STATUS = new AtomicBoolean(Boolean.TRUE);
    public static final AtomicBoolean WCS_RUNNING_STATUS_DEMO = new AtomicBoolean(Boolean.TRUE);
    public static final Integer WCS_RUNNING_STATUS_DEMO_VALUE = 3; // 0: 停止,1:运行启动中 2:运行中 3:停止中
    public static Integer WCS_RUNNING_STATUS_DEMO_VALUE = 3; // 0: 停止,1:运行启动中 2:运行中 3:停止中
    public static final String WMS_URL = "localhost";