字典管理模块项目流程总结报告
字典管理功能总结
一、字典管理开发过程描述
1、功能模块步骤
1.1、查询字典管理左边所显示的“系统代码+系统名称”
1.2、进入字典管理,默认选中全局字典,如图(2)所示。
1.2、保存“单条”以及“多条”修改
1.3、新增全局数据字典
1.4、删除“全局数据字典”列表数据
1.5、单个“系统数据字典”查询
1.6、单个“系统数据字典”查询
1.7、新增单个“系统数据字典”
1.8、删除单个“系统数据字典”
1.9、搜索单个“系统数据字典”
一、字典管理开发过程描述
I、字典管理功能需求如下:
1、新增一张表全局数据字典pkg_dict(解码全局数据字典表) ,以及系统数据字典pkg_dict_sys(系统解码数据字典表) ,以及系统表pam_sys_info(系统基本信息表)。 表结构如下。
2、pkg_dict_sys 表数据与pam_sys_info表以及页面之间的关系如图(1),pkg_dict表数据与页面之间的关系 如图(2)。
3、业务逻辑描述有如下几点:I、整体图如图(3、4)。II、此功能模块包含基本的查、批量修改、删等功能。III、首先我们需要先将左边列表pam_sys_info表里的数据以syscode+name的格式查询出来。IV、当我们进入字典管理,会默认触发数据字典全局配置如图(3),查询出pkg_dict表中的所有数据包含基本的查、批量修改、删等功能.——>左边的列表数据是来自于pam_sys_info(系统表)——>根据系统的syscode进行查询pkg_dict_sys表的中列表数据如图(4),并且包含基本的查、批量修改、删等功能。
4、具体代码逻辑,将在下面一 一描述
pkg_dict表结构如下:
CREATE TABLE `pkg_dict` (
`code` varchar(16) NOT NULL COMMENT '数据编码',
`name` varchar(32) NOT NULL COMMENT '名称',
`type` varchar(1) NOT NULL COMMENT '类型:sys_code.decode_type(<?>待确认)',
`len` varchar(8) NOT NULL COMMENT '长度(浮点型长度为小数点后分位的长度)',
`tag` varchar(1) DEFAULT NULL COMMENT '解码标识:sys_code.decode_tag',
`analyzs` varchar(1) DEFAULT NULL COMMENT '维度分析sys_code.YorN',
`defaults` varchar(32) DEFAULT NULL COMMENT '默认值',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_date` varchar(14) DEFAULT NULL COMMENT '创建时间yyyyMMddHHmmss',
`last_update_by` varchar(32) DEFAULT NULL COMMENT '最后修改人',
`last_update_date` varchar(14) DEFAULT NULL COMMENT '最后修改时间yyyyMMddHHmmss',
PRIMARY KEY (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='解码全局数据字典表';
pkg_dict_sys表结构如下:
CREATE TABLE `pkg_dict_sys` (
`sys_code` varchar(20) NOT NULL COMMENT '系统代码,对应pam_sys_info.code',
`code` varchar(16) NOT NULL COMMENT '数据编码',
`name` varchar(32) NOT NULL COMMENT '名称',
`type` varchar(1) NOT NULL COMMENT '类型:sys_code.decode_type(<?>待确认)',
`len` varchar(8) NOT NULL COMMENT '长度(浮点型长度为小数点后分位的长度)',
`tag` varchar(1) DEFAULT NULL COMMENT '解码标识:sys_code.decode_tag',
`analyzs` varchar(1) DEFAULT NULL COMMENT '维度分析sys_code.YorN',
`defaults` varchar(32) DEFAULT NULL COMMENT '默认值',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_date` varchar(14) DEFAULT NULL COMMENT '创建时间yyyyMMddHHmmss',
`last_update_by` varchar(32) DEFAULT NULL COMMENT '最后修改人',
`last_update_date` varchar(14) DEFAULT NULL COMMENT '最后修改时间yyyyMMddHHmmss',
PRIMARY KEY (`sys_code`,`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统解码数据字典表';
pam_sys_info表结构如下:
CREATE TABLE `pam_sys_info` (
`code` varchar(20) NOT NULL COMMENT '系统代码',
`name` varchar(50) DEFAULT NULL COMMENT '系统名称',
`description` varchar(100) DEFAULT NULL COMMENT '描述',
`is_channel` varchar(1) DEFAULT NULL COMMENT '是否渠道:sys_code.YorN',
`has_source` varchar(1) DEFAULT '0' COMMENT '是否记录源IP:sys_code.YorN',
`enable` varchar(1) NOT NULL DEFAULT '1' COMMENT '是否启用: sys_code.YorN',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_date` varchar(14) DEFAULT NULL COMMENT '创建时间yyyyMMddHHmmss',
`last_update_by` varchar(32) DEFAULT NULL COMMENT '最后修改人',
`last_update_date` varchar(14) DEFAULT NULL COMMENT '最后修改时间yyyyMMddHHmmss',
PRIMARY KEY (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统基本信息表';
图1
图2
图3
图4
1、功能模块步骤
1.1、查询字典管理左边所显示的“系统代码+系统名称”
I、进入数据字典先将pam_sys_info表里的数据以“系统代码+系统名称”查询出来并且显示的Controller请求方法如下:
图5
II、Service接口以及ServiceImpl如下:
图6
III、对应的Mapper层是通用的生成的方法。此处就不以图文进行显示了。
IV、返回页面渲染 如下图所示:
图7
1.2、进入字典管理,默认选中全局字典,如图(2)所示。
I、首先在页面找到全局字典的相关的摁钮——>然后此摁钮的触发与系统摁钮的触发设置默认的优先级关系,js如下图所示:
图8
II、此处的标签$(“.treeform”),这个属性来自于下图:查询左边返回的页面。将查询出的页面放到这个标签下面。
图9
III、对应执行的Controller方法如图所示:
图10
IV、渲染pkgdict_sys_list.jsp页面如下图:
图11
V、对应getPageList查询serviceImpl实现方法如下图:
图12
对应的Mapper接口,以及对应的xml都是通用生成的方法,直接调用就好了。
1.2、保存“单条”以及“多条”修改
作用于:列表单条修改以及多条同时修改
步骤一、
1.2.1、多条修改js页面
图13
1.2.2、去执行ajax方法
步骤二、
图14
1.2.3、去执行contoller控制层方法
步骤三、
图15
1.2.4、去写service以及serviceimpl实现方法
步骤四、
实现:
图16
1.2.5、去写DAO以及Dao.xml实现方法
步骤五、
对应的Dao.xml文件实现:
图19
1.3、新增全局数据字典
作用于:全局数据字典新增
1.3.1、新增系统js页面以及jsp页面
I、页面如下图:
图20
II、当触发新增时,先将新增的页面先show出来,如下图:
图21
III、然后再去写弹出的Model层确认提交摁钮的事件,同时分别去获取此新增列表的的表单数据。如下图所示:
图22
IV、此处的pkgDictIsRepeat请求方法,的目的是先根据code去查数据表是否存在相同的数据,如果有将不会去执行addPkgdictData方法进行保存。否则相反,也就是相当一个去重的步骤。
1.3.2、去执行ajax方法
步骤二、
图23
1.3.3、去执行contoller控制层方法
步骤三、
图24
1.3.4、去执去写service以及serviceimpl实现方法
I、执行保存,对应的Mapper方法是通用的。
II、数据去重,也就是在插入之前,根据ID去数据表中查一遍,看是否存在相同的数据,如果存在,则抛出异常,否则就保存。
1.4、删除“全局数据字典”列表数据
作用于:删除系统列表
步骤一、
1.4.1、删除系统JSP页面获取Code 的id值
1.4.2、去执行ajax方法
步骤二、
1.4.3、去执行contoller控制层方法
步骤三、
1.4.4、去执去写service以及serviceimpl实现方法
步骤四、
1.4.5、去写Mapper接口以及Mapper.xml实现方法——>使用的是通用生成的Mapper方法
1.5、单个“系统数据字典”查询
作用于:触发单个系统,查询出单个系统列表数据字典数据。
I、触发系统列表数据,查询单个系统相关的数据。如下图:
1.5.2、发送ajax方法
1.5.4、单个系统字典——去执行controller保存方法
步骤三、
I、对应的Service以及Serviceimpl实现。
II、对应的Dao以及Daoimpl实现。
1.6、单个“系统数据字典”查询
I、获取单个系统列表的修改的数据,并且each循环,因为是批量提交。
II、执行ajax方法
III、执行对应的Controller
IV、对应的Service和ServiceImpl实现方法
V、对应的Mapper是自动生成的。这里就做过多的解释了。
1.7、新增单个“系统数据字典”
I、此新增功能与全局新增功能是一样的,他的controller以及Service以及实现方法,大致与上面的全局字典新增是一样的,所以参考,上面的方法。
1.8、删除单个“系统数据字典”
I、执行对应的js
II、执行对应的Controller
III、执行对应的Service以及对应的ServiceImpl
IV、执行对应的Dao层,以及Dao实现
V、Model层 input框进行聚焦写法如下:
1.9、搜索单个“系统数据字典”
I、执行对应的js
II、发送对应的ajax方法
III、执行对应的Controller
IV、执行对应的Service以及ServiceImpl实现
图47
图48
V、执行对应的Mapper方法,是通用生成的方法,此处就不过多的做解释了。