src/main/java/com/zy/asrs/mapper/LocMastMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/LocMastService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | 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 (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { locMast = shallowLoc; crnNo = locMast.getCrnNo(); break; // 因库位移转、需预留空库位 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 (basCrnpService.checkSiteError(shallowLoc.getCrnNo(), true)) { locMast = shallowLoc; crnNo = locMast.getCrnNo(); break; // 因库位移转、需预留空库位 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; } } }