Commit 1b3d98ac8232c025430db364d1230a9a1dd36be7
1 parent
d8b0cee4
创建出库查看、质检任务添加限制
Showing
1 changed file
with
36 additions
and
17 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... | ... | @@ -320,6 +320,19 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
320 | 320 | if (StringUtils.isEmpty(containerCode)) { |
321 | 321 | return Result.error("创建出库查看任务时,容器编码为空"); |
322 | 322 | } |
323 | + | |
324 | + //创建出库查看任务时,库存不能被冻结 | |
325 | + LambdaQueryWrapper<InventoryDetail> inventoryDetailWrapper = Wrappers.lambdaQuery(); | |
326 | + inventoryDetailWrapper.eq(InventoryDetail::getContainerCode,containerCode); | |
327 | + List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailWrapper); | |
328 | + if (StringUtils.isEmpty(inventoryDetailList)) { | |
329 | + return Result.error("创建出库查看任务时,库存详情为空"); | |
330 | + } | |
331 | + List<Integer> enableList = inventoryDetailList.stream().map(InventoryDetail::getEnable).distinct().collect(Collectors.toList()); | |
332 | + if (enableList.contains(QuantityConstant.INVENTORY_DETAIL_STATUS_CONTAINER)) { | |
333 | + return Result.error("创建出库查看任务时,库存详情被冻结"); | |
334 | + } | |
335 | + | |
323 | 336 | if (StringUtils.isEmpty(toPortCode)) { |
324 | 337 | return Result.error("创建出库查看任务时,目标站台号为空"); |
325 | 338 | } |
... | ... | @@ -440,24 +453,30 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea |
440 | 453 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); |
441 | 454 | List<TaskDetail> taskDetailList = new ArrayList<>(); |
442 | 455 | if (inventoryDetailList.size() != 0) { |
456 | + List<Integer> enableList = inventoryDetailList.stream().map(InventoryDetail::getEnable).distinct().collect(Collectors.toList()); | |
457 | + if (!enableList.contains(QuantityConstant.INVENTORY_DETAIL_STATUS_ENABLE)) { | |
458 | + return Result.error("没有正常状态的库存详情"); | |
459 | + } | |
443 | 460 | for (InventoryDetail inventoryDetail : inventoryDetailList) { |
444 | - TaskDetail taskDetail = new TaskDetail(); | |
445 | - taskDetail.setTaskHeaderId(taskHeader.getId()); | |
446 | - taskDetail.setTaskType(QuantityConstant.TASK_TYPE_QUALITY); | |
447 | - taskDetail.setWarehouseCode(warehouseCode); | |
448 | - taskDetail.setCompanyCode(inventoryDetail.getCompanyCode()); | |
449 | - taskDetail.setMaterialCode(inventoryDetail.getMaterialCode()); | |
450 | - taskDetail.setMaterialName(inventoryDetail.getMaterialName()); | |
451 | - taskDetail.setMaterialSpec(inventoryDetail.getMaterialSpec()); | |
452 | - taskDetail.setMaterialUnit(inventoryDetail.getMaterialUnit()); | |
453 | - taskDetail.setFromInventoryDetailId(inventoryDetail.getId()); | |
454 | - taskDetail.setInventoryStatus(inventoryDetail.getInventoryStatus()); | |
455 | - taskDetail.setQty(inventoryDetail.getQty()); | |
456 | - taskDetail.setBatch(inventoryDetail.getBatch()); | |
457 | - taskDetail.setLot(inventoryDetail.getLot()); | |
458 | - taskDetail.setProject(inventoryDetail.getProject()); | |
459 | - taskDetail.setReceiveTime(inventoryDetail.getReceiveTime()); | |
460 | - taskDetailList.add(taskDetail); | |
461 | + if (inventoryDetail.getEnable() == QuantityConstant.INVENTORY_DETAIL_STATUS_ENABLE) { | |
462 | + TaskDetail taskDetail = new TaskDetail(); | |
463 | + taskDetail.setTaskHeaderId(taskHeader.getId()); | |
464 | + taskDetail.setTaskType(QuantityConstant.TASK_TYPE_QUALITY); | |
465 | + taskDetail.setWarehouseCode(warehouseCode); | |
466 | + taskDetail.setCompanyCode(inventoryDetail.getCompanyCode()); | |
467 | + taskDetail.setMaterialCode(inventoryDetail.getMaterialCode()); | |
468 | + taskDetail.setMaterialName(inventoryDetail.getMaterialName()); | |
469 | + taskDetail.setMaterialSpec(inventoryDetail.getMaterialSpec()); | |
470 | + taskDetail.setMaterialUnit(inventoryDetail.getMaterialUnit()); | |
471 | + taskDetail.setFromInventoryDetailId(inventoryDetail.getId()); | |
472 | + taskDetail.setInventoryStatus(inventoryDetail.getInventoryStatus()); | |
473 | + taskDetail.setQty(inventoryDetail.getQty()); | |
474 | + taskDetail.setBatch(inventoryDetail.getBatch()); | |
475 | + taskDetail.setLot(inventoryDetail.getLot()); | |
476 | + taskDetail.setProject(inventoryDetail.getProject()); | |
477 | + taskDetail.setReceiveTime(inventoryDetail.getReceiveTime()); | |
478 | + taskDetailList.add(taskDetail); | |
479 | + } | |
461 | 480 | } |
462 | 481 | success = taskDetailService.saveBatch(taskDetailList); |
463 | 482 | if (!success) { |
... | ... |