src/main/java/com/zy/asrs/mapper/LocDetlMapper.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/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/Utils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -30,7 +30,7 @@ @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}") int updateLocNo(String newLocNo, String oldLocNo); @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' ORDER BY lm.modi_time ASC") @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE 1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' ORDER BY lm.modi_time ASC") List<String> selectSameDetl(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end); @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' AND DateDiff(dd, lm.modi_time, getdate()) = 0) ORDER BY lm.modi_time ASC") src/main/java/com/zy/asrs/service/LocMastService.java
@@ -37,8 +37,9 @@ * @param locNo * @return */ Boolean isOutMost(String locNo); Boolean isOutMost(String locNo, Boolean pakin); // 同组空闲库位 LocMast findOutMost(List<String> locNos); } src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -53,8 +53,8 @@ } @Override public Boolean isOutMost(String locNo) { return Integer.parseInt(locNo.substring(0, 2)) == Utils.getGroupRow(locNo); public Boolean isOutMost(String locNo, Boolean pakin) { return Integer.parseInt(locNo.substring(0, 2)) == Utils.getGroupRow(locNo, true); } @Override src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -99,7 +99,7 @@ wrkMast.setWrkSts(1L); // 工作状态:生成入库ID wrkMast.setIoType(1); // 入出库状态:1.入库 wrkMast.setIoPri(13D); // 优先级:13 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);; wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); @@ -226,7 +226,7 @@ wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID wrkMast.setIoType(ioType); // 入出库状态 wrkMast.setIoPri(13D); // 优先级:13 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false)?1:0);; wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站 wrkMast.setStaNo(staDesc.getStnNo()); // 目标站 @@ -301,7 +301,7 @@ wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID wrkMast.setIoType(ioType); // 入出库状态 wrkMast.setIoPri(13D); // 优先级:13 wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo())?1:0);; wrkMast.setOutMost(locMastService.isOutMost(taskDto.getLocNo(), false)?1:0);; wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站 wrkMast.setStaNo(staDesc.getStnNo()); // 目标站 @@ -377,7 +377,7 @@ wrkMast.setWrkSts(1L); // 工作状态:生成入库ID wrkMast.setIoType(10); // 入出库状态:10.空板入库 wrkMast.setIoPri(10D); // 优先级:10 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);; wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); @@ -459,7 +459,7 @@ wrkMast.setIoPri(10D); wrkMast.setSourceStaNo(sourceStaNo); // 源站 wrkMast.setStaNo(param.getOutSite()); // 目标站 wrkMast.setOutMost(locMastService.isOutMost(locNo)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);; wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setSourceLocNo(locNo); // 源库位 wrkMast.setFullPlt("N"); // 满板:Y @@ -532,7 +532,7 @@ wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID wrkMast.setIoType(11); // 入出库状态: 11.库格移载 wrkMast.setIoPri(10D); wrkMast.setOutMost(locMastService.isOutMost(locNo)?1:0);; wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);; wrkMast.setCrnNo(sourceLoc.getCrnNo()); wrkMast.setSourceLocNo(sourceLocNo); // 源库位 wrkMast.setLocNo(locNo); // 目标库位 src/main/java/com/zy/asrs/utils/Utils.java
@@ -3,6 +3,7 @@ import com.core.common.Arith; import com.core.common.Cools; import com.zy.common.properties.SlaveProperties; import com.zy.common.service.CommonService; import java.text.DecimalFormat; import java.util.ArrayList; @@ -161,103 +162,35 @@ } public static Integer getGroupRow(String locNo){ public static Integer getGroupRow(String locNo, Boolean pakin){ int row = getRow(locNo); switch (row) { case 1: case 2: case 3: return 3; case 4: case 5: case 6: case 7: return 4; case 8: case 9: case 10: case 11: return 11; case 12: case 13: case 14: return 12; case 15: case 16: case 17: case 18: return 18; case 19: case 20: case 21: return 19; default: throw new RuntimeException("库位解析异常"); if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { return pakin?17:2; } if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { return pakin?30:18; } throw new RuntimeException("库位解析异常"); } public static List<String> getGroupLoc(String locNo){ int row = getRow(locNo); switch (row) { case 1: case 2: case 3: return new ArrayList<String>() {{ add(zerofill(String.valueOf(1), 2) + locNo.substring(2)); add(zerofill(String.valueOf(2), 2) + locNo.substring(2)); add(zerofill(String.valueOf(3), 2) + locNo.substring(2)); }}; case 4: case 5: case 6: case 7: return new ArrayList<String>() {{ add(zerofill(String.valueOf(4), 2) + locNo.substring(2)); add(zerofill(String.valueOf(5), 2) + locNo.substring(2)); add(zerofill(String.valueOf(6), 2) + locNo.substring(2)); add(zerofill(String.valueOf(7), 2) + locNo.substring(2)); }}; case 8: case 9: case 10: case 11: return new ArrayList<String>() {{ add(zerofill(String.valueOf(8), 2) + locNo.substring(2)); add(zerofill(String.valueOf(9), 2) + locNo.substring(2)); add(zerofill(String.valueOf(10), 2) + locNo.substring(2)); add(zerofill(String.valueOf(11), 2) + locNo.substring(2)); }}; case 12: case 13: case 14: return new ArrayList<String>() {{ add(zerofill(String.valueOf(12), 2) + locNo.substring(2)); add(zerofill(String.valueOf(13), 2) + locNo.substring(2)); add(zerofill(String.valueOf(14), 2) + locNo.substring(2)); }}; case 15: case 16: case 17: case 18: return new ArrayList<String>() {{ add(zerofill(String.valueOf(15), 2) + locNo.substring(2)); add(zerofill(String.valueOf(16), 2) + locNo.substring(2)); add(zerofill(String.valueOf(17), 2) + locNo.substring(2)); add(zerofill(String.valueOf(18), 2) + locNo.substring(2)); }}; case 19: case 20: case 21: return new ArrayList<String>() {{ add(zerofill(String.valueOf(19), 2) + locNo.substring(2)); add(zerofill(String.valueOf(20), 2) + locNo.substring(2)); add(zerofill(String.valueOf(21), 2) + locNo.substring(2)); }}; default: throw new RuntimeException("库位解析异常"); if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { List<String> result = new ArrayList<>(); for (Integer row0 : CommonService.FIRST_GROUP_ROW_LIST) { result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); } return result; } if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { List<String> result = new ArrayList<>(); for (Integer row0 : CommonService.SECOND_GROUP_ROW_LIST) { result.add(zerofill(String.valueOf(row0), 2) + locNo.substring(2)); } return result; } throw new RuntimeException("库位解析异常"); } public static void main(String[] args) { src/main/java/com/zy/common/service/CommonService.java
@@ -132,7 +132,7 @@ // 靠近摆放规则 --- 同天同规格物料 if (!Cools.isEmpty(matNos)) { List<String> locNos = locDetlService.getSameDetl(matNos.get(0), sRow, eRow); List<String> locNos = locDetlService.getSameDetl(matNos.get(0), 2, 30); for (String locNo : locNos) { List<String> groupLoc = Utils.getGroupLoc(locNo); locMast = locMastService.findOutMost(groupLoc); src/main/java/com/zy/common/web/WcsController.java
@@ -118,7 +118,7 @@ wrkMast.setIoType(1); // 入出库状态:1.入库 wrkMast.setIoPri(13D); // 优先级 wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);; wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo()); wrkMast.setLocNo(dto.getLocNo()); @@ -191,7 +191,7 @@ wrkMast.setWrkSts(2L); // 工作状态:生成入库ID wrkMast.setIoType(10); // 入出库状态:10.空板入库 wrkMast.setIoPri(13D); // 优先级 wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo())?1:0);; wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), true)?1:0);; wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(dto.getSourceStaNo()); wrkMast.setStaNo(dto.getStaNo());