Commit 1b3d98ac8232c025430db364d1230a9a1dd36be7

Authored by wangpengyu
1 parent d8b0cee4

创建出库查看、质检任务添加限制

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&lt;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) {
... ...