概述
平台文档是平台的重要组成部分,这块容易被忽视或不被重视。即使一个平台或系统架构优秀、设计合理、代码优雅,但文档缺失,对于平台的使用方而言,熟悉成本高、难度大。不可避免存在疑问,需要动手尝试验证或翻看源码才能确定系统的实际处理逻辑,效率低下。
此外,有些平台或系统虽然有文档,但文档流于形式化,为了写文档而写文档的产物。这样的文档质量堪忧,常见的问题主要有两个:
1.形式化与套路化,把功能模块和实体一列,然后增删改查,放几张截图,实际上都是些正确而无用的套话,提供的价值非常有限。
2.文档与系统实现不符,没有随系统重构或优化同步调整,这种实际危害更大,容易产生误导。
个人认为,文档应该站在使用者角度去编写,除了把属性和功能说清楚说完整,更重要的是把注意事项、最佳实践表达出来。在描述过程中,也应该提下为什么这么设计,有什么优点,以及有什么局限。
这样的文档,才能发挥自身的作用,给使用者必要的指引,让使用者快速了解与入门,遵循平台的设计,合理使用平台,追求最佳实践,发挥平台价值。
好了,就说这么多,接下来进入今天的正题,系统管理模块中的组织机构使用说明。
对于企业应用,组织机构是重要的基础数据,用来组织和管理人员。
同时,组织机构往往是系统数据权限控制的重要维度。
对于新系统,初始化组织机构通常是第一步工作。
属性
- 名称:组织机构的名称,核心属性。
- 编码:组织机构的编码,全局唯一。系统处理时可通过编码来为指定的组织机构执行特定的逻辑处理。当企业内存在重名的组织机构时,如生产一部和生产二部下都存在1号车间,这时候可以通过唯一性编码来区分。
- 上级:组织机构通过自关联形成树状结构,因此上级属性非常重要。
- 类型:一般而言,企业不是简单的公司-部门两级机构,而是复杂的组织层次,集团-公司-部门-模块(小组)。同时,公司还会存在子公司和分公司。为组织机构设置类型,系统处理时可对指定类型的组织机构进行特定的逻辑处理。此外,可以通过人员的组织机构标识,结合组织机构类型属性,往上递归获取到人员所属的部门和公司。
- 状态:正常与停用两种状态,组织机构会拆分、合并、废弃。对于组织机构这样的核心基础数据,通常不能直接删除,否则会影响历史单据的正常展示,而是通过设置状态的方式来实现停用的目的。停用后仅在组织机构管理界面可见,组织机构选择时不可见,从而也不会被选取和使用。
- 排序:用于控制列表显示次序,注意字段类型为字符串而不是整形,这么做是为了便于数据插入。对于01,02,03……09这样的组织机构列表,如需要在02与03中间插入一个组织机构,可以将排序设置为0201。如采用整形,则需要将第3条记录及以后所有记录序号都加1,变动范围广,数据量大的时候可能会引发性能问题和并发问题。
- 备注:放一些辅助说明,没什么好说的。
可扩展
负责人:可以考虑将组织机构负责人作为属性来维护,这样业务实现时可以通过该方式获取部门负责人或公司负责人,不过这只是实现方案之一。实际往往通过角色来设置部门经理或公司总经理,而不是在组织机构上通过属性来维护。
功能项
常规功能
新增:新增单条数据。
修改:修改单条数据。
删除:删除数据,这里的删除跟上文中的设置状态停用不同,是真正的删除(逻辑删除)。对于确认录入错误的数据,尚未被单据使用,应当彻底清理掉而不是将其状态设置为停用。考虑到组织机构的作为基础数据重要性,删除前会验证是否存在下级和下属人员,若存在则提示并终止操作。
查询:多条件组合,模糊匹配当前系统中的数据。
查看:查看单条数据。
复制新增:以某条数据为基础,拷贝方式快速创建数据。
扩展功能
启用、停用:快速设置状态。
批量导入:通过预置的excel模板,填充数据,上传并批量导入,导入时附带了数据验证。注意,本功能的目的主要是实现组织机构初始化功能,功能实现内部是新增,如数据已存在,会提示。批量导入功能在规划设计上不具备批量更新数据的职责,组织机构的更新需求,通过系统修改功能直接操作。
批量导出:批量导出到excel表中,该功能与数据查询进行了结合,将查询结果导出,因此既可以导出全量数据(查询条件为空),也可以只导出经过查询条件筛选后的数据。
下载模板:辅助功能,下载批量导入的exce模板。
注:若需了解该功能excel导入导出相关设计与实现,参见https://blog.csdn.net/seawaving/article/details/131299250。
界面设计
树表查询
典型布局,组织机构是树形结构数据,如列表方式平铺,难以直观看出组织机构的层次关系。因此采用左树右表的方式,左侧树用于导航,并参与数据查询。点击树节点时自动查询该节点下的组织机构。
右侧上方为查询区域,可灵活组合多种查询条件,筛选需要的数据。
此外,为应对全局搜索是否存在某个名称或编码的组织机构的需求场景,附加了一个“查询全部”的复选框,勾选后将忽略当前选择的组织机构。
新建/修改/查看
这三个功能界面差不多,操作上略有差异。
新建会打开空白表单,部分属性以默认值填充。
修改则会查询数据库,填充实体属性值,在此基础上修改。
查看也是查询数据库填充实体属性,但不能保存。
Excel模板
对于组织机构而言,有可能存在重名,如生产一部和生产二部两个部门下各存在一个名称为“1号车间”的部门,这时候通过上级名称就没法确定这条数据到底要导入到哪个部门下,因此引入了上级编码。编码是全局唯一的,系统处理时优先找编码,编码为空的时候再通过名称来处理,如还是找到多个同名部门,则放到一个名为“未分配”预置组织机构里,转人工处理。
数据导出结果
开源平台资料
平台名称:一二三开发平台
简介: 企业级通用低代码开发平台
设计资料:CSDN专栏
开源地址:Gitee
开源协议:MIT
欢迎收藏、点赞、评论,你的支持是我前行的动力。