自动化立体仓库 - WMS系统
zwl
1 天以前 3ab88d048c8842a957e1a4966386bf8306dad484
1.wms获取wcs设备堆垛机列和层
1个文件已添加
6个文件已修改
103 ■■■■■ 已修改文件
src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasCrnp.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasCrnpMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/sql/20260409_bas_crnp_bay_level.sql 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/basCrnp/basCrnp.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/basCrnp/basCrnp_detail.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/impl/WcsApiServiceImpl.java
@@ -1195,6 +1195,8 @@
            // crn_sts 本地表存的是“堆垛机模式(手动/自动/电脑)”,因此必须写 mode,不能写 status。
            basCrnp.setCrnSts(defaultZero(crnProtocol.getMode()));
            basCrnp.setWrkNo(defaultZero(crnProtocol.getTaskNo()));
            basCrnp.setBay(crnProtocol.getBay());
            basCrnp.setLevel(crnProtocol.getLevel());
            basCrnp.setCrnErr(crnProtocol.getAlarm() == null ? 0L : Long.valueOf(crnProtocol.getAlarm()));
            basCrnp.setModiUser(WCS_SYNC_USER);
            basCrnp.setModiTime(now);
src/main/java/com/zy/asrs/entity/BasCrnp.java
@@ -60,6 +60,20 @@
    private Integer wrkNo;
    /**
     * 列
     */
    @ApiModelProperty(value= "列")
    @TableField("bay")
    private Integer bay;
    /**
     * 层
     */
    @ApiModelProperty(value= "层")
    @TableField("level")
    private Integer level;
    /**
     * 回原点
     */
    @ApiModelProperty(value= "回原点")
@@ -158,11 +172,13 @@
    public BasCrnp() {}
    public BasCrnp(String inEnable,String outEnable,Integer crnSts,Integer wrkNo,Long crnErr,String frmLocno,Integer frmSta,Integer toSta,String toLocno,Long appeUser,Date appeTime,Long modiUser,Date modiTime,String hpMk,String retrieveMk,String ctlHp,String ctlRest,String empIn,Integer tankQty,Integer tankQty1) {
    public BasCrnp(String inEnable,String outEnable,Integer crnSts,Integer wrkNo,Integer bay,Integer level,Long crnErr,String frmLocno,Integer frmSta,Integer toSta,String toLocno,Long appeUser,Date appeTime,Long modiUser,Date modiTime,String hpMk,String retrieveMk,String ctlHp,String ctlRest,String empIn,Integer tankQty,Integer tankQty1) {
        this.inEnable = inEnable;
        this.outEnable = outEnable;
        this.crnSts = crnSts;
        this.wrkNo = wrkNo;
        this.bay = bay;
        this.level = level;
        this.crnErr = crnErr;
        this.frmLocno = frmLocno;
        this.frmSta = frmSta;
@@ -186,6 +202,8 @@
//            null,    // 可出
//            null,    // 状态
//            null,    // 工作号
//            null,    // 列
//            null,    // 层
//            null,    // 异常码
//            null,    // 源库位
//            null,    // 源站
@@ -253,6 +271,22 @@
        this.wrkNo = wrkNo;
    }
    public Integer getBay() {
        return bay;
    }
    public void setBay(Integer bay) {
        this.bay = bay;
    }
    public Integer getLevel() {
        return level;
    }
    public void setLevel(Integer level) {
        this.level = level;
    }
    public Integer getOrigin() {
        return origin;
    }
src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -341,12 +341,20 @@
            vo.setCrnNo(crnp.getCrnNo());
            Integer wrkNo = crnp.getWrkNo();
            vo.setTaskNo(wrkNo == null ? null : String.valueOf(wrkNo));
            String locNo = !Cools.isEmpty(crnp.getToLocno()) ? crnp.getToLocno() : crnp.getFrmLocno();
            if (!Cools.isEmpty(locNo)) {
                LocMast locMast = locMastService.selectById(locNo);
                if (locMast != null) {
                    vo.setBay1(locMast.getBay1());
                    vo.setLev1(locMast.getLev1());
            vo.setBay1(crnp.getBay());
            vo.setLev1(crnp.getLevel());
            if (vo.getBay1() == null || vo.getLev1() == null) {
                String locNo = !Cools.isEmpty(crnp.getToLocno()) ? crnp.getToLocno() : crnp.getFrmLocno();
                if (!Cools.isEmpty(locNo)) {
                    LocMast locMast = locMastService.selectById(locNo);
                    if (locMast != null) {
                        if (vo.getBay1() == null) {
                            vo.setBay1(locMast.getBay1());
                        }
                        if (vo.getLev1() == null) {
                            vo.setLev1(locMast.getLev1());
                        }
                    }
                }
            }
            vo.setVerticalSpeed(parseInteger(crnp.getCtlHp()));
src/main/resources/mapper/BasCrnpMapper.xml
@@ -9,6 +9,8 @@
        <result column="out_enable" property="outEnable" />
        <result column="crn_sts" property="crnSts" />
        <result column="wrk_no" property="wrkNo" />
        <result column="bay" property="bay" />
        <result column="level" property="level" />
        <result column="crn_err" property="crnErr" />
        <result column="frm_locno" property="frmLocno" />
        <result column="frm_sta" property="frmSta" />
src/main/resources/sql/20260409_bas_crnp_bay_level.sql
New file
@@ -0,0 +1,23 @@
IF COL_LENGTH('dbo.asr_bas_crnp', 'bay') IS NULL
BEGIN
    ALTER TABLE [dbo].[asr_bas_crnp]
        ADD [bay] INT NULL;
    EXEC sys.sp_addextendedproperty
        @name = N'MS_Description', @value = N'当前列',
        @level0type = N'SCHEMA', @level0name = N'dbo',
        @level1type = N'TABLE',  @level1name = N'asr_bas_crnp',
        @level2type = N'COLUMN', @level2name = N'bay';
END;
IF COL_LENGTH('dbo.asr_bas_crnp', 'level') IS NULL
BEGIN
    ALTER TABLE [dbo].[asr_bas_crnp]
        ADD [level] INT NULL;
    EXEC sys.sp_addextendedproperty
        @name = N'MS_Description', @value = N'当前层',
        @level0type = N'SCHEMA', @level0name = N'dbo',
        @level1type = N'TABLE',  @level1name = N'asr_bas_crnp',
        @level2type = N'COLUMN', @level2name = N'level';
END;
src/main/webapp/static/js/basCrnp/basCrnp.js
@@ -34,6 +34,8 @@
                },width:80}
            ,{field: 'crnSts$', align: 'center',title: '状态'}
            ,{field: 'wrkNo', align: 'center',title: '工作号'}
            ,{field: 'bay', align: 'center',title: '列', sort: true, width: 70}
            ,{field: 'level', align: 'center',title: '层', sort: true, width: 70}
            ,{field: 'crnErr$', align: 'center',title: '异常码'}
            ,{field: 'frmLocno$', align: 'center',title: '源库位',sort: true}
            ,{field: 'toLocno$', align: 'center',title: '目标库位', sort: true}
@@ -121,7 +123,7 @@
                    shadeClose: false,
                    content: 'basCrnp_detail.html',
                    success: function(layero, index){
                        layer.getChildFrame('#crnSts,#wrkNo,#crnErr,#frmLocno,#frmSta,#toSta,#toLocno', index).parent().parent().hide();
                        layer.getChildFrame('#crnSts,#wrkNo,#bay,#level,#crnErr,#frmLocno,#frmSta,#toSta,#toLocno', index).parent().parent().hide();
                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
                        clearFormVal(layer.getChildFrame('#detail', index));
                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
@@ -236,7 +238,7 @@
                    shadeClose: false,
                    content: 'basCrnp_detail.html',
                    success: function(layero, index){
                        layer.getChildFrame('#crnSts,#wrkNo,#crnErr,#frmLocno,#frmSta,#toSta,#toLocno', index).parent().parent().hide();
                        layer.getChildFrame('#crnSts,#wrkNo,#bay,#level,#crnErr,#frmLocno,#frmSta,#toSta,#toLocno', index).parent().parent().hide();
                        layer.getChildFrame('#data-detail-submit-save', index).hide();
                        setFormVal(layer.getChildFrame('#detail', index), data, false);
                        top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
@@ -566,6 +568,8 @@
            outEnable: $('#outEnable').val(),
            crnSts: $('#crnSts').val(),
            wrkNo: $('#wrkNo').val(),
            bay: $('#bay').val(),
            level: $('#level').val(),
            crnErr: $('#crnErr').val(),
            frmLocno: $('#frmLocno').val(),
            frmSta: $('#frmSta').val(),
src/main/webapp/views/basCrnp/basCrnp_detail.html
@@ -60,6 +60,18 @@
            </div>
        </div>
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">列:</label>
            <div class="layui-input-inline">
                <input id="bay" class="layui-input" type="text" lay-verify="number">
            </div>
        </div>
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">层:</label>
            <div class="layui-input-inline">
                <input id="level" class="layui-input" type="text" lay-verify="number">
            </div>
        </div>
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">异 常 码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="crnErr" class="layui-input" type="text" style="display: none">