| | |
| | | @TableField("out_ok") |
| | | private String outOk; |
| | | |
| | | @ApiModelProperty(value= "高低类型{0:未知,1:低库位,2:高库位}") |
| | | @ApiModelProperty(value= "高低类型{0:未知,1:低库位,2:中库位,3:高库位}") |
| | | @TableField("loc_type1") |
| | | private Short locType1; |
| | | |
| | |
| | | case 1: |
| | | return "低库位"; |
| | | case 2: |
| | | return "中库位"; |
| | | case 3: |
| | | return "高库位"; |
| | | default: |
| | | return String.valueOf(this.locType1); |
| | |
| | | **/ |
| | | public static boolean locMoveCheckLocType(LocMast loc, LocTypeDto dto){ |
| | | // 如果源库位是高库位,目标库位是低库位 |
| | | if (dto.getLocType1() == 2 && loc.getLocType1() == 1) { |
| | | if (dto.getLocType1() > loc.getLocType1()) { |
| | | return false; |
| | | } |
| | | return true; |
| | |
| | | **/ |
| | | public static boolean locMoveCheckLocType0(LocMast sourceLoc, LocMast loc){ |
| | | // 如果源库位是高库位,目标库位是低库位 |
| | | return sourceLoc.getLocType1() != 2 || loc.getLocType1() != 1; |
| | | if (sourceLoc.getLocType1() > loc.getLocType1()) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | |
| | | @Data |
| | | public class LocTypeDto { |
| | | |
| | | // 高低类型{0:未知,1:低库位,2:高库位} |
| | | // 高低类型{0:未知,1:低库位,2:中库位,3:高库位} |
| | | private Short locType1; |
| | | |
| | | // 宽窄类型{0:未知,1:窄库位,2:宽库位} |
| | |
| | | if (basDevp.getLocType1() == null || basDevp.getLocType1() == 0) { |
| | | throw new CoolException("plc高低检测异常"); |
| | | } |
| | | if (basDevp.getLocType1() == 1) { |
| | | this.locType1 = 1; // 低库位 |
| | | } else { |
| | | this.locType1 = 2; // 高库位 |
| | | } |
| | | this.locType1 = basDevp.getLocType1(); |
| | | } |
| | | |
| | | } |
| | |
| | | } |
| | | } |
| | | if (Cools.isEmpty(locMast)) { |
| | | // 轻货物找轻库位为空时,可以去找重库位仓 |
| | | // 轻货物找低库位为空时,可以去找中库位仓 |
| | | if (locTypeDto.getLocType1() == 1) { |
| | | locTypeDto.setLocType1((short) 2); |
| | | return getLocNo(null, staDescId, sourceStaNo, matNos, locTypeDto, times); |
| | | } |
| | | // 轻货物找中库位为空时,可以去找高库位仓 |
| | | if (locTypeDto.getLocType1() == 2) { |
| | | locTypeDto.setLocType1((short) 3); |
| | | return getLocNo(null, staDescId, sourceStaNo, matNos, locTypeDto, times); |
| | | } |
| | | if (times >= rowCount) { |
| | | log.error("没有空库位"); |
| | | throw new CoolException("没有空库位"); |