From 8ab0c4efd8e121e43b2f3a7f6a0923118ff88b56 Mon Sep 17 00:00:00 2001 From: ye1023 <12588209+ye1023@user.noreply.gitee.com> Date: Mon, 1 Jun 2026 10:34:10 +0800 Subject: [PATCH] =?UTF-8?q?yxk-20260601-=E6=89=80=E5=8A=A1=E4=BC=9A?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6=E5=8F=8A=E5=8F=91=E8=B5=B7=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BgPartymatterController.java | 47 ++++++++++++++++--- .../bgpartymatter/entity/BgPartymatter.java | 4 ++ .../V20260529_1__add_officematter_ledger.sql | 40 ++++++++++++++++ 3 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/v380/V20260529_1__add_officematter_ledger.sql diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java index 6bbb384..0b66ed5 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java @@ -40,6 +40,7 @@ import java.text.SimpleDateFormat; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; /** * @Description: 党委会 @@ -53,6 +54,8 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; @Slf4j public class BgPartymatterController extends JeecgController { + private static final String DEFAULT_MEETING_TYPE = "party"; + @Autowired private IBgPartymatterService bgPartymatterService; @@ -101,12 +104,13 @@ public class BgPartymatterController extends JeecgController add(@RequestBody BgPartymatter bgPartymatter) { if (oConvertUtils.isEmpty(bgPartymatter.getDelFlag())) { bgPartymatter.setDelFlag("0"); } + fillDefaultMeetingTypeForCreate(bgPartymatter); fillGeneratedNumber(bgPartymatter); bgPartymatterService.save(bgPartymatter); return Result.OK("添加成功!"); @@ -119,9 +123,10 @@ public class BgPartymatterController extends JeecgController edit(@RequestBody BgPartymatter bgPartymatter) { + fillMeetingTypeForUpdate(bgPartymatter); fillGeneratedNumber(bgPartymatter); bgPartymatterService.updateById(bgPartymatter); return Result.OK("编辑成功!"); @@ -142,12 +147,39 @@ public class BgPartymatterController extends JeecgController delete(@RequestParam(name="id",required=true) String id) { bgPartymatterService.delMain(id); @@ -181,7 +213,7 @@ public class BgPartymatterController extends JeecgController deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.bgPartymatterService.delBatchMain(Arrays.asList(ids.split(","))); @@ -192,17 +224,18 @@ public class BgPartymatterController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, BgPartymatter.class); diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/entity/BgPartymatter.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/entity/BgPartymatter.java index 1b9d692..b965a56 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/entity/BgPartymatter.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/entity/BgPartymatter.java @@ -57,6 +57,10 @@ public class BgPartymatter implements Serializable { @Excel(name = "年份", width = 15) @Schema(description = "年份") private java.lang.String year; + /**会议类型*/ + @Schema(description = "会议类型:party党委会,office所务会") + @TableField("meeting_type") + private java.lang.String meetingType; /**密级*/ @Excel(name = "密级", width = 15) @Dict(dicCode = "secret_level") diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/v380/V20260529_1__add_officematter_ledger.sql b/jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/v380/V20260529_1__add_officematter_ledger.sql new file mode 100644 index 0000000..f09cc32 --- /dev/null +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/v380/V20260529_1__add_officematter_ledger.sql @@ -0,0 +1,40 @@ +-- 所务会台账:党委会和所务会共用 bg_partymatter,通过 meeting_type 隔离数据。 +SET @add_meeting_type_sql = IF( + (SELECT COUNT(1) + FROM information_schema.columns + WHERE table_schema = DATABASE() + AND table_name = 'bg_partymatter' + AND column_name = 'meeting_type') = 0, + 'ALTER TABLE `bg_partymatter` ADD COLUMN `meeting_type` varchar(20) DEFAULT ''party'' COMMENT ''会议类型:party党委会,office所务会''', + 'SELECT 1' +); +PREPARE add_meeting_type_stmt FROM @add_meeting_type_sql; +EXECUTE add_meeting_type_stmt; +DEALLOCATE PREPARE add_meeting_type_stmt; + +UPDATE `bg_partymatter` +SET `meeting_type` = 'party' +WHERE `meeting_type` IS NULL OR `meeting_type` = ''; + +-- 所务会菜单 +INSERT IGNORE INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2026052900010000000', NULL, '所务会', '/bg/bgpartymatter/bgOfficematterList', 'bg/bgpartymatter/BgOfficematterList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2026-05-29 00:00:00', NULL, NULL, 0); + +-- 所务会权限控制 +INSERT IGNORE INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026052900010000001', '2026052900010000000', '添加所务会', NULL, NULL, 0, NULL, NULL, 2, 'bgofficematter:bg_officematter:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-05-29 00:00:00', NULL, NULL, 0, 0, '1', 0); + +INSERT IGNORE INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026052900010000002', '2026052900010000000', '编辑所务会', NULL, NULL, 0, NULL, NULL, 2, 'bgofficematter:bg_officematter:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-05-29 00:00:00', NULL, NULL, 0, 0, '1', 0); + +INSERT IGNORE INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026052900010000003', '2026052900010000000', '删除所务会', NULL, NULL, 0, NULL, NULL, 2, 'bgofficematter:bg_officematter:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-05-29 00:00:00', NULL, NULL, 0, 0, '1', 0); + +INSERT IGNORE INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026052900010000004', '2026052900010000000', '批量删除所务会', NULL, NULL, 0, NULL, NULL, 2, 'bgofficematter:bg_officematter:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-05-29 00:00:00', NULL, NULL, 0, 0, '1', 0); + +INSERT IGNORE INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026052900010000005', '2026052900010000000', '导出excel_所务会', NULL, NULL, 0, NULL, NULL, 2, 'bgofficematter:bg_officematter:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-05-29 00:00:00', NULL, NULL, 0, 0, '1', 0); + +INSERT IGNORE INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2026052900010000006', '2026052900010000000', '导入excel_所务会', NULL, NULL, 0, NULL, NULL, 2, 'bgofficematter:bg_officematter:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2026-05-29 00:00:00', NULL, NULL, 0, 0, '1', 0);