From 7a791cfff3790294ac3a07949d156c0cfdde3d47 Mon Sep 17 00:00:00 2001 From: wangyanxiong <password> Date: Fri, 6 Sep 2019 17:39:28 +0800 Subject: [PATCH] 出库完成完善 --- src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java index caf80f5..9d34fcd 100644 --- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java @@ -483,7 +483,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } //修改组盘表状态为20 ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail(); - receiptContainerDetail.setStatus(20); + receiptContainerDetail.setStatus(30); receiptContainerDetail.setProcessStamp("0"); receiptContainerDetail.setLastUpdated(new Date()); receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); @@ -1015,15 +1015,20 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("任务明细对应的库存ID【" + taskDetail.getToInventoryId().toString() + "】不存在!"); } BigDecimal orignalQty = inventoryDetail.getQty(); - //扣减库存 + //减扣库存单 + InventoryHeader inventoryHeader = inventoryHeaderService.getById(inventoryDetail.getInventoryHeaderId()); + inventoryHeader.setTotalQty(inventoryDetail.getQty().subtract(taskDetail.getQty()).intValue()); + //扣减库存明细 inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().subtract(taskDetail.getQty())); inventoryDetail.setQty(inventoryDetail.getQty().subtract(taskDetail.getQty())); if(inventoryDetail.getQty().compareTo(new BigDecimal("0"))==0 && inventoryDetail.getTaskQty().compareTo(new BigDecimal("0"))==0){ //如果库存没有了,就删除这个库存 inventoryDetailService.removeById(inventoryDetail.getId()); + inventoryHeaderService.removeById(inventoryHeader.getId()); }else { //否则更新这个库存 inventoryDetailService.updateById(inventoryDetail); + inventoryHeaderService.updateById(inventoryHeader); } //设置子任务状态为已执行 taskDetail.setStatus(100); @@ -1092,11 +1097,25 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea containerService.update(containerLambdaUpdateWrapper); } } -// //设置出库货箱状态为拣货任务完成 -// shipmentContainerHeaderService.resetStatusShipmentContainer(task.getAllocationHeadId(),(short)20); - // 最后更新单据状态 - shipmentHeadIds.stream().distinct().forEach(t->shipmentHeaderService.updateShipmentStatus(t)); - + //设置出库货箱状态为拣货任务完成 + ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail(); + receiptContainerDetail.setStatus(30); + receiptContainerDetail.setLastUpdated(new Date()); + receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); + LambdaUpdateWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate(); + receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getId,task.getAllocationHeadId()); + if (! receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper)){ + throw new ServiceException("更新组盘明细状态失败"); + } + //设置出库货箱表头状态为拣货任务完成 + ReceiptContainerHeader ContainerHeader = new ReceiptContainerHeader(); + ContainerHeader.setStatus((short)30); + ContainerHeader.setLastUpdated(new Date()); + ContainerHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); + LambdaUpdateWrapper<ReceiptContainerHeader> receiptContainerHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate(); + receiptContainerHeaderLambdaUpdateWrapper.eq(ReceiptContainerHeader::getId,task.getAllocationHeadId()); + if (! receiptContainerHeaderService.update(ContainerHeader, receiptContainerHeaderLambdaUpdateWrapper)) + throw new ServiceException("更新组盘头状态失败"); } -- libgit2 0.22.2