From a76e1d17d67641993dea6335cb8e1465a94df58d Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 21 五月 2026 15:39:05 +0800
Subject: [PATCH] feat(stock): 优化库存管理和成品树结构功能 1- 为ApproveProcessMapper.xml和ProductBomMapper.xml添加排序功能 2- 在ProductionProductMainDto中新增bomInputQty字段用于产品结构投入数量 3- 修改ProductionProductMainServiceImpl中投入数量计算逻辑,使用前端传入的bomInputQty值 4- 在ProductWorkOrderDto中添加bomInputQty字段并在服务实现中计算标准投入数量 5- 更新SalesLedgerMapper.xml查询逻辑,从product_summary获取电压信息 6- 为SalesLedgerProduct添加stockId字段并修改库存扣减逻辑使用具体库存ID 7- 重构StockInventoryController中的成品库存树查询接口和导入导出功能 8- 新增成品和非成品库存导入导出的数据模型和Excel工具类 9- 优化StockInventoryServiceImpl中的库存扣减逻辑,支持按特定库存ID操作 10- 更新库存导入导出功能,区分成品和非成品类型并提供相应模板
---
src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java | 73 ++++++++++++++++++++++++++++--------
1 files changed, 56 insertions(+), 17 deletions(-)
diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
index 1e8f2a6..4ddf5a2 100644
--- a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
+++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
@@ -8,8 +8,10 @@
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto;
import com.ruoyi.warehouse.dto.ReturnExportDto;
+import com.ruoyi.warehouse.mapper.DocumentationReturnManagementMapper;
import com.ruoyi.warehouse.pojo.Documentation;
import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement;
+import com.ruoyi.warehouse.pojo.DocumentationReturnManagement;
import com.ruoyi.warehouse.service.DocumentationBorrowManagementService;
import com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper;
import com.ruoyi.warehouse.service.DocumentationService;
@@ -35,6 +37,8 @@
@Autowired
private DocumentationBorrowManagementMapper documentationBorrowManagementMapper;
@Autowired
+ private DocumentationReturnManagementMapper documentationReturnManagementMapper;
+ @Autowired
private DocumentationService documentationService;
@Override
public IPage<DocumentationBorrowManagement> listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) {
@@ -45,6 +49,7 @@
@Override
public boolean add(DocumentationBorrowManagement documentationBorrowManagement) {
+ documentationBorrowManagement.setBorrowStatus("鍊熼槄");
documentationBorrowManagementMapper.insert(documentationBorrowManagement);
Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
documentation.setDocStatus("鍊熷嚭");
@@ -52,15 +57,29 @@
return true;
}
@Override
- public boolean reventdbm(DocumentationBorrowManagement documentationBorrowManagement) {
+ public boolean reventdbm(DocumentationReturnManagement documentationReturnManagement) {
// 鏇存柊鍊熼槄璁板綍鐘舵�佷负褰掕繕
- DocumentationBorrowManagement documentationBorrowManagement1 = documentationBorrowManagementMapper.selectById(documentationBorrowManagement.getId());
- documentationBorrowManagement1.setReturner(documentationBorrowManagement.getReturner());
+ DocumentationBorrowManagement documentationBorrowManagement1 = documentationBorrowManagementMapper.selectById(documentationReturnManagement.getBorrowId());
+
+ DocumentationReturnManagement returnManagement = new DocumentationReturnManagement();
+ returnManagement.setDocumentationId(documentationBorrowManagement1.getDocumentationId());
+ returnManagement.setBorrower(documentationBorrowManagement1.getBorrower());
+ returnManagement.setBorrowPurpose(documentationBorrowManagement1.getBorrowPurpose());
+ returnManagement.setBorrowDate(documentationBorrowManagement1.getBorrowDate());
+ returnManagement.setDueReturnDate(documentationBorrowManagement1.getDueReturnDate());
+ returnManagement.setBorrowStatus("褰掕繕");
+ returnManagement.setBorrowId(documentationReturnManagement.getBorrowId());
+ returnManagement.setReturner(documentationReturnManagement.getReturner());
+ returnManagement.setReturnDate(LocalDate.now());
+ returnManagement.setRemark(documentationReturnManagement.getRemark());
+
+ documentationReturnManagementMapper.insert(returnManagement);
documentationBorrowManagement1.setBorrowStatus("褰掕繕");
+ documentationBorrowManagement1.setReturner(documentationReturnManagement.getReturner());
documentationBorrowManagement1.setReturnDate(LocalDate.now());
documentationBorrowManagementMapper.updateById(documentationBorrowManagement1);
// 鏇存柊鏂囨。鐘舵�佷负姝e父
- Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
+ Documentation documentation = documentationService.getById(documentationBorrowManagement1.getDocumentationId());
documentation.setDocStatus("姝e父");
documentationService.updateById(documentation);
return true;
@@ -68,25 +87,29 @@
@Override
public boolean reventDeleteByIds(List<Long> ids) {
- QueryWrapper<DocumentationBorrowManagement> queryWrapper = new QueryWrapper<>();
+ QueryWrapper<DocumentationReturnManagement> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id", ids);
- queryWrapper.eq("borrow_status", "褰掕繕");
- List<DocumentationBorrowManagement> list = documentationBorrowManagementMapper.selectList(queryWrapper);
- for (DocumentationBorrowManagement documentationBorrowManagement : list) {
+// queryWrapper.eq("borrow_status", "褰掕繕");
+ List<DocumentationReturnManagement> list = documentationReturnManagementMapper.selectList(queryWrapper);
+
+ for (DocumentationReturnManagement documentationReturnManagement : list) {
+
try {
+ documentationReturnManagementMapper.deleteById(documentationReturnManagement);
+ DocumentationBorrowManagement documentationBorrowManagement = documentationBorrowManagementMapper.selectById(documentationReturnManagement.getBorrowId());
documentationBorrowManagement.setBorrowStatus("鍊熼槄");
+ documentationBorrowManagement.setReturner(null);
documentationBorrowManagement.setReturnDate(null);
documentationBorrowManagementMapper.updateById(documentationBorrowManagement);
- Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId());
- if (documentation != null) {
- documentation.setDocStatus("鍊熷嚭");
- documentationService.updateById(documentation);
- }
+ Documentation documentation = documentationService.getById(documentationReturnManagement.getDocumentationId());
+ documentation.setDocStatus("鍊熷嚭");
+ documentationService.updateById(documentation);
} catch (Exception e) {
- throw new RuntimeException("鏇存柊鍊熼槄璁板綍鍜屾枃妗g姸鎬佹椂鍑洪敊", e);
+ throw new RuntimeException("鍒犻櫎褰掕繕璁板綍鍜屾枃妗g姸鎬佹椂鍑洪敊", e);
}
}
+// documentationReturnManagementMapper.deleteBatchIds(ids);
return true;
}
@@ -98,10 +121,26 @@
}
@Override
- public void exportrevent(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement) {
- List<ReturnExportDto> documentationBorrowManagements = documentationBorrowManagementMapper.exportrevent(documentationBorrowManagement);
+ public void exportrevent(HttpServletResponse response, DocumentationReturnManagement documentationReturnManagement) {
+ List<ReturnExportDto> documentationReturnManagements = documentationReturnManagementMapper.exportrevent(documentationReturnManagement);
ExcelUtil<ReturnExportDto> util = new ExcelUtil<>(ReturnExportDto.class);
- util.exportExcel(response, documentationBorrowManagements, "鏂囨。鍊熼槄-褰掕繕璁板綍");
+ util.exportExcel(response, documentationReturnManagements, "鏂囨。鍊熼槄-褰掕繕璁板綍");
+ }
+
+ @Override
+ public List<DocumentationBorrowManagementDto> listAll() {
+ return documentationBorrowManagementMapper.list(new LambdaQueryWrapper<DocumentationBorrowManagementDto>().eq(DocumentationBorrowManagementDto::getBorrowStatus, "鍊熼槄"));
+ }
+
+ @Override
+ public List<DocumentationBorrowManagementDto> selectByDocumentationId(Long id) {
+ List<DocumentationBorrowManagementDto> list = documentationBorrowManagementMapper.list(new LambdaQueryWrapper<DocumentationBorrowManagementDto>()
+ .eq(DocumentationBorrowManagementDto::getDocumentationId, id)
+ .eq(DocumentationBorrowManagementDto::getBorrowStatus, "鍊熼槄"));
+ if (list.isEmpty()){
+ throw new RuntimeException("鏂囨。鏈鍊熼槄");
+ }
+ return list;
}
@Override
--
Gitblit v1.9.3