From ba5b53d746a91f0ec10daba4786ee6b7793490ac Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 02 六月 2023 12:36:17 +0800 Subject: [PATCH] 移库判断小车,库位状态 --- src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 9 +++++++++ src/main/java/com/zy/asrs/utils/Utils.java | 24 ++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 12 ++++++++++++ src/main/resources/mapper/LocMastMapper.xml | 8 ++++++++ src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2 ++ src/main/java/com/zy/asrs/service/LocMastService.java | 2 ++ 6 files changed, 57 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java index f2461a1..286d471 100644 --- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java +++ b/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); + } diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java index 9be06ce..4d529a4 100644 --- a/src/main/java/com/zy/asrs/service/LocMastService.java +++ b/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); } diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java index 3c7fb69..1c3c026 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java +++ b/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); + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 10fe3a8..ff60848 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/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銆丗銆乆 + if (Utils.checkInsideLocIsDFX(one.getLocNo())) { + //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� + continue; + } + loc = one; break; } diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index 08060e9..7afa71a 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/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銆丗銆乆 + * 杩斿洖true琛ㄧず鍐呬晶搴撲綅涓嶆槸DFX锛岃繑鍥瀎alse琛ㄧず鍐呬晶搴撲綅鏄疍FX + */ + 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銆丗銆乆(涓嶈兘閫夊畾杩欎釜澶栦晶搴撲綅) + return true; + } + } + } + return false; + } + } diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml index 7f46793..95ea60a 100644 --- a/src/main/resources/mapper/LocMastMapper.xml +++ b/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> -- Gitblit v1.9.1