From 729faffd517d4fa684883b6fa9a43f1abc0c6e8e Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Thu, 7 May 2026 16:02:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LdOneOutStorageController.java | 6 +++ .../pojo/entity/LdInventoryRecord.java | 5 ++ .../service/ILdOneOutStorageService.java | 2 + .../Impl/LdOneOutStorageServiceImpl.java | 53 ++++++++++++++++++- 4 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/nov/KgLowDurable/controller/LdOneOutStorageController.java b/src/main/java/com/nov/KgLowDurable/controller/LdOneOutStorageController.java index 0662e2f..b6f3bb0 100644 --- a/src/main/java/com/nov/KgLowDurable/controller/LdOneOutStorageController.java +++ b/src/main/java/com/nov/KgLowDurable/controller/LdOneOutStorageController.java @@ -78,5 +78,11 @@ public class LdOneOutStorageController { + @GetMapping("/delete") + @ApiOperationSort(5) + @ApiOperation(value = "根据id删除", notes = "根据id删除", httpMethod = "GET", response = Result.class) + public Result delete(@RequestParam Long id) { + return Result.OK(oneOutStorageService.delete(id)); + } } diff --git a/src/main/java/com/nov/KgLowDurable/pojo/entity/LdInventoryRecord.java b/src/main/java/com/nov/KgLowDurable/pojo/entity/LdInventoryRecord.java index 1358e25..e6a0f02 100644 --- a/src/main/java/com/nov/KgLowDurable/pojo/entity/LdInventoryRecord.java +++ b/src/main/java/com/nov/KgLowDurable/pojo/entity/LdInventoryRecord.java @@ -31,6 +31,11 @@ public class LdInventoryRecord { */ private Long oneFromId; + /** + * 一级出库单ID + */ + private Long oneOutStorageId; + /** * 交易类型:1-入库 2-出库 */ diff --git a/src/main/java/com/nov/KgLowDurable/service/ILdOneOutStorageService.java b/src/main/java/com/nov/KgLowDurable/service/ILdOneOutStorageService.java index ac2716e..16bfb83 100644 --- a/src/main/java/com/nov/KgLowDurable/service/ILdOneOutStorageService.java +++ b/src/main/java/com/nov/KgLowDurable/service/ILdOneOutStorageService.java @@ -45,4 +45,6 @@ public interface ILdOneOutStorageService extends IService { * @return */ LdOneOutStorageInfoVO getDetail(Long oneOutStorageId); + + boolean delete(Long id); } diff --git a/src/main/java/com/nov/KgLowDurable/service/Impl/LdOneOutStorageServiceImpl.java b/src/main/java/com/nov/KgLowDurable/service/Impl/LdOneOutStorageServiceImpl.java index 40ee07c..dc24d28 100644 --- a/src/main/java/com/nov/KgLowDurable/service/Impl/LdOneOutStorageServiceImpl.java +++ b/src/main/java/com/nov/KgLowDurable/service/Impl/LdOneOutStorageServiceImpl.java @@ -1,5 +1,7 @@ package com.nov.KgLowDurable.service.impl; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -127,6 +129,7 @@ public class LdOneOutStorageServiceImpl extends ServiceImpl oneOutStorageDetails = oneOutStorageDetailService.list(Wrappers.lambdaQuery().eq(LdOneOutStorageDetail::getOneOutStorageId,id)); + //还原库存 + for (LdOneOutStorageDetail ldOneOutStorageDetail : oneOutStorageDetails) { + System.out.println(ldOneOutStorageDetail.getOneFormId()); + // 库存 + LdOneForm oneForm = oneFormService.getByMaterialCode(ldOneOutStorageDetail.getMaterialCode(),ldOneOutStorageDetail.getOneFormId()); + // 计算数量 金额 + BigDecimal result = oneForm.getNum().add(ldOneOutStorageDetail.getOutboundQuantity()); + oneForm.setNum(result); + oneFormService.updateById(oneForm); + } + List detailIdList = oneOutStorageDetails.stream().map(LdOneOutStorageDetail::getId).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(detailIdList)){ + oneOutStorageDetailService.removeByIds(detailIdList); + } + //根据id查询末端关联表 + List demandEndList = oneOutStorageDemandEndService.list(Wrappers.lambdaQuery().eq(LdOneOutStorageDemandEnd::getOneOutStorageId,id)); + List demandIdList = demandEndList.stream().map(LdOneOutStorageDemandEnd::getId).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(demandIdList)){ + oneOutStorageDemandEndService.removeByIds(demandIdList); + } + //根据id查询出库记录 + List inventoryRecordList = iLdInventoryRecordService.list(Wrappers.lambdaQuery().eq(LdInventoryRecord::getOneOutStorageId,id)); + List recordIdList = inventoryRecordList.stream().map(LdInventoryRecord::getId).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(recordIdList)){ + iLdInventoryRecordService.removeByIds(recordIdList); + } + //根据id查询二级入库表 + LdTwoPutStorage twoPutStorage = twoPutStorageService.getOne(Wrappers.lambdaQuery().eq(LdTwoPutStorage::getOneOutStorageId,id)); + if(ObjectUtils.isNotEmpty(twoPutStorage)){ + twoPutStorageService.removeById(twoPutStorage.getId()); + //根据二级入库表查询二级入库明细 + List twoPutStorageDetails = twoPutStorageDetailService.list(Wrappers.lambdaQuery().eq(LdTwoPutStorageDetail::getTwoPutStorageId,twoPutStorage.getId())); + List twoDetailIdList = twoPutStorageDetails.stream().map(LdTwoPutStorageDetail::getId).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(twoDetailIdList)){ + twoPutStorageDetailService.removeByIds(twoDetailIdList); + } + } + + return true; + } }