From e77de9f405ea5cf8f50126d64a58fbf47c4a3350 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 06 二月 2023 10:08:59 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 6 +++ src/main/resources/mapper/LocMastMapper.xml | 31 +++++++++++++++ src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 4 ++ src/main/java/com/zy/asrs/service/LocMastService.java | 2 + src/main/java/com/zy/common/service/CommonService.java | 58 ++++++++++++++++------------ 5 files changed, 76 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java index e0722fe..367f59a 100644 --- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java @@ -19,6 +19,10 @@ , @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> queryFreeLocMast2(@Param("locType1") Short locType1 + , @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, @Param("locType1") Short locType1); List<LocMast> queryFreeLocMastEnd0(@Param("bay") Integer bay,@Param("lev") Integer lev,@Param("row1") Integer row, @Param("locType1") Short locType1); diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java index 7e6e34e..b52942e 100644 --- a/src/main/java/com/zy/asrs/service/LocMastService.java +++ b/src/main/java/com/zy/asrs/service/LocMastService.java @@ -18,6 +18,8 @@ List<LocMast> queryFreeLocMastEnd(Integer row, Short locType1); List<LocMast> queryFreeLocMastEnd0(Integer bay,Integer lev,Integer row, Short locType1); + List<LocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd); + /** * 鑾峰彇鍚岀粍璐ф灦鐨勭┖搴撲綅 * @param sourceLocNo 婧愬簱浣� 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 c19181d..0ba1412 100644 --- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java @@ -50,6 +50,12 @@ } @Override + public List<LocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd) { + return this.baseMapper.queryFreeLocMast2(locType1, rowBeg, rowEnd, bayBeg, bayEnd, levBeg, levEnd); + } + + + @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 ca077cf..c3e2a43 100644 --- a/src/main/java/com/zy/common/service/CommonService.java +++ b/src/main/java/com/zy/common/service/CommonService.java @@ -316,32 +316,40 @@ // 搴撳尯閿佸畾 LocRule locRule = locRuleService.find(Cools.isEmpty(matNos) ? null : matNos.get(0), null, start, end); if (!Cools.isEmpty(locRule)) { - List<Integer> rows = Utils.getGroupLoc(locRule.getRowBeg()); - List<LocMast> locMasts = locMastService.queryFreeLocMast1(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday + // plan first +// List<Integer> rows = Utils.getGroupLoc(locRule.getRowBeg()); +// List<LocMast> locMasts = locMastService.queryFreeLocMast1(rows, rows.size(), locTypeDto.getLocType1(), inoutEveryday +// , locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); +// if (!Cools.isEmpty(locMasts)) { +// Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo()); +// for (LocMast one : locMasts) { +// if (one.getRow1().equals(innermostRow)) { +// locMast = one; +// crnNo = locMast.getCrnNo(); +// wrapper = new EntityWrapper<StaDesc>() +// .eq("type_no", staDescId) +// .eq("stn_no", sourceStaNo) +// .eq("crn_no", crnNo); +// staDesc = staDescService.selectOne(wrapper); +// if (Cools.isEmpty(staDesc)) { +// log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", staDescId, sourceStaNo, crnNo); +// throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); +// } +// // 妫�娴嬬洰鏍囩珯 +// staNo = basDevpService.selectById(staDesc.getCrnStn()); +// if (!staNo.getAutoing().equals("Y")) { +// throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); +// } +// break; +// } +// } +// } + + // plan second + List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1() , locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd()); - if (!Cools.isEmpty(locMasts)) { - Integer innermostRow = Utils.getInnermostRow(locMasts.get(0).getLocNo()); - for (LocMast one : locMasts) { - if (one.getRow1().equals(innermostRow)) { - locMast = one; - crnNo = locMast.getCrnNo(); - wrapper = new EntityWrapper<StaDesc>() - .eq("type_no", staDescId) - .eq("stn_no", sourceStaNo) - .eq("crn_no", crnNo); - staDesc = staDescService.selectOne(wrapper); - if (Cools.isEmpty(staDesc)) { - log.error("鍏ュ簱璺緞涓嶅瓨鍦�, staDescId={}, sourceStaNo={}, crnNo={}", staDescId, sourceStaNo, crnNo); - throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); - } - // 妫�娴嬬洰鏍囩珯 - staNo = basDevpService.selectById(staDesc.getCrnStn()); - if (!staNo.getAutoing().equals("Y")) { - throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�"); - } - break; - } - } + for (LocMast one : locMasts) { + } } diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml index 006bb7d..ffd3a10 100644 --- a/src/main/resources/mapper/LocMastMapper.xml +++ b/src/main/resources/mapper/LocMastMapper.xml @@ -234,4 +234,35 @@ </if> </select> + <select id="queryFreeLocMast2" resultMap="BaseResultMap"> + select * + from asr_loc_mast + where row1=#{row} + and loc_sts='O' + <if test="locType1 != null"> + and loc_type1 = #{locType1} + </if> + + <if test="rowBeg != null"> + and row1 >= #{rowBeg} + </if> + <if test="rowEnd != null"> + and row1 <= #{rowEnd} + </if> + <if test="bayBeg != null"> + and bay1 >= #{bayBeg} + </if> + <if test="bayEnd != null"> + and bay1 <= #{bayEnd} + </if> + <if test="levBeg != null"> + and lev1 >= #{levBeg} + </if> + <if test="levEnd != null"> + and lev1 <= #{levEnd} + </if> + and loc_no not in ('0100101', '0200101', '0300101', '1200701', '1300701', '1400701', '1900401', '2000401', '2100401') + order by loc_sts desc ,lev1 asc,bay1 asc + </select> + </mapper> -- Gitblit v1.9.1