From 3d4cb4fafdee76f0dc2f895f21a37bfa0f638c6a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 16 一月 2026 15:09:50 +0800
Subject: [PATCH] 生产报工的新增和删除已经投入产出
---
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java | 30 ++++++++++++++++++++++++++----
1 files changed, 26 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 d0399a6..f8f521e 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.ProductModelMapper;
+import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -17,6 +19,7 @@
import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
+import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
@@ -48,6 +51,8 @@
private final ProcurementRecordOutMapper procurementRecordOutMapper;
private final SalesLedgerProductMapper salesLedgerProductMapper;
+ private final StockUtils stockUtils;
+ private final ProductModelMapper productModelMapper;
@Override
public List<ProcurementDto> listProcurementBySalesLedgerId(ProcurementDto procurementDto) {
@@ -69,18 +74,18 @@
List<ProcurementRecordStorage> collect1 = procurementRecordStorages.stream()
.filter(procurementRecordStorage -> procurementRecordStorage.getSalesLedgerProductId().equals(dto.getId()))
.collect(Collectors.toList());
-
+
// 濡傛灉娌℃湁鐩稿叧鐨勫叆搴撹褰曪紝璺宠繃璇ユ潯鏁版嵁
if(CollectionUtils.isEmpty(collect1)){
dto.setQuantity0(dto.getQuantity());
continue;
}
-
+
// 璁$畻宸插叆搴撴暟閲忔�诲拰锛屽苟璁剧疆寰呭叆搴撴暟閲�
BigDecimal totalInboundNum = collect1.stream()
.map(ProcurementRecordStorage::getInboundNum)
.reduce(BigDecimal.ZERO, BigDecimal::add);
-
+
// 寰呭叆搴撴暟閲� = 鎬绘暟閲� - 宸插叆搴撴暟閲�
dto.setQuantity0(dto.getQuantity().subtract(totalInboundNum));
}
@@ -606,7 +611,7 @@
List<ProcurementRecordOut> recordOutList = procurementRecordOutMapper.selectList(queryWrapper);
// 2. 鎸塖alesLedgerProductId鍒嗙粍锛岀粺璁℃瘡涓猧d瀵瑰簲鐨勫凡鍑哄簱鏁伴噺鎬诲拰-宸插嚭搴撴暟閲�
- Map<Integer, BigDecimal> storageIdToTotalOutNumMap = recordOutList.stream()
+ Map<Long, BigDecimal> storageIdToTotalOutNumMap = recordOutList.stream()
.collect(Collectors.groupingBy(
ProcurementRecordOut::getSalesLedgerProductId,
Collectors.reducing(
@@ -872,5 +877,22 @@
}
return procurementPageDtoCopyIPage;
}
+ @Override
+ public IPage<ProductModel> listPageProductionStock(Page page) {
+ ProductModel productModel = new ProductModel();
+ IPage<ProductModel> iPage = productModelMapper.listPageProductModel(page, productModel);
+ iPage.getRecords().forEach(item -> {
+ item.setInboundNum(stockUtils.getStockQuantity(item.getId()).get("inboundNum"));
+ item.setOutboundNum(stockUtils.getStockQuantity(item.getId()).get("outboundNum"));
+ item.setStockQuantity(stockUtils.getStockQuantity(item.getId()).get("stockQuantity"));
+ });
+ return iPage;
+ }
+
+ @Override
+ public IPage<ProcurementPageDto> listPageByProductProduction(Page page, ProcurementPageDto procurementDto) {
+ IPage<ProcurementPageDto> procurementPageDtoIPage = procurementRecordMapper.listPageByProductProduction(page, procurementDto);
+ return procurementPageDtoIPage;
+ }
}
--
Gitblit v1.9.3