diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java index 3b5378b..a6f96fd 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java @@ -367,7 +367,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap cycleCountDetailChild.setChildStatus(QuantityConstant.CYCLECOUNT_STATUS_REGISTERED); cycleCountDetailChild.setSystemQty(BigDecimal.ZERO); - cycleCountDetailChild.setGapQty(BigDecimal.ZERO.subtract(countedQty)); + cycleCountDetailChild.setGapQty(countedQty); cycleCountDetailChild.setCountedQty(countedQty); cycleCountDetailChildServiceImpl.save(cycleCountDetailChild); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java index cbd9ef9..4258e4c 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java @@ -1565,18 +1565,41 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea { if (!child.getChildStatus().equals(QuantityConstant.CYCLECOUNT_STATUS_REGISTERED)) { - throw new ServiceException("当前任务里面还有没有进行登记的数据,不能完成让我"); + throw new ServiceException("当前任务里面还有没有进行登记的数据,不能完成任务"); } - InventoryDetail inventoryDetail = inventoryDetailService.getById(child.getInventoryDetaiId()); - if (inventoryDetail==null) + + + if (child.getInventoryDetaiId()!=null) { - return Result.error("盘点还没完成 库存明细单据就不存在了 可能出现了问题或者所容器没成功"); + InventoryDetail inventoryDetail = inventoryDetailService.getById(child.getInventoryDetaiId()); + if (inventoryDetail==null) + { + throw new ServiceException("盘点还没完成 库存明细单据就不存在了 可能出现了问题或者所容器没成功"); + } + inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(child.getGapQty())); + inventoryDetail.setQty(child.getCountedQty()); + inventoryDetailService.updateById(inventoryDetail); + }else + { + InventoryDetail inventoryDetail=new InventoryDetail(); + inventoryDetail.setInventoryHeaderId(inventoryHeader.getId()); + inventoryDetail.setWarehouseCode(inventoryHeader.getWarehouseCode()); + inventoryDetail.setCompanyCode(inventoryHeader.getCompanyCode()); + inventoryDetail.setZoneCode(inventoryHeader.getZoneCode()); + inventoryDetail.setContainerCode(inventoryHeader.getContainerCode()); + inventoryDetail.setLocationCode(inventoryHeader.getLocationCode()); + inventoryDetail.setMaterialCode(child.getMaterialCode()); + inventoryDetail.setMaterialName(child.getMaterialName()); + inventoryDetail.setMaterialSpec(child.getMaterialSpec()); + inventoryDetail.setMaterialUnit(child.getMaterialUnit()); + inventoryDetail.setQty(child.getCountedQty()); + inventoryDetail.setTaskQty(BigDecimal.ZERO); + inventoryDetail.setInventoryStatus(child.getInventoryStatus()); + inventoryDetail.setBatch(child.getBatch()); + inventoryDetailService.save(inventoryDetail); + child.setInventoryDetaiId(inventoryDetail.getId()); } - inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(child.getGapQty())); - - inventoryDetail.setQty(child.getCountedQty()); - inventoryDetailService.updateById(inventoryDetail); child.setChildStatus(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED); if (child.getGapQty().compareTo(BigDecimal.ZERO) == 1)