用.NET实现一个高度灵活可配置的企业系统

系统概要

使用.NET实现一个高度灵活可配置的企业系统,这里只是大概说下设计思路和使用技术,没有说到具体的业务。

需求:在不修改系统程序代码的情况下,客户能够通过系统自定义配置的方式来实现变更的需求。

核心功能

  • 权限管理:菜单授权、按钮授权、字段授权、报表授权
  • 系自定义字段
  • 自定义报表
  • 自定义查询页面
  • 自定义算法的功能

使用技术和工具

平台:.NET

语言:C#

框架:ASP.NET Core

数据库:SQL Server

ORM:Dapper

 

权限管理

菜单授权、按钮授权、字段授权、报表授权

 

自定义字段

参考:

C# 反射、与dynamic最佳组合

使用类型 dynamic

需求

每个页面都能自定字段

设计

  • 自定义字段表:用一个表来保存系统自定义字段,包含字段的编码、名称、数据类型、长度
  • 每个页面在查询、修改时都要关联自定义字段表
  • c#中属性可以使用预留字段方式,或者使用动态类型dynamic,dynamic要注意是否有性能问题
  • 有添加字段、删除字段、停用字段的功能

实现:

简单报表:excle报表

需求

客户能够修改设置每个页面的excle报表

设计

  • excle模板表:用一个表来保存每个页面报表的excle模板
  • 每个页面根据报表名称与excle模板对应,一个页面可以有多个报表名称
  • excle模板有导入、编辑、保存功能
  • 报表显示数据的时候也使用该模板

实现:

复杂报表:可写sql脚本

需求

用户自定义sql脚本实现对应的查询显示数据,且能导出exlce报表

设计

自定义查询页面

需求:

自定义算法

需求

在一些需要运算的模块能够可以自定义设置计算公式,例如成本计算、薪资计算,且设置好的公式在对应的页面能展示运算后的数据

设计

  • 算法字段包含自定义字段和系统核心的运算字段
  • 算法字段、公式、条件、备注提供增加、修改、删除功能

 

posted @ 2021-01-12 15:53  日积月累码农  阅读(236)  评论(0编辑  收藏  举报