| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void checkStockOut(BasDevp staNo, TaskDto taskDto, Long userId) { |
| | | Date now = new Date(); |
| | | List<LocDto> locDtos = taskDto.getLocDtos(); |
| | | List<LocDto> locDtos = taskDto.getLocDtos().stream().distinct().collect(Collectors.toList()); |
| | | // Map<String, List<LocDto>> collect = taskDto.getLocDtos().stream().collect(Collectors.groupingBy(LocDto::getLocNo)); |
| | | for (LocDto locDto : locDtos) { |
| | | if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) { |
| | | throw new CoolException("订单出库异常,请联系管理员"); |
| | |
| | | throw new CoolException("保存工作档失败,出库库位号:" + taskDto.getLocNo()); |
| | | } |
| | | // 生成工作档明细 |
| | | for (LocDto locDto : taskDto.getLocDtos()) { |
| | | for (LocDto locDto : locDtos) { |
| | | if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) { |
| | | continue; |
| | | } |
| | | |
| | | List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>() |
| | | CheckOrderDetl checkOrderDetls = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>() |
| | | .eq("loc_no", locDto.getLocNo()) |
| | | .eq("matnr", locDto.getMatnr()) |
| | | .eq(!Cools.isEmpty(locDto.getBatch()),"batch", locDto.getBatch()) |
| | | .eq("order_no", locDto.getOrderNo()) |
| | | ); |
| | | .eq("supp_code", locDto.getSuppCode()) |
| | | .eq("order_no", locDto.getOrderNo())); |
| | | |
| | | if (checkOrderDetls.size() > 1) { |
| | | if (Objects.isNull(checkOrderDetls)) { |
| | | throw new CoolException("数据大于1,请检查数据"); |
| | | } |
| | | |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(checkOrderDetls.get(0)); |
| | | wrkDetl.setOrderId(checkOrderDetls.get(0).getId()); |
| | | wrkDetl.sync(checkOrderDetls); |
| | | wrkDetl.setOrderId(checkOrderDetls.getId()); |
| | | wrkDetl.setZpallet(wrkMast.getBarcode()); |
| | | wrkDetl.setIoTime(now); |
| | | wrkDetl.setWrkNo(workNo); |
| | |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | | // 修改订单明细 |
| | | checkOrderDetls.get(0).setStatus(2); |
| | | if (!checkOrderDetlService.updateById(checkOrderDetls.get(0))) { |
| | | checkOrderDetls.setStatus(2); |
| | | if (!checkOrderDetlService.updateById(checkOrderDetls)) { |
| | | throw new CoolException("保存订单明细失败"); |
| | | } |
| | | } |
| | |
| | | } |
| | | // 获取库位 |
| | | LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", taskDto.getLocNo())); |
| | | int ioType = (taskDto.isAll() ? 101 : 103); |
| | | int ioType = 103; |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); |
| | | int workNo = commonService.getWorkNo(4); |
| | | |
| | | Task task = new Task(); |
| | | task.setWrkNo(workNo) |
| | |
| | | locCache.setLocSts(ioType == 101 ? "R" : "P"); |
| | | locCache.setModiUser(userId); |
| | | locCache.setModiTime(now); |
| | | if (!locCacheService.updateById(locCache)) { |
| | | if (!locCacheService.update(locCache, new EntityWrapper<LocCache>().eq("loc_no", locCache.getLocNo()))) { |
| | | throw new CoolException("预约库位状态失败,库位号:" + taskDto.getLocNo()); |
| | | } |
| | | } else { |
| | |
| | | |
| | | if (wrkMast.getIoType() == 107) { |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())) { |
| | | |
| | | if (!Objects.isNull(wrkDetls) && !wrkDetls.isEmpty()) { |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>() |
| | | .eq("loc_no", wrkMast.getSourceLocNo()) |
| | |
| | | .eq("batch", wrkDetl.getBatch()) |
| | | .eq("order_no", wrkDetl.getOrderNo()) |
| | | ); |
| | | checkOrderDetl.setStatus(1); |
| | | checkOrderDetlService.updateById(checkOrderDetl); |
| | | if (!Objects.isNull(checkOrderDetl)) { |
| | | checkOrderDetl.setStatus(1); |
| | | checkOrderDetlService.updateById(checkOrderDetl); |
| | | } |
| | | } |
| | | CheckOrder checkOrder = checkOrderService.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", wrkDetls.get(0).getOrderNo())); |
| | | List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId())); |
| | |
| | | checkOrder.setSettle(is ? 1L : 12L); |
| | | checkOrderService.updateById(checkOrder); |
| | | } |
| | | |
| | | |
| | | // if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())) { |
| | | // |
| | | // |
| | | // } |
| | | } |
| | | |
| | | // // 订单关联 |