zoukankan      html  css  js  c++  java
  • 用.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报表

    设计

    自定义查询页面

    需求:

    自定义算法

    需求

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

    设计

    • 算法字段包含自定义字段和系统核心的运算字段
    • 算法字段、公式、条件、备注提供增加、修改、删除功能
  • 相关阅读:
    美团霸面---我想说说心里话。
    docker在ubuntu14.04下的安装笔记
    ubuntu14.04 upgrade出现【Ubuntu is running in low-graphics mode】问题的一个解决办法
    Python2和Python3在windows下共存
    Python发送邮件
    Python在安装第三方模块遇到的问题及解决办法
    127.0.0.1和localhost完全相等吗?
    vim总结
    linux shell学习笔记
    Jenkins +JUnit
  • 原文地址:https://www.cnblogs.com/qingyunye/p/14267380.html
Copyright © 2011-2022 走看看