From 5a3a04c987f1b2cd18e9930ce594b8dbdabc6bba Mon Sep 17 00:00:00 2001 From: thinkgem Date: Tue, 11 Feb 2025 14:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E6=8C=89=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E8=BF=9B=E8=A1=8C=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8E=88=E6=9D=83=EF=BC=8C=E5=90=8E=E7=AB=AF=E9=80=9A=E8=BF=87?= =?UTF-8?q?addFilterByPermission=E6=96=B9=E6=B3=95=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=9D=83=E9=99=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/core/db/core.erm | 3224 ++++++++++------- modules/core/db/db2/core.sql | 70 +- modules/core/db/h2/core.sql | 120 +- modules/core/db/mssql/core.sql | 70 +- modules/core/db/mysql/core.sql | 72 +- modules/core/db/oracle/core.sql | 120 +- modules/core/db/postgresql/core.sql | 120 +- .../support/EmpUserServiceSupport.java | 4 + .../service/support/OfficeServiceSupport.java | 2 + .../modules/sys/web/RoleController.java | 56 +- .../src/main/resources/db/create/db2/core.sql | 70 +- .../src/main/resources/db/create/h2/core.sql | 120 +- .../main/resources/db/create/mssql/core.sql | 70 +- .../main/resources/db/create/mysql/core.sql | 72 +- .../main/resources/db/create/oracle/core.sql | 120 +- .../resources/db/create/postgresql/core.sql | 120 +- 16 files changed, 2601 insertions(+), 1829 deletions(-) diff --git a/modules/core/db/core.erm b/modules/core/db/core.erm index 71b14cb9..16840f6c 100644 --- a/modules/core/db/core.erm +++ b/modules/core/db/core.erm @@ -10,9 +10,9 @@ 30 0 - 1.0 - 2986 - 2631 + 0.75 + 1235 + 898 255 255 @@ -28,8 +28,8 @@ StandardSQL false - - + funny + IE 0 true 2 @@ -840,7 +840,7 @@ varchar(n) - d9a8f9c48b40e5232a202ad177fcb3f532ac14a8 + f668bb1f609dad083d00c537166abeed8c61d695 1 null false @@ -851,7 +851,7 @@ false - 数据范围设置(0未设置 1全部数据 2自定义数据) + 数据范围(0未设置 1全部数据 2自定义数据) data_scope character(n) @@ -3623,6 +3623,22 @@ role_type varchar(n) + + 23d079ce8d0ceba85cdce639e2fef285b6be9a90 + null + null + false + null + false + false + false + + false + + 规则配置(JSON) + rule_config + clob + 20180e4ccd365ef4334342069366382274ee15d8 255 @@ -3639,6 +3655,38 @@ rule_expression varchar(n) + + c069a7861cadba77fca777e6edca00d418823801 + 100 + null + false + null + false + false + false + + false + + 规则名称 + rule_name + varchar(n) + + + 9bb2a1a22837fd110e06fa6d171c1cfa525e51cc + 1 + null + false + null + false + false + false + + false + + 规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL) + rule_type + character(n) + 918596309ac6130bf71eace6aaeaaf90651c4d19 null @@ -4380,13 +4428,13 @@ - 12c6b0649a7cf56143e9df89dbcd7cff973a8ffa + 61f39875efc3049c269d736396dc8d46b0e3aeec103382Arial14 - 1224 - 1293 + 1188 + 1258 128 128 @@ -4394,9 +4442,9 @@ - 619a489bd86b211175fb1f56652cb00a8dfb3cf4 - fdb17186a3c1af6d678adaa5a4dd49d035b802e4 - 12c6b0649a7cf56143e9df89dbcd7cff973a8ffa + cf7f005a48af79dfe34fba5840dcbf3ad6beccc6 + 05268389adae248107d1d60ef12093936bf69222 + 61f39875efc3049c269d736396dc8d46b0e3aeec -1 -1 -1 @@ -4416,9 +4464,9 @@ null - f2327820f867e35cc05e21064a40524be79d95e1 - 57b0e9debf367df2103972e26082845bd9b54c5b - 12c6b0649a7cf56143e9df89dbcd7cff973a8ffa + 448e92892cc4a0824a7eef5805002cf0d3dbf423 + 4fbc3974871d7c93c98d6017ef58f155accd7053 + 61f39875efc3049c269d736396dc8d46b0e3aeec -1 -1 -1 @@ -4448,7 +4496,7 @@ 537ed3a5e139d1fed26b9011d93c339510cda1f7 e59481cc0025d4da3d55201ee470c33b2c12a575 - f2327820f867e35cc05e21064a40524be79d95e1 + 448e92892cc4a0824a7eef5805002cf0d3dbf423 @@ -4482,7 +4530,7 @@ ffde396c7b349d700fe1b7891694ac538d00bf6d 22d38cfee95536d3e3af5fdd444b027a85d95432 - 619a489bd86b211175fb1f56652cb00a8dfb3cf4 + cf7f005a48af79dfe34fba5840dcbf3ad6beccc6 @@ -4523,13 +4571,13 @@
- 13f705f100e3019e08524bdd78e12a0a5d17b657 - 37 + d0d0c9dbe88982b4608a22ee2de95c826cee17c1 + 152420Arial14 - 2184 - 1680 + 2152 + 1908 128 128 @@ -4537,9 +4585,9 @@ - f37a772d174cfdc9be8d8084c7ed647f8dc6603b - 57b0e9debf367df2103972e26082845bd9b54c5b - 13f705f100e3019e08524bdd78e12a0a5d17b657 + 30d92ea30ea8531395d793d31540f6d075ce1df7 + 4fbc3974871d7c93c98d6017ef58f155accd7053 + d0d0c9dbe88982b4608a22ee2de95c826cee17c1 -1 -1 -1 @@ -4569,7 +4617,7 @@ 0d5ebb11e5172fb4a9e1b4b2e62140432e0cd3ff e59481cc0025d4da3d55201ee470c33b2c12a575 - f37a772d174cfdc9be8d8084c7ed647f8dc6603b + 30d92ea30ea8531395d793d31540f6d075ce1df7 控制用户编码 @@ -5286,13 +5334,13 @@
- e32b7ad535105aebd4a83d0d0e66049ef18c3fa4 - 49 + cdf9f7f3789b1e4bc6b491eac6ee4e1877b235f0 + 100382Arial14 - 2088 - 1500 + 1716 + 1272 128 128 @@ -5300,9 +5348,9 @@ - 48a017e8563fd2ef5cc2b0b0687cd629ab030d3d - ac5763d06b59d18cb03b763b1ddbbb94f0d5ce4f - e32b7ad535105aebd4a83d0d0e66049ef18c3fa4 + 5dce1fedc075f2028514e14c0ffe51d98703bbd1 + b9799669be3b629345c5a97e5da81ba4e9c2b528 + cdf9f7f3789b1e4bc6b491eac6ee4e1877b235f0 -1 -1 -1 @@ -5322,9 +5370,9 @@ null - 628742b8e343114e4cbcc7138e66b28d55610a62 - fdb17186a3c1af6d678adaa5a4dd49d035b802e4 - e32b7ad535105aebd4a83d0d0e66049ef18c3fa4 + 680bbd7851e2e1a257ea22f81a5926c27b6b593d + 05268389adae248107d1d60ef12093936bf69222 + cdf9f7f3789b1e4bc6b491eac6ee4e1877b235f0 -1 -1 -1 @@ -5354,7 +5402,7 @@ 136c2841a88ba120cd1f0bb13f7ba446474de69e 22d38cfee95536d3e3af5fdd444b027a85d95432 - 628742b8e343114e4cbcc7138e66b28d55610a62 + 680bbd7851e2e1a257ea22f81a5926c27b6b593d @@ -5388,7 +5436,7 @@ 1882f53a36409270c8622486740876fcb2af9842 e84c40cdf5ffdb2ba4d59630d98abb5972d74795 - 48a017e8563fd2ef5cc2b0b0687cd629ab030d3d + 5dce1fedc075f2028514e14c0ffe51d98703bbd1 @@ -5572,12 +5620,12 @@
- a06c8897495d7d4102d381c7abf942d7efcd01f5 - 289 + 84e7d85dd47a3195e39a49e793438413c38641c8 + 360454Arial14 - 2831 + 29041488 128 @@ -6178,13 +6226,13 @@
- d386c4a227e2f2527f323b59eb41e1283a3b0d21 - 546 + f54ebda24803fb621b07e3e54e67e5fa607954cc + 594538Arial14 - 2172 - 1987 + 2152 + 2136 128 128 @@ -6751,13 +6799,13 @@
- c226dd9562d046788344536193898015a020c366 - 444 + 7a2a0e5b226d1e12714e98cafc1e6ac9cba999f5 + 542410Arial14 - 2868 - 2004 + 2880 + 2220 128 128 @@ -6765,9 +6813,9 @@ - 925020f0f94cde5851160c0e8cf277bd3a4f3ef0 - d386c4a227e2f2527f323b59eb41e1283a3b0d21 - c226dd9562d046788344536193898015a020c366 + 8e247e7d0ffa74b39c56ae8bc5089b8ea9bfdec4 + f54ebda24803fb621b07e3e54e67e5fa607954cc + 7a2a0e5b226d1e12714e98cafc1e6ac9cba999f5 -1 -1 -1 @@ -6830,7 +6878,7 @@ abd5fc5f0bb213daae3de2abc362c5aea5276f4d a3c67705fc3d118ba46b7f57c9b24fbf0505d7b9 - 925020f0f94cde5851160c0e8cf277bd3a4f3ef0 + 8e247e7d0ffa74b39c56ae8bc5089b8ea9bfdec4 @@ -9381,192 +9429,6 @@
- - 0037ad6d2611223c212a0738d1d63fe11baed299 - 157 - 404 - Arial - 14 - 1668 - 1284 - - 128 - 128 - 192 - - - - 47dee03e2e1c4f48268466a5bf08a3aca42229da - fdb17186a3c1af6d678adaa5a4dd49d035b802e4 - 0037ad6d2611223c212a0738d1d63fe11baed299 - -1 - -1 - -1 - -1 - - 0 - 0 - 0 - - 1..n - 1 - true - - RESTRICT - RESTRICT - null - null - - - js_sys_role_data_scope - 角色数据权限表 - - - - - - - 7e2f59707205419c8556876dc854aeff0fbf7b57 - 22d38cfee95536d3e3af5fdd444b027a85d95432 - 47dee03e2e1c4f48268466a5bf08a3aca42229da - - - 控制角色编码 - - varchar(n) - - - false - true - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - ca9144d6ca6e779a097669f4f893ddaf202cf6d1 - 0584b59447729b3b369483353308793591c2c407 - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - e9ddf2b0ec0f90cd9a879d33a53fd6aaac002461 - 0f7661178a7a9832b2b97169c49191338e769f6e - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - ba8ca638f8fd59415eeb0dc5a471aa0f7be89882 - db19c839b454a19a52e46cd7cbd9b0ba9dd8949c - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - - - - - - - -
268233be5b69b69743bbd4ae1c7a8e750d94f9ef49 @@ -12080,8 +11942,8 @@ null - 2b8ff90d88b11158ae2cce15ba36736deaad4e38 - fdb17186a3c1af6d678adaa5a4dd49d035b802e4 + 397f1d3e059c6d07d3e409e26501ba314af36fe2 + 05268389adae248107d1d60ef12093936bf69222 04a88f0fbfb2c4cc2c25284a5cb1f0fd700b5fd3 -1 -1 @@ -12146,7 +12008,7 @@ 2514d7a64ce6b0f5bafa582a5330a36f073efdcc 22d38cfee95536d3e3af5fdd444b027a85d95432 - 2b8ff90d88b11158ae2cce15ba36736deaad4e38 + 397f1d3e059c6d07d3e409e26501ba314af36fe2 @@ -13964,1147 +13826,6 @@
- - ac5763d06b59d18cb03b763b1ddbbb94f0d5ce4f - 1200 - 741 - Arial - 14 - 2220 - 24 - - 128 - 128 - 192 - - - - js_sys_menu - 菜单表 - - - - - - - b3b95a1bf4db86afc66e8806c7ab71d47c4944d1 - e84c40cdf5ffdb2ba4d59630d98abb5972d74795 - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - 7e5202a2057c0463533a20177674eb9a73d07ae6 - 4a02b55091ae2d39146d66ec12708a3121efc3bc - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - a535b6c506004a7fdf4d48984c9ff2cfa59c157a - - 4c7f8b9af031644e8458be313226bed2ca49bbe2 - c1a08754015d02b0489f0432d1a4f13db0384b71 - - - - - character(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - b636e93e54e50049f9fc7035818e941ca73d1fe2 - 854fc4de71470d2d019c5c2a0dd235e163bef43e - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 0e80dfb21ff4a7276c83d4364c4ed30480aa2b52 - 95e937df6fffbcf8bedce5154965f2c8e7e1acd5 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 38a1f2cd3a21e30cadfb3d10f5eea3b3a3d4a4f3 - 8f4fdd0a58a54d8205bf97966cc40375dc70c686 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 204ea7ea536dce85f30a36faff77d6dde5fda825 - 4dfc3dbfd65c3c232d1e9321d6b7935389dbf566 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - f6150951854262ef248600f1cfe6f855064641dc - 1aaf5f494723fa4747a006d991ac2e7f9cf2505f - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 6f108d1a6bb3278587d107f0670acb90bbbed79c - 6423930cf5b3415930abb45c9c48fb991e2cf842 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 767765a66b1915c11b481314f8a7897256c7ab0e - 2f21e992c73004d22b4752787472c75e4ed6944e - - - - - decimal(p) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - a3c8a9e098fa2508c25cd339fe16a2a1b9f57742 - 30091097be5bc88ee6a9e4f8b5ec175078df2576 - - - - - character(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 85896b534ed532d14791ccb6a49cd7e3850a2e94 - 5ed51fee1299bd1ebc9f45127534fc806d0ab8e1 - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 575257735aa810c89d9c5c29bbf995cf99078959 - 18d4616b20d068ccad4ecb854b2073ca2458b8df - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 5b797d71c92541ad96dc84e01e87d3270d475406 - 0fac368ac96f8737ffcc9226a4a22b09bb8c23a6 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - d2e90de12f3097fd86ca83d968dc29501267061b - 93b08df354a11a85ce1a0c1c477f157895c66770 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - 35ae805d1da92afdb99b2fe8c536d1649356fccd - 118dab95fc1f792cd468b9f66af2d4fabd98c39b - - - - false - true - idx_sys_menu_pc - - - - - 394369b90c0a5b6efeed3cf823c642605d7a1653 - false - - - - - false - true - idx_sys_menu_ts - - - - - 23f973124aedd0244533f4e7b3b103c548b966be - false - - - - - false - true - idx_sys_menu_status - - - - - f0036584bd8711715579d21994a0105935605a7e - false - - - - - false - true - idx_sys_menu_mt - - - - - c1a08754015d02b0489f0432d1a4f13db0384b71 - false - - - - - false - true - idx_sys_menu_pss - - - - - e8d877396943acfec73023dba2c1c6e3d7802d62 - false - - - - - false - true - idx_sys_menu_tss - - - - - 984d5eac2b3221118a61655e4a5a49c78e0f0151 - false - - - - - false - true - idx_sys_menu_sc - - - - - 5ed51fee1299bd1ebc9f45127534fc806d0ab8e1 - false - - - - - false - true - idx_sys_menu_is - - - - - 30091097be5bc88ee6a9e4f8b5ec175078df2576 - false - - - - - false - true - idx_sys_menu_mcs - - - - - 18d4616b20d068ccad4ecb854b2073ca2458b8df - false - - - - - false - true - idx_sys_menu_wt - - - - - 2f21e992c73004d22b4752787472c75e4ed6944e - false - - - - - - - - - -
- - fdb17186a3c1af6d678adaa5a4dd49d035b802e4 - 1044 - 695 - Arial - 14 - 1322 - 36 - - 128 - 128 - 192 - - - - js_sys_role - 角色表 - - - - - - - 5a592f44a89c8fb8740539d17aaa407fff093b94 - 22d38cfee95536d3e3af5fdd444b027a85d95432 - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - 0b659668c19cc9f53a59ef32dd99450a04793fc0 - ecf6453361ea95112d99a48d499d245033596daf - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - df71beeb33a6832cae475f4800a7c4d1b32120e4 - d843c1da291df80d978f3b8cb9fc87615fa58c54 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - a14cb7c6be5cb6e912fc2fe3b72c6404363fe49f - 6bd0ef3540d4ec60b76dcbf8202a929fabb20f1b - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 635b3bf49310980e1be7246ee5cb6725eb4ad099 - 1033b538c81cfc078c51eca175cf765d88459b30 - - - - - decimal(p) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 0d85cf7966815e2ef8ded8fa8f734408b028008e - 39019eef1ff9876f6e75eb44e94aa9e4d8e79523 - - - - - character(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 49f5dcf5f50c13595feaa58449115ae9ece2fc83 - d0d9f3a7c38458268d03e5fcd310e99b451de4cf - - - - - character(n) - - 1 - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 42e3707926225941bcef433d4dc7fc36e0ca944a - 86b833a3be962a3cd6e79502f72d48b455bf247d - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 315da84ddfb0b09ab6b945703489d5812074845f - 36933452d2faab2e35268ce2aec7f8e4d64266c9 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - d9a8f9c48b40e5232a202ad177fcb3f532ac14a8 - 00a708c89cdb80f2a937084230260e35dc689c4b - - - - - character(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - a3856092820dfb89513640e6c07bde0f8f8a20b7 - ca48faffcf40d18afd892ce5378f1b17aa5eb785 - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 3e0eb58a62d09e8e6cdf1199fd0c849fdf050bb0 - 2d50b9352f94db590c73254bdb3671ad5cb481a2 - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - 35ae805d1da92afdb99b2fe8c536d1649356fccd - ea920cba2fe0eaee64a2310ece7cda4b198b37ec - 118dab95fc1f792cd468b9f66af2d4fabd98c39b - - - - false - true - idx_sys_role_cc - - - - - b8ea4b73d6d32a222e5abfd453287575ae518480 - false - - - - - false - true - idx_sys_role_is - - - - - 39019eef1ff9876f6e75eb44e94aa9e4d8e79523 - false - - - - - false - true - idx_sys_role_status - - - - - f0036584bd8711715579d21994a0105935605a7e - false - - - - - false - true - idx_sys_role_rs - - - - - 1033b538c81cfc078c51eca175cf765d88459b30 - false - - - - - - - - - -
0dbf521af81eb106c8f552dc57b3b271545923e41244 @@ -16281,13 +15002,13 @@
- 57b0e9debf367df2103972e26082845bd9b54c5b + 4fbc3974871d7c93c98d6017ef58f155accd70531608608Arial141308 - 1563 + 1728 128 128 @@ -16295,9 +15016,9 @@ - feaee950707704e8b7a4060050b7fc810a86dea1 + ba1958b52ca21fa2bc2faab136cc8704a63ef06e f2595d1ce409d3c829049c282f6b8af0ef9653d0 - 57b0e9debf367df2103972e26082845bd9b54c5b + 4fbc3974871d7c93c98d6017ef58f155accd7053 -1 -1 -1 @@ -16756,7 +15477,7 @@ f22a1cfec76101d87da3a951bb05d7700418c1c1 ab8b402ea35a78cdadd5ed446d571c9a80b532ee - feaee950707704e8b7a4060050b7fc810a86dea1 + ba1958b52ca21fa2bc2faab136cc8704a63ef06e 用户类型引用编号,例如如:当user_type为1员工的时候,ref_code关联的为emp_code 用户类型引用编号 @@ -18008,6 +16729,1733 @@
+ + 05268389adae248107d1d60ef12093936bf69222 + 1114 + 647 + Arial + 14 + 1322 + 36 + + 128 + 128 + 192 + + + + js_sys_role + 角色表 + + + + + + + 5a592f44a89c8fb8740539d17aaa407fff093b94 + 22d38cfee95536d3e3af5fdd444b027a85d95432 + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + 0b659668c19cc9f53a59ef32dd99450a04793fc0 + ecf6453361ea95112d99a48d499d245033596daf + + + + + varchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + df71beeb33a6832cae475f4800a7c4d1b32120e4 + d843c1da291df80d978f3b8cb9fc87615fa58c54 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + a14cb7c6be5cb6e912fc2fe3b72c6404363fe49f + 6bd0ef3540d4ec60b76dcbf8202a929fabb20f1b + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 635b3bf49310980e1be7246ee5cb6725eb4ad099 + 1033b538c81cfc078c51eca175cf765d88459b30 + + + + + decimal(p) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 0d85cf7966815e2ef8ded8fa8f734408b028008e + 39019eef1ff9876f6e75eb44e94aa9e4d8e79523 + + + + + character(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 49f5dcf5f50c13595feaa58449115ae9ece2fc83 + d0d9f3a7c38458268d03e5fcd310e99b451de4cf + + + + + character(n) + + 1 + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 42e3707926225941bcef433d4dc7fc36e0ca944a + 86b833a3be962a3cd6e79502f72d48b455bf247d + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 315da84ddfb0b09ab6b945703489d5812074845f + 36933452d2faab2e35268ce2aec7f8e4d64266c9 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + f668bb1f609dad083d00c537166abeed8c61d695 + 00a708c89cdb80f2a937084230260e35dc689c4b + + + + + character(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + a3856092820dfb89513640e6c07bde0f8f8a20b7 + ca48faffcf40d18afd892ce5378f1b17aa5eb785 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 3e0eb58a62d09e8e6cdf1199fd0c849fdf050bb0 + 2d50b9352f94db590c73254bdb3671ad5cb481a2 + + + + + nvarchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + 35ae805d1da92afdb99b2fe8c536d1649356fccd + ea920cba2fe0eaee64a2310ece7cda4b198b37ec + 118dab95fc1f792cd468b9f66af2d4fabd98c39b + + + + false + true + idx_sys_role_cc + + + + + b8ea4b73d6d32a222e5abfd453287575ae518480 + false + + + + + false + true + idx_sys_role_is + + + + + 39019eef1ff9876f6e75eb44e94aa9e4d8e79523 + false + + + + + false + true + idx_sys_role_status + + + + + f0036584bd8711715579d21994a0105935605a7e + false + + + + + false + true + idx_sys_role_rs + + + + + 1033b538c81cfc078c51eca175cf765d88459b30 + false + + + + + + + + + +
+ + b9799669be3b629345c5a97e5da81ba4e9c2b528 + 1348 + 637 + Arial + 14 + 2220 + 24 + + 128 + 128 + 192 + + + + js_sys_menu + 菜单表 + + + + + + + b3b95a1bf4db86afc66e8806c7ab71d47c4944d1 + e84c40cdf5ffdb2ba4d59630d98abb5972d74795 + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + 7e5202a2057c0463533a20177674eb9a73d07ae6 + 4a02b55091ae2d39146d66ec12708a3121efc3bc + + + + + varchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + a535b6c506004a7fdf4d48984c9ff2cfa59c157a + + 4c7f8b9af031644e8458be313226bed2ca49bbe2 + c1a08754015d02b0489f0432d1a4f13db0384b71 + + + + + character(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + b636e93e54e50049f9fc7035818e941ca73d1fe2 + 854fc4de71470d2d019c5c2a0dd235e163bef43e + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 0e80dfb21ff4a7276c83d4364c4ed30480aa2b52 + 95e937df6fffbcf8bedce5154965f2c8e7e1acd5 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 38a1f2cd3a21e30cadfb3d10f5eea3b3a3d4a4f3 + 8f4fdd0a58a54d8205bf97966cc40375dc70c686 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 204ea7ea536dce85f30a36faff77d6dde5fda825 + 4dfc3dbfd65c3c232d1e9321d6b7935389dbf566 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + f6150951854262ef248600f1cfe6f855064641dc + 1aaf5f494723fa4747a006d991ac2e7f9cf2505f + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 6f108d1a6bb3278587d107f0670acb90bbbed79c + 6423930cf5b3415930abb45c9c48fb991e2cf842 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 767765a66b1915c11b481314f8a7897256c7ab0e + 2f21e992c73004d22b4752787472c75e4ed6944e + + + + + decimal(p) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + a3c8a9e098fa2508c25cd339fe16a2a1b9f57742 + 30091097be5bc88ee6a9e4f8b5ec175078df2576 + + + + + character(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 85896b534ed532d14791ccb6a49cd7e3850a2e94 + 5ed51fee1299bd1ebc9f45127534fc806d0ab8e1 + + + + + varchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 575257735aa810c89d9c5c29bbf995cf99078959 + 18d4616b20d068ccad4ecb854b2073ca2458b8df + + + + + varchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 5b797d71c92541ad96dc84e01e87d3270d475406 + 0fac368ac96f8737ffcc9226a4a22b09bb8c23a6 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + d2e90de12f3097fd86ca83d968dc29501267061b + 93b08df354a11a85ce1a0c1c477f157895c66770 + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + 35ae805d1da92afdb99b2fe8c536d1649356fccd + 118dab95fc1f792cd468b9f66af2d4fabd98c39b + + + + false + true + idx_sys_menu_pc + + + + + 394369b90c0a5b6efeed3cf823c642605d7a1653 + false + + + + + false + true + idx_sys_menu_ts + + + + + 23f973124aedd0244533f4e7b3b103c548b966be + false + + + + + false + true + idx_sys_menu_status + + + + + f0036584bd8711715579d21994a0105935605a7e + false + + + + + false + true + idx_sys_menu_mt + + + + + c1a08754015d02b0489f0432d1a4f13db0384b71 + false + + + + + false + true + idx_sys_menu_pss + + + + + e8d877396943acfec73023dba2c1c6e3d7802d62 + false + + + + + false + true + idx_sys_menu_tss + + + + + 984d5eac2b3221118a61655e4a5a49c78e0f0151 + false + + + + + false + true + idx_sys_menu_sc + + + + + 5ed51fee1299bd1ebc9f45127534fc806d0ab8e1 + false + + + + + false + true + idx_sys_menu_is + + + + + 30091097be5bc88ee6a9e4f8b5ec175078df2576 + false + + + + + false + true + idx_sys_menu_mcs + + + + + 18d4616b20d068ccad4ecb854b2073ca2458b8df + false + + + + + false + true + idx_sys_menu_wt + + + + + 2f21e992c73004d22b4752787472c75e4ed6944e + false + + + + + + + + + +
+ + 331a99b0577ed80ec2bab771c81bf33fa77c4a31 + 178 + 404 + Arial + 14 + 1476 + 1464 + + 128 + 128 + 192 + + + + 5f575e0c210941bb3bd143fc09c6496d428bdb87 + 05268389adae248107d1d60ef12093936bf69222 + 331a99b0577ed80ec2bab771c81bf33fa77c4a31 + -1 + -1 + -1 + -1 + + 0 + 0 + 0 + + 1..n + 1 + true + + RESTRICT + RESTRICT + null + null + + + js_sys_role_data_scope + 角色数据权限表 + + + + + + + 7e2f59707205419c8556876dc854aeff0fbf7b57 + 22d38cfee95536d3e3af5fdd444b027a85d95432 + 5f575e0c210941bb3bd143fc09c6496d428bdb87 + + + 控制角色编码 + + varchar(n) + + + false + true + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + ca9144d6ca6e779a097669f4f893ddaf202cf6d1 + 0584b59447729b3b369483353308793591c2c407 + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + e9ddf2b0ec0f90cd9a879d33a53fd6aaac002461 + 0f7661178a7a9832b2b97169c49191338e769f6e + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + ba8ca638f8fd59415eeb0dc5a471aa0f7be89882 + db19c839b454a19a52e46cd7cbd9b0ba9dd8949c + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + b3b95a1bf4db86afc66e8806c7ab71d47c4944d1 + 8a59252227cce2021dc70a452dedad1831686170 + + + + + varchar(n) + + 0 + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + + + + + + + +
+ + ee8acd61329706d126ceb2179d64854c102f8f23 + 256 + 542 + Arial + 14 + 2150 + 1548 + + 128 + 128 + 192 + + + + 7e4089ae735731e1be619fd7b698a38d51a5e19f + b9799669be3b629345c5a97e5da81ba4e9c2b528 + ee8acd61329706d126ceb2179d64854c102f8f23 + -1 + -1 + -1 + -1 + + 0 + 0 + 0 + + 1..n + 1 + true + + RESTRICT + RESTRICT + null + null + + + 993471a7722012cb047cf8c6bf62df4d8c4a1d77 + 05268389adae248107d1d60ef12093936bf69222 + ee8acd61329706d126ceb2179d64854c102f8f23 + -1 + -1 + -1 + -1 + + 0 + 0 + 0 + + 1..n + 1 + true + + RESTRICT + RESTRICT + null + null + + + js_sys_menu_data_scope + 菜单数据权限 + + + + + + + e3325b6b7dc29b87da73eedcfff2a9c4cd245579 + 62104c15761b65b47997ba04ddf23f486920c38f + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + fa7b38572072a3200bf4a1625f356b67c146c63c + 22d38cfee95536d3e3af5fdd444b027a85d95432 + 993471a7722012cb047cf8c6bf62df4d8c4a1d77 + + + + + varchar(n) + + + false + true + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + edae44c768d3608449d9ef1fd686638421aa0636 + e84c40cdf5ffdb2ba4d59630d98abb5972d74795 + 7e4089ae735731e1be619fd7b698a38d51a5e19f + + + + + varchar(n) + + + false + true + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + c069a7861cadba77fca777e6edca00d418823801 + 061b29b0315b1d0be0965d13c5767d318c91ad6c + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 9bb2a1a22837fd110e06fa6d171c1cfa525e51cc + 8cf48e9f7380a7eea8f4ae45de5c9531b80b5dbc + + + + + character(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 23d079ce8d0ceba85cdce639e2fef285b6be9a90 + 93b8d7d49e82504ef6ca96906b9e2ace88a9cffe + + + + + clob + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 70d065a29d01e3875167a20441e0ebbfaf5a05f8 + 293d990569ee8d949bdeb0926d2235e825740c99 + + + + + character(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 1a77879eeba6dd8a2ca8de0ca0cbd6db5ddeb7af + 5480680a564312f3f4980bd39947ae8be0535236 + + + + + nvarchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + + + false + true + idx_sys_menu_ds_mc + + + + + edae44c768d3608449d9ef1fd686638421aa0636 + false + + + + + false + true + idx_sys_menu_ds_rc + + + + + fa7b38572072a3200bf4a1625f356b67c146c63c + false + + + + + + + + + +
diff --git a/modules/core/db/db2/core.sql b/modules/core/db/db2/core.sql index 8f86c5b5..70679515 100644 --- a/modules/core/db/db2/core.sql +++ b/modules/core/db/db2/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE js_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_gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE js_sys_area ); --- 业务分类 -CREATE TABLE js_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 ( @@ -492,6 +492,21 @@ CREATE TABLE js_sys_menu ); +-- 菜单数据权限 +CREATE TABLE js_sys_menu_data_scope +( + id varchar(64) NOT NULL, + role_code varchar(64) NOT NULL, + menu_code varchar(64) NOT NULL, + rule_name varchar(100), + rule_type char(1), + rule_config clob, + status char(1), + remarks vargraphic(500), + PRIMARY KEY (id) +); + + -- 模块表 CREATE TABLE js_sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE js_sys_role_data_scope ctrl_type varchar(20) NOT NULL, ctrl_data varchar(64) NOT NULL, ctrl_permi varchar(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ); @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON js_sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON js_sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON js_sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON js_sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON js_sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON js_sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON js_sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON js_sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON js_sys_msg_inner (status); diff --git a/modules/core/db/h2/core.sql b/modules/core/db/h2/core.sql index e62270db..1b970a2f 100644 --- a/modules/core/db/h2/core.sql +++ b/modules/core/db/h2/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE js_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_gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE js_sys_area ); --- 业务分类 -CREATE TABLE js_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 ( @@ -492,6 +492,21 @@ CREATE TABLE js_sys_menu ); +-- 菜单数据权限 +CREATE TABLE js_sys_menu_data_scope +( + id varchar(64) NOT NULL, + role_code varchar(64) NOT NULL, + menu_code varchar(64) NOT NULL, + rule_name varchar(100), + rule_type char(1), + rule_config clob, + status char(1), + remarks varchar(500), + PRIMARY KEY (id) +); + + -- 模块表 CREATE TABLE js_sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE js_sys_role_data_scope ctrl_type varchar(20) NOT NULL, ctrl_data varchar(64) NOT NULL, ctrl_permi varchar(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ); @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON js_sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON js_sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON js_sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON js_sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON js_sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON js_sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON js_sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON js_sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON js_sys_msg_inner (status); @@ -999,6 +1017,25 @@ CREATE INDEX idx_sys_user_cc ON js_sys_user (corp_code); /* Comments */ +COMMENT ON TABLE js_biz_category IS '业务分类'; +COMMENT ON COLUMN js_biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN js_biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN js_biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN js_biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN js_biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN js_biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN js_biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN js_biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN js_biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN js_biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN js_biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_biz_category.create_by IS '创建者'; +COMMENT ON COLUMN js_biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN js_biz_category.update_by IS '更新者'; +COMMENT ON COLUMN js_biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN js_biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN js_biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN js_biz_category.corp_name IS '租户名称'; COMMENT ON TABLE js_gen_table IS '代码生成表'; COMMENT ON COLUMN js_gen_table.table_name IS '表名'; COMMENT ON COLUMN js_gen_table.class_name IS '实体类名称'; @@ -1058,25 +1095,6 @@ 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_biz_category IS '业务分类'; -COMMENT ON COLUMN js_biz_category.category_code IS '流程分类'; -COMMENT ON COLUMN js_biz_category.view_code IS '分类代码'; -COMMENT ON COLUMN js_biz_category.category_name IS '分类名称'; -COMMENT ON COLUMN js_biz_category.parent_code IS '父级编号'; -COMMENT ON COLUMN js_biz_category.parent_codes IS '所有父级编号'; -COMMENT ON COLUMN js_biz_category.tree_sort IS '排序号(升序)'; -COMMENT ON COLUMN js_biz_category.tree_sorts IS '所有排序号'; -COMMENT ON COLUMN js_biz_category.tree_leaf IS '是否最末级'; -COMMENT ON COLUMN js_biz_category.tree_level IS '层次级别'; -COMMENT ON COLUMN js_biz_category.tree_names IS '全节点名'; -COMMENT ON COLUMN js_biz_category.status IS '状态(0正常 1删除 2停用)'; -COMMENT ON COLUMN js_biz_category.create_by IS '创建者'; -COMMENT ON COLUMN js_biz_category.create_date IS '创建时间'; -COMMENT ON COLUMN js_biz_category.update_by IS '更新者'; -COMMENT ON COLUMN js_biz_category.update_date IS '更新时间'; -COMMENT ON COLUMN js_biz_category.remarks IS '备注信息'; -COMMENT ON COLUMN js_biz_category.corp_code IS '租户代码'; -COMMENT ON COLUMN js_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 '公司代码'; @@ -1375,6 +1393,15 @@ COMMENT ON COLUMN js_sys_menu.extend_d2 IS '扩展 Date 2'; COMMENT ON COLUMN js_sys_menu.extend_d3 IS '扩展 Date 3'; COMMENT ON COLUMN js_sys_menu.extend_d4 IS '扩展 Date 4'; COMMENT ON COLUMN js_sys_menu.extend_json IS '扩展 JSON'; +COMMENT ON TABLE js_sys_menu_data_scope IS '菜单数据权限'; +COMMENT ON COLUMN js_sys_menu_data_scope.id IS '编号'; +COMMENT ON COLUMN js_sys_menu_data_scope.role_code IS '角色编码'; +COMMENT ON COLUMN js_sys_menu_data_scope.menu_code IS '菜单编码'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_name IS '规则名称'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_type IS '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_config IS '规则配置(JSON)'; +COMMENT ON COLUMN js_sys_menu_data_scope.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_sys_menu_data_scope.remarks IS '备注信息'; COMMENT ON TABLE js_sys_module IS '模块表'; COMMENT ON COLUMN js_sys_module.module_code IS '模块编码'; COMMENT ON COLUMN js_sys_module.module_name IS '模块名称'; @@ -1551,7 +1578,7 @@ COMMENT ON COLUMN js_sys_role.is_sys IS '系统内置(1是 0否)'; COMMENT ON COLUMN js_sys_role.is_show IS '是否显示'; COMMENT ON COLUMN js_sys_role.user_type IS '用户类型(employee员工 member会员)'; COMMENT ON COLUMN js_sys_role.desktop_url IS '桌面地址(仪表盘地址)'; -COMMENT ON COLUMN js_sys_role.data_scope IS '数据范围设置(0未设置 1全部数据 2自定义数据)'; +COMMENT ON COLUMN js_sys_role.data_scope IS '数据范围(0未设置 1全部数据 2自定义数据)'; COMMENT ON COLUMN js_sys_role.biz_scope IS '适应业务范围(不同的功能,不同的数据权限支持)'; COMMENT ON COLUMN js_sys_role.sys_codes IS '包含系统(多个用逗号隔开)'; COMMENT ON COLUMN js_sys_role.status IS '状态(0正常 1删除 2停用)'; @@ -1588,6 +1615,7 @@ COMMENT ON COLUMN js_sys_role_data_scope.role_code IS '控制角色编码'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_type IS '控制类型'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_data IS '控制数据'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_permi IS '控制权限'; +COMMENT ON COLUMN js_sys_role_data_scope.menu_code IS '菜单编码'; COMMENT ON TABLE js_sys_role_menu IS '角色与菜单关联表'; COMMENT ON COLUMN js_sys_role_menu.role_code IS '角色编码'; COMMENT ON COLUMN js_sys_role_menu.menu_code IS '菜单编码'; diff --git a/modules/core/db/mssql/core.sql b/modules/core/db/mssql/core.sql index b9766e54..46756e4d 100644 --- a/modules/core/db/mssql/core.sql +++ b/modules/core/db/mssql/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE [js_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_gen_table] ( @@ -79,31 +104,6 @@ CREATE TABLE [js_sys_area] ); --- 业务分类 -CREATE TABLE [js_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] ( @@ -492,6 +492,21 @@ CREATE TABLE [js_sys_menu] ); +-- 菜单数据权限 +CREATE TABLE [js_sys_menu_data_scope] +( + [id] varchar(64) NOT NULL, + [role_code] varchar(64) NOT NULL, + [menu_code] varchar(64) NOT NULL, + [rule_name] varchar(100), + [rule_type] char(1), + [rule_config] text, + [status] char(1), + [remarks] nvarchar(500), + PRIMARY KEY ([id]) +); + + -- 模块表 CREATE TABLE [js_sys_module] ( @@ -767,7 +782,8 @@ CREATE TABLE [js_sys_role_data_scope] [ctrl_type] varchar(20) NOT NULL, [ctrl_data] varchar(64) NOT NULL, [ctrl_permi] varchar(64) NOT NULL, - PRIMARY KEY ([role_code], [ctrl_type], [ctrl_data], [ctrl_permi]) + [menu_code] varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY ([role_code], [ctrl_type], [ctrl_data], [ctrl_permi], [menu_code]) ); @@ -934,6 +950,8 @@ CREATE INDEX [idx_sys_menu_sc] ON [js_sys_menu] ([sys_code]); CREATE INDEX [idx_sys_menu_is] ON [js_sys_menu] ([is_show]); CREATE INDEX [idx_sys_menu_mcs] ON [js_sys_menu] ([module_codes]); CREATE INDEX [idx_sys_menu_wt] ON [js_sys_menu] ([weight]); +CREATE INDEX [idx_sys_menu_ds_mc] ON [js_sys_menu_data_scope] ([menu_code]); +CREATE INDEX [idx_sys_menu_ds_rc] ON [js_sys_menu_data_scope] ([role_code]); CREATE INDEX [idx_sys_module_status] ON [js_sys_module] ([status]); CREATE INDEX [idx_sys_msg_inner_cb] ON [js_sys_msg_inner] ([create_by]); CREATE INDEX [idx_sys_msg_inner_status] ON [js_sys_msg_inner] ([status]); diff --git a/modules/core/db/mysql/core.sql b/modules/core/db/mysql/core.sql index 19469f37..d6a2c333 100644 --- a/modules/core/db/mysql/core.sql +++ b/modules/core/db/mysql/core.sql @@ -3,6 +3,31 @@ SET SESSION FOREIGN_KEY_CHECKS=0; /* Create Tables */ +-- 业务分类 +CREATE TABLE js_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_gen_table ( @@ -80,31 +105,6 @@ CREATE TABLE js_sys_area ) COMMENT = '行政区划'; --- 业务分类 -CREATE TABLE js_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 ( @@ -493,6 +493,21 @@ CREATE TABLE js_sys_menu ) COMMENT = '菜单表'; +-- 菜单数据权限 +CREATE TABLE js_sys_menu_data_scope +( + id varchar(64) NOT NULL COMMENT '编号', + role_code varchar(64) NOT NULL COMMENT '角色编码', + menu_code varchar(64) NOT NULL COMMENT '菜单编码', + rule_name varchar(100) COMMENT '规则名称', + rule_type char(1) COMMENT '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)', + rule_config text COMMENT '规则配置(JSON)', + status char(1) COMMENT '状态(0正常 1删除 2停用)', + remarks varchar(500) COMMENT '备注信息', + PRIMARY KEY (id) +) COMMENT = '菜单数据权限'; + + -- 模块表 CREATE TABLE js_sys_module ( @@ -725,7 +740,7 @@ CREATE TABLE js_sys_role is_show char(1) DEFAULT '1' COMMENT '是否显示', user_type varchar(16) COMMENT '用户类型(employee员工 member会员)', desktop_url varchar(255) COMMENT '桌面地址(仪表盘地址)', - data_scope char(1) COMMENT '数据范围设置(0未设置 1全部数据 2自定义数据)', + data_scope char(1) COMMENT '数据范围(0未设置 1全部数据 2自定义数据)', biz_scope varchar(255) COMMENT '适应业务范围(不同的功能,不同的数据权限支持)', sys_codes varchar(500) COMMENT '包含系统(多个用逗号隔开)', status char(1) DEFAULT '0' NOT NULL COMMENT '状态(0正常 1删除 2停用)', @@ -768,7 +783,8 @@ CREATE TABLE js_sys_role_data_scope ctrl_type varchar(20) NOT NULL COMMENT '控制类型', ctrl_data varchar(64) NOT NULL COMMENT '控制数据', ctrl_permi varchar(64) NOT NULL COMMENT '控制权限', - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL COMMENT '菜单编码', + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ) COMMENT = '角色数据权限表'; @@ -935,6 +951,8 @@ CREATE INDEX idx_sys_menu_sc ON js_sys_menu (sys_code ASC); CREATE INDEX idx_sys_menu_is ON js_sys_menu (is_show ASC); CREATE INDEX idx_sys_menu_mcs ON js_sys_menu (module_codes ASC); CREATE INDEX idx_sys_menu_wt ON js_sys_menu (weight ASC); +CREATE INDEX idx_sys_menu_ds_mc ON js_sys_menu_data_scope (menu_code ASC); +CREATE INDEX idx_sys_menu_ds_rc ON js_sys_menu_data_scope (role_code ASC); CREATE INDEX idx_sys_module_status ON js_sys_module (status ASC); CREATE INDEX idx_sys_msg_inner_cb ON js_sys_msg_inner (create_by ASC); CREATE INDEX idx_sys_msg_inner_status ON js_sys_msg_inner (status ASC); diff --git a/modules/core/db/oracle/core.sql b/modules/core/db/oracle/core.sql index f563e369..7884e6c6 100644 --- a/modules/core/db/oracle/core.sql +++ b/modules/core/db/oracle/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE js_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_gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE js_sys_area ); --- 业务分类 -CREATE TABLE js_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 ( @@ -492,6 +492,21 @@ CREATE TABLE js_sys_menu ); +-- 菜单数据权限 +CREATE TABLE js_sys_menu_data_scope +( + id varchar2(64) NOT NULL, + role_code varchar2(64) NOT NULL, + menu_code varchar2(64) NOT NULL, + rule_name varchar2(100), + rule_type char(1), + rule_config clob, + status char(1), + remarks nvarchar2(500), + PRIMARY KEY (id) +); + + -- 模块表 CREATE TABLE js_sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE js_sys_role_data_scope ctrl_type varchar2(20) NOT NULL, ctrl_data varchar2(64) NOT NULL, ctrl_permi varchar2(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar2(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ); @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON js_sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON js_sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON js_sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON js_sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON js_sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON js_sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON js_sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON js_sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON js_sys_msg_inner (status); @@ -999,6 +1017,25 @@ CREATE INDEX idx_sys_user_cc ON js_sys_user (corp_code); /* Comments */ +COMMENT ON TABLE js_biz_category IS '业务分类'; +COMMENT ON COLUMN js_biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN js_biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN js_biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN js_biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN js_biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN js_biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN js_biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN js_biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN js_biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN js_biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN js_biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_biz_category.create_by IS '创建者'; +COMMENT ON COLUMN js_biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN js_biz_category.update_by IS '更新者'; +COMMENT ON COLUMN js_biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN js_biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN js_biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN js_biz_category.corp_name IS '租户名称'; COMMENT ON TABLE js_gen_table IS '代码生成表'; COMMENT ON COLUMN js_gen_table.table_name IS '表名'; COMMENT ON COLUMN js_gen_table.class_name IS '实体类名称'; @@ -1058,25 +1095,6 @@ 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_biz_category IS '业务分类'; -COMMENT ON COLUMN js_biz_category.category_code IS '流程分类'; -COMMENT ON COLUMN js_biz_category.view_code IS '分类代码'; -COMMENT ON COLUMN js_biz_category.category_name IS '分类名称'; -COMMENT ON COLUMN js_biz_category.parent_code IS '父级编号'; -COMMENT ON COLUMN js_biz_category.parent_codes IS '所有父级编号'; -COMMENT ON COLUMN js_biz_category.tree_sort IS '排序号(升序)'; -COMMENT ON COLUMN js_biz_category.tree_sorts IS '所有排序号'; -COMMENT ON COLUMN js_biz_category.tree_leaf IS '是否最末级'; -COMMENT ON COLUMN js_biz_category.tree_level IS '层次级别'; -COMMENT ON COLUMN js_biz_category.tree_names IS '全节点名'; -COMMENT ON COLUMN js_biz_category.status IS '状态(0正常 1删除 2停用)'; -COMMENT ON COLUMN js_biz_category.create_by IS '创建者'; -COMMENT ON COLUMN js_biz_category.create_date IS '创建时间'; -COMMENT ON COLUMN js_biz_category.update_by IS '更新者'; -COMMENT ON COLUMN js_biz_category.update_date IS '更新时间'; -COMMENT ON COLUMN js_biz_category.remarks IS '备注信息'; -COMMENT ON COLUMN js_biz_category.corp_code IS '租户代码'; -COMMENT ON COLUMN js_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 '公司代码'; @@ -1375,6 +1393,15 @@ COMMENT ON COLUMN js_sys_menu.extend_d2 IS '扩展 Date 2'; COMMENT ON COLUMN js_sys_menu.extend_d3 IS '扩展 Date 3'; COMMENT ON COLUMN js_sys_menu.extend_d4 IS '扩展 Date 4'; COMMENT ON COLUMN js_sys_menu.extend_json IS '扩展 JSON'; +COMMENT ON TABLE js_sys_menu_data_scope IS '菜单数据权限'; +COMMENT ON COLUMN js_sys_menu_data_scope.id IS '编号'; +COMMENT ON COLUMN js_sys_menu_data_scope.role_code IS '角色编码'; +COMMENT ON COLUMN js_sys_menu_data_scope.menu_code IS '菜单编码'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_name IS '规则名称'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_type IS '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_config IS '规则配置(JSON)'; +COMMENT ON COLUMN js_sys_menu_data_scope.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_sys_menu_data_scope.remarks IS '备注信息'; COMMENT ON TABLE js_sys_module IS '模块表'; COMMENT ON COLUMN js_sys_module.module_code IS '模块编码'; COMMENT ON COLUMN js_sys_module.module_name IS '模块名称'; @@ -1551,7 +1578,7 @@ COMMENT ON COLUMN js_sys_role.is_sys IS '系统内置(1是 0否)'; COMMENT ON COLUMN js_sys_role.is_show IS '是否显示'; COMMENT ON COLUMN js_sys_role.user_type IS '用户类型(employee员工 member会员)'; COMMENT ON COLUMN js_sys_role.desktop_url IS '桌面地址(仪表盘地址)'; -COMMENT ON COLUMN js_sys_role.data_scope IS '数据范围设置(0未设置 1全部数据 2自定义数据)'; +COMMENT ON COLUMN js_sys_role.data_scope IS '数据范围(0未设置 1全部数据 2自定义数据)'; COMMENT ON COLUMN js_sys_role.biz_scope IS '适应业务范围(不同的功能,不同的数据权限支持)'; COMMENT ON COLUMN js_sys_role.sys_codes IS '包含系统(多个用逗号隔开)'; COMMENT ON COLUMN js_sys_role.status IS '状态(0正常 1删除 2停用)'; @@ -1588,6 +1615,7 @@ COMMENT ON COLUMN js_sys_role_data_scope.role_code IS '控制角色编码'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_type IS '控制类型'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_data IS '控制数据'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_permi IS '控制权限'; +COMMENT ON COLUMN js_sys_role_data_scope.menu_code IS '菜单编码'; COMMENT ON TABLE js_sys_role_menu IS '角色与菜单关联表'; COMMENT ON COLUMN js_sys_role_menu.role_code IS '角色编码'; COMMENT ON COLUMN js_sys_role_menu.menu_code IS '菜单编码'; diff --git a/modules/core/db/postgresql/core.sql b/modules/core/db/postgresql/core.sql index 71b460ed..46ac845b 100644 --- a/modules/core/db/postgresql/core.sql +++ b/modules/core/db/postgresql/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE js_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_gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE js_sys_area ) WITHOUT OIDS; --- 业务分类 -CREATE TABLE js_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 ( @@ -492,6 +492,21 @@ CREATE TABLE js_sys_menu ) WITHOUT OIDS; +-- 菜单数据权限 +CREATE TABLE js_sys_menu_data_scope +( + id varchar(64) NOT NULL, + role_code varchar(64) NOT NULL, + menu_code varchar(64) NOT NULL, + rule_name varchar(100), + rule_type char(1), + rule_config text, + status char(1), + remarks varchar(500), + PRIMARY KEY (id) +) WITHOUT OIDS; + + -- 模块表 CREATE TABLE js_sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE js_sys_role_data_scope ctrl_type varchar(20) NOT NULL, ctrl_data varchar(64) NOT NULL, ctrl_permi varchar(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ) WITHOUT OIDS; @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON js_sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON js_sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON js_sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON js_sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON js_sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON js_sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON js_sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON js_sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON js_sys_msg_inner (status); @@ -999,6 +1017,25 @@ CREATE INDEX idx_sys_user_cc ON js_sys_user (corp_code); /* Comments */ +COMMENT ON TABLE js_biz_category IS '业务分类'; +COMMENT ON COLUMN js_biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN js_biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN js_biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN js_biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN js_biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN js_biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN js_biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN js_biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN js_biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN js_biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN js_biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_biz_category.create_by IS '创建者'; +COMMENT ON COLUMN js_biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN js_biz_category.update_by IS '更新者'; +COMMENT ON COLUMN js_biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN js_biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN js_biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN js_biz_category.corp_name IS '租户名称'; COMMENT ON TABLE js_gen_table IS '代码生成表'; COMMENT ON COLUMN js_gen_table.table_name IS '表名'; COMMENT ON COLUMN js_gen_table.class_name IS '实体类名称'; @@ -1058,25 +1095,6 @@ 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_biz_category IS '业务分类'; -COMMENT ON COLUMN js_biz_category.category_code IS '流程分类'; -COMMENT ON COLUMN js_biz_category.view_code IS '分类代码'; -COMMENT ON COLUMN js_biz_category.category_name IS '分类名称'; -COMMENT ON COLUMN js_biz_category.parent_code IS '父级编号'; -COMMENT ON COLUMN js_biz_category.parent_codes IS '所有父级编号'; -COMMENT ON COLUMN js_biz_category.tree_sort IS '排序号(升序)'; -COMMENT ON COLUMN js_biz_category.tree_sorts IS '所有排序号'; -COMMENT ON COLUMN js_biz_category.tree_leaf IS '是否最末级'; -COMMENT ON COLUMN js_biz_category.tree_level IS '层次级别'; -COMMENT ON COLUMN js_biz_category.tree_names IS '全节点名'; -COMMENT ON COLUMN js_biz_category.status IS '状态(0正常 1删除 2停用)'; -COMMENT ON COLUMN js_biz_category.create_by IS '创建者'; -COMMENT ON COLUMN js_biz_category.create_date IS '创建时间'; -COMMENT ON COLUMN js_biz_category.update_by IS '更新者'; -COMMENT ON COLUMN js_biz_category.update_date IS '更新时间'; -COMMENT ON COLUMN js_biz_category.remarks IS '备注信息'; -COMMENT ON COLUMN js_biz_category.corp_code IS '租户代码'; -COMMENT ON COLUMN js_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 '公司代码'; @@ -1375,6 +1393,15 @@ COMMENT ON COLUMN js_sys_menu.extend_d2 IS '扩展 Date 2'; COMMENT ON COLUMN js_sys_menu.extend_d3 IS '扩展 Date 3'; COMMENT ON COLUMN js_sys_menu.extend_d4 IS '扩展 Date 4'; COMMENT ON COLUMN js_sys_menu.extend_json IS '扩展 JSON'; +COMMENT ON TABLE js_sys_menu_data_scope IS '菜单数据权限'; +COMMENT ON COLUMN js_sys_menu_data_scope.id IS '编号'; +COMMENT ON COLUMN js_sys_menu_data_scope.role_code IS '角色编码'; +COMMENT ON COLUMN js_sys_menu_data_scope.menu_code IS '菜单编码'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_name IS '规则名称'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_type IS '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)'; +COMMENT ON COLUMN js_sys_menu_data_scope.rule_config IS '规则配置(JSON)'; +COMMENT ON COLUMN js_sys_menu_data_scope.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN js_sys_menu_data_scope.remarks IS '备注信息'; COMMENT ON TABLE js_sys_module IS '模块表'; COMMENT ON COLUMN js_sys_module.module_code IS '模块编码'; COMMENT ON COLUMN js_sys_module.module_name IS '模块名称'; @@ -1551,7 +1578,7 @@ COMMENT ON COLUMN js_sys_role.is_sys IS '系统内置(1是 0否)'; COMMENT ON COLUMN js_sys_role.is_show IS '是否显示'; COMMENT ON COLUMN js_sys_role.user_type IS '用户类型(employee员工 member会员)'; COMMENT ON COLUMN js_sys_role.desktop_url IS '桌面地址(仪表盘地址)'; -COMMENT ON COLUMN js_sys_role.data_scope IS '数据范围设置(0未设置 1全部数据 2自定义数据)'; +COMMENT ON COLUMN js_sys_role.data_scope IS '数据范围(0未设置 1全部数据 2自定义数据)'; COMMENT ON COLUMN js_sys_role.biz_scope IS '适应业务范围(不同的功能,不同的数据权限支持)'; COMMENT ON COLUMN js_sys_role.sys_codes IS '包含系统(多个用逗号隔开)'; COMMENT ON COLUMN js_sys_role.status IS '状态(0正常 1删除 2停用)'; @@ -1588,6 +1615,7 @@ COMMENT ON COLUMN js_sys_role_data_scope.role_code IS '控制角色编码'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_type IS '控制类型'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_data IS '控制数据'; COMMENT ON COLUMN js_sys_role_data_scope.ctrl_permi IS '控制权限'; +COMMENT ON COLUMN js_sys_role_data_scope.menu_code IS '菜单编码'; COMMENT ON TABLE js_sys_role_menu IS '角色与菜单关联表'; COMMENT ON COLUMN js_sys_role_menu.role_code IS '角色编码'; COMMENT ON COLUMN js_sys_role_menu.menu_code IS '菜单编码'; diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/service/support/EmpUserServiceSupport.java b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/EmpUserServiceSupport.java index 0765bf10..827e5f28 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/service/support/EmpUserServiceSupport.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/EmpUserServiceSupport.java @@ -78,6 +78,10 @@ public class EmpUserServiceSupport extends CrudService empUser.sqlMap().getDataScope().addFilter("dsfCompany", "Company", "e.company_code", "a.create_by", ctrlPermi, "office_user"); } +// empUser.sqlMap().getDataScope().addFilterByPermission("dsfOffice", "sys:empUser:view", +// "Office", "e.office_code", "a.create_by", ctrlPermi); +// empUser.sqlMap().getDataScope().addFilterByPermission("dsfOffice", "sys:empUser:view", +// "User", "a.user_code", ctrlPermi); } /** diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java index 332049e3..0ac3eaf7 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/service/support/OfficeServiceSupport.java @@ -48,6 +48,8 @@ public class OfficeServiceSupport extends TreeService public void addDataScopeFilter(Office office, String ctrlPermi) { office.sqlMap().getDataScope().addFilter("dsf", "Office", "a.office_code", null, ctrlPermi , "office_user"); +// office.sqlMap().getDataScope().addFilterByPermission("dsf", "sys:empUser:view", +// "Office", "a.office_code", ctrlPermi); } /** diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java index 5f2e386b..7f400e0e 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java @@ -48,7 +48,7 @@ public class RoleController extends BaseController { @Autowired private RoleService roleService; - + @Autowired private MenuService menuService; @@ -117,7 +117,7 @@ public class RoleController extends BaseController { } return renderResult(Global.TRUE, text("保存角色''{0}''成功", role.getRoleName())); } - + /** * 验证角色名是否有效 * @param oldRoleName @@ -156,7 +156,7 @@ public class RoleController extends BaseController { roleService.updateStatus(role); return renderResult(Global.TRUE, text("停用角色''{0}''成功", role.getRoleName())); } - + /** * 启用角色 * @param role @@ -175,7 +175,7 @@ public class RoleController extends BaseController { roleService.updateStatus(role); return renderResult(Global.TRUE, text("启用角色''{0}''成功", role.getRoleName())); } - + /** * 删除角色 * @param role @@ -216,7 +216,7 @@ public class RoleController extends BaseController { return RoleUtils.hasCurrentUserRole(roleCode); } } - + /** * 查询菜单的树结构数据 * @param role @@ -248,7 +248,7 @@ public class RoleController extends BaseController { m.put("name", menu.getMenuName() + "     " + StringUtils.abbr(ObjectUtils.toString(menu.getPermission()) + "   " + ObjectUtils.toString(menu.getMenuHref()), 50) + ""); - m.put("title", menu.getMenuName() + " " + m.put("title", menu.getMenuName() + " " + ObjectUtils.toString(menu.getPermission()) + "\n" + ObjectUtils.toString(menu.getMenuHref())); list.add(m); @@ -263,16 +263,58 @@ public class RoleController extends BaseController { return model; } + /** + * 查询角色的菜单树结构数据 + * @param roleCode + * @param sysCode + */ + @RequiresPermissions("sys:role:view") + @RequestMapping(value = "menuTreeDataByRoleCode") + @ResponseBody + public List> menuTreeDataByRoleCode(String roleCode, String sysCode) { + List> mapList = ListUtils.newArrayList(); + if (StringUtils.isBlank(roleCode)) { + return mapList; + } + Menu menuWhere = new Menu(); + menuWhere.setRoleCode(roleCode); + menuWhere.setSysCode(sysCode); + menuWhere.setHasDataScope(true); + List list = menuService.findByRoleCode(menuWhere); + for (Menu menu : list){ + Map m = MapUtils.newHashMap(); + m.put("id", menu.getId()); + m.put("pId", menu.getParentCode()); + m.put("name", menu.getMenuName() + "     " + + ObjectUtils.toString(menu.getPermission()) + ""); + m.put("title", menu.getMenuName() + " " + + ObjectUtils.toString(menu.getPermission())); + m.put("rawName", menu.getMenuName()); + m.put("isParent", !menu.getIsTreeLeaf()); + m.put("permission", menu.getPermission()); + m.put("hasDataScope", menu.getHasDataScope()); + mapList.add(m); + } + return mapList; + } + /** * 角色授权数据权限 */ @RequiresPermissions("sys:role:edit") @RequestMapping(value = "formAuthDataScope") - public String formAuthDataScope(Role role, String checkbox, Model model, HttpServletRequest request) { + public String formAuthDataScope(Role role, Model model, HttpServletRequest request) { + // 拥有的角色数据权限 RoleDataScope roleDataScope = new RoleDataScope(); roleDataScope.setRoleCode(role.getRoleCode()); List roleDataScopeList = roleService.findDataScopeList(roleDataScope); model.addAttribute("roleDataScopeList", roleDataScopeList); + // 拥有的菜单数据权限 + MenuDataScope menuDataScope = new MenuDataScope(); + menuDataScope.setRoleCode(role.getRoleCode()); + List menuDataScopeList = roleService.findMenuDataScopeList(menuDataScope); + model.addAttribute("menuDataScopeList", menuDataScopeList); + // 设置其它对象 model.addAttribute("role", role); model.addAttribute("moduleCodes", ModuleUtils.getEnableModuleCodes()); model.addAttribute("dataScopes", JsonMapper.fromJson(Global.getConfig("user.dataScopes", "[]"), List.class)); 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 bade8baf..81da8577 100644 --- a/modules/core/src/main/resources/db/create/db2/core.sql +++ b/modules/core/src/main/resources/db/create/db2/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE ${_prefix}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}gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE ${_prefix}sys_area ); --- 业务分类 -CREATE TABLE ${_prefix}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 ( @@ -492,6 +492,21 @@ CREATE TABLE ${_prefix}sys_menu ); +-- 菜单数据权限 +CREATE TABLE ${_prefix}sys_menu_data_scope +( + id varchar(64) NOT NULL, + role_code varchar(64) NOT NULL, + menu_code varchar(64) NOT NULL, + rule_name varchar(100), + rule_type char(1), + rule_config clob, + status char(1), + remarks vargraphic(500), + PRIMARY KEY (id) +); + + -- 模块表 CREATE TABLE ${_prefix}sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE ${_prefix}sys_role_data_scope ctrl_type varchar(20) NOT NULL, ctrl_data varchar(64) NOT NULL, ctrl_permi varchar(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ); @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON ${_prefix}sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON ${_prefix}sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON ${_prefix}sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON ${_prefix}sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON ${_prefix}sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON ${_prefix}sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON ${_prefix}sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON ${_prefix}sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON ${_prefix}sys_msg_inner (status); 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 22df111a..8ad59f0f 100644 --- a/modules/core/src/main/resources/db/create/h2/core.sql +++ b/modules/core/src/main/resources/db/create/h2/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE ${_prefix}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}gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE ${_prefix}sys_area ); --- 业务分类 -CREATE TABLE ${_prefix}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 ( @@ -492,6 +492,21 @@ CREATE TABLE ${_prefix}sys_menu ); +-- 菜单数据权限 +CREATE TABLE ${_prefix}sys_menu_data_scope +( + id varchar(64) NOT NULL, + role_code varchar(64) NOT NULL, + menu_code varchar(64) NOT NULL, + rule_name varchar(100), + rule_type char(1), + rule_config clob, + status char(1), + remarks varchar(500), + PRIMARY KEY (id) +); + + -- 模块表 CREATE TABLE ${_prefix}sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE ${_prefix}sys_role_data_scope ctrl_type varchar(20) NOT NULL, ctrl_data varchar(64) NOT NULL, ctrl_permi varchar(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ); @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON ${_prefix}sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON ${_prefix}sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON ${_prefix}sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON ${_prefix}sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON ${_prefix}sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON ${_prefix}sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON ${_prefix}sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON ${_prefix}sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON ${_prefix}sys_msg_inner (status); @@ -999,6 +1017,25 @@ CREATE INDEX idx_sys_user_cc ON ${_prefix}sys_user (corp_code); /* Comments */ +COMMENT ON TABLE ${_prefix}biz_category IS '业务分类'; +COMMENT ON COLUMN ${_prefix}biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN ${_prefix}biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN ${_prefix}biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN ${_prefix}biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN ${_prefix}biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN ${_prefix}biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}biz_category.create_by IS '创建者'; +COMMENT ON COLUMN ${_prefix}biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN ${_prefix}biz_category.update_by IS '更新者'; +COMMENT ON COLUMN ${_prefix}biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN ${_prefix}biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN ${_prefix}biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN ${_prefix}biz_category.corp_name IS '租户名称'; COMMENT ON TABLE ${_prefix}gen_table IS '代码生成表'; COMMENT ON COLUMN ${_prefix}gen_table.table_name IS '表名'; COMMENT ON COLUMN ${_prefix}gen_table.class_name IS '实体类名称'; @@ -1058,25 +1095,6 @@ 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}biz_category IS '业务分类'; -COMMENT ON COLUMN ${_prefix}biz_category.category_code IS '流程分类'; -COMMENT ON COLUMN ${_prefix}biz_category.view_code IS '分类代码'; -COMMENT ON COLUMN ${_prefix}biz_category.category_name IS '分类名称'; -COMMENT ON COLUMN ${_prefix}biz_category.parent_code IS '父级编号'; -COMMENT ON COLUMN ${_prefix}biz_category.parent_codes IS '所有父级编号'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_sort IS '排序号(升序)'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_sorts IS '所有排序号'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_leaf IS '是否最末级'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_level IS '层次级别'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_names IS '全节点名'; -COMMENT ON COLUMN ${_prefix}biz_category.status IS '状态(0正常 1删除 2停用)'; -COMMENT ON COLUMN ${_prefix}biz_category.create_by IS '创建者'; -COMMENT ON COLUMN ${_prefix}biz_category.create_date IS '创建时间'; -COMMENT ON COLUMN ${_prefix}biz_category.update_by IS '更新者'; -COMMENT ON COLUMN ${_prefix}biz_category.update_date IS '更新时间'; -COMMENT ON COLUMN ${_prefix}biz_category.remarks IS '备注信息'; -COMMENT ON COLUMN ${_prefix}biz_category.corp_code IS '租户代码'; -COMMENT ON COLUMN ${_prefix}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 '公司代码'; @@ -1375,6 +1393,15 @@ COMMENT ON COLUMN ${_prefix}sys_menu.extend_d2 IS '扩展 Date 2'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_d3 IS '扩展 Date 3'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_d4 IS '扩展 Date 4'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_json IS '扩展 JSON'; +COMMENT ON TABLE ${_prefix}sys_menu_data_scope IS '菜单数据权限'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.id IS '编号'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.role_code IS '角色编码'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.menu_code IS '菜单编码'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_name IS '规则名称'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_type IS '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_config IS '规则配置(JSON)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.remarks IS '备注信息'; COMMENT ON TABLE ${_prefix}sys_module IS '模块表'; COMMENT ON COLUMN ${_prefix}sys_module.module_code IS '模块编码'; COMMENT ON COLUMN ${_prefix}sys_module.module_name IS '模块名称'; @@ -1551,7 +1578,7 @@ COMMENT ON COLUMN ${_prefix}sys_role.is_sys IS '系统内置(1是 0否)'; COMMENT ON COLUMN ${_prefix}sys_role.is_show IS '是否显示'; COMMENT ON COLUMN ${_prefix}sys_role.user_type IS '用户类型(employee员工 member会员)'; COMMENT ON COLUMN ${_prefix}sys_role.desktop_url IS '桌面地址(仪表盘地址)'; -COMMENT ON COLUMN ${_prefix}sys_role.data_scope IS '数据范围设置(0未设置 1全部数据 2自定义数据)'; +COMMENT ON COLUMN ${_prefix}sys_role.data_scope IS '数据范围(0未设置 1全部数据 2自定义数据)'; COMMENT ON COLUMN ${_prefix}sys_role.biz_scope IS '适应业务范围(不同的功能,不同的数据权限支持)'; COMMENT ON COLUMN ${_prefix}sys_role.sys_codes IS '包含系统(多个用逗号隔开)'; COMMENT ON COLUMN ${_prefix}sys_role.status IS '状态(0正常 1删除 2停用)'; @@ -1588,6 +1615,7 @@ COMMENT ON COLUMN ${_prefix}sys_role_data_scope.role_code IS '控制角色编码 COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_type IS '控制类型'; COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_data IS '控制数据'; COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_permi IS '控制权限'; +COMMENT ON COLUMN ${_prefix}sys_role_data_scope.menu_code IS '菜单编码'; COMMENT ON TABLE ${_prefix}sys_role_menu IS '角色与菜单关联表'; COMMENT ON COLUMN ${_prefix}sys_role_menu.role_code IS '角色编码'; COMMENT ON COLUMN ${_prefix}sys_role_menu.menu_code IS '菜单编码'; 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 293444df..0145ab25 100644 --- a/modules/core/src/main/resources/db/create/mssql/core.sql +++ b/modules/core/src/main/resources/db/create/mssql/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE [${_prefix}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}gen_table] ( @@ -79,31 +104,6 @@ CREATE TABLE [${_prefix}sys_area] ); --- 业务分类 -CREATE TABLE [${_prefix}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] ( @@ -492,6 +492,21 @@ CREATE TABLE [${_prefix}sys_menu] ); +-- 菜单数据权限 +CREATE TABLE [${_prefix}sys_menu_data_scope] +( + [id] varchar(64) NOT NULL, + [role_code] varchar(64) NOT NULL, + [menu_code] varchar(64) NOT NULL, + [rule_name] varchar(100), + [rule_type] char(1), + [rule_config] text, + [status] char(1), + [remarks] nvarchar(500), + PRIMARY KEY ([id]) +); + + -- 模块表 CREATE TABLE [${_prefix}sys_module] ( @@ -767,7 +782,8 @@ CREATE TABLE [${_prefix}sys_role_data_scope] [ctrl_type] varchar(20) NOT NULL, [ctrl_data] varchar(64) NOT NULL, [ctrl_permi] varchar(64) NOT NULL, - PRIMARY KEY ([role_code], [ctrl_type], [ctrl_data], [ctrl_permi]) + [menu_code] varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY ([role_code], [ctrl_type], [ctrl_data], [ctrl_permi], [menu_code]) ); @@ -934,6 +950,8 @@ CREATE INDEX [idx_sys_menu_sc] ON [${_prefix}sys_menu] ([sys_code]); CREATE INDEX [idx_sys_menu_is] ON [${_prefix}sys_menu] ([is_show]); CREATE INDEX [idx_sys_menu_mcs] ON [${_prefix}sys_menu] ([module_codes]); CREATE INDEX [idx_sys_menu_wt] ON [${_prefix}sys_menu] ([weight]); +CREATE INDEX [idx_sys_menu_ds_mc] ON [${_prefix}sys_menu_data_scope] ([menu_code]); +CREATE INDEX [idx_sys_menu_ds_rc] ON [${_prefix}sys_menu_data_scope] ([role_code]); CREATE INDEX [idx_sys_module_status] ON [${_prefix}sys_module] ([status]); CREATE INDEX [idx_sys_msg_inner_cb] ON [${_prefix}sys_msg_inner] ([create_by]); CREATE INDEX [idx_sys_msg_inner_status] ON [${_prefix}sys_msg_inner] ([status]); 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 6e8996b9..d3dbd6db 100644 --- a/modules/core/src/main/resources/db/create/mysql/core.sql +++ b/modules/core/src/main/resources/db/create/mysql/core.sql @@ -3,6 +3,31 @@ SET SESSION FOREIGN_KEY_CHECKS=0; /* Create Tables */ +-- 业务分类 +CREATE TABLE ${_prefix}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}gen_table ( @@ -80,31 +105,6 @@ CREATE TABLE ${_prefix}sys_area ) COMMENT = '行政区划'; --- 业务分类 -CREATE TABLE ${_prefix}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 ( @@ -493,6 +493,21 @@ CREATE TABLE ${_prefix}sys_menu ) COMMENT = '菜单表'; +-- 菜单数据权限 +CREATE TABLE ${_prefix}sys_menu_data_scope +( + id varchar(64) NOT NULL COMMENT '编号', + role_code varchar(64) NOT NULL COMMENT '角色编码', + menu_code varchar(64) NOT NULL COMMENT '菜单编码', + rule_name varchar(100) COMMENT '规则名称', + rule_type char(1) COMMENT '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)', + rule_config text COMMENT '规则配置(JSON)', + status char(1) COMMENT '状态(0正常 1删除 2停用)', + remarks varchar(500) COMMENT '备注信息', + PRIMARY KEY (id) +) COMMENT = '菜单数据权限'; + + -- 模块表 CREATE TABLE ${_prefix}sys_module ( @@ -725,7 +740,7 @@ CREATE TABLE ${_prefix}sys_role is_show char(1) DEFAULT '1' COMMENT '是否显示', user_type varchar(16) COMMENT '用户类型(employee员工 member会员)', desktop_url varchar(255) COMMENT '桌面地址(仪表盘地址)', - data_scope char(1) COMMENT '数据范围设置(0未设置 1全部数据 2自定义数据)', + data_scope char(1) COMMENT '数据范围(0未设置 1全部数据 2自定义数据)', biz_scope varchar(255) COMMENT '适应业务范围(不同的功能,不同的数据权限支持)', sys_codes varchar(500) COMMENT '包含系统(多个用逗号隔开)', status char(1) DEFAULT '0' NOT NULL COMMENT '状态(0正常 1删除 2停用)', @@ -768,7 +783,8 @@ CREATE TABLE ${_prefix}sys_role_data_scope ctrl_type varchar(20) NOT NULL COMMENT '控制类型', ctrl_data varchar(64) NOT NULL COMMENT '控制数据', ctrl_permi varchar(64) NOT NULL COMMENT '控制权限', - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL COMMENT '菜单编码', + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ) COMMENT = '角色数据权限表'; @@ -935,6 +951,8 @@ CREATE INDEX idx_sys_menu_sc ON ${_prefix}sys_menu (sys_code ASC); CREATE INDEX idx_sys_menu_is ON ${_prefix}sys_menu (is_show ASC); CREATE INDEX idx_sys_menu_mcs ON ${_prefix}sys_menu (module_codes ASC); CREATE INDEX idx_sys_menu_wt ON ${_prefix}sys_menu (weight ASC); +CREATE INDEX idx_sys_menu_ds_mc ON ${_prefix}sys_menu_data_scope (menu_code ASC); +CREATE INDEX idx_sys_menu_ds_rc ON ${_prefix}sys_menu_data_scope (role_code ASC); CREATE INDEX idx_sys_module_status ON ${_prefix}sys_module (status ASC); CREATE INDEX idx_sys_msg_inner_cb ON ${_prefix}sys_msg_inner (create_by ASC); CREATE INDEX idx_sys_msg_inner_status ON ${_prefix}sys_msg_inner (status ASC); 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 4b73fd6f..c2096b98 100644 --- a/modules/core/src/main/resources/db/create/oracle/core.sql +++ b/modules/core/src/main/resources/db/create/oracle/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE ${_prefix}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}gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE ${_prefix}sys_area ); --- 业务分类 -CREATE TABLE ${_prefix}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 ( @@ -492,6 +492,21 @@ CREATE TABLE ${_prefix}sys_menu ); +-- 菜单数据权限 +CREATE TABLE ${_prefix}sys_menu_data_scope +( + id varchar2(64) NOT NULL, + role_code varchar2(64) NOT NULL, + menu_code varchar2(64) NOT NULL, + rule_name varchar2(100), + rule_type char(1), + rule_config clob, + status char(1), + remarks nvarchar2(500), + PRIMARY KEY (id) +); + + -- 模块表 CREATE TABLE ${_prefix}sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE ${_prefix}sys_role_data_scope ctrl_type varchar2(20) NOT NULL, ctrl_data varchar2(64) NOT NULL, ctrl_permi varchar2(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar2(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ); @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON ${_prefix}sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON ${_prefix}sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON ${_prefix}sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON ${_prefix}sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON ${_prefix}sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON ${_prefix}sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON ${_prefix}sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON ${_prefix}sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON ${_prefix}sys_msg_inner (status); @@ -999,6 +1017,25 @@ CREATE INDEX idx_sys_user_cc ON ${_prefix}sys_user (corp_code); /* Comments */ +COMMENT ON TABLE ${_prefix}biz_category IS '业务分类'; +COMMENT ON COLUMN ${_prefix}biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN ${_prefix}biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN ${_prefix}biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN ${_prefix}biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN ${_prefix}biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN ${_prefix}biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}biz_category.create_by IS '创建者'; +COMMENT ON COLUMN ${_prefix}biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN ${_prefix}biz_category.update_by IS '更新者'; +COMMENT ON COLUMN ${_prefix}biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN ${_prefix}biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN ${_prefix}biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN ${_prefix}biz_category.corp_name IS '租户名称'; COMMENT ON TABLE ${_prefix}gen_table IS '代码生成表'; COMMENT ON COLUMN ${_prefix}gen_table.table_name IS '表名'; COMMENT ON COLUMN ${_prefix}gen_table.class_name IS '实体类名称'; @@ -1058,25 +1095,6 @@ 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}biz_category IS '业务分类'; -COMMENT ON COLUMN ${_prefix}biz_category.category_code IS '流程分类'; -COMMENT ON COLUMN ${_prefix}biz_category.view_code IS '分类代码'; -COMMENT ON COLUMN ${_prefix}biz_category.category_name IS '分类名称'; -COMMENT ON COLUMN ${_prefix}biz_category.parent_code IS '父级编号'; -COMMENT ON COLUMN ${_prefix}biz_category.parent_codes IS '所有父级编号'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_sort IS '排序号(升序)'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_sorts IS '所有排序号'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_leaf IS '是否最末级'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_level IS '层次级别'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_names IS '全节点名'; -COMMENT ON COLUMN ${_prefix}biz_category.status IS '状态(0正常 1删除 2停用)'; -COMMENT ON COLUMN ${_prefix}biz_category.create_by IS '创建者'; -COMMENT ON COLUMN ${_prefix}biz_category.create_date IS '创建时间'; -COMMENT ON COLUMN ${_prefix}biz_category.update_by IS '更新者'; -COMMENT ON COLUMN ${_prefix}biz_category.update_date IS '更新时间'; -COMMENT ON COLUMN ${_prefix}biz_category.remarks IS '备注信息'; -COMMENT ON COLUMN ${_prefix}biz_category.corp_code IS '租户代码'; -COMMENT ON COLUMN ${_prefix}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 '公司代码'; @@ -1375,6 +1393,15 @@ COMMENT ON COLUMN ${_prefix}sys_menu.extend_d2 IS '扩展 Date 2'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_d3 IS '扩展 Date 3'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_d4 IS '扩展 Date 4'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_json IS '扩展 JSON'; +COMMENT ON TABLE ${_prefix}sys_menu_data_scope IS '菜单数据权限'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.id IS '编号'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.role_code IS '角色编码'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.menu_code IS '菜单编码'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_name IS '规则名称'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_type IS '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_config IS '规则配置(JSON)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.remarks IS '备注信息'; COMMENT ON TABLE ${_prefix}sys_module IS '模块表'; COMMENT ON COLUMN ${_prefix}sys_module.module_code IS '模块编码'; COMMENT ON COLUMN ${_prefix}sys_module.module_name IS '模块名称'; @@ -1551,7 +1578,7 @@ COMMENT ON COLUMN ${_prefix}sys_role.is_sys IS '系统内置(1是 0否)'; COMMENT ON COLUMN ${_prefix}sys_role.is_show IS '是否显示'; COMMENT ON COLUMN ${_prefix}sys_role.user_type IS '用户类型(employee员工 member会员)'; COMMENT ON COLUMN ${_prefix}sys_role.desktop_url IS '桌面地址(仪表盘地址)'; -COMMENT ON COLUMN ${_prefix}sys_role.data_scope IS '数据范围设置(0未设置 1全部数据 2自定义数据)'; +COMMENT ON COLUMN ${_prefix}sys_role.data_scope IS '数据范围(0未设置 1全部数据 2自定义数据)'; COMMENT ON COLUMN ${_prefix}sys_role.biz_scope IS '适应业务范围(不同的功能,不同的数据权限支持)'; COMMENT ON COLUMN ${_prefix}sys_role.sys_codes IS '包含系统(多个用逗号隔开)'; COMMENT ON COLUMN ${_prefix}sys_role.status IS '状态(0正常 1删除 2停用)'; @@ -1588,6 +1615,7 @@ COMMENT ON COLUMN ${_prefix}sys_role_data_scope.role_code IS '控制角色编码 COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_type IS '控制类型'; COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_data IS '控制数据'; COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_permi IS '控制权限'; +COMMENT ON COLUMN ${_prefix}sys_role_data_scope.menu_code IS '菜单编码'; COMMENT ON TABLE ${_prefix}sys_role_menu IS '角色与菜单关联表'; COMMENT ON COLUMN ${_prefix}sys_role_menu.role_code IS '角色编码'; COMMENT ON COLUMN ${_prefix}sys_role_menu.menu_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 2ad1f352..70a5af87 100644 --- a/modules/core/src/main/resources/db/create/postgresql/core.sql +++ b/modules/core/src/main/resources/db/create/postgresql/core.sql @@ -2,6 +2,31 @@ /* Create Tables */ +-- 业务分类 +CREATE TABLE ${_prefix}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}gen_table ( @@ -79,31 +104,6 @@ CREATE TABLE ${_prefix}sys_area ) WITHOUT OIDS; --- 业务分类 -CREATE TABLE ${_prefix}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 ( @@ -492,6 +492,21 @@ CREATE TABLE ${_prefix}sys_menu ) WITHOUT OIDS; +-- 菜单数据权限 +CREATE TABLE ${_prefix}sys_menu_data_scope +( + id varchar(64) NOT NULL, + role_code varchar(64) NOT NULL, + menu_code varchar(64) NOT NULL, + rule_name varchar(100), + rule_type char(1), + rule_config text, + status char(1), + remarks varchar(500), + PRIMARY KEY (id) +) WITHOUT OIDS; + + -- 模块表 CREATE TABLE ${_prefix}sys_module ( @@ -767,7 +782,8 @@ CREATE TABLE ${_prefix}sys_role_data_scope ctrl_type varchar(20) NOT NULL, ctrl_data varchar(64) NOT NULL, ctrl_permi varchar(64) NOT NULL, - PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi) + menu_code varchar(64) DEFAULT '0' NOT NULL, + PRIMARY KEY (role_code, ctrl_type, ctrl_data, ctrl_permi, menu_code) ) WITHOUT OIDS; @@ -934,6 +950,8 @@ CREATE INDEX idx_sys_menu_sc ON ${_prefix}sys_menu (sys_code); CREATE INDEX idx_sys_menu_is ON ${_prefix}sys_menu (is_show); CREATE INDEX idx_sys_menu_mcs ON ${_prefix}sys_menu (module_codes); CREATE INDEX idx_sys_menu_wt ON ${_prefix}sys_menu (weight); +CREATE INDEX idx_sys_menu_ds_mc ON ${_prefix}sys_menu_data_scope (menu_code); +CREATE INDEX idx_sys_menu_ds_rc ON ${_prefix}sys_menu_data_scope (role_code); CREATE INDEX idx_sys_module_status ON ${_prefix}sys_module (status); CREATE INDEX idx_sys_msg_inner_cb ON ${_prefix}sys_msg_inner (create_by); CREATE INDEX idx_sys_msg_inner_status ON ${_prefix}sys_msg_inner (status); @@ -999,6 +1017,25 @@ CREATE INDEX idx_sys_user_cc ON ${_prefix}sys_user (corp_code); /* Comments */ +COMMENT ON TABLE ${_prefix}biz_category IS '业务分类'; +COMMENT ON COLUMN ${_prefix}biz_category.category_code IS '流程分类'; +COMMENT ON COLUMN ${_prefix}biz_category.view_code IS '分类代码'; +COMMENT ON COLUMN ${_prefix}biz_category.category_name IS '分类名称'; +COMMENT ON COLUMN ${_prefix}biz_category.parent_code IS '父级编号'; +COMMENT ON COLUMN ${_prefix}biz_category.parent_codes IS '所有父级编号'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_sort IS '排序号(升序)'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_sorts IS '所有排序号'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_leaf IS '是否最末级'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_level IS '层次级别'; +COMMENT ON COLUMN ${_prefix}biz_category.tree_names IS '全节点名'; +COMMENT ON COLUMN ${_prefix}biz_category.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}biz_category.create_by IS '创建者'; +COMMENT ON COLUMN ${_prefix}biz_category.create_date IS '创建时间'; +COMMENT ON COLUMN ${_prefix}biz_category.update_by IS '更新者'; +COMMENT ON COLUMN ${_prefix}biz_category.update_date IS '更新时间'; +COMMENT ON COLUMN ${_prefix}biz_category.remarks IS '备注信息'; +COMMENT ON COLUMN ${_prefix}biz_category.corp_code IS '租户代码'; +COMMENT ON COLUMN ${_prefix}biz_category.corp_name IS '租户名称'; COMMENT ON TABLE ${_prefix}gen_table IS '代码生成表'; COMMENT ON COLUMN ${_prefix}gen_table.table_name IS '表名'; COMMENT ON COLUMN ${_prefix}gen_table.class_name IS '实体类名称'; @@ -1058,25 +1095,6 @@ 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}biz_category IS '业务分类'; -COMMENT ON COLUMN ${_prefix}biz_category.category_code IS '流程分类'; -COMMENT ON COLUMN ${_prefix}biz_category.view_code IS '分类代码'; -COMMENT ON COLUMN ${_prefix}biz_category.category_name IS '分类名称'; -COMMENT ON COLUMN ${_prefix}biz_category.parent_code IS '父级编号'; -COMMENT ON COLUMN ${_prefix}biz_category.parent_codes IS '所有父级编号'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_sort IS '排序号(升序)'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_sorts IS '所有排序号'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_leaf IS '是否最末级'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_level IS '层次级别'; -COMMENT ON COLUMN ${_prefix}biz_category.tree_names IS '全节点名'; -COMMENT ON COLUMN ${_prefix}biz_category.status IS '状态(0正常 1删除 2停用)'; -COMMENT ON COLUMN ${_prefix}biz_category.create_by IS '创建者'; -COMMENT ON COLUMN ${_prefix}biz_category.create_date IS '创建时间'; -COMMENT ON COLUMN ${_prefix}biz_category.update_by IS '更新者'; -COMMENT ON COLUMN ${_prefix}biz_category.update_date IS '更新时间'; -COMMENT ON COLUMN ${_prefix}biz_category.remarks IS '备注信息'; -COMMENT ON COLUMN ${_prefix}biz_category.corp_code IS '租户代码'; -COMMENT ON COLUMN ${_prefix}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 '公司代码'; @@ -1375,6 +1393,15 @@ COMMENT ON COLUMN ${_prefix}sys_menu.extend_d2 IS '扩展 Date 2'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_d3 IS '扩展 Date 3'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_d4 IS '扩展 Date 4'; COMMENT ON COLUMN ${_prefix}sys_menu.extend_json IS '扩展 JSON'; +COMMENT ON TABLE ${_prefix}sys_menu_data_scope IS '菜单数据权限'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.id IS '编号'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.role_code IS '角色编码'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.menu_code IS '菜单编码'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_name IS '规则名称'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_type IS '规则类型(1 角色数据范围 2自定义条件规则 3自定义SQL)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.rule_config IS '规则配置(JSON)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.status IS '状态(0正常 1删除 2停用)'; +COMMENT ON COLUMN ${_prefix}sys_menu_data_scope.remarks IS '备注信息'; COMMENT ON TABLE ${_prefix}sys_module IS '模块表'; COMMENT ON COLUMN ${_prefix}sys_module.module_code IS '模块编码'; COMMENT ON COLUMN ${_prefix}sys_module.module_name IS '模块名称'; @@ -1551,7 +1578,7 @@ COMMENT ON COLUMN ${_prefix}sys_role.is_sys IS '系统内置(1是 0否)'; COMMENT ON COLUMN ${_prefix}sys_role.is_show IS '是否显示'; COMMENT ON COLUMN ${_prefix}sys_role.user_type IS '用户类型(employee员工 member会员)'; COMMENT ON COLUMN ${_prefix}sys_role.desktop_url IS '桌面地址(仪表盘地址)'; -COMMENT ON COLUMN ${_prefix}sys_role.data_scope IS '数据范围设置(0未设置 1全部数据 2自定义数据)'; +COMMENT ON COLUMN ${_prefix}sys_role.data_scope IS '数据范围(0未设置 1全部数据 2自定义数据)'; COMMENT ON COLUMN ${_prefix}sys_role.biz_scope IS '适应业务范围(不同的功能,不同的数据权限支持)'; COMMENT ON COLUMN ${_prefix}sys_role.sys_codes IS '包含系统(多个用逗号隔开)'; COMMENT ON COLUMN ${_prefix}sys_role.status IS '状态(0正常 1删除 2停用)'; @@ -1588,6 +1615,7 @@ COMMENT ON COLUMN ${_prefix}sys_role_data_scope.role_code IS '控制角色编码 COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_type IS '控制类型'; COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_data IS '控制数据'; COMMENT ON COLUMN ${_prefix}sys_role_data_scope.ctrl_permi IS '控制权限'; +COMMENT ON COLUMN ${_prefix}sys_role_data_scope.menu_code IS '菜单编码'; COMMENT ON TABLE ${_prefix}sys_role_menu IS '角色与菜单关联表'; COMMENT ON COLUMN ${_prefix}sys_role_menu.role_code IS '角色编码'; COMMENT ON COLUMN ${_prefix}sys_role_menu.menu_code IS '菜单编码';