| | |
| | | , @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); |
| | |
| | | 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); |
| | | |
| | | /** |
| | | * 获取同组货架的空库位 |
| | |
| | | } |
| | | |
| | | @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; |
| | |
| | | // } |
| | | } |
| | | |
| | | // 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) { |
| | |
| | | ) |
| | | </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> |