| | |
| | | import com.zy.asrs.entity.param.LocDetlAdjustParam; |
| | | import com.zy.asrs.entity.param.StockOutParam; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.OutboundAllocationUtil; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.model.*; |
| | | import com.zy.common.model.enums.IoWorkType; |
| | |
| | | |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * Created by vincent on 2020/6/11 |
| | |
| | | LocMast locMast = locMastService.selectById(taskDto.getLocNo()); |
| | | // 获取路径 |
| | | int ioType = taskDto.isAll() ? 101 : 103; |
| | | StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); |
| | | // StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo()); |
| | | // 根据库位排号+出库站点,获取出库源站点 |
| | | int row = Integer.parseInt(locMast.getLocNo().substring(0, 2)); |
| | | int souresStaNo = 0; |
| | | if (taskDto.getStaNo() < 3000) { // 二楼 |
| | | switch (row) { |
| | | case 1: case 2: case 3: |
| | | case 4: souresStaNo = 2062; break; |
| | | case 5: case 6: case 7: |
| | | case 8: souresStaNo = 2065; break; |
| | | case 9: case 10: case 11: |
| | | case 12: souresStaNo = 2068; break; |
| | | case 13: case 14: case 15: |
| | | case 16: souresStaNo = 2070; break; |
| | | case 17: case 18: case 19: |
| | | case 20: souresStaNo = 2073; break; |
| | | case 21: case 22: case 23: |
| | | case 24: souresStaNo = 2076; break; |
| | | default: |
| | | } |
| | | } else { // 一楼 |
| | | switch (row) { |
| | | case 1: case 2: case 3: |
| | | case 4: souresStaNo = 3002; break; |
| | | case 5: case 6: case 7: |
| | | case 8: souresStaNo = 3003; break; |
| | | case 9: case 10: case 11: |
| | | case 12: souresStaNo = 3006; break; |
| | | case 13: case 14: case 15: |
| | | case 16: souresStaNo = 3008; break; |
| | | case 17: case 18: case 19: |
| | | case 20: souresStaNo = 3009; break; |
| | | case 21: case 22: case 23: |
| | | case 24: souresStaNo = 3012; break; |
| | | default: |
| | | } |
| | | } |
| | | |
| | | if (souresStaNo == 0) { |
| | | throw new CoolException("源站点转换异常:" + row); |
| | | } |
| | | |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); |
| | | // 生成工作档 |
| | |
| | | wrkMast.setIoType(ioType); // 入出库状态 |
| | | wrkMast.setIoPri(13D); // 优先级:13 |
| | | wrkMast.setCrnNo(locMast.getCrnNo()); |
| | | wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站 |
| | | wrkMast.setStaNo(staDesc.getStnNo()); // 目标站 |
| | | wrkMast.setSourceStaNo(souresStaNo); // 源站 |
| | | wrkMast.setStaNo(taskDto.getStaNo()); // 目标站 |
| | | wrkMast.setSourceLocNo(taskDto.getLocNo()); // 源库位 |
| | | wrkMast.setFullPlt("Y"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | |
| | | orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null); |
| | | } |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(orderDetl); |
| | | // wrkDetl.sync(orderDetl); |
| | | wrkDetl.setZpallet(wrkMast.getBarcode()); |
| | | wrkDetl.setIoTime(now); |
| | | wrkDetl.setMatnr(locDto.getMatnr()); |
| | | wrkDetl.setMaktx(locDto.getMaktx()); |
| | | wrkDetl.setWeight(locDto.getWeight()); // 净重 |
| | | wrkDetl.setVolume(locDto.getVolume()); // 毛重 |
| | | wrkDetl.setOrigin(locDto.getOrigin()); // 木箱在托盘位置 |
| | | wrkDetl.setPrice(locDto.getPrice()); |
| | | wrkDetl.setSpecs(locDto.getSpecs()); |
| | | wrkDetl.setModel(locDto.getModel()); |
| | | wrkDetl.setWrkNo(workNo); |
| | | wrkDetl.setBatch(locDto.getBatch()); |
| | | wrkDetl.setOrderNo(locDto.getOrderNo()); |