From ce7582bd007b671dc311ee8511cc409230ef1b1c Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期二, 08 七月 2025 17:49:29 +0800 Subject: [PATCH] yys 1.出库管理-分页查询 2.出库管理-导出 3.出库管理-领用 4.出库台账-分页查询 5.出库台账-导出 6.出库台账-删除 7.库存管理-分页查询 8.库存管理-导出 9.库存管理-删除 --- src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java index c67cec1..5590a6c 100644 --- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java +++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java @@ -9,7 +9,9 @@ import com.ruoyi.framework.security.LoginUser; import com.ruoyi.procurementrecord.dto.*; import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; +import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.ProcurementRecord; +import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.service.ProcurementRecordService; import com.ruoyi.quality.pojo.QualityInspect; import com.ruoyi.sales.mapper.SalesLedgerProductMapper; @@ -35,6 +37,8 @@ public class ProcurementRecordServiceImpl extends ServiceImpl<ProcurementRecordMapper, ProcurementRecord> implements ProcurementRecordService { private final ProcurementRecordMapper procurementRecordMapper; + + private final ProcurementRecordOutMapper procurementRecordOutMapper; private final SalesLedgerProductMapper salesLedgerProductMapper; @@ -103,6 +107,13 @@ public int deletePro(ProcurementUpdateDto procurementDto) { List<ProcurementRecord> procurementRecordById = getProcurementRecordByIds(procurementDto.getIds()); procurementRecordMapper.deleteBatchIds(procurementRecordById.stream().map(ProcurementRecord::getId).collect(Collectors.toList())); + // 鍒犻櫎鎵�鏈夊搴旂殑鍑哄簱璁板綍 + LambdaQueryWrapper<ProcurementRecordOut> procurementRecordOutLambdaQueryWrapper = new LambdaQueryWrapper<>(); + procurementRecordOutLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, procurementDto.getIds()); + List<ProcurementRecordOut> procurementRecordOuts = procurementRecordOutMapper.selectList(procurementRecordOutLambdaQueryWrapper); + if(!CollectionUtils.isEmpty(procurementRecordOuts)){ + procurementRecordOutMapper.deleteBatchIds(procurementRecordOuts.stream().map(ProcurementRecordOut::getId).collect(Collectors.toList())); + } return 0; } @@ -120,16 +131,15 @@ for (Details detail : procurementDto.getDetails()) { // 鏌ヨ閲囪喘鍏ュ簱鏁伴噺 LambdaQueryWrapper<ProcurementRecord> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); - procurementRecordLambdaQueryWrapper.eq(ProcurementRecord::getSalesLedgerProductId, detail.getId()) - .eq(ProcurementRecord::getProcurementCategory, 1); + procurementRecordLambdaQueryWrapper.eq(ProcurementRecord::getSalesLedgerProductId, detail.getId()); Long aLong = procurementRecordMapper.selectCount(procurementRecordLambdaQueryWrapper); ProcurementRecord.ProcurementRecordBuilder procurementRecordBuilder = ProcurementRecord.builder() .salesLedgerProductId(detail.getId()) - .procurementCategory(1) .inboundBatches(aLong.equals(0L) ? "绗�1鎵规" : "绗�"+ (aLong + 1) + "鎵规") .inboundNum(detail.getInboundQuantity()) .createDate(LocalDateTime.now()) + .userId(loginUser.getUserId()) .tenantId(loginUser.getTenantId()) .createBy(procurementDto.getNickName()); this.save(procurementRecordBuilder.build()); @@ -148,7 +158,41 @@ @Override public IPage<ProcurementPageDto> listPage(Page page, ProcurementPageDto procurementDto) { - return procurementRecordMapper.listPage(page,procurementDto); + IPage<ProcurementPageDto> procurementPageDtoIPage = procurementRecordMapper.listPage(page, procurementDto); + List<ProcurementPageDto> procurementPageDtos = procurementPageDtoIPage.getRecords(); + // 璁$畻寰呭叆搴撴暟閲� + // 鏌ヨ閲囪喘璁板綍宸插叆搴撴暟閲� + List<Integer> collect = procurementPageDtos.stream().map(ProcurementPageDto::getId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty( collect)){ + return procurementPageDtoIPage; + } + LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); + procurementRecordLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, collect); + List<ProcurementRecordOut> procurementRecords = procurementRecordOutMapper.selectList(procurementRecordLambdaQueryWrapper); + if(CollectionUtils.isEmpty( procurementRecords)){ + return procurementPageDtoIPage; + } + for (ProcurementPageDto dto : procurementPageDtos) { + // 鏍规嵁閲囪喘鍙拌处ID绛涢�夊搴旂殑鍑哄簱璁板綍 + List<ProcurementRecordOut> collect1 = procurementRecords.stream() + .filter(ProcurementRecordOut -> ProcurementRecordOut.getProcurementRecordStorageId().equals(dto.getId())) + .collect(Collectors.toList()); + + // 濡傛灉娌℃湁鐩稿叧鐨勫嚭搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁 + if(CollectionUtils.isEmpty(collect1)){ + dto.setInboundNum0(dto.getInboundNum()); + continue; + } + + // 璁$畻宸插嚭搴撴暟閲忔�诲拰锛屽苟璁剧疆寰呭嚭搴撴暟閲� + BigDecimal totalInboundNum = collect1.stream() + .map(ProcurementRecordOut::getInboundNum) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + // 寰呭嚭搴撴暟閲� = 鎬绘暟閲� - 宸插嚭搴撴暟閲� + dto.setInboundNum0(dto.getInboundNum().subtract(totalInboundNum)); + } + return procurementPageDtoIPage; } } -- Gitblit v1.9.3