| | |
| | | private DeviceSiteService deviceSiteService; |
| | | @Autowired |
| | | private LocItemService locItemService; |
| | | @Autowired |
| | | private TaskService taskService; |
| | | @Autowired |
| | | private LocServiceImpl locService; |
| | | @Autowired |
| | | private TaskItemServiceImpl taskItemService; |
| | | |
| | | /** |
| | | * @author Ryan |
| | |
| | | if (checkParams.isEmpty()) { |
| | | throw new CoolException("参数不能为空!!"); |
| | | } |
| | | |
| | | for (CheckOrderParams checkParam : checkParams) { |
| | | if (checkParam.getItems().isEmpty()) { |
| | | continue; |
| | | } |
| | | Map<String, List<CheckOrderItemParams>> listMap = checkParam.getItems().stream() |
| | | .collect(Collectors.groupingBy(CheckOrderItemParams::getBarcode)); |
| | | listMap.keySet().forEach(key -> { |
| | | Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, key)); |
| | | if (Objects.isNull(loc)) { |
| | | throw new CoolException("当前库位不存在!!"); |
| | | } |
| | | List<CheckOrderItemParams> itemParams = listMap.get(key); |
| | | CheckOrderItemParams checkItem = itemParams.stream().findFirst().get(); |
| | | Task task = new Task(); |
| | | task.setOrgLoc(loc.getCode()) |
| | | .setTargSite(checkItem.getSiteNo()) |
| | | .setResource(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val) |
| | | .setTaskType(TaskType.TASK_TYPE_CHECK_OUT.type) |
| | | .setTaskStatus(TaskStsType.GENERATE_OUT.id) |
| | | .setCreateTime(new Date()) |
| | | .setCreateBy(loginUserId) |
| | | .setBarcode(key); |
| | | |
| | | return null; |
| | | if (!taskService.save(task)) { |
| | | throw new CoolException("盘点任务生成失败!!"); |
| | | } |
| | | List<TaskItem> items = new ArrayList<>(); |
| | | itemParams.forEach(item -> { |
| | | TaskItem taskItem = new TaskItem(); |
| | | taskItem.setTaskId(task.getId()) |
| | | .setOrderId(checkParam.getOrderId()) |
| | | .setOrderType(OrderType.ORDER_CHECK.type) |
| | | .setAnfme(item.getAnfme()) |
| | | .setWorkQty(0.0) |
| | | .setBatch(checkParam.getBatch()) |
| | | .setMaktx(checkParam.getMaktx()) |
| | | .setMatnrCode(checkParam.getMatnrCode()) |
| | | .setPlatOrderCode(checkParam.getPlatOrderCode()) |
| | | .setPlatWorkCode(checkParam.getPlatWorkCode()) |
| | | .setSpec(checkParam.getSpec()) |
| | | .setModel(checkParam.getModel()) |
| | | .setFieldsIndex(checkParam.getFieldsIndex()) |
| | | .setMatnrId(checkParam.getMatnrId()) |
| | | .setCreateBy(loginUserId) |
| | | .setCreateTime(new Date()) |
| | | .setPlatItemId(checkParam.getPlatItemId()); |
| | | items.add(taskItem); |
| | | }); |
| | | if (!taskItemService.saveBatch(items)) { |
| | | throw new CoolException("任务明细保存失败!!"); |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |