From 7486f6d6a93d98f96f45f0cc4846be9c8a2345df Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 09 六月 2026 15:39:20 +0800
Subject: [PATCH] 增加废品库详情接口
---
src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java | 81 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 78 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
index 670aa3a..4b0a36e 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockUninventoryServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.stock.enums.StockInventorySourceEnum;
import com.ruoyi.stock.dto.StockInRecordDto;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockOutRecordDto;
@@ -48,7 +49,7 @@
@RequiredArgsConstructor
public class StockUninventoryServiceImpl extends ServiceImpl<StockUninventoryMapper, StockUninventory> implements StockUninventoryService {
-
+ private static final String UNQUALIFIED_TYPE = "unqualified";
private final StockUninventoryMapper stockUninventoryMapper;
private final StockOutRecordService stockOutRecordService;
private final StockInRecordService stockInRecordService;
@@ -61,10 +62,41 @@
}
@Override
+ public IPage<StockUninventoryDto> pageWasteQuery(Page page, StockUninventoryDto stockUninventoryDto) {
+ IPage<StockUninventoryDto> resultPage = stockUninventoryMapper.pageWasteQuery(page, stockUninventoryDto);
+ resultPage.getRecords().forEach(dto -> {
+ if (StringUtils.isNotEmpty(dto.getSource())) {
+ StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(dto.getSource());
+ if (sourceEnum != null) {
+ dto.setSourceText(sourceEnum.getValue());
+ }
+ }
+ });
+ return resultPage;
+ }
+
+ @Override
+ public IPage<StockUninventoryDto> getWasteBatchNoQty(Page page, StockInventoryDto stockInventoryDto) {
+ IPage<StockUninventoryDto> resultPage = stockUninventoryMapper.getWasteBatchNoQty(page, stockInventoryDto);
+ resultPage.getRecords().forEach(dto -> {
+ if (StringUtils.isNotEmpty(dto.getSource())) {
+ StockInventorySourceEnum unQualifiedSourceEnum = StockInventorySourceEnum.fromCode(dto.getSource());
+ if (unQualifiedSourceEnum != null) {
+ dto.setSourceText(unQualifiedSourceEnum.getValue());
+ }
+ }
+ });
+ return resultPage;
+ }
+
+ @Override
@Transactional(rollbackFor = Exception.class)
public Integer addStockUninventory(StockUninventoryDto stockUninventoryDto) {
+ String inventoryType = resolveInventoryType(stockUninventoryDto);
+ stockUninventoryDto.setType(inventoryType);
LambdaQueryWrapper<StockUninventory> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId());
+ wrapper.eq(StockUninventory::getType, inventoryType);
if (StringUtils.isEmpty(stockUninventoryDto.getBatchNo())) {
stockUninventoryDto.setBatchNo(null);
wrapper.isNull(StockUninventory::getBatchNo);
@@ -78,8 +110,13 @@
stockInRecordDto.setStockInNum(stockUninventoryDto.getQualitity());
stockInRecordDto.setBatchNo(stockUninventoryDto.getBatchNo());
stockInRecordDto.setProductModelId(stockUninventoryDto.getProductModelId());
- stockInRecordDto.setType("1");
+ if (UNQUALIFIED_TYPE.equals(inventoryType)) {
+ stockInRecordDto.setType("1");
+ } else {
+ stockInRecordDto.setType("2");
+ }
stockInRecordDto.setManufacturerId(stockUninventoryDto.getManufacturerId());
+ stockInRecordDto.setSource(stockUninventoryDto.getSource());
stockInRecordService.add(stockInRecordDto);
//瀹℃壒鍐嶆坊鍔�
return 1;
@@ -88,6 +125,8 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Integer subtractStockUninventory(StockUninventoryDto stockUninventoryDto) {
+ String inventoryType = resolveInventoryType(stockUninventoryDto);
+ stockUninventoryDto.setType(inventoryType);
// 鏂板鍑哄簱璁板綍
StockOutRecordDto stockOutRecordDto = new StockOutRecordDto();
@@ -98,7 +137,9 @@
stockOutRecordDto.setBatchNo(stockUninventoryDto.getBatchNo());
stockOutRecordDto.setType("1");
stockOutRecordService.add(stockOutRecordDto);
- StockUninventory oldStockInventory = stockUninventoryMapper.selectOne(new QueryWrapper<StockUninventory>().lambda().eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId()));
+ StockUninventory oldStockInventory = stockUninventoryMapper.selectOne(new QueryWrapper<StockUninventory>().lambda()
+ .eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId())
+ .eq(StockUninventory::getType, inventoryType));
if (ObjectUtils.isEmpty(oldStockInventory)) {
throw new RuntimeException("浜у搧搴撳瓨涓嶅瓨鍦�");
}else {
@@ -110,6 +151,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Integer addStockInRecordOnly(StockUninventoryDto stockUninventoryDto) {
+ stockUninventoryDto.setType(resolveInventoryType(stockUninventoryDto));
StockInRecordDto stockInRecordDto = new StockInRecordDto();
stockInRecordDto.setRecordId(stockUninventoryDto.getRecordId());
stockInRecordDto.setRecordType(stockUninventoryDto.getRecordType());
@@ -129,8 +171,11 @@
@Override
@Transactional(rollbackFor = Exception.class)
public Integer addStockOutRecordOnly(StockUninventoryDto stockUninventoryDto) {
+ String inventoryType = resolveInventoryType(stockUninventoryDto);
+ stockUninventoryDto.setType(inventoryType);
LambdaQueryWrapper<StockUninventory> eq = new LambdaQueryWrapper<>();
eq.eq(StockUninventory::getProductModelId, stockUninventoryDto.getProductModelId());
+ eq.eq(StockUninventory::getType, inventoryType);
if (StringUtils.isEmpty(stockUninventoryDto.getBatchNo())) {
eq.isNull(StockUninventory::getBatchNo);
} else {
@@ -171,8 +216,31 @@
@Override
public void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
List<StockUnInventoryExportData> list = stockUninventoryMapper.listStockInventoryExportData(stockUninventoryDto);
+ list.forEach(item -> {
+ if (StringUtils.isNotEmpty(item.getSource())) {
+ StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(item.getSource());
+ if (sourceEnum != null) {
+ item.setSourceText(sourceEnum.getValue());
+ }
+ }
+ });
ExcelUtil<StockUnInventoryExportData> util = new ExcelUtil<>(StockUnInventoryExportData.class);
util.exportExcel(response,list, "涓嶅悎鏍煎簱瀛樹俊鎭�");
+ }
+
+ @Override
+ public void exportWasteQuery(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
+ List<StockUnInventoryExportData> list = stockUninventoryMapper.listWasteQueryExportData(stockUninventoryDto);
+ list.forEach(item -> {
+ if (StringUtils.isNotEmpty(item.getSource())) {
+ StockInventorySourceEnum sourceEnum = StockInventorySourceEnum.fromCode(item.getSource());
+ if (sourceEnum != null) {
+ item.setSourceText(sourceEnum.getValue());
+ }
+ }
+ });
+ ExcelUtil<StockUnInventoryExportData> util = new ExcelUtil<>(StockUnInventoryExportData.class);
+ util.exportExcel(response, list, "搴熷搧鏌ヨ淇℃伅");
}
@Override
@@ -199,6 +267,13 @@
return this.updateById(stockUninventory);
}
+ private String resolveInventoryType(StockUninventoryDto stockUninventoryDto) {
+ if (stockUninventoryDto != null && StringUtils.isNotEmpty(stockUninventoryDto.getType())) {
+ return stockUninventoryDto.getType().trim();
+ }
+ return UNQUALIFIED_TYPE;
+ }
+
//瑙勫垯鐢熸垚锛�20260424-浜у搧缂栧彿-001
private String generateAutoBatchNo(Long productModelId) {
if (productModelId == null) {
--
Gitblit v1.9.3