| | |
| | | // 生成工作号 |
| | | 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); |
| | |
| | | throw new CoolException("机台信息不存在或已禁用!!"); |
| | | } |
| | | |
| | | List<LocAroundBind> binds = locAroundBindService.selectList( new EntityWrapper<LocAroundBind>() |
| | | List<LocAroundBind> binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>() |
| | | .eq("dev_no", basDevice.getDevNo()) |
| | | .eq("is_default", 1)); |
| | | |
| | |
| | | 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); |
| | |
| | | } 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) |
| | |
| | | |
| | | |
| | | @Override |
| | | @Transactional |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void backLocOperation(String workNo, Long userId) { |
| | | WrkMast wrkMast = wrkMastService.selectById(workNo); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | |
| | | if (Cools.isEmpty(wrkDetls)) { |
| | | throw new CoolException("数据错误,任务档明细不存在 !!"); |
| | | } |
| | | |
| | | wrkDetls.forEach(wrkDetl -> { |
| | | WrkDetl wrkDetl1 = new WrkDetl(); |
| | | BeanUtils.copyProperties(wrkDetl, wrkDetl1); |
| | |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("修改库位状态失败"); |
| | | } |
| | | |
| | | wrkMast.setWrkCode(null); |
| | | |
| | | if (!wrkMastService.updateById(wrkMast)) { |
| | | throw new CoolException("任务档更新失败!!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @Override |