From 32b536caa833c1861c6f273d78d7202206445b74 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 15:22:01 +0800
Subject: [PATCH] feat(stock): 库存导入接口开发
---
src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java | 31 +++++++++++++++++++++++--------
1 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
index d30e7bc..3beaf09 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -6,9 +6,13 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.excel.SupplierManageExcelDto;
import com.ruoyi.basic.pojo.SupplierManage;
+import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.procurementrecord.utils.StockUtils;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.stock.dto.StockInRecordDto;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockOutRecordDto;
@@ -30,6 +34,8 @@
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
* <p>
@@ -46,7 +52,8 @@
private StockInventoryMapper stockInventoryMapper;
private StockInRecordService stockInRecordService;
private StockOutRecordService stockOutRecordService;
-
+ private SalesLedgerProductMapper salesLedgerProductMapper;
+ private StockUtils stockUtils;
@Override
public IPage<StockInventoryDto> pagestockInventory(Page page, StockInventoryDto stockInventoryDto) {
return stockInventoryMapper.pagestockInventory(page, stockInventoryDto);
@@ -102,20 +109,28 @@
}
@Override
- public Boolean importStockInventory(MultipartFile file) {
+ public R importStockInventory(MultipartFile file) {
try {
+ final StringBuffer[] errorMsg = {new StringBuffer()};
+ //鏌ヨ鎵�鏈夌殑浜у搧
+ List<SalesLedgerProduct> salesLedgerProducts =salesLedgerProductMapper.selectProduct();
+
ExcelUtil<StockInventoryExportData> util = new ExcelUtil<StockInventoryExportData>(StockInventoryExportData.class);
List<StockInventoryExportData> list = util.importExcel(file.getInputStream());
- ArrayList<StockInventory> stockInventories = new ArrayList<>();
list.stream().forEach(dto -> {
- // TODO: 2026/1/21 娣诲姞鍏ュ簱璁板綍
+ salesLedgerProducts.stream().forEach(item->{
+ if (item.getProductCategory().equals(dto.getProductName())&&item.getSpecificationModel().equals(dto.getModel())) {
+ //鏇存柊搴撳瓨
+ stockUtils.addStock(item.getId(),dto.getQualitity(), StockQualifiedRecordTypeEnum.CUSTOMIZATION_STOCK_IN.getCode(),0L);
+ }else {
+ errorMsg[0] = errorMsg[0].append("浜у搧鍚嶇О锛�"+dto.getProductName()+"瑙勬牸锛�"+dto.getModel()+"涓嶅瓨鍦�").append("\n");
+ }
+ });
});
-
- this.saveOrUpdateBatch(stockInventories);
- return true;
+ return R.ok(errorMsg[0]);
}catch (Exception e){
e.printStackTrace();
}
- return false;
+ return R.fail();
}
}
--
Gitblit v1.9.3