自动化立体仓库 - WMS系统
whycq
2022-11-01 b435ec06d5392d2658a176dd962e3ff503a8acf3
Merge remote-tracking branch 'origin/bfasrs' into bfasrs
15个文件已修改
148 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/LocMastController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocMast.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocMastMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocMastService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocMastMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/locMast/locMast.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/stoMan/stoQue.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/locDetl/locDetl.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/locMast/locMast_detail.html 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
version/边锋数据库改动20221028/边锋数据库改动.md 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -107,6 +107,10 @@
            return R.error();
        }
        if (!locMast.getLocSts().equals("F") && !Cools.isEmpty(locMast.getFrozen()) && locMast.getFrozen() == 1) {
            return R.error("库存在库状态才能冻结");
        }
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                .eq("source_loc_no", locMast.getLocNo())
                .or().eq("loc_no", locMast.getLocNo()));
src/main/java/com/zy/asrs/entity/LocMast.java
@@ -295,4 +295,15 @@
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
    }
    public String getFrozen$() {
        if (null == this.frozen){ return null; }
        switch (this.frozen){
            case 0:
                return "";
            case 1:
                return "已冻结";
            default:
                return null;
        }
    }
}
src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -14,6 +14,7 @@
public interface LocMastMapper extends BaseMapper<LocMast> {
    List<LocMast> queryFreeLocMast(@Param("rows") List<Integer> rows, @Param("rowsLen") Integer rowsLen, @Param("locType1") Short locType1);
    List<LocMast> queryFreeLocMast2(@Param("rows") List<Integer> rows, @Param("rowsLen") Integer rowsLen, @Param("locType1") Short locType1, @Param("inoutEveryday") Boolean inoutEveryday);
    @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
    List<String> queryGroupEmptyStock(Integer crnNo);
src/main/java/com/zy/asrs/service/LocMastService.java
@@ -12,6 +12,7 @@
     * æ£€ç´¢å¯ç”¨åº“位
     */
    List<LocMast> queryFreeLocMast(List<Integer> rows, Integer rowsLen, Short locType1);
    List<LocMast> queryFreeLocMast2(List<Integer> rows, Integer rowsLen, Short locType1,Boolean inoutEveryday);
    /**
     * èŽ·å–åŒç»„è´§æž¶çš„ç©ºåº“ä½
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -30,6 +30,10 @@
    public List<LocMast> queryFreeLocMast(List<Integer> rows, Integer rowsLen, Short locType1) {
        return this.baseMapper.queryFreeLocMast(rows, rowsLen, locType1);
    }
    @Override
    public List<LocMast> queryFreeLocMast2(List<Integer> rows, Integer rowsLen, Short locType1,Boolean inoutEveryday) {
        return this.baseMapper.queryFreeLocMast2(rows, rowsLen, locType1,inoutEveryday);
    }
    @Override
    public List<String> queryGroupEmptyStock(String sourceLocNo) {
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -360,6 +360,7 @@
            // ä¿®æ”¹è®¢å•明细
            if (BaseController.isJSON(locDto.getOrderNo())) {
                String[] orderNos = GetOrderNo(locDto.getOrderNo());
                if (!Cools.isEmpty(orderNos)){
                Double anfme = locDto.getAnfme();
                for (String orderNo : orderNos) {
                    OrderDetl orderDetl = orderDetlService.selectItem(orderNo, locDto.getMatnr(), locDto.getBatch());
@@ -375,6 +376,16 @@
                        if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), anfme)) {
                            throw new CoolException("修改订单明细数量失败");
                        }
                        }
                        orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
                    }
                }else {
                    OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
                    if (orderDetl == null) {
                        orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
                    }
                    if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
                        throw new CoolException("修改订单明细数量失败");
                    }
                    orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
                }
@@ -410,6 +421,7 @@
    private String[] GetOrderNo(String orderNo) {
        String[] s3 = orderNo.split("\"");
        String[] s = new String[(s3.length - 1) / 6];
        if (!Cools.isEmpty(s3)){
        int i = 0;
        int j = 0;
        for (String ss : s3) {
@@ -418,6 +430,9 @@
                i++;
            }
            j++;
            }
        }else {
            s=null;
        }
        return s;
    }
@@ -884,7 +899,9 @@
        // è®¢å•关联
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        for (WrkDetl wrkDetl : wrkDetls) {
            if (!Cools.isEmpty(wrkDetl.getOrderNo())){
            String[] orderNos = GetOrderNo(wrkDetl.getOrderNo());
                if (!Cools.isEmpty(orderNos)){
            String[] anfmes = GetAnfme(wrkDetl.getOrderNo());
            int i = 0;
            for (String orderNo : orderNos) {
@@ -906,6 +923,22 @@
                    }
                }
            }
                }else {
                    if (BaseController.isJSON(wrkDetl.getOrderNo())) {
                        if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                            throw new CoolException("订单数据回滚失败");
                        }
                    } else {
                        // è®¢å•合并出库
                        List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class);
                        for (OrderDto orderDto : orderDtoList) {
                            if (!orderDetlService.decrease(orderDto.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), orderDto.getAnfme())) {
                                throw new CoolException("订单数据回滚失败");
                            }
                        }
                    }
                }
            }
        }
        // å–消操作人员记录
        wrkMast.setManuType("手动取消");
src/main/java/com/zy/common/service/CommonService.java
@@ -55,6 +55,8 @@
    private LocDetlService locDetlService;
    @Autowired
    private SlaveProperties slaveProperties;
    @Autowired
    private MatService matService;
    /**
     * ç”Ÿæˆå·¥ä½œå·
@@ -274,7 +276,11 @@
        if (locMast == null) {
            List<Integer> rows = Utils.getGroupLoc(curRow);
            List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), locTypeDto.getLocType1());
            Mat mat = matService.selectByMatnr(matNos.get(0));
            if (Cools.isEmpty(mat.getInoutEveryday())){
                mat.setInoutEveryday(false);
            }
            List<LocMast> locMasts = locMastService.queryFreeLocMast2(rows, rows.size(), locTypeDto.getLocType1(),mat.getInoutEveryday());
            if (!Cools.isEmpty(locMasts)) {
                Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo());
                for (LocMast one : locMasts) {
src/main/resources/application.yml
@@ -11,8 +11,8 @@
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs
    url: jdbc:sqlserver://localhost:1433;databasename=bfasrs
#    url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
#    url: jdbc:sqlserver://localhost:1433;databasename=bfasrs
    url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
    username: sa
#    password: Zoneyung@zy56$
    password: sa@123
src/main/resources/mapper/LocDetlMapper.xml
@@ -236,7 +236,7 @@
            from asr_loc_detl a
            left join asr_loc_mast b on a.loc_no = b.loc_no
            where 1=1
            and b.loc_sts = 'F'
            and b.loc_sts = 'F' and b.frozen != 1
            and a.matnr = #{matnr}
            and b.row1 >= 1
            and b.row1 &lt;= 3
@@ -249,7 +249,7 @@
            from asr_loc_detl a
            left join asr_loc_mast b on a.loc_no = b.loc_no
            where 1=1
            and b.loc_sts = 'F'
            and b.loc_sts = 'F' and b.frozen != 1
            and a.matnr = #{matnr}
            and b.row1 >= 4
            and b.row1 &lt;= 7
@@ -262,7 +262,7 @@
            from asr_loc_detl a
            left join asr_loc_mast b on a.loc_no = b.loc_no
            where 1=1
            and b.loc_sts = 'F'
            and b.loc_sts = 'F' and b.frozen != 1
            and a.matnr = #{matnr}
            and b.row1 >= 8
            and b.row1 &lt;= 11
@@ -275,7 +275,7 @@
            from asr_loc_detl a
            left join asr_loc_mast b on a.loc_no = b.loc_no
            where 1=1
            and b.loc_sts = 'F'
            and b.loc_sts = 'F' and b.frozen != 1
            and a.matnr = #{matnr}
            and b.row1 >= 12
            and b.row1 &lt;= 14
@@ -288,7 +288,7 @@
            from asr_loc_detl a
            left join asr_loc_mast b on a.loc_no = b.loc_no
            where 1=1
            and b.loc_sts = 'F'
            and b.loc_sts = 'F' and b.frozen != 1
            and a.matnr = #{matnr}
            and b.row1 >= 15
            and b.row1 &lt;= 18
@@ -301,7 +301,7 @@
            from asr_loc_detl a
            left join asr_loc_mast b on a.loc_no = b.loc_no
            where 1=1
            and b.loc_sts = 'F'
            and b.loc_sts = 'F' and b.frozen != 1
            and a.matnr = #{matnr}
            and b.row1 >= 19
            and b.row1 &lt;= 21
@@ -364,7 +364,7 @@
        )
        and a.matnr = #{matnr}
        and b.bay1 = #{bay}
        and b.loc_sts = 'F'
        and b.loc_sts = 'F' and b.frozen != 1
        order by b.row1 asc
    </select>
src/main/resources/mapper/LocMastMapper.xml
@@ -77,4 +77,46 @@
        )
    </select>
    <select id="queryFreeLocMast2" resultMap="BaseResultMap">
        select
        *
        from asr_loc_mast
        where 1=1
        <if test="inoutEveryday == false ">
            and bay1 > 10
        </if>
        <if test="inoutEveryday == true">
            and bay1 &lt; 11
        </if>
        and row1 in
        <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
            #{item}
        </foreach>
        and ctn_no =
        (
        select
        top 1
        ctn_no
        from (
        select
        ctn_no,
        count(1) as count
        from asr_loc_mast
        where 1=1
        and row1 in
        <foreach item="item" collection="rows" index="index"  separator="," open="(" close=")">
            #{item}
        </foreach>
        and loc_sts = 'O'
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
        and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401')
        group by ctn_no
        ) a
        where count = #{rowsLen}
        order by right(ctn_no, 2) + 0 asc, left(ctn_no, 3) + 0 asc
        )
    </select>
</mapper>
src/main/webapp/static/js/locMast/locMast.js
@@ -27,7 +27,7 @@
            // ,{field: 'ctnType', align: 'center',title: ''}
            // ,{field: 'locSts', align: 'center',title: ''}
            // ,{field: 'sheetNo', align: 'center',title: ''}
            ,{field: 'frozen', align: 'center',title: '冻结状态'}
            ,{field: 'frozen$', align: 'center',title: '冻结状态'}
            ,{field: 'crnNo', align: 'center',title: '堆垛机号'}
            ,{field: 'row1', align: 'center',title: '排', sort:true}
            ,{field: 'bay1', align: 'center',title: '列', sort:true}
@@ -57,7 +57,7 @@
            ,{field: 'locType1$', align: 'center',title: '高低类型'}
            // ,{field: 'locType2$', align: 'center',title: '宽窄类型'}
            // ,{field: 'locType3$', align: 'center',title: '轻重类型'}
            // ,{field: 'frozen$', align: 'center',title: '是否冻结'}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:100}
        ]],
        request: {
@@ -460,7 +460,7 @@
            barcode: $('#barcode').val(),
            PdcType: $('#PdcType').val(),
            ctnNo: $('#ctnNo').val(),
            frozen: $('#frozen').val()
        };
        $.ajax({
            url: baseUrl+"/locMast/"+name+"/auth",
src/main/webapp/static/js/stoMan/stoQue.js
@@ -39,6 +39,7 @@
                    html += "disabled='disabled' >";
                    return html;
                },width:80}
            ,{field: 'frozen$', align: 'center',title: '冻结状态'}
            ,{field: 'modiUser$', align: 'center',title: '修改人员'}
            ,{field: 'modiTime$', align: 'center',title: '修改时间', width: 180}
            ,{ fixed: 'right', title:'操作', align: 'center', toolbar: '#operate'}
src/main/webapp/views/locDetl/locDetl.html
@@ -45,7 +45,7 @@
    <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button>
        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button>
        <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">查看异常数据</button>
<!--        <button id="unreason" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="unreason">查看异常数据</button>-->
    </div>
</div>
src/main/webapp/views/locMast/locMast_detail.html
@@ -77,6 +77,17 @@
                <input id="sheetNo" class="layui-input" type="text">
            </div>
        </div>
        <!-- å†»ç»“ -->
        <div class="layui-inline"  style="width:80%;">
            <label class="layui-form-label">冻结</label>
            <div class="layui-input-inline">
                <select id="frozen" name="frozen">
                    <option style="display: none"></option>
                    <option value="0">未冻结</option>
                    <option value="1">冻结</option>
                </select>
            </div>
        </div>
        <div class="layui-inline"  style="width:80%;">
            <label class="layui-form-label">堆垛机号:</label>
            <div class="layui-input-inline">
version/±ß·æÊý¾Ý¿â¸Ä¶¯20221028/±ß·æÊý¾Ý¿â¸Ä¶¯.md
@@ -23,3 +23,9 @@
asr_check_record
```
新增冻结字段frozen int é»˜è®¤å€¼0
组托档:入库通知档/历史档表
工作主档/历史档
库存档
已有库存数据需要初始化frozen值为0