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/project/system/service/impl/SysConfigServiceImpl.java | 80 +++++++++++++++++++++++++++++++---------
1 files changed, 62 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysConfigServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysConfigServiceImpl.java
index 88f5475..0396057 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysConfigServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysConfigServiceImpl.java
@@ -5,9 +5,10 @@
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.redis.RedisCache;
import com.ruoyi.project.system.domain.SysConfig;
@@ -34,11 +35,7 @@
@PostConstruct
public void init()
{
- List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig());
- for (SysConfig config : configsList)
- {
- redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
- }
+ loadingConfigCache();
}
/**
@@ -81,6 +78,22 @@
}
/**
+ * 鑾峰彇楠岃瘉鐮佸紑鍏�
+ *
+ * @return true寮�鍚紝false鍏抽棴
+ */
+ @Override
+ public boolean selectCaptchaEnabled()
+ {
+ String captchaEnabled = selectConfigByKey("sys.account.captchaEnabled");
+ if (StringUtils.isEmpty(captchaEnabled))
+ {
+ return true;
+ }
+ return Convert.toBool(captchaEnabled);
+ }
+
+ /**
* 鏌ヨ鍙傛暟閰嶇疆鍒楄〃
*
* @param config 鍙傛暟閰嶇疆淇℃伅
@@ -118,6 +131,12 @@
@Override
public int updateConfig(SysConfig config)
{
+ SysConfig temp = configMapper.selectConfigById(config.getConfigId());
+ if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey()))
+ {
+ redisCache.deleteObject(getCacheKey(temp.getConfigKey()));
+ }
+
int row = configMapper.updateConfig(config);
if (row > 0)
{
@@ -130,28 +149,53 @@
* 鎵归噺鍒犻櫎鍙傛暟淇℃伅
*
* @param configIds 闇�瑕佸垹闄ょ殑鍙傛暟ID
- * @return 缁撴灉
*/
@Override
- public int deleteConfigByIds(Long[] configIds)
+ public void deleteConfigByIds(Long[] configIds)
{
- int count = configMapper.deleteConfigByIds(configIds);
- if (count > 0)
+ for (Long configId : configIds)
{
- Collection<String> keys = redisCache.keys(Constants.SYS_CONFIG_KEY + "*");
- redisCache.deleteObject(keys);
+ SysConfig config = selectConfigById(configId);
+ if (StringUtils.equals(UserConstants.YES, config.getConfigType()))
+ {
+ throw new ServiceException(String.format("鍐呯疆鍙傛暟銆�%1$s銆戜笉鑳藉垹闄� ", config.getConfigKey()));
+ }
+ configMapper.deleteConfigById(configId);
+ redisCache.deleteObject(getCacheKey(config.getConfigKey()));
}
- return count;
}
/**
- * 娓呯┖缂撳瓨鏁版嵁
+ * 鍔犺浇鍙傛暟缂撳瓨鏁版嵁
*/
@Override
- public void clearCache()
+ public void loadingConfigCache()
{
- Collection<String> keys = redisCache.keys(Constants.SYS_CONFIG_KEY + "*");
+ List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig());
+ for (SysConfig config : configsList)
+ {
+ redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());
+ }
+ }
+
+ /**
+ * 娓呯┖鍙傛暟缂撳瓨鏁版嵁
+ */
+ @Override
+ public void clearConfigCache()
+ {
+ Collection<String> keys = redisCache.keys(CacheConstants.SYS_CONFIG_KEY + "*");
redisCache.deleteObject(keys);
+ }
+
+ /**
+ * 閲嶇疆鍙傛暟缂撳瓨鏁版嵁
+ */
+ @Override
+ public void resetConfigCache()
+ {
+ clearConfigCache();
+ loadingConfigCache();
}
/**
@@ -161,7 +205,7 @@
* @return 缁撴灉
*/
@Override
- public String checkConfigKeyUnique(SysConfig config)
+ public boolean checkConfigKeyUnique(SysConfig config)
{
Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId();
SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey());
@@ -180,6 +224,6 @@
*/
private String getCacheKey(String configKey)
{
- return Constants.SYS_CONFIG_KEY + configKey;
+ return CacheConstants.SYS_CONFIG_KEY + configKey;
}
}
--
Gitblit v1.9.3