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/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/LocMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -34,4 +34,6 @@ @Select("select loc_no from asr_loc_mast where crn_no = #{crnNo} and loc_sts='O' order by lev1, bay1, row1") List<String> getDemoNextLoc(Integer crnNo); List<LocMast> selectByLocNos(@Param("locNos") List<String> locNos); } src/main/java/com/zy/asrs/service/LocMastService.java
@@ -59,4 +59,6 @@ Boolean isOutMost(String locNo); List<String> getDemoNextLoc(Integer crnNo); List<LocMast> selectByLocNos(List<String> locNos); } src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -8,6 +8,7 @@ import com.zy.asrs.utils.Utils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service("locMastService") @@ -63,4 +64,12 @@ return this.baseMapper.getDemoNextLoc(crnNo); } @Override public List<LocMast> selectByLocNos(List<String> locNos) { if (locNos == null || locNos.size() == 0) { return new ArrayList<LocMast>(); } return this.baseMapper.selectByLocNos(locNos); } } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -4308,6 +4308,18 @@ || Utils.getBay(one.getLocNo()) != Utils.getBay(shallowLoc.getLocNo()) || Utils.getLev(one.getLocNo()) != Utils.getLev(shallowLoc.getLocNo())){ Integer steNo = this.hasCarOfIdle(one.getLocNo()); if (steNo != null) { //有小车 continue; } //检测当前库位内侧其他库位是否为D、F、X if (Utils.checkInsideLocIsDFX(one.getLocNo())) { //内侧其他库位不是D、F、X。不能选取该库位 continue; } loc = one; break; } src/main/java/com/zy/asrs/utils/Utils.java
@@ -2,6 +2,9 @@ import com.core.common.Arith; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.entity.LocMast; import com.zy.asrs.service.LocMastService; import com.zy.core.properties.SlaveProperties; import java.text.DecimalFormat; @@ -589,4 +592,25 @@ } } /** * 检测当前库位内侧其他库位是否为D、F、X * 返回true表示内侧库位不是DFX,返回false表示内侧库位是DFX */ public static boolean checkInsideLocIsDFX(String locNo) { LocMastService locMastService = SpringUtils.getBean(LocMastService.class); List<String> insideLoc = Utils.getGroupInsideLoc(locNo); if (insideLoc.size() > 0) { List<LocMast> insideLocMast = locMastService.selectByLocNos(insideLoc); for (LocMast mast : insideLocMast) { if (!mast.getLocSts().equals("D") && !mast.getLocSts().equals("F") && !mast.getLocSts().equals("X")) { //D、F、X(不能选定这个外侧库位) return true; } } } return false; } } src/main/resources/mapper/LocMastMapper.xml
@@ -60,4 +60,12 @@ ORDER BY NEWID() </select> <select id="selectByLocNos" resultMap="BaseResultMap"> select * from asr_loc_mast where loc_no in <foreach item="item" collection="locNos" index="index" separator="," open="(" close=")"> #{item} </foreach> </select> </mapper>