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/framework/config/MybatisPlusConfig.java | 46 ++++++++++++++++++++++++++++++++++++----------
1 files changed, 36 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java b/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
index 90ad0f5..86950fd 100644
--- a/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
+++ b/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -1,15 +1,24 @@
package com.ruoyi.framework.config;
import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ParameterUtils;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
import com.ruoyi.common.handler.CustomTenantLineHandler;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import java.sql.SQLException;
/**
* Mybatis Plus 閰嶇疆
@@ -25,8 +34,8 @@
{
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 绉熸埛鎻掍欢
- TenantLineInnerInterceptor tenantLineInnerInterceptor = new TenantLineInnerInterceptor(new CustomTenantLineHandler());
- interceptor.addInnerInterceptor(tenantLineInnerInterceptor);
+// TenantLineInnerInterceptor tenantLineInnerInterceptor = new TenantLineInnerInterceptor(new CustomTenantLineHandler());
+// interceptor.addInnerInterceptor(tenantLineInnerInterceptor);
// 鍒嗛〉鎻掍欢
interceptor.addInnerInterceptor(paginationInnerInterceptor());
// 涔愯閿佹彃浠�
@@ -39,14 +48,31 @@
/**
* 鍒嗛〉鎻掍欢锛岃嚜鍔ㄨ瘑鍒暟鎹簱绫诲瀷 https://baomidou.com/guide/interceptor-pagination.html
*/
- public PaginationInnerInterceptor paginationInnerInterceptor()
- {
- PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
- // 璁剧疆鏁版嵁搴撶被鍨嬩负mysql
- paginationInnerInterceptor.setDbType(DbType.MYSQL);
- // 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
- paginationInnerInterceptor.setMaxLimit(-1L);
- return paginationInnerInterceptor;
+// public PaginationInnerInterceptor paginationInnerInterceptor()
+// {
+// PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
+// // 璁剧疆鏁版嵁搴撶被鍨嬩负mysql
+// paginationInnerInterceptor.setDbType(DbType.MYSQL);
+// // 璁剧疆鏈�澶у崟椤甸檺鍒舵暟閲忥紝榛樿 500 鏉★紝-1 涓嶅彈闄愬埗
+// paginationInnerInterceptor.setMaxLimit(-1L);
+// return paginationInnerInterceptor;
+// }
+
+ public PaginationInnerInterceptor paginationInnerInterceptor() {
+ PaginationInnerInterceptor interceptor = new PaginationInnerInterceptor(DbType.MYSQL) {
+ @Override
+ public void beforeQuery(Executor executor, MappedStatement ms, Object parameter,
+ RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException {
+ IPage<?> page = ParameterUtils.findPage(parameter).orElse(null);
+ if (page != null && page.getSize() <= 0) {
+ // 褰搒ize<=0鏃讹紝涓嶈繘琛屽垎椤�
+ return;
+ }
+ super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql);
+ }
+ };
+ interceptor.setMaxLimit(1000L); // 寤鸿璁剧疆鍚堢悊鐨勬渶澶у��
+ return interceptor;
}
/**
--
Gitblit v1.9.3