#
luxiaotao1123
2021-03-04 0402b87deef3ed00d4bb83647e616d02086b9974
#
4个文件已修改
33 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/LocMastMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocMastService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -18,4 +18,7 @@
    @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
    List<String> queryGroupEmptyStock(Integer crnNo);
    @Select("select count(*) as count from asr_loc_mast where 1=1 and loc_sts = 'O' and loc_type1 = #{locType1} and loc_type2 = #{locType2} and loc_type3 = #{locType3} and crn_no = #{crnNo}")
    Integer selectEmptyLocCount(@Param("locType1") Short locType1, @Param("locType2") Short locType2, @Param("locType3") Short locType3, @Param("crnNo") Integer crnNo);
}
src/main/java/com/zy/asrs/service/LocMastService.java
@@ -18,4 +18,11 @@
     * @return 同组空库位集合
     */
    List<String> queryGroupEmptyStock(String sourceLocNo);
    /**
     * 检查当前库位所属巷道的空库位数量
     * @param locMast
     * @return
     */
    Boolean checkEmptyCount(LocMast locMast);
}
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -33,4 +33,13 @@
        }
        return this.baseMapper.queryGroupEmptyStock(sourceStock.getCrnNo());
    }
    @Override
    public Boolean checkEmptyCount(LocMast locMast) {
        if (locMast == null) {
            return false;
        }
        return this.baseMapper.selectEmptyLocCount(locMast.getLocType1(), locMast.getLocType2(), locMast.getLocType3(), locMast.getCrnNo()) > 1;
    }
}
src/main/java/com/zy/common/service/CommonService.java
@@ -133,11 +133,14 @@
                if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
                    // 浅库位符合尺寸检测
                    if (VersionUtils.locMoveCheckLocType(shallowLoc, locTypeDto)) {
                        // 因库位移转、需预留空库位
                        if (locMastService.checkEmptyCount(shallowLoc)) {
                        // 浅库位对应堆垛机必须可用且无异常
                        if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
                            locMast = shallowLoc;
                            crnNo = locMast.getCrnNo();
                            break;
                            }
                        }
                    }
                }
@@ -155,11 +158,14 @@
                    // 检测目标库位是否为空库位
                    LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                    if (shallowLoc != null && shallowLoc.getLocSts().equals("O")) {
                        // 因库位移转、需预留空库位
                        if (locMastService.checkEmptyCount(shallowLoc)) {
                        // 浅库位对应堆垛机必须可用且无异常
                        if (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) {
                            locMast = shallowLoc;
                            crnNo = locMast.getCrnNo();
                            break;
                            }
                        }
                    }
                }
@@ -232,9 +238,17 @@
            if (Utils.isShallowLoc(slaveProperties, curRow)) {
                Integer deepRow = Utils.getDeepRow(slaveProperties, curRow);
                locMast = locMastService.queryFreeLocMast(deepRow, locTypeDto.getLocType1(), locTypeDto.getLocType2(), locTypeDto.getLocType3());
                // 因库位移转、需预留空库位
                if (!locMastService.checkEmptyCount(locMast)) {
                    locMast = null;
                }
            }
            if (Cools.isEmpty(locMast)) {
                locMast = locMastService.queryFreeLocMast(curRow, locTypeDto.getLocType1(), locTypeDto.getLocType2(), locTypeDto.getLocType3());
                // 因库位移转、需预留空库位
                if (!locMastService.checkEmptyCount(locMast)) {
                    locMast = null;
                }
            }
        }