自动化立体仓库 - WMS系统
ZY
2024-08-13 79447543a3c6363fe60e12e16fc6b83b437fca83
出库逻辑调整
5个文件已修改
33 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OutController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java
@@ -83,10 +83,17 @@
        for (OrderDetl orderDetl : orderDetls) {
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
            if (issued <= 0.0D) { continue; }
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetls.get(0).getSPgNO());
            if (issued <= 0.0D) {
                continue;
            }
            List<LocDetl> locDetls;
            if (Cools.isEmpty(orderDetls.get(0).getSPgNO())) {
                locDetls = locDetlService.queryStockByModel(orderDetls.get(0).getModel());
            } else {
                locDetls = locDetlService.queryStock(orderDetls.get(0).getSPgNO());
            }
            for (LocDetl locDetl : locDetls) {
                if (locDetl.getMatnr().equals(orderDetl.getMatnr())){
                if (locDetl.getMatnr().equals(orderDetl.getMatnr())) {
                    if (issued > 0) {
                        LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                                issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -57,7 +57,7 @@
    // -------------------------------------------------
    List<LocDetl> queryStock(@Param("sPgNO")String sPgNO, @Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
    List<LocDetl> queryStock(@Param("sPgNO")String sPgNO, @Param("model")String model, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
    Double queryStockAnfme(String matnr, String batch);
src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -56,6 +56,8 @@
    List<LocDetl> queryStock(String sPgNO);
    List<LocDetl> queryStockByModel(String model);
    Double queryStockAnfme(String matnr, String batch);
    List<StockVo> queryStockTotal();
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -95,6 +95,12 @@
    }
    @Override
    public List<LocDetl> queryStockByModel(String model) {
        return this.baseMapper.queryStock(null, model, null, null, null);
    }
    @Override
    public Double queryStockAnfme(String matnr, String batch) {
        return this.baseMapper.queryStockAnfme(matnr, batch);
    }
src/main/resources/mapper/LocDetlMapper.xml
@@ -244,12 +244,18 @@
<!--                and (a.batch IS NULL OR a.batch = '')-->
<!--            </otherwise>-->
<!--        </choose>-->
        <if test="sPgNO != null and sPgNO != ''">
            and a.pg_no = #{sPgNO}
        </if>
        <if test="batch != null and batch != ''">
            and a.batch = #{batch}
        </if>
        <if test="orderNo != null and orderNo != ''">
            and a.order_no = #{orderNo}
<!--        <if test="orderNo != null and orderNo != ''">-->
<!--            and a.order_no = #{orderNo}-->
<!--        </if>-->
        <if test="model != null and model != ''">
            and a.model = #{model}
        </if>
        <if test="locNos != null and locNos.size > 0">