From 2b12b7d324d013df11c8ed81ee61a0c5b54ca3f7 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 30 一月 2023 16:05:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 9 ++++ src/main/resources/mapper/LocMastMapper.xml | 42 +++++++++++++++++++++ src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2 + src/main/java/com/zy/asrs/service/LocMastService.java | 2 + src/main/java/com/zy/common/service/CommonService.java | 20 +++++++++ 5 files changed, 74 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java index 9656b06..3c9ec56 100644 --- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java @@ -19,6 +19,8 @@ , @Param("rowsLen") Integer rowsLen, @Param("locType1") Short locType1, @Param("inoutEveryday") Boolean inoutEveryday , @Param("rowBeg") Integer rowBeg, @Param("rowEnd") Integer rowEnd, @Param("bayBeg") Integer bayBeg , @Param("bayEnd") Integer bayEnd, @Param("levBeg") Integer levBeg, @Param("levEnd") Integer levEnd); + List<LocMast> queryFreeLocMastEnd(@Param("row") Integer row); + List<LocMast> queryFreeLocMastEnd0(@Param("bay") Integer bay,@Param("lev") Integer lev,@Param("row1") Integer row); @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}") List<String> queryGroupEmptyStock(Integer crnNo); diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java index b9ce6de..e6c33e7 100644 --- a/src/main/java/com/zy/asrs/service/LocMastService.java +++ b/src/main/java/com/zy/asrs/service/LocMastService.java @@ -15,6 +15,8 @@ List<LocMast> queryFreeLocMast0(List<Integer> rows, Integer rowsLen, Short locType1,Boolean inoutEveryday); List<LocMast> queryFreeLocMast1(List<Integer> rows, Integer rowsLen, Short locType1,Boolean inoutEveryday , Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd); + List<LocMast> queryFreeLocMastEnd(Integer row); + List<LocMast> queryFreeLocMastEnd0(Integer bay,Integer lev,Integer row); /** * 鑾峰彇鍚岀粍璐ф灦鐨勭┖搴撲綅 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 3b85cad..47c9f4c 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java @@ -41,6 +41,15 @@ } @Override + public List<LocMast> queryFreeLocMastEnd(Integer row){ + return this.baseMapper.queryFreeLocMastEnd(row); + } + @Override + public List<LocMast> queryFreeLocMastEnd0(Integer bay,Integer lev,Integer row){ + return this.baseMapper.queryFreeLocMastEnd0(bay,lev,row); + } + + @Override public List<String> queryGroupEmptyStock(String sourceLocNo) { if (Cools.isEmpty(sourceLocNo)) { return null; diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java index e4f3864..406773f 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -353,7 +353,25 @@ // } } - // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣� + // 2.鏃犲簱浣嶆椂锛屾棤瑙嗗尯鍩熼攣瀹氾紝閲嶆柊鏌ユ壘搴撲綅 + if (Cools.isEmpty(locMast)){ + List<LocMast> locMasts = locMastService.queryFreeLocMastEnd(curRow); + for (LocMast locMast1 : locMasts){ + List<LocMast> locMasts1 = locMastService.queryFreeLocMastEnd0(locMast1.getBay1(), locMast1.getLev1(),locMast1.getRow1()); + Integer innermostRow = Utils.getInnermostRow(locMasts1.get(0).getLocNo()); + for (LocMast locMast2:locMasts1){ + if (locMast2.getRow1().equals(innermostRow)) { + locMast = locMast2; + break; + } + } + if (!Cools.isEmpty(locMast)){ + break; + } + } + } + + // 3.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣� if (Cools.isEmpty(locMast)) { // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 if (times < rowCount) { diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml index 6068a56..438626c 100644 --- a/src/main/resources/mapper/LocMastMapper.xml +++ b/src/main/resources/mapper/LocMastMapper.xml @@ -186,4 +186,46 @@ ) </select> + <select id="queryFreeLocMastEnd" resultMap="BaseResultMap"> + select * + from asr_loc_mast + where row1=#{row} + and loc_sts='O' + and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') + order by loc_sts desc ,lev1 asc,bay1 asc + </select> + + <select id="queryFreeLocMastEnd0" resultMap="BaseResultMap"> + select * + from asr_loc_mast + where bay1=#{bay} + and lev1=#{lev} + and loc_sts='O' + and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') + <if test="row1 >= 1 and row1 <= 3"> + and row1 >= 1 and row1 <= 3 + order by loc_sts desc ,row1 asc + </if> + <if test="row1 >= 4 and row1 <= 7"> + and row1 >= 4 and row1 <= 7 + order by loc_sts desc ,row1 desc + </if> + <if test="row1 >= 8 and row1 <= 11"> + and row1 >= 8 and row1 <= 11 + order by loc_sts desc ,row1 asc + </if> + <if test="row1 >= 12 and row1 <= 14"> + and row1 >= 12 and row1 <= 14 + order by loc_sts desc ,row1 desc + </if> + <if test="row1 >= 15 and row1 <= 18"> + and row1 >= 15 and row1 <= 18 + order by loc_sts desc ,row1 asc + </if> + <if test="row1 >= 19 and row1 <= 21"> + and row1 >= 19 and row1 <= 21 + order by loc_sts desc ,row1 desc + </if> + </select> + </mapper> -- Gitblit v1.9.1