| 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/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/LocMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -12,7 +12,6 @@ @Mapper @Repository public interface LocMastMapper extends BaseMapper<LocMast> { LocMast queryFreeLocMast(@Param("row") Integer row, @Param("locType1") Short locType1); @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}") @@ -47,4 +46,8 @@ LocMast selectLocByLocStsPakInO2(@Param("locNos") List<String> locNos); LocMast selectByBarcode(@Param("zpallet")String zpallet); LocMast queryLocToOne(Short locType2); LocMast queryLocToTwo(Short locType2); } src/main/java/com/zy/asrs/service/LocMastService.java
@@ -52,4 +52,8 @@ LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,List<String> locNos); LocMast selectByBarcode(String zpallet); LocMast queryLocToOne(Short locType2); LocMast queryLocToTwo(Short locType2); } src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -71,6 +71,16 @@ } @Override public LocMast queryLocToOne(Short locType2) { return this.baseMapper.queryLocToOne(locType2); } @Override public LocMast queryLocToTwo(Short locType2) { return this.baseMapper.queryLocToTwo(locType2); } @Override public Boolean checkWhole(List<LocDetl> locDetls) { return null; } src/main/java/com/zy/common/service/CommonService.java
@@ -119,7 +119,7 @@ @Transactional public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) { whsType = Utils.GetWhsType(sourceStaNo); return getLocNo(whsType, staDescId, sourceStaNo, matnr, batch, grade, 0, locTypeDto, 0); return getLocNoToOne(whsType, staDescId, sourceStaNo, matnr, batch, grade, 0, locTypeDto, 0); } /** @@ -152,15 +152,15 @@ StartupDto startupDto = new StartupDto(); RowLastno rowLastno = rowLastnoService.selectById(whsType); int sRow = rowLastno.getsRow(); int eRow = rowLastno.geteRow(); int crnNumber = rowLastno.getCrnQty(); int sRow = rowLastno.getsRow(); //起始排号 int eRow = rowLastno.geteRow(); //终止排号 int crnNumber = rowLastno.getCrnQty(); //堆垛机数量 if (Cools.isEmpty(rowLastno)) { throw new CoolException("数据异常,请联系管理员"); } // ===============>>>> 开始执行 curRow = rowLastno.getCurrentRow(); curRow = rowLastno.getCurrentRow(); //当前排号 if (!Cools.isEmpty(moveCrnNo) && moveCrnNo != 0) { crnNumber = moveCrnNo; @@ -377,4 +377,56 @@ startupDto.setLocNo(locNo); return startupDto; } /*镇江恒立单伸立库逻辑*/ @Transactional public StartupDto getLocNoToOne(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) { //目标库位 LocMast locMast = null; //1号巷道 3种托盘类型 if (locTypeDto.getLocType2()==4||locTypeDto.getLocType2()==5||locTypeDto.getLocType2()==6){ locMast=locMastService.queryLocToOne(locTypeDto.getLocType2()); }else if (locTypeDto.getLocType2()==7||locTypeDto.getLocType2()==8){ //2号巷道 2种类型托盘 locMast=locMastService.queryLocToTwo(locTypeDto.getLocType2()); }else { throw new CoolException("不存在该库位类型:"+locTypeDto.getLocType2()); } if (locMast == null){ throw new CoolException("入库没有空库位"); } //堆垛机号 Integer crnNo = locMast.getCrnNo(); //获取目标站 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", staDescId) .eq("stn_no", sourceStaNo) .eq("crn_no", crnNo); StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)){ log.error("入库路径不存在,staDesc={},sourceStaNo={},crnNo={}",1,staDescId,crnNo); throw new CoolException("入库路径不存在"); } //检测目标站 BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn()); if (!staNo.getAutoing().equals("Y")){ throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用"); } //生成工作号 int workNo = getWorkNo(0); //返回dto StartupDto startupDto =new StartupDto(); startupDto.setWorkNo(workNo); startupDto.setLocNo(locMast.getLocNo()); startupDto.setStaNo(staNo.getDevNo()); startupDto.setCrnNo(crnNo); startupDto.setSourceStaNo(sourceStaNo); return startupDto; } } src/main/java/com/zy/common/web/WcsController.java
@@ -118,7 +118,7 @@ }else if (param.getBarcode().startsWith("8")){ locTypeDto.setLocType2((short) 8); }else { throw new CoolException("条码规则不存在"); throw new CoolException("条码规则不存在:"+param.getBarcode()); } StartupDto dto = null; src/main/resources/mapper/LocMastMapper.xml
@@ -120,4 +120,30 @@ SELECT top 1 * FROM [dbo].[asr_loc_mast] WHERE barcode = #{zpallet} </select> <select id="queryLocToOne" resultMap="BaseResultMap"> select top 1 loc_no as locNo,crn_no as crnNo from asr_loc_mast where loc_status = 'O' and row1 in (1,2) <if test="locType2 == 4"> and lev1 = 1 </if> <if test="locType2 == 5"> and lev1 in(2,3) </if> <if test="locType2 == 6"> and lev1 in(4,5) </if> order by lev1 asc,bay1 asc </select> <select id="queryLocToTwo" resultMap="BaseResultMap"> select top 1 loc_no as locNo,crn_no as crnNo from asr_loc_mast where loc_status = 'O' and row1 in (3,4) <if test="locType2 == 7"> and lev1 in(1,2) </if> <if test="locType2 == 8"> and lev1 in(3,4,5,6) </if> order by lev1 asc,bay1 asc </select> </mapper>