- 数据问题走后端解决。
- 定制场景尽量通用化,兼容类似场景,通过参数控制。
- 系统测试要求分辨率宽度1280*768及以上,测试时要考虑左侧菜单栏,开发人员把要求的1280*768测一下,自己电脑的最大分辨率测一下,其他就交给测试吧,大家都参考demo,不要随意发挥。
- 页面所有操作按钮需要根据授权信息进行展示或隐藏。
- 采用下拉搜索框的框架,需要在输入框尾部显示一个搜索图标。
- 同一个字段在一个系统中,无特殊要求应该描述一致,若原型有不一致,开发和测试应该提出来由产品进行统一。
- 所有页面的必填字段需要仔细校验。
- 所有页面该进行字典翻译的要进行字典翻译,避免给用户展示代码。
- 所有字段名称不要出现换行,根据实际情况调整,默认100
- 查询条件中的输入框非明确说明都是模糊搜索。
- 列表页面一般都要有一个时间字段进行倒序排列,该时间字段还需要在查询条件中进行开始时间默认值设置,一般默认近一个月,应当视数据量大小而定,结束时间不用默认值,由产品经理确定。
- 搜索条件中的时间范围无特殊说明只需要精确的天。
- 查询列表上的操作一般的采用弹窗形式,弹窗中下方要有关闭按钮,明确特殊说明除外。
- 按钮布局:类似导出这种使用较少,全局统一右边,其他业务操作类的都左边
- 列表中常见字段固定宽度,产品经理明确的除外。多选复选框列:35,序号:50,姓名:75,证件号码:150,联系电话:105,有效性:70。
- 如证件类型、序号等数据宽度比较明确需要固定宽度,其他数据长度变化范围较大的不固定宽度,需要把握一个原则就是:固定宽度的列应该在大部分情况下都是完整展示的。
- 列表常用按钮要跟样例页面一致,不要每个系统随意定义,尤其是按钮名称定义,产品明确定义的除外。操作列统一命名例:编辑、删除、详情
- 一些列表页面需要权限控制,一般分为:本人、本单位、本区县或JZ、全部,具体需要产品人员明确。本区县或本JZ判断:500000开头的按前8位进行JZ区分,其他按前6位进行区县区分,这个相关工具类已经封装好了,请直接使用。
- 系统中尽量不要出现弹窗一层一层的情况。
- 所有弹窗都要有关闭按钮,弹窗的关闭按钮在所有操作按钮之后。
- 新增编辑页面,若校验不通过不关闭页面,用户可以根据提示修改后重新提交。
- 你确定要XXX吗?如:你确定要删除吗?、你确定要关闭吗?、你确定要提交吗?
- “xx成功!”、“xx失败!”,如:布控成功!、撤控失败!
- 弹出页面下方都需要有统一的白底关闭按钮,在所有按钮之后。
- 如领导操作的或不需要审核的,使用蓝底“确定”按钮。
- 申请类操作,需要领导审核的都采用按钮:提交。
- 工作未完成,临时保存的采用按钮:暂存。
表名统一采用三级命名规则:
- 表名命名规范:系统拼音简称+业务拼音简称+表名称拼音简拼 例:重点人员系统,常规管控业务,预警信息 ZDRY_CGGK_YJXX
- 视图统一用V开头
- 统一字典表命名规范:SYS_ZD_XXX(系统-字典-统一字典)
- 业务字典表命名规范:系统拼音简称 + ZD + 子业务描述 例: ZDRY_ZD_XXX
字段命名采用中文简拼的方式命名,建议不要超过6个字符,非特殊情况字段名的简拼要与中文描述对应上。 中文描述结束采用英文分号分隔,后面可以进行额外的描述。如px字段的中文描述如下:
排序;建议排序都按10、20、30的方式排序,方便修改穿插
字段类型统一规范为字符串类型,有特殊需要其他类型的具体分析,大家讨论认可即可,时间字段统一为长度为14的字符串。
前面三个字段要求必须有,后面字典理论上要求要有,根据需要取舍
字段名称 | 类型 | 是否可为空 | 默认值 | 中文描述 |
---|---|---|---|---|
ID | VARCHAR2(32) | N | sys_guid() | 主键 |
YXX | VARCHAR2(8) | Y | '1' | 有效性@SYS_COMMON_LJPD |
CJSJ | VARCHAR2(14) | Y | to_char(sysdate,'yyyymmddhh24miss') | 创建时间 |
GXSJ | VARCHAR2(14) | Y | to_char(sysdate,'yyyymmddhh24miss') | 更新时间 |
PX | NUMBER | Y | 99999 | 排序 |
KZXX | VARCHAR2(4000) | Y | N | 扩展信息;JSON格式 |
CJRXM | VARCHAR2(32) | Y | N | 创建人姓名 |
CJRDM | VARCHAR2(32) | Y | N | 创建人代码 |
CJRDWMC | VARCHAR2(256) | Y | N | 创建人单位名称 |
CJRDWBM | VARCHAR2(32) | Y | N | 创建人单位代码 |
提供字典管理功能,对外字典接口。
SYS_SJGL_TYZD为本系统统一字典表,所有的小字典都应该放在此表中,其他额外的大字典也需要配置到此表中,此表将成为所有字典的统一入口。 项目中对字典的使用已经封装好了,你只需要到这个表中新增字典,然后在需要用的地方通过ZDLB(字典类别)使用即可。
后续考虑集成redis等外部工具,提供更多选择,凡是优秀的都可以集成进来,完全自主可控。
字典类别代码建议规则:
- 常用的如性别、民族、国籍等预计到处都能用到的,可以尽量简洁的命名,然后排序到前面,如:SYS_COMMON_XB(系统-通用-性别),SYS_COMMON_MZ(系统-通用-民族),SYS_COMMON_GJ(系统-通用-国籍)。
- 如属于特定总队的,可以加上总队代码加以区分,如:JZ_JJZD_KKGCLX(警种-JJ总队-卡口过车类型)。
- 业务系统的按业务区分,如:ZDRY_GWDQ_DTXXLB(ZD人员-高危地区-动态信息类别)
对于字典大小的定义,我们暂定1000个字典项以内的都按小字典处理,超1000个字典项的可以拆分独立字典表按大字典配置。
如下我们新增一个卡口过车类型的字典:
DM | MC | MS | PX | ZDLB |
---|---|---|---|---|
JZ_JJZD_KKGCLX | 警种-JJ总队-卡口过车类型 | JJ的卡口使用的车辆类型 | 99999 | SYS_COMMON_ZDLB |
1 | 大型车辆 | 99999 | JZ_JJZD_KKGCLX | |
2 | 小型车辆 | 99999 | JZ_JJZD_KKGCLX | |
3 | J用车辆 | 99999 | JZ_JJZD_KKGCLX | |
4 | 领馆车辆 | 99999 | JZ_JJZD_KKGCLX | |
6 | 外籍车辆 | 99999 | JZ_JJZD_KKGCLX |
这里指包含本身字典项超出1000个的字典类别;本身并不是简单的字典,而是还包含其他属性的业务表。
如下我们新增一个警种-JJ-卡口字典
DM | MC | MS | PX | ZDLB | LBSQL |
---|---|---|---|---|---|
JZ_JJZD_KKZD | 警种-JJ-卡口字典 | 警种-JJ-卡口字典 | 99999 | SYS_COMMON_ZDLB | select kkbh as dm,Device_Name as mc,0 as px,kk.device_desc¦¦kk.device_ip as search_key from T_JJZD_KK_ZD_KKXX kk |
本系统中提供了字典管理功能,一般都请直接在页面进行字典管理,若是从其他已有数据导入,可以下载批量模板进行上传,特别熟悉也可以直接操作数据表。
# DictManager.zdMcByDm(字典代码,字典类别)
eg:log.info("字典获取样例:"+ DictManager.zdMcByDm(Conf.getVal("benma666.app.dm"),"ZD_SYS_QX_APP"));
本系统提供统一的字典获取接口请参考:字典操作。
本配置中心基于统一字典管理实现,所有配置信息都以字典的形式管理,配置按优先级一般分为本地配置、私有配置、通用配置。
- 本地配置:继承于spring自带配置,spring支持的配置形式都可以用于配置项目,该配置优先级最高。
- 私有配置:各项目私有的配置,可以覆盖后面的通用配置。
- 通用配置:各应用通用的配置项,最通用,优先级最低。
- 在项目配置文件中配置相关配置的字典类别:
benma666:
config:
#配置优先级从前往后升高,重复配置,后面的会覆盖前面的
list: SYS_COMMON_APPCONFIG,SYS_MYSERVICE_APPCONFIG,SYS_SJGL_APPCONFIG,SYS_KP_APPCONFIG
- 在字典管理中进行配置的字典类别定义。
- 在字典管理中进行对应的字典项配置,字典项的key全部采用小写加点分隔的形式,如:sys.sjbm,在配置字典时需要在描述中讲清楚该配置项的意义。
# Conf.getVal(配置代码),该方式读取spring的配置和字典中的配置的合集
eg:log.info("配置获取样例:"+Conf.getVal("spring.application.name"));
提供文件上传、下载服务,支持所有历史文件上传记录的处理。
支持文件存储在本地文件(默认按时间分文件夹)、数据库等,客户端可以根据参数控制存储方式,通用文件建议存放数据库,临时性文件建议存放本地文件或ftp等。