从0到1构建MES系统6-系统配置

100 阅读1分钟

今天我们来讲MES系统的【系统配置】功能。

一 为什么需要系统配置功能

  • 业务规则解耦:业务逻辑的分支开关无需代码修改即可生效,例如来料功能,配置开关是否需要进行来料检验,开关关闭状态标识不需要来料检验,来料接收后直接生成入库单进行入库。
  • 符合开闭原则 :通过修改配置扩展功能而非修改代码

二 功能设计

2.1 数据库设计

字段名类型是否为空默认值备注
idBIGINT-参数主键
config_nameVARCHAR(100)-参数名称
config_keyVARCHAR(100)-参数键名
config_valueVARCHAR(500)-参数键值
config_typeVARCHAR(64)'sys'参数类型
create_byBIGINT-创建者
create_timeDATETIME-创建时间
update_byBIGINT-更新者
update_timeDATETIME-更新时间
remarkVARCHAR(500)-备注

2.2 后端主要代码

系统启动加载数据到缓存

/**  
 * 项目启动时,初始化字典到缓存  
 */  
@PostConstruct  
public void init()  
{  
    log.info("加载系统配置数据!");  
    loadingConfigCache();  
}

...


/**  
 * 加载参数缓存数据  
 */  
@Override  
public void loadingConfigCache()  
{  
    List<SysConfig> configsList = list();  
    for (SysConfig config : configsList)  
    {  
        redisCache.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue());  
    }  
}

根据系统配置KEY获取配置信息

sysConfigService.getByKey("sys.account.registerUser")

三 功能展示

Pasted image 20250528165058.png

界面分左右两部分,左边的把系统配置项分为:系统配置、基础数据、仓库管理、生产管理、质量管理、设备管理几大分类,右边为对应类型的系统配置项的增删查改功能。

开源项目地址

欢迎在评论区分享你的技术选型经验,或对本文方案的改进建议!