| | |
| | | case 101: |
| | | case 109: |
| | | case 117: |
| | | whsType=1; |
| | | whsType=1; //1-8货架 |
| | | slaveProperties.setDoubleDeep(false); |
| | | slaveProperties.setGroupCount(2); |
| | | break; |
| | | case 201: |
| | | whsType=2; |
| | | slaveProperties.setDoubleDeep(true); |
| | | slaveProperties.setGroupCount(4); |
| | | whsType=2; //9-12货架 |
| | | break; |
| | | case 207: |
| | | whsType=3; |
| | | whsType=3; //13-14货架 |
| | | slaveProperties.setDoubleDeep(false); |
| | | slaveProperties.setGroupCount(2); |
| | | break; |
| | | case 213: |
| | | whsType=4; |
| | | slaveProperties.setDoubleDeep(true); |
| | | slaveProperties.setGroupCount(4); |
| | | whsType=4; //15-18货架 |
| | | break; |
| | | default: |
| | | throw new CoolException("根据入库站获取库位排号分配失败,入库站:" + sourceStaNo); |
| | | } |
| | | |
| | | StartupDto startupDto = new StartupDto(); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 如果没有相近物料,则按规则轮询货架 |
| | | if (null == locMast) { |
| | | Shelves shelves = new Shelves(rowCount, crn_qty); |
| | | int divides = (int) Arith.divides(1, curRow - 1, 4); |
| | | curRow = (int) Arith.remainder(curRow, 4); |
| | | if (curRow == 0) { |
| | | curRow = 4; |
| | | } |
| | | for (int i = 0; i < shelves.group; i ++) { |
| | | curRow = shelves.start(curRow); |
| | | if (curRow < 0) { |
| | | throw new CoolException("检索库位失败,请联系管理员"); |
| | | } |
| | | Integer crnNo1 = shelves.get(curRow); |
| | | crnNo1 = crnNo1 + divides*1; |
| | | if (basCrnpService.checkSiteError(crnNo1, true)) { |
| | | crnNo = crnNo1; |
| | | curRow = curRow + divides*4; |
| | | if (null == locMast){ |
| | | switch (curRow){ |
| | | case 1: |
| | | case 3: |
| | | case 5: |
| | | curRow=curRow+2; |
| | | crnNo=(curRow+1)/2; |
| | | break; |
| | | } |
| | | case 7: |
| | | crnNo=1; |
| | | curRow=2; |
| | | break; |
| | | case 13: |
| | | crnNo=6; |
| | | curRow=14; |
| | | break; |
| | | case 2: |
| | | case 4: |
| | | case 6: |
| | | curRow=curRow+2; |
| | | crnNo=curRow/2; |
| | | break; |
| | | case 8: |
| | | crnNo=1; |
| | | curRow=1; |
| | | break; |
| | | case 14: |
| | | crnNo=6; |
| | | curRow=13; |
| | | break; |
| | | case 9: |
| | | crnNo=5; |
| | | curRow=12; |
| | | break; |
| | | case 10: |
| | | crnNo=5; |
| | | curRow=11; |
| | | break; |
| | | case 11: |
| | | crnNo=5; |
| | | curRow=9; |
| | | break; |
| | | case 12: |
| | | crnNo=5; |
| | | curRow=10; |
| | | break; |
| | | case 15: |
| | | crnNo=7; |
| | | curRow=18; |
| | | break; |
| | | case 16: |
| | | crnNo=7; |
| | | curRow=17; |
| | | break; |
| | | case 17: |
| | | crnNo=7; |
| | | curRow=15; |
| | | break; |
| | | case 18: |
| | | crnNo=7; |
| | | curRow=16; |
| | | break; |
| | | default: |
| | | throw new CoolException("根据入库站获取库位排号分配失败,入库站:" + sourceStaNo); |
| | | } |
| | | } |
| | | |
| | | // // 如果没有相近物料,则按规则轮询货架 |
| | | // if (null == locMast) { |
| | | // Shelves shelves = new Shelves(rowCount, crn_qty); |
| | | // int divides = (int) Arith.divides(1, curRow - 1, 4); |
| | | // curRow = (int) Arith.remainder(curRow, 4); |
| | | // if (curRow == 0) { |
| | | // curRow = 4; |
| | | // } |
| | | // for (int i = 0; i < shelves.group; i ++) { |
| | | // curRow = shelves.start(curRow); |
| | | // if (curRow < 0) { |
| | | // throw new CoolException("检索库位失败,请联系管理员"); |
| | | // } |
| | | // Integer crnNo1 = shelves.get(curRow); |
| | | // crnNo1 = crnNo1 + divides*1; |
| | | // if (basCrnpService.checkSiteError(crnNo1, true)) { |
| | | // crnNo = crnNo1; |
| | | // curRow = curRow + divides*4; |
| | | // break; |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | if (crnNo == 0) { |
| | | throw new CoolException("没有可用的堆垛机"); |
| | | } |