diff --git a/src/main/java/com/huaheng/mobile/receipt/MobileBatchReceiptController.java b/src/main/java/com/huaheng/mobile/receipt/MobileBatchReceiptController.java index 932b628..20aa9cc 100644 --- a/src/main/java/com/huaheng/mobile/receipt/MobileBatchReceiptController.java +++ b/src/main/java/com/huaheng/mobile/receipt/MobileBatchReceiptController.java @@ -266,6 +266,36 @@ public class MobileBatchReceiptController { throw new JSONException("没有找到入库单"); } + LambdaQueryWrapper<ReceiptContainerHeader> lambda = Wrappers.lambdaQuery(); + lambda.eq(ReceiptContainerHeader::getContainerCode, containerCode) + .lt(ReceiptContainerHeader::getStatus, QuantityConstant.RECEIPT_CONTAINER_FINISHED); + List<ReceiptContainerHeader> list = receiptContainerHeaderService.list(lambda); + if (list.size() >= 1){ + throw new ServiceException("容器已经生成任务,不能放物料了!"); + } + ReceiptContainerHeader receiptContainerHeader = new ReceiptContainerHeader(); + //如果不存在记录则新建记录 + receiptContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); + receiptContainerHeader.setCompanyCode(companyCode); + receiptContainerHeader.setContainerCode(containerCode); + Container container2 = containerService.findAllByCode(containerCode); + receiptContainerHeader.setContainerType(container2.getContainerType()); + receiptContainerHeader.setTaskType(String.valueOf(QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT)); + receiptContainerHeader.setFromLocation(container2.getLocationCode()); + receiptContainerHeader.setToLocation(locationCode); + receiptContainerHeader.setCreatedBy(ShiroUtils.getLoginName()); + receiptContainerHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); + receiptContainerHeader.setStatus((short)10); + + if (!receiptContainerHeaderService.save(receiptContainerHeader)){ + throw new ServiceException("入库组盘头表保存失败"); + } + + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RECEIVING); + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RECEIVING); + receiptHeaderService.update(receiptHeader, receiptHeaderQueryWrapper); + + for(ReceiptBill receiptBill : receiptBills) { TaskDetail taskDetail = new TaskDetail(); @@ -304,6 +334,33 @@ public class MobileBatchReceiptController { receiptDetail2.setOpenQty(qty); receiptDetailService.update(receiptDetail2, receiptDetail2QueryWrapper); + + ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail(); + receiptContainerDetail.setReceiptContainerId(receiptContainerHeader.getId()); + receiptContainerDetail.setWarehouseCode(ShiroUtils.getWarehouseCode()); + receiptContainerDetail.setReceiptId(receiptHeader.getId()); + receiptContainerDetail.setReceiptDetailId(receiptDetail2.getId()); + receiptContainerDetail.setReceiptCode(receiptHeader.getCode()); + receiptContainerDetail.setReceiptType(receiptHeader.getReceiptType()); + receiptContainerDetail.setLocationCode(locationCode); + receiptContainerDetail.setContainerCode(containerCode); + receiptContainerDetail.setContainerType(container.getContainerType()); + receiptContainerDetail.setCompanyCode(companyCode); + + LambdaQueryWrapper<Material> materialQueryWrapper = Wrappers.lambdaQuery(); + materialQueryWrapper.eq(Material::getCode, receiptBill.getMaterialCode()) + .eq(Material::getDeleted, 0); + Material material = materialService.getOne(materialQueryWrapper); + + receiptContainerDetail.setMaterialCode(material.getCode()); + receiptContainerDetail.setMaterialName(material.getName()); + receiptContainerDetail.setMaterialSpec(material.getSpec()); + receiptContainerDetail.setMaterialUnit(material.getUnit()); + receiptContainerDetail.setQty(receiptBill.getQty()); + receiptContainerDetail.setStatus(10); + receiptContainerDetail.setCreatedBy(ShiroUtils.getLoginName()); + receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); + receiptContainerDetailService.save(receiptContainerDetail); } } else { @@ -526,6 +583,7 @@ public class MobileBatchReceiptController { LambdaQueryWrapper<ReceiptHeader> receiptHeaderQueryWrapper = Wrappers.lambdaQuery(); receiptHeaderQueryWrapper.eq(ReceiptHeader::getCompanyCode, companyCode) .eq(ReceiptHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) + .ne(ReceiptHeader::getReceiptType, "PPI") .le(ReceiptHeader::getCreated, now) .gt(ReceiptHeader::getCreated, start) .orderByDesc(ReceiptHeader::getCreated); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java index 8f83594..0af9ae4 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java @@ -494,6 +494,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai recorder.setTaskType(String.valueOf(QuantityConstant.TASK_TYPE_WHOLERECEIPT)); recorder.setStatus((short) 0); recorder.setCreatedBy(ShiroUtils.getLoginName()); + recorder.setLastUpdatedBy(ShiroUtils.getLoginName()); LambdaQueryWrapper<ReceiptContainerHeader> receiptContainerHeaderLambada = Wrappers.lambdaQuery(); receiptContainerHeaderLambada.eq(ReceiptContainerHeader::getContainerCode, receiptContainerCode) 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 2750032..9b2f72d 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 @@ -580,8 +580,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea cycleCountDetailService.updataDetailStatus(item.getBillDetailId(), QuantityConstant.CYCLECOUNT_STATUS_EXECUTING); } } - if (!taskDetailService.saveOrUpdateBatch(taskDetails)) { - throw new ServiceException("更新任务明细失败"); + if(taskDetails != null && taskDetails.size() > 0) { + if (!taskDetailService.saveOrUpdateBatch(taskDetails)) { + throw new ServiceException("更新任务明细失败"); + } } // //修改入库明细 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d65c5c7..70b8eb3 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -33,6 +33,7 @@ server: buffer-size: 1024 # 是否分配的直接内存 direct-buffers: true + port: 8888 # 用户配置 user: