| | |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); |
| | | String wrkCode = null; |
| | | //TODO 如果机台号不为空,判断当前机台与当前出库库位是否在同一库区或同一台堆垛机(相同站点) |
| | | //TODO 1. 如果是同一台堆垛机,生成移库(出库)任务 2. 如果不是,生成出库任务,再生成入库任务 |
| | | //TODO 另一种方案,不管是否当前巷道,统一出库,再入库 |
| | | if (!Objects.isNull(deviceNo)) { |
| | | wrkCode = workNo + "-1"; |
| | | ioType = 101; |
| | | generateOutStock(taskDto, userId, workNo, wrkCode, now, ioType, locMast, staDesc, deviceNo); |
| | | } else { |
| | | generateOutStock(taskDto, userId, workNo, wrkCode, now, ioType, locMast, staDesc, null); |
| | |
| | | wrkDetl.setStandby1(locDto.getStandby1()); |
| | | wrkDetl.setBatch(locDto.getBatch()); |
| | | wrkDetl.setOrderNo(locDto.getOrderNo()); |
| | | wrkDetl.setAnfme(locDto.getAnfme()); // 数量 |
| | | // wrkDetl.setAnfme(locDto.getAnfme()); // 数量 |
| | | LocDetl locDel = locDetlService.selectOne(new EntityWrapper<LocDetl>() |
| | | .eq("loc_no", locDto.getLocNo()) |
| | | .eq("batch", locDto.getBatch()) |
| | | .eq(!Objects.isNull(locDto.getBarcode()), "barcode", locDto.getBarcode()) |
| | | .eq("matnr", locDto.getMatnr())); |
| | | if (Objects.isNull(locDel)) { |
| | | throw new CoolException("数据错误,库存明细不存在!!"); |
| | | } |
| | | wrkDetl.setAnfme(locDel.getAnfme()); |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setModiTime(now); |
| | |
| | | throw new CoolException(workNo + "工作档不存在"); |
| | | } |
| | | Integer ioType = wrkMast.getIoType() - 50; |
| | | // int wokNo = wrkMast.getWrkNo(); |
| | | int wokNo = wrkMast.getWrkNo(); |
| | | // 入出库类型判断 |
| | | // if (Objects.isNull(wrkMast.getWrkCode())) { |
| | | if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) { |
| | | throw new CoolException("当前入出库类型无法进行操作"); |
| | | if (Objects.isNull(wrkMast.getWrkCode())) { |
| | | if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) { |
| | | throw new CoolException("当前入出库类型无法进行操作"); |
| | | } |
| | | // 工作状态判断 |
| | | if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) { |
| | | throw new CoolException("当前工作状态无法进行操作"); |
| | | } |
| | | } else { |
| | | if (wrkMast.getIoType() == 103) { |
| | | ioType = 1; |
| | | } |
| | | } |
| | | // 工作状态判断 |
| | | if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) { |
| | | throw new CoolException("当前工作状态无法进行操作"); |
| | | } |
| | | // } |
| | | |
| | | // else { |
| | | // if (wrkMast.getIoType() == 103) { |
| | | // ioType = 1; |
| | | // } else if (wrkMast.getIoType() == 101) { |
| | | // ioType = 10; |
| | | // } |
| | | // wokNo = commonService.getWorkNo(0); |
| | | // } |
| | | // 保存工作明细档历史档 |
| | | // if (!wrkDetlLogService.save(wrkMast.getWrkNo())) { |
| | | // throw new CoolException("保存工作明细档历史档失败"); |
| | | //// } |
| | | // // 保存工作主档历史档 |
| | | // if (!wrkMastLogService.save(wrkMast.getWrkNo())) { |
| | | // throw new CoolException("保存工作主档历史档失败"); |
| | | // } |
| | | // 获取目标站 |
| | | Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() |
| | | .eq("type_no", ioType) |
| | |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("修改库位状态失败"); |
| | | } |
| | | |
| | | wrkMast.setWrkCode(null); |
| | | |
| | | if (!wrkMastService.updateById(wrkMast)) { |
| | | throw new CoolException("任务档更新失败!!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |