diff --git a/modules/core/db/core.erm b/modules/core/db/core.erm index 2447fdba..25f10049 100644 --- a/modules/core/db/core.erm +++ b/modules/core/db/core.erm @@ -10,9 +10,9 @@ 30 0 - 0.5 - 950 - 0 + 1.0 + 2826 + 2629 255 255 @@ -79,7 +79,7 @@ en true - true + false true @@ -343,6 +343,38 @@ browser_name varchar(n) + + 357974589f09f144661fe8f474cc2d5979820493 + 64 + null + false + null + false + false + false + + false + + 流程分类 + category_code + varchar(n) + + + d666d8f5ace8607bedbbc0307e66c40ce5bef233 + 64 + null + false + null + false + false + false + + false + + 分类名称 + category_name + varchar(n) + 5e67fa734d6a8d1bf9d531488ea9a453ac809c7e 100 @@ -4231,6 +4263,22 @@ view_code varchar(n) + + 53529e210393822d66f5a27a7ca5675ae83c22d0 + 500 + null + false + null + false + false + false + + false + + 分类代码 + view_code + varchar(n) + 94d01c26c64be4cc11807cb52ecc4fb880e093b6 100 @@ -4821,13 +4869,13 @@ - 4dd955a73783e3a945d0838ca1e20f9ce21577d9 - 204 + b88f7ba58ecb15d4230ae89071b9105984f7b3e5 + 282369Arial14 - 2831 - 2844 + 2844 + 2976 128 128 @@ -4835,9 +4883,9 @@ - 938ddf0931bf14d58eee9ac55bc13d23f15fb942 - 5525729d1743c3ffa0ac27f11a8ccf35f1af5a11 - 4dd955a73783e3a945d0838ca1e20f9ce21577d9 + d35499950502b1fd532efee1b099cbe22baa401d + f9878a81cfe42ec34fcc8e0e31c61d92174ab3eb + b88f7ba58ecb15d4230ae89071b9105984f7b3e5 -1 -1 -1 @@ -4900,7 +4948,7 @@ 6d5f3e5ef4d28e57966c33c4b4ef424f1dc42b7b 55c7d0a9ab8650c264a75bb1bf958cac2fe68152 - 938ddf0931bf14d58eee9ac55bc13d23f15fb942 + d35499950502b1fd532efee1b099cbe22baa401d @@ -4934,7 +4982,7 @@ 91110163a8a31ee61a4153360707026b5498dd65 443772d4627c23aef484c324c8e431121b921a44 - 938ddf0931bf14d58eee9ac55bc13d23f15fb942 + d35499950502b1fd532efee1b099cbe22baa401d @@ -5381,13 +5429,13 @@
- c3a2d63e6fca7e70784108b82b84d66a2ffefe51 + de8e5c865a0c203ddf1c8aec90fe9da045a45455103411Arial14 - 96 - 2208 + 108 + 2244 128 128 @@ -5395,9 +5443,9 @@ - 232057b38700669f6558dec19269824640783a30 + 7e63630e7554cc58b1a014968521586d868d3644 582412cf1bf2ce0f486f6bfb76347a548de51930 - c3a2d63e6fca7e70784108b82b84d66a2ffefe51 + de8e5c865a0c203ddf1c8aec90fe9da045a45455 -1 -1 -1 @@ -5417,9 +5465,9 @@ null - f12140e179c79760f2ccd146e64bd5737d695385 - 3d247382b17eebade65fa207bb37d089d3c8042a - c3a2d63e6fca7e70784108b82b84d66a2ffefe51 + 062f2eb8382e1d19bc6bd44727fbdf4c7134e51f + 0dbf521af81eb106c8f552dc57b3b271545923e4 + de8e5c865a0c203ddf1c8aec90fe9da045a45455 -1 -1 -1 @@ -5449,7 +5497,7 @@ 23ffaff951e2a129327ee9c1adbd27093924b4f4 5ac7f3a7a755a58e6119c8d4922df644559e632f - 232057b38700669f6558dec19269824640783a30 + 7e63630e7554cc58b1a014968521586d868d3644 @@ -5483,7 +5531,7 @@ 79c510b01e27862264aa98b183ba8fce4b97ecab 512f24dbe486a211117dfb58e689ef3e0e5009a0 - f12140e179c79760f2ccd146e64bd5737d695385 + 062f2eb8382e1d19bc6bd44727fbdf4c7134e51f @@ -5793,13 +5841,13 @@
- 32d9f231d7d00f88c583938b4cb2fca3a13535a1 + 1b66e45dac2bc9f11e6245264a2b02ced47829f6238558Arial14 - 4200 - 2520 + 4199 + 2424 128 128 @@ -5807,9 +5855,9 @@ - 6365c925acba2449d588a0c81bbe6e52a1a4da52 - 17629b2892458bd596d6fa10314018641604ad83 - 32d9f231d7d00f88c583938b4cb2fca3a13535a1 + 39ba49810ea31e2bc1a9c296e173ffc73eaf1d01 + 50f1fe9227eb913a9333a52fcbe7a707f2c3ade4 + 1b66e45dac2bc9f11e6245264a2b02ced47829f6 -1 -1 -1 @@ -5872,7 +5920,7 @@ f385f23b1163beb8b239a67f5a262c83fb46cae6 5eecd1e4e1dc132da52de1bd1f59b13dd13a3587 - 6365c925acba2449d588a0c81bbe6e52a1a4da52 + 39ba49810ea31e2bc1a9c296e173ffc73eaf1d01 所属消息 所属消息 @@ -7433,8 +7481,8 @@ null - 695b27631f56239848bdb0c15c29aafa5d6ef7ef - 3d247382b17eebade65fa207bb37d089d3c8042a + 2f0b595730052047eb4728924686dc27ddc76bc9 + 0dbf521af81eb106c8f552dc57b3b271545923e4 f151f987251ae4e9949b5ed48822458897360e0b -1 -1 @@ -7554,7 +7602,7 @@ afab752045817ecbe4149d93bee23e784ce89a0b 512f24dbe486a211117dfb58e689ef3e0e5009a0 - 695b27631f56239848bdb0c15c29aafa5d6ef7ef + 2f0b595730052047eb4728924686dc27ddc76bc9 @@ -7629,13 +7677,13 @@
- 3e5ba7b4b137ff0e53c3177fa69d25f7c92092ab - 821 + be377c417cdedb6b9d886795b20af1f16c727eee + 932548Arial1448 - 2484 + 2564 128 128 @@ -7643,9 +7691,9 @@ - 74561557dced8974f973e4f1f3c8233464123df0 + 4285b94d1c88653127fe6a822b3ca38ae4077d20 77882d315a3a12c8239afc4172d122f36b944e07 - 3e5ba7b4b137ff0e53c3177fa69d25f7c92092ab + be377c417cdedb6b9d886795b20af1f16c727eee -1 -1 -1 @@ -7708,7 +7756,7 @@ fc44d466dd6009e48b5222d1d71e38d025194ff0 54b86f255d95078898534902087fb704b4265b60 - 74561557dced8974f973e4f1f3c8233464123df0 + 4285b94d1c88653127fe6a822b3ca38ae4077d20 @@ -10039,13 +10087,13 @@
- 5525729d1743c3ffa0ac27f11a8ccf35f1af5a11 - 504 + f9878a81cfe42ec34fcc8e0e31c61d92174ab3eb + 594499Arial14 - 2195 - 2688 + 2191 + 2856 128 128 @@ -11499,13 +11547,13 @@
- 17629b2892458bd596d6fa10314018641604ad83 - 432 + 50f1fe9227eb913a9333a52fcbe7a707f2c3ade4 + 542671Arial14 - 3433 - 2376 + 3432 + 2256 128 128 @@ -15813,8 +15861,8 @@ null - c5ca62d75069d97b2de376cff4ad3888fccffbbf - 3d247382b17eebade65fa207bb37d089d3c8042a + a7e27d6bb0b6a75f3d272be4e0b96f46936141d6 + 0dbf521af81eb106c8f552dc57b3b271545923e4 f2595d1ce409d3c829049c282f6b8af0ef9653d0 -1 -1 @@ -15977,7 +16025,7 @@ b0ac1bfb9a465a46257d8e043e8d0370feb0ee7c 512f24dbe486a211117dfb58e689ef3e0e5009a0 - c5ca62d75069d97b2de376cff4ad3888fccffbbf + a7e27d6bb0b6a75f3d272be4e0b96f46936141d6 @@ -17359,12 +17407,12 @@
- 3d247382b17eebade65fa207bb37d089d3c8042a + 0dbf521af81eb106c8f552dc57b3b271545923e41244387Arial14 - 48 + 75792 128 @@ -17827,6 +17875,139 @@
+ + 9edf3c2c370270e0c6347f407e110c3290775e6c + 516 + 387 + Arial + 14 + 3504 + 2940 + + 128 + 128 + 192 + + + + js_sys_biz_category + 业务分类 + + + + + + + 357974589f09f144661fe8f474cc2d5979820493 + 7505196c5a21b3bb056e1df83369ff81ad9c1577 + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + 53529e210393822d66f5a27a7ca5675ae83c22d0 + 17b0bdc72461220ac0ae5c283d325ebb54a41074 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + d666d8f5ace8607bedbbc0307e66c40ce5bef233 + efa6241a145d05fb1504a804a1ba16bbde058957 + + + + + varchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + a535b6c506004a7fdf4d48984c9ff2cfa59c157a + 35ae805d1da92afdb99b2fe8c536d1649356fccd + ea920cba2fe0eaee64a2310ece7cda4b198b37ec + + + + + + + + +
diff --git a/modules/core/db/core.png b/modules/core/db/core.png index 79192be1..34bd95ad 100644 Binary files a/modules/core/db/core.png and b/modules/core/db/core.png differ diff --git a/modules/core/db/core.xls b/modules/core/db/core.xls new file mode 100644 index 00000000..a6f2d34b Binary files /dev/null and b/modules/core/db/core.xls differ diff --git a/modules/core/db/db2/core.sql b/modules/core/db/db2/core.sql index bbc85e9c..0ee6d5ec 100644 --- a/modules/core/db/db2/core.sql +++ b/modules/core/db/db2/core.sql @@ -79,6 +79,31 @@ CREATE TABLE js_sys_area ); +-- 业务分类 +CREATE TABLE js_sys_biz_category +( + category_code varchar(64) NOT NULL, + view_code varchar(500), + category_name varchar(64) NOT NULL, + parent_code varchar(64) NOT NULL, + parent_codes varchar(767) NOT NULL, + tree_sort decimal(10) NOT NULL, + tree_sorts varchar(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level decimal(4) NOT NULL, + tree_names varchar(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar(64) NOT NULL, + create_date timestamp NOT NULL, + update_by varchar(64) NOT NULL, + update_date timestamp NOT NULL, + remarks vargraphic(500), + corp_code varchar(64) DEFAULT '0' NOT NULL, + corp_name vargraphic(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +); + + -- 公司表 CREATE TABLE js_sys_company ( diff --git a/modules/core/db/h2/core.sql b/modules/core/db/h2/core.sql index 2d024303..dc9ead47 100644 --- a/modules/core/db/h2/core.sql +++ b/modules/core/db/h2/core.sql @@ -79,6 +79,31 @@ CREATE TABLE js_sys_area ); +-- 业务分类 +CREATE TABLE js_sys_biz_category +( + category_code varchar(64) NOT NULL, + view_code varchar(500), + category_name varchar(64) NOT NULL, + parent_code varchar(64) NOT NULL, + parent_codes varchar(767) NOT NULL, + tree_sort decimal(10) NOT NULL, + tree_sorts varchar(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level decimal(4) NOT NULL, + tree_names varchar(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar(64) NOT NULL, + create_date datetime NOT NULL, + update_by varchar(64) NOT NULL, + update_date datetime NOT NULL, + remarks varchar(500), + corp_code varchar(64) DEFAULT '0' NOT NULL, + corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +); + + -- 公司表 CREATE TABLE js_sys_company ( diff --git a/modules/core/db/mssql/core.sql b/modules/core/db/mssql/core.sql index 1368e2b8..51cf590d 100644 --- a/modules/core/db/mssql/core.sql +++ b/modules/core/db/mssql/core.sql @@ -79,6 +79,31 @@ CREATE TABLE [js_sys_area] ); +-- 业务分类 +CREATE TABLE [js_sys_biz_category] +( + [category_code] varchar(64) NOT NULL, + [view_code] varchar(500), + [category_name] varchar(64) NOT NULL, + [parent_code] varchar(64) NOT NULL, + [parent_codes] varchar(767) NOT NULL, + [tree_sort] decimal(10) NOT NULL, + [tree_sorts] varchar(767) NOT NULL, + [tree_leaf] char(1) NOT NULL, + [tree_level] decimal(4) NOT NULL, + [tree_names] varchar(767) NOT NULL, + [status] char(1) DEFAULT '0' NOT NULL, + [create_by] varchar(64) NOT NULL, + [create_date] datetime NOT NULL, + [update_by] varchar(64) NOT NULL, + [update_date] datetime NOT NULL, + [remarks] nvarchar(500), + [corp_code] varchar(64) DEFAULT '0' NOT NULL, + [corp_name] nvarchar(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY ([category_code]) +); + + -- 公司表 CREATE TABLE [js_sys_company] ( diff --git a/modules/core/db/mysql/core.sql b/modules/core/db/mysql/core.sql index 8aa9d00b..8b9d60c2 100644 --- a/modules/core/db/mysql/core.sql +++ b/modules/core/db/mysql/core.sql @@ -80,6 +80,31 @@ CREATE TABLE js_sys_area ) COMMENT = '行政区划'; +-- 业务分类 +CREATE TABLE js_sys_biz_category +( + category_code varchar(64) NOT NULL COMMENT '流程分类', + view_code varchar(500) COMMENT '分类代码', + category_name varchar(64) NOT NULL COMMENT '分类名称', + parent_code varchar(64) NOT NULL COMMENT '父级编号', + parent_codes varchar(767) NOT NULL COMMENT '所有父级编号', + tree_sort decimal(10) NOT NULL COMMENT '排序号(升序)', + tree_sorts varchar(767) NOT NULL COMMENT '所有排序号', + tree_leaf char(1) NOT NULL COMMENT '是否最末级', + tree_level decimal(4) NOT NULL COMMENT '层次级别', + tree_names varchar(767) NOT NULL COMMENT '全节点名', + status char(1) DEFAULT '0' NOT NULL COMMENT '状态(0正常 1删除 2停用)', + create_by varchar(64) NOT NULL COMMENT '创建者', + create_date datetime NOT NULL COMMENT '创建时间', + update_by varchar(64) NOT NULL COMMENT '更新者', + update_date datetime NOT NULL COMMENT '更新时间', + remarks varchar(500) COMMENT '备注信息', + corp_code varchar(64) DEFAULT '0' NOT NULL COMMENT '租户代码', + corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL COMMENT '租户名称', + PRIMARY KEY (category_code) +) COMMENT = '业务分类'; + + -- 公司表 CREATE TABLE js_sys_company ( diff --git a/modules/core/db/oracle/core.sql b/modules/core/db/oracle/core.sql index 25402713..285f14e3 100644 --- a/modules/core/db/oracle/core.sql +++ b/modules/core/db/oracle/core.sql @@ -79,6 +79,31 @@ CREATE TABLE js_sys_area ); +-- 业务分类 +CREATE TABLE js_sys_biz_category +( + category_code varchar2(64) NOT NULL, + view_code varchar2(500), + category_name varchar2(64) NOT NULL, + parent_code varchar2(64) NOT NULL, + parent_codes varchar2(767) NOT NULL, + tree_sort number(10) NOT NULL, + tree_sorts varchar2(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level number(4) NOT NULL, + tree_names varchar2(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar2(64) NOT NULL, + create_date timestamp NOT NULL, + update_by varchar2(64) NOT NULL, + update_date timestamp NOT NULL, + remarks nvarchar2(500), + corp_code varchar2(64) DEFAULT '0' NOT NULL, + corp_name nvarchar2(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +); + + -- 公司表 CREATE TABLE js_sys_company ( @@ -1033,6 +1058,25 @@ COMMENT ON COLUMN js_sys_area.create_date IS '创建时间'; COMMENT ON COLUMN js_sys_area.update_by IS '更新者'; COMMENT ON COLUMN js_sys_area.update_date IS '更新时间'; COMMENT ON COLUMN js_sys_area.remarks IS '备注信息'; +COMMENT ON TABLE js_sys_biz_category IS '业务分类'; +COMMENT ON COLUMN js_sys_biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN js_sys_biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN js_sys_biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN js_sys_biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN js_sys_biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN js_sys_biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN js_sys_biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN js_sys_biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN js_sys_biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN js_sys_biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN js_sys_biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_sys_biz_category.create_by IS '创建者'; +COMMENT ON COLUMN js_sys_biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN js_sys_biz_category.update_by IS '更新者'; +COMMENT ON COLUMN js_sys_biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN js_sys_biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN js_sys_biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN js_sys_biz_category.corp_name IS '租户名称'; COMMENT ON TABLE js_sys_company IS '公司表'; COMMENT ON COLUMN js_sys_company.company_code IS '公司编码'; COMMENT ON COLUMN js_sys_company.view_code IS '公司代码'; diff --git a/modules/core/db/postgresql/core.sql b/modules/core/db/postgresql/core.sql index 2a9d4e39..7eb8583b 100644 --- a/modules/core/db/postgresql/core.sql +++ b/modules/core/db/postgresql/core.sql @@ -79,6 +79,31 @@ CREATE TABLE js_sys_area ) WITHOUT OIDS; +-- 业务分类 +CREATE TABLE js_sys_biz_category +( + category_code varchar(64) NOT NULL, + view_code varchar(500), + category_name varchar(64) NOT NULL, + parent_code varchar(64) NOT NULL, + parent_codes varchar(767) NOT NULL, + tree_sort decimal(10) NOT NULL, + tree_sorts varchar(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level decimal(4) NOT NULL, + tree_names varchar(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar(64) NOT NULL, + create_date timestamp NOT NULL, + update_by varchar(64) NOT NULL, + update_date timestamp NOT NULL, + remarks varchar(500), + corp_code varchar(64) DEFAULT '0' NOT NULL, + corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +) WITHOUT OIDS; + + -- 公司表 CREATE TABLE js_sys_company ( @@ -1033,6 +1058,25 @@ COMMENT ON COLUMN js_sys_area.create_date IS '创建时间'; COMMENT ON COLUMN js_sys_area.update_by IS '更新者'; COMMENT ON COLUMN js_sys_area.update_date IS '更新时间'; COMMENT ON COLUMN js_sys_area.remarks IS '备注信息'; +COMMENT ON TABLE js_sys_biz_category IS '业务分类'; +COMMENT ON COLUMN js_sys_biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN js_sys_biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN js_sys_biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN js_sys_biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN js_sys_biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN js_sys_biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN js_sys_biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN js_sys_biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN js_sys_biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN js_sys_biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN js_sys_biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_sys_biz_category.create_by IS '创建者'; +COMMENT ON COLUMN js_sys_biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN js_sys_biz_category.update_by IS '更新者'; +COMMENT ON COLUMN js_sys_biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN js_sys_biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN js_sys_biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN js_sys_biz_category.corp_name IS '租户名称'; COMMENT ON TABLE js_sys_company IS '公司表'; COMMENT ON COLUMN js_sys_company.company_code IS '公司编码'; COMMENT ON COLUMN js_sys_company.view_code IS '公司代码'; diff --git a/modules/core/src/main/java/com/jeesite/autoconfigure/sys/SysAutoConfiguration.java b/modules/core/src/main/java/com/jeesite/autoconfigure/sys/SysAutoConfiguration.java index aaf1db4b..bb022437 100644 --- a/modules/core/src/main/java/com/jeesite/autoconfigure/sys/SysAutoConfiguration.java +++ b/modules/core/src/main/java/com/jeesite/autoconfigure/sys/SysAutoConfiguration.java @@ -71,5 +71,11 @@ public class SysAutoConfiguration { public MsgInnerService msgInnerService(){ return new MsgInnerService(); } - + + @Bean + @ConditionalOnMissingBean + public BizCategoryService bizCategoryService(){ + return new BizCategoryServiceSupport(); + } + } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/BizCategoryDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/BizCategoryDao.java new file mode 100644 index 00000000..c0c018e3 --- /dev/null +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/BizCategoryDao.java @@ -0,0 +1,19 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + */ +package com.jeesite.modules.sys.dao; + +import com.jeesite.common.dao.TreeDao; +import com.jeesite.common.mybatis.annotation.MyBatisDao; +import com.jeesite.modules.sys.entity.BizCategory; + +/** + * 业务分类DAO接口 + * @author ThinkGem + * @version 2019-08-12 + */ +@MyBatisDao +public interface BizCategoryDao extends TreeDao { + +} \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.java b/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.java index ce20ac84..dc7d4c31 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.java @@ -50,6 +50,7 @@ public class InitCoreData extends BaseInitDataTests { this.initPost(); this.initEmpUser(); this.initJob(); + this.initBizCategory(); return true; } @@ -345,6 +346,22 @@ public class InitCoreData extends BaseInitDataTests { job.setStatus(JobEntity.STATUS_PAUSED); jobDao.insert(job); } + + @Autowired + private BizCategoryService bizCategoryService; + public void initBizCategory() throws Exception{ +// clearTable(BizCategory.class); + initExcelData(BizCategory.class, params -> { + String action = (String)params[0]; + if("save".equals(action)){ + BizCategory entity = (BizCategory)params[1]; + entity.setIsNewRecord(true); + bizCategoryService.save(entity); + return null; + } + return null; + }); + } @Override public int getPhase() { diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx b/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx index a4ee6615..b2fd3659 100644 Binary files a/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx and b/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx differ diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/entity/BizCategory.java b/modules/core/src/main/java/com/jeesite/modules/sys/entity/BizCategory.java new file mode 100644 index 00000000..ed19b6ed --- /dev/null +++ b/modules/core/src/main/java/com/jeesite/modules/sys/entity/BizCategory.java @@ -0,0 +1,84 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + */ +package com.jeesite.modules.sys.entity; + +import com.jeesite.common.entity.BaseEntity; +import com.jeesite.common.entity.DataEntity; +import com.jeesite.common.entity.TreeEntity; +import com.jeesite.common.mybatis.annotation.Column; +import com.jeesite.common.mybatis.annotation.Table; +import com.jeesite.common.mybatis.mapper.query.QueryType; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; + +/** + * 业务分类Entity + * @author ThinkGem + * @version 2019-08-12 + */ +@Table(name="${_prefix}sys_biz_category", alias="a", columns={ + @Column(name="category_code", attrName="categoryCode", label="业务分类", isPK=true), + @Column(name="view_code", attrName="viewCode", label="业务分类"), + @Column(includeEntity=TreeEntity.class), + @Column(name="category_name", attrName="categoryName", label="分类名称", queryType=QueryType.LIKE, isTreeName=true), + @Column(includeEntity=DataEntity.class), + @Column(includeEntity=BaseEntity.class), + }, orderBy="a.tree_sorts, a.category_code" +) +public class BizCategory extends TreeEntity { + + private static final long serialVersionUID = 1L; + private String categoryCode; // 分类编码 + private String viewCode; // 分类代码(作为显示用,多租户内唯一) + private String categoryName; // 分类名称 + + public BizCategory() { + this(null); + } + + public BizCategory(String id){ + super(id); + } + + @Override + public BizCategory getParent() { + return parent; + } + + @Override + public void setParent(BizCategory parent) { + this.parent = parent; + } + + public String getCategoryCode() { + return categoryCode; + } + + public void setCategoryCode(String categoryCode) { + this.categoryCode = categoryCode; + } + + @NotBlank(message="分类代码不能为空") + @Pattern(regexp="[a-zA-Z0-9_]{0,30}", message="代码长度不能大于 30 个字符,并且只能包含字母、数字、下划线") + public String getViewCode() { + return viewCode; + } + + public void setViewCode(String viewCode) { + this.viewCode = viewCode; + } + + @NotBlank(message="分类名称不能为空") + @Size(min=0, max=64, message="分类名称长度不能超过 64 个字符") + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + +} \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/service/BizCategoryService.java b/modules/core/src/main/java/com/jeesite/modules/sys/service/BizCategoryService.java new file mode 100644 index 00000000..b8603f5b --- /dev/null +++ b/modules/core/src/main/java/com/jeesite/modules/sys/service/BizCategoryService.java @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + */ +package com.jeesite.modules.sys.service; + +import com.jeesite.common.service.api.TreeServiceApi; +import com.jeesite.modules.sys.entity.BizCategory; + +import java.util.List; + +/** + * 业务分类Service + * @author ThinkGem + * @version 2019-08-12 + */ +public interface BizCategoryService extends TreeServiceApi { + + /** + * 获取单条数据 + * @param bpmCategory + * @return + */ + @Override + BizCategory get(BizCategory bpmCategory); + + /** + * 查询列表数据 + * @param bpmCategory + * @return + */ + @Override + List findList(BizCategory bpmCategory); + + /** + * 保存数据(插入或更新) + * @param bpmCategory + */ + @Override + void save(BizCategory bpmCategory); + + /** + * 更新状态 + * @param bpmCategory + */ + @Override + void updateStatus(BizCategory bpmCategory); + + /** + * 删除数据 + * @param bpmCategory + */ + @Override + void delete(BizCategory bpmCategory); + +} \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/service/support/BizCategoryServiceSupport.java b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/BizCategoryServiceSupport.java new file mode 100644 index 00000000..d9310bfb --- /dev/null +++ b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/BizCategoryServiceSupport.java @@ -0,0 +1,78 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + */ +package com.jeesite.modules.sys.service.support; + +import com.jeesite.common.service.TreeService; +import com.jeesite.modules.sys.dao.BizCategoryDao; +import com.jeesite.modules.sys.entity.BizCategory; +import com.jeesite.modules.sys.service.BizCategoryService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 业务分类Service + * @author ThinkGem + * @version 2019-08-12 + */ +public class BizCategoryServiceSupport extends TreeService + implements BizCategoryService{ + + /** + * 获取单条数据 + * @param bizCategory + * @return + */ + @Override + public BizCategory get(BizCategory bizCategory) { + return super.get(bizCategory); + } + + /** + * 查询列表数据 + * @param bizCategory + * @return + */ + @Override + public List findList(BizCategory bizCategory) { + return super.findList(bizCategory); + } + + /** + * 保存数据(插入或更新) + * @param bizCategory + */ + @Override + @Transactional + public void save(BizCategory bizCategory) { + if (bizCategory.getIsNewRecord()){ + // 生成主键,并验证改主键是否存在,如存在则抛出验证信息 + genIdAndValid(bizCategory, bizCategory.getViewCode()); + } + super.save(bizCategory); + } + + /** + * 更新状态 + * @param bizCategory + */ + @Override + @Transactional + public void updateStatus(BizCategory bizCategory) { + super.updateStatus(bizCategory); + } + + /** + * 删除数据 + * @param bizCategory + */ + @Override + @Transactional + public void delete(BizCategory bizCategory) { + bizCategory.sqlMap().markIdDelete(); + super.delete(bizCategory); + } + +} \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java index 3fa7fde7..042c389b 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/AreaController.java @@ -12,11 +12,12 @@ import com.jeesite.common.idgen.IdGen; import com.jeesite.common.lang.StringUtils; import com.jeesite.common.web.BaseController; import com.jeesite.modules.sys.entity.Area; -import com.jeesite.modules.sys.entity.Company; import com.jeesite.modules.sys.service.AreaService; import com.jeesite.modules.sys.utils.AreaUtils; import com.jeesite.modules.sys.utils.UserUtils; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -28,8 +29,6 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -60,7 +59,7 @@ public class AreaController extends BaseController { */ @RequiresPermissions("sys:area:view") @RequestMapping(value = "index") - public String index(Company area, Model model) { + public String index(Area area, Model model) { model.addAttribute("area", area); return "modules/sys/areaIndex"; } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/BizCategoryController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/BizCategoryController.java new file mode 100644 index 00000000..7c9140c7 --- /dev/null +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/BizCategoryController.java @@ -0,0 +1,246 @@ +/** + * Copyright (c) 2013-Now http://jeesite.com All rights reserved. + * No deletion without permission, or be held responsible to law. + */ +package com.jeesite.modules.sys.web; + +import com.jeesite.common.collect.ListUtils; +import com.jeesite.common.collect.MapUtils; +import com.jeesite.common.config.Global; +import com.jeesite.common.idgen.IdGen; +import com.jeesite.common.lang.StringUtils; +import com.jeesite.common.web.BaseController; +import com.jeesite.modules.sys.entity.BizCategory; +import com.jeesite.modules.sys.service.BizCategoryService; +import com.jeesite.modules.sys.utils.UserUtils; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; +import java.util.Map; + +/** + * 业务分类Controller + * @author ThinkGem + * @version 2019-08-12 + */ +@Controller +@Tag(name = "BizCategory - 业务分类") +@RequestMapping(value = "${adminPath}/sys/bizCategory") +public class BizCategoryController extends BaseController { + + @Autowired + private BizCategoryService bizCategoryService; + + /** + * 获取数据 + */ + @ModelAttribute + public BizCategory get(String categoryCode, boolean isNewRecord) { + return bizCategoryService.get(categoryCode, isNewRecord); + } + + /** + * 管理首页 + */ + @RequiresPermissions("sys:bizCategory:view") + @RequestMapping(value = "index") + public String index(BizCategory bizCategory, Model model) { + model.addAttribute("bizCategory", bizCategory); + return "modules/sys/bizCategoryIndex"; + } + + /** + * 查询列表 + */ + @RequiresPermissions("sys:bizCategory:view") + @RequestMapping(value = {"list", ""}) + public String list(BizCategory bizCategory, Model model) { + model.addAttribute("bizCategory", bizCategory); + return "modules/sys/bizCategoryList"; + } + + /** + * 查询列表数据 + */ + @RequiresPermissions("sys:bizCategory:view") + @RequestMapping(value = "listData") + @ResponseBody + public List listData(BizCategory bizCategory) { + if (StringUtils.isBlank(bizCategory.getParentCode())) { + bizCategory.setParentCode(BizCategory.ROOT_CODE); + } + if (StringUtils.isNotBlank(bizCategory.getViewCode())) { + bizCategory.setParentCode(null); + } + if (StringUtils.isNotBlank(bizCategory.getCategoryName())){ + bizCategory.setParentCode(null); + } + if (StringUtils.isNotBlank(bizCategory.getRemarks())){ + bizCategory.setParentCode(null); + } + List list = bizCategoryService.findList(bizCategory); + return list; + } + + /** + * 查看编辑表单 + */ + @RequiresPermissions("sys:bizCategory:view") + @RequestMapping(value = "form") + public String form(BizCategory bizCategory, Model model) { + // 创建并初始化下一个节点信息 + bizCategory = createNextNode(bizCategory); + model.addAttribute("bizCategory", bizCategory); + return "modules/sys/bizCategoryForm"; + } + + /** + * 创建并初始化下一个节点信息,如:排序号、默认值 + */ + @RequiresPermissions("sys:bizCategory:edit") + @RequestMapping(value = "createNextNode") + @ResponseBody + public BizCategory createNextNode(BizCategory bizCategory) { + if (StringUtils.isNotBlank(bizCategory.getParentCode())){ + bizCategory.setParent(bizCategoryService.get(bizCategory.getParentCode())); + } + if (bizCategory.getIsNewRecord()) { + BizCategory where = new BizCategory(); + where.setParentCode(bizCategory.getParentCode()); + BizCategory last = bizCategoryService.getLastByParentCode(where); + // 获取到下级最后一个节点 + if (last != null){ + bizCategory.setTreeSort(last.getTreeSort() + 30); + bizCategory.setViewCode(IdGen.nextCode(last.getViewCode())); + }else if (bizCategory.getParent() != null){ + bizCategory.setViewCode(bizCategory.getParent().getViewCode() + "001"); + } + } + // 以下设置表单默认数据 + if (bizCategory.getTreeSort() == null){ + bizCategory.setTreeSort(BizCategory.DEFAULT_TREE_SORT); + } + return bizCategory; + } + + /** + * 保存业务分类 + */ + @RequiresPermissions("sys:bizCategory:edit") + @PostMapping(value = "save") + @ResponseBody + public String save(@Validated BizCategory bizCategory) { + bizCategoryService.save(bizCategory); + return renderResult(Global.TRUE, text("保存业务分类成功")); + } + + /** + * 停用业务分类 + */ + @RequiresPermissions("sys:bizCategory:edit") + @RequestMapping(value = "disable") + @ResponseBody + public String disable(BizCategory bizCategory) { + BizCategory where = new BizCategory(); + where.setStatus(BizCategory.STATUS_NORMAL); + where.setParentCodes("," + bizCategory.getId() + ","); + long count = bizCategoryService.findCount(where); + if (count > 0) { + return renderResult(Global.FALSE, text("该业务分类包含未停用的子业务分类!")); + } + bizCategory.setStatus(BizCategory.STATUS_DISABLE); + bizCategoryService.updateStatus(bizCategory); + return renderResult(Global.TRUE, text("停用业务分类成功")); + } + + /** + * 启用业务分类 + */ + @RequiresPermissions("sys:bizCategory:edit") + @RequestMapping(value = "enable") + @ResponseBody + public String enable(BizCategory bizCategory) { + bizCategory.setStatus(BizCategory.STATUS_NORMAL); + bizCategoryService.updateStatus(bizCategory); + return renderResult(Global.TRUE, text("启用业务分类成功")); + } + + /** + * 删除业务分类 + */ + @RequiresPermissions("sys:bizCategory:edit") + @RequestMapping(value = "delete") + @ResponseBody + public String delete(BizCategory bizCategory) { + bizCategoryService.delete(bizCategory); + return renderResult(Global.TRUE, text("删除业务分类成功")); + } + + /** + * 获取树结构数据 + * @param excludeCode 排除的Code + * @param parentCode 设置父级编码返回一级 + * @param isShowCode 是否显示编码(true or 1:显示在左侧;2:显示在右侧;false or null:不显示) + * @return + */ + @RequiresPermissions("sys:bizCategory:view") + @RequestMapping(value = "treeData") + @ResponseBody + public List> treeData(String excludeCode, String parentCode, String isShowCode) { + List> mapList = ListUtils.newArrayList(); + BizCategory where = new BizCategory(); + where.setStatus(BizCategory.STATUS_NORMAL); + if (StringUtils.isNotBlank(parentCode)){ + where.setParentCode(parentCode); + } + List list = bizCategoryService.findList(where); + for (int i=0; i map = MapUtils.newHashMap(); + map.put("id", e.getId()); + map.put("pId", e.getParentCode()); + map.put("name", StringUtils.getTreeNodeName(isShowCode, e.getCategoryCode(), e.getCategoryName())); + map.put("value", e.getId()); + map.put("isParent", !e.getIsTreeLeaf()); + mapList.add(map); + } + return mapList; + } + + /** + * 修复表结构相关数据 + */ + @RequiresPermissions("sys:bizCategory:edit") + @RequestMapping(value = "fixTreeData") + @ResponseBody + public String fixTreeData(BizCategory bizCategory){ + if (!UserUtils.getUser().isAdmin()){ + return renderResult(Global.FALSE, "操作失败,只有管理员才能进行修复!"); + } + bizCategoryService.fixTreeData(); + return renderResult(Global.TRUE, "数据修复成功"); + } + +} \ No newline at end of file diff --git a/modules/core/src/main/resources/db/create/db2/core.sql b/modules/core/src/main/resources/db/create/db2/core.sql index ef8412f7..b8e0bf54 100644 --- a/modules/core/src/main/resources/db/create/db2/core.sql +++ b/modules/core/src/main/resources/db/create/db2/core.sql @@ -79,6 +79,31 @@ CREATE TABLE ${_prefix}sys_area ); +-- 业务分类 +CREATE TABLE ${_prefix}sys_biz_category +( + category_code varchar(64) NOT NULL, + view_code varchar(500), + category_name varchar(64) NOT NULL, + parent_code varchar(64) NOT NULL, + parent_codes varchar(767) NOT NULL, + tree_sort decimal(10) NOT NULL, + tree_sorts varchar(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level decimal(4) NOT NULL, + tree_names varchar(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar(64) NOT NULL, + create_date timestamp NOT NULL, + update_by varchar(64) NOT NULL, + update_date timestamp NOT NULL, + remarks vargraphic(500), + corp_code varchar(64) DEFAULT '0' NOT NULL, + corp_name vargraphic(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +); + + -- 公司表 CREATE TABLE ${_prefix}sys_company ( diff --git a/modules/core/src/main/resources/db/create/h2/core.sql b/modules/core/src/main/resources/db/create/h2/core.sql index 6748858a..4e650ae8 100644 --- a/modules/core/src/main/resources/db/create/h2/core.sql +++ b/modules/core/src/main/resources/db/create/h2/core.sql @@ -79,6 +79,31 @@ CREATE TABLE ${_prefix}sys_area ); +-- 业务分类 +CREATE TABLE ${_prefix}sys_biz_category +( + category_code varchar(64) NOT NULL, + view_code varchar(500), + category_name varchar(64) NOT NULL, + parent_code varchar(64) NOT NULL, + parent_codes varchar(767) NOT NULL, + tree_sort decimal(10) NOT NULL, + tree_sorts varchar(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level decimal(4) NOT NULL, + tree_names varchar(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar(64) NOT NULL, + create_date datetime NOT NULL, + update_by varchar(64) NOT NULL, + update_date datetime NOT NULL, + remarks varchar(500), + corp_code varchar(64) DEFAULT '0' NOT NULL, + corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +); + + -- 公司表 CREATE TABLE ${_prefix}sys_company ( diff --git a/modules/core/src/main/resources/db/create/mssql/core.sql b/modules/core/src/main/resources/db/create/mssql/core.sql index 802fb01e..cc9ba01c 100644 --- a/modules/core/src/main/resources/db/create/mssql/core.sql +++ b/modules/core/src/main/resources/db/create/mssql/core.sql @@ -79,6 +79,31 @@ CREATE TABLE [${_prefix}sys_area] ); +-- 业务分类 +CREATE TABLE [${_prefix}sys_biz_category] +( + [category_code] varchar(64) NOT NULL, + [view_code] varchar(500), + [category_name] varchar(64) NOT NULL, + [parent_code] varchar(64) NOT NULL, + [parent_codes] varchar(767) NOT NULL, + [tree_sort] decimal(10) NOT NULL, + [tree_sorts] varchar(767) NOT NULL, + [tree_leaf] char(1) NOT NULL, + [tree_level] decimal(4) NOT NULL, + [tree_names] varchar(767) NOT NULL, + [status] char(1) DEFAULT '0' NOT NULL, + [create_by] varchar(64) NOT NULL, + [create_date] datetime NOT NULL, + [update_by] varchar(64) NOT NULL, + [update_date] datetime NOT NULL, + [remarks] nvarchar(500), + [corp_code] varchar(64) DEFAULT '0' NOT NULL, + [corp_name] nvarchar(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY ([category_code]) +); + + -- 公司表 CREATE TABLE [${_prefix}sys_company] ( diff --git a/modules/core/src/main/resources/db/create/mysql/core.sql b/modules/core/src/main/resources/db/create/mysql/core.sql index a259df67..384fb2a2 100644 --- a/modules/core/src/main/resources/db/create/mysql/core.sql +++ b/modules/core/src/main/resources/db/create/mysql/core.sql @@ -80,6 +80,31 @@ CREATE TABLE ${_prefix}sys_area ) COMMENT = '行政区划'; +-- 业务分类 +CREATE TABLE ${_prefix}sys_biz_category +( + category_code varchar(64) NOT NULL COMMENT '流程分类', + view_code varchar(500) COMMENT '分类代码', + category_name varchar(64) NOT NULL COMMENT '分类名称', + parent_code varchar(64) NOT NULL COMMENT '父级编号', + parent_codes varchar(767) NOT NULL COMMENT '所有父级编号', + tree_sort decimal(10) NOT NULL COMMENT '排序号(升序)', + tree_sorts varchar(767) NOT NULL COMMENT '所有排序号', + tree_leaf char(1) NOT NULL COMMENT '是否最末级', + tree_level decimal(4) NOT NULL COMMENT '层次级别', + tree_names varchar(767) NOT NULL COMMENT '全节点名', + status char(1) DEFAULT '0' NOT NULL COMMENT '状态(0正常 1删除 2停用)', + create_by varchar(64) NOT NULL COMMENT '创建者', + create_date datetime NOT NULL COMMENT '创建时间', + update_by varchar(64) NOT NULL COMMENT '更新者', + update_date datetime NOT NULL COMMENT '更新时间', + remarks varchar(500) COMMENT '备注信息', + corp_code varchar(64) DEFAULT '0' NOT NULL COMMENT '租户代码', + corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL COMMENT '租户名称', + PRIMARY KEY (category_code) +) COMMENT = '业务分类'; + + -- 公司表 CREATE TABLE ${_prefix}sys_company ( diff --git a/modules/core/src/main/resources/db/create/oracle/core.sql b/modules/core/src/main/resources/db/create/oracle/core.sql index a91c6138..a8667496 100644 --- a/modules/core/src/main/resources/db/create/oracle/core.sql +++ b/modules/core/src/main/resources/db/create/oracle/core.sql @@ -79,6 +79,31 @@ CREATE TABLE ${_prefix}sys_area ); +-- 业务分类 +CREATE TABLE ${_prefix}sys_biz_category +( + category_code varchar2(64) NOT NULL, + view_code varchar2(500), + category_name varchar2(64) NOT NULL, + parent_code varchar2(64) NOT NULL, + parent_codes varchar2(767) NOT NULL, + tree_sort number(10) NOT NULL, + tree_sorts varchar2(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level number(4) NOT NULL, + tree_names varchar2(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar2(64) NOT NULL, + create_date timestamp NOT NULL, + update_by varchar2(64) NOT NULL, + update_date timestamp NOT NULL, + remarks nvarchar2(500), + corp_code varchar2(64) DEFAULT '0' NOT NULL, + corp_name nvarchar2(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +); + + -- 公司表 CREATE TABLE ${_prefix}sys_company ( @@ -1033,6 +1058,25 @@ COMMENT ON COLUMN ${_prefix}sys_area.create_date IS '创建时间'; COMMENT ON COLUMN ${_prefix}sys_area.update_by IS '更新者'; COMMENT ON COLUMN ${_prefix}sys_area.update_date IS '更新时间'; COMMENT ON COLUMN ${_prefix}sys_area.remarks IS '备注信息'; +COMMENT ON TABLE ${_prefix}sys_biz_category IS '业务分类'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.create_by IS '创建者'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.update_by IS '更新者'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.corp_name IS '租户名称'; COMMENT ON TABLE ${_prefix}sys_company IS '公司表'; COMMENT ON COLUMN ${_prefix}sys_company.company_code IS '公司编码'; COMMENT ON COLUMN ${_prefix}sys_company.view_code IS '公司代码'; diff --git a/modules/core/src/main/resources/db/create/postgresql/core.sql b/modules/core/src/main/resources/db/create/postgresql/core.sql index ef8a4eaf..e34596d0 100644 --- a/modules/core/src/main/resources/db/create/postgresql/core.sql +++ b/modules/core/src/main/resources/db/create/postgresql/core.sql @@ -79,6 +79,31 @@ CREATE TABLE ${_prefix}sys_area ) WITHOUT OIDS; +-- 业务分类 +CREATE TABLE ${_prefix}sys_biz_category +( + category_code varchar(64) NOT NULL, + view_code varchar(500), + category_name varchar(64) NOT NULL, + parent_code varchar(64) NOT NULL, + parent_codes varchar(767) NOT NULL, + tree_sort decimal(10) NOT NULL, + tree_sorts varchar(767) NOT NULL, + tree_leaf char(1) NOT NULL, + tree_level decimal(4) NOT NULL, + tree_names varchar(767) NOT NULL, + status char(1) DEFAULT '0' NOT NULL, + create_by varchar(64) NOT NULL, + create_date timestamp NOT NULL, + update_by varchar(64) NOT NULL, + update_date timestamp NOT NULL, + remarks varchar(500), + corp_code varchar(64) DEFAULT '0' NOT NULL, + corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL, + PRIMARY KEY (category_code) +) WITHOUT OIDS; + + -- 公司表 CREATE TABLE ${_prefix}sys_company ( @@ -1033,6 +1058,25 @@ COMMENT ON COLUMN ${_prefix}sys_area.create_date IS '创建时间'; COMMENT ON COLUMN ${_prefix}sys_area.update_by IS '更新者'; COMMENT ON COLUMN ${_prefix}sys_area.update_date IS '更新时间'; COMMENT ON COLUMN ${_prefix}sys_area.remarks IS '备注信息'; +COMMENT ON TABLE ${_prefix}sys_biz_category IS '业务分类'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.create_by IS '创建者'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.update_by IS '更新者'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN ${_prefix}sys_biz_category.corp_name IS '租户名称'; COMMENT ON TABLE ${_prefix}sys_company IS '公司表'; COMMENT ON COLUMN ${_prefix}sys_company.company_code IS '公司编码'; COMMENT ON COLUMN ${_prefix}sys_company.view_code IS '公司代码'; diff --git a/modules/core/src/main/resources/mappings/modules/sys/BizCategoryDao.xml b/modules/core/src/main/resources/mappings/modules/sys/BizCategoryDao.xml new file mode 100644 index 00000000..aefb313b --- /dev/null +++ b/modules/core/src/main/resources/mappings/modules/sys/BizCategoryDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/modules/core/src/main/resources/views/modules/sys/bizCategoryForm.html b/modules/core/src/main/resources/views/modules/sys/bizCategoryForm.html new file mode 100644 index 00000000..75c4fa22 --- /dev/null +++ b/modules/core/src/main/resources/views/modules/sys/bizCategoryForm.html @@ -0,0 +1,109 @@ +<% layout('/layouts/default.html', {title: '分类管理', libs: ['validate']}){ %> +
+
+
+
+ ${text(bizCategory.isNewRecord ? '新增分类' : '编辑分类')} +
+
+ +
+
+ <#form:form id="inputForm" model="${bizCategory}" action="${ctx}/sys/bizCategory/save" method="post" class="form-horizontal"> +
+
+
+
+ +
+ <#form:treeselect id="parent" title="${text('上级分类')}" + path="parent.id" labelPath="parent.categoryName" + url="${ctx}/sys/bizCategory/treeData?excludeCode=${bizCategory.id}" + class="" allowClear="true" canSelectRoot="true" canSelectParent="true"/> +
+
+
+
+
+ +
+ <#form:hidden path="isNewRecord"/> + <#form:hidden path="categoryCode"/> + <#form:input path="viewCode" maxlength="64" readonly="${!bizCategory.isNewRecord}" class="form-control required abc"/> +
+
+
+
+
+
+
+ +
+ <#form:input path="categoryName" maxlength="64" class="form-control required"/> +
+
+
+
+
+ +
+ <#form:input path="treeSort" class="form-control required digits"/> +
+
+
+
+
+
+
+ +
+ <#form:textarea path="remarks" rows="4" maxlength="500" class="form-control"/> +
+
+
+
+
+ + +
+
+<% } %> + \ No newline at end of file diff --git a/modules/core/src/main/resources/views/modules/sys/bizCategoryIndex.html b/modules/core/src/main/resources/views/modules/sys/bizCategoryIndex.html new file mode 100644 index 00000000..6f83dc8e --- /dev/null +++ b/modules/core/src/main/resources/views/modules/sys/bizCategoryIndex.html @@ -0,0 +1,76 @@ +<% layout('/layouts/default.html', {title: '分类管理', libs: ['layout','zTree']}){ %> +
+
+
+
+
+ ${text('分类管理')} +
+
+ + + +
+
+
+
+
+
+
+
+
+ +
+<% } %> + diff --git a/modules/core/src/main/resources/views/modules/sys/bizCategoryList.html b/modules/core/src/main/resources/views/modules/sys/bizCategoryList.html new file mode 100644 index 00000000..f3da8ec8 --- /dev/null +++ b/modules/core/src/main/resources/views/modules/sys/bizCategoryList.html @@ -0,0 +1,94 @@ +<% layout('/layouts/default.html', {title: '分类管理', libs: ['dataGrid']}){ %> +
+
+
+
+ ${text('分类管理')} +
+
+ ${text('查询')} + ${text('刷新')} + ${text('展开')} + ${text('折叠')} + <% if(hasPermi('sys:bizCategory:edit')){ %> + ${text('新增')} + <% } %> + +
+
+
+ <#form:form id="searchForm" model="${bizCategory}" action="${ctx}/sys/bizCategory/listData" method="post" class="form-inline hide" + data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}"> + <#form:hidden path="categoryCode"/> +
+ +
+ <#form:input path="viewCode" maxlength="64" class="form-control width-120"/> +
+
+
+ +
+ <#form:input path="categoryName" maxlength="64" class="form-control width-120"/> +
+
+
+ +
+ <#form:select path="status" dictType="sys_search_status" blankOption="true" class="form-control isQuick"/> +
+
+
+ +
+ <#form:input path="remarks" maxlength="500" class="form-control width-120"/> +
+
+
+ + +
+ +
+
+
+
+<% } %> + \ No newline at end of file