diff --git a/db/24年6月功能安全中心变更.sql b/db/24年6月功能安全中心变更.sql
new file mode 100644
index 00000000..cc83c117
--- /dev/null
+++ b/db/24年6月功能安全中心变更.sql
@@ -0,0 +1,103 @@
+drop table if exists pay_functional_safety_center;
+create table pay_functional_safety_center
+(
+ id varchar(36) not null comment 'id',
+ parent_id varchar(36) null comment '父级id',
+ project_type int null comment '项目类型(1功能安全中心,2研究组,3项目组)',
+ project_name varchar(50) null comment '项目名称',
+ principal_id varchar(32) null comment '负责人id',
+ mission_and_objectives varchar(200) null comment '任务及目标',
+ remarks varchar(200) null comment '备注',
+ create_by varchar(32) null comment '创建人',
+ create_time datetime null comment '创建时间',
+ update_by varchar(32) null comment '更新人',
+ update_time datetime null comment '更新时间',
+ constraint Index_1
+ unique (id)
+)
+ comment '功能安全中心';
+
+alter table pay_functional_safety_center
+ add primary key (id);
+drop table if exists pay_functional_safety_center_subitem;
+create table pay_functional_safety_center_subitem
+(
+ id varchar(36) not null comment 'id',
+ project_id varchar(36) not null comment '项目id',
+ company_id varchar(32) null comment '成员单位id',
+ remarks varchar(50) null comment '备注',
+ create_by varchar(32) null comment '创建人',
+ create_time datetime null comment '创建时间',
+ update_by varchar(32) null comment '更新人',
+ update_time datetime null comment '更新时间',
+ constraint Index_1
+ unique (id)
+)
+ comment '功能安全中心成员';
+
+alter table pay_functional_safety_center_subitem
+ add primary key (id);
+drop table if exists pay_functional_safety_center_subitem_contacts;
+create table pay_functional_safety_center_subitem_contacts
+(
+ id varchar(36) not null comment 'id',
+ project_id varchar(36) not null comment '项目id',
+ subitem_id varchar(36) not null comment '项目成员id',
+ company_id varchar(32) null comment '成员单位id',
+ contacts_id varchar(32) null comment '企业联系人id',
+ remarks varchar(50) null comment '备注',
+ order_num int null comment '序号',
+ create_by varchar(32) null comment '创建人',
+ create_time datetime null comment '创建时间',
+ update_by varchar(32) null comment '更新人',
+ update_time datetime null comment '更新时间',
+ constraint Index_1
+ unique (id)
+)
+ comment '功能安全中心成员-联系人';
+
+alter table pay_functional_safety_center_subitem_contacts
+ add primary key (id);
+
+insert into sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time, update_by, update_time)
+values ('1803314563741982722', '1432280766382727169', '功能安全中心会议', '9', '', 9.00, 1, 'LKGLZ', '2024-06-19 14:31:11', 'LKGLZ', '2024-06-25 10:40:33');
+
+alter table pay_meeting
+ add safety_center_id varchar(50) null comment '功能安全中心id';
+
+ALTER TABLE pay_meeting
+ MODIFY COLUMN `remind` tinyint(1) NULL DEFAULT 0 COMMENT '是否提醒';
+
+-- 功能安全中心菜单权限
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808322558888558593', '1802969401866113025', '资料状态(嘉宾是否可以在企业端上传)', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:guestsUploadFileFlag', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 10:11:10', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097862171545601', '1802969401866113025', '删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:18:18', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097770144321537', '1802969401866113025', '编辑', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:56', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097712564916226', '1802969401866113025', '批量删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:42', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097643329540097', '1802969401866113025', '导出', '', NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:26', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097593895473153', '1802969401866113025', '添加参会人', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:17:14', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097528275587074', '1802969401866113025', '查询', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeetingSituation:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:16:58', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097135822950401', '1802967227660554241', '新增', '', NULL, NULL, NULL, 2, 'safetyCenterMember:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:15:25', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808097037156143105', '1802967227660554241', '编辑', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:15:01', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096969082589186', '1802967227660554241', '删除', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:14:45', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096803780874242', '1802967227660554241', '批量删除', '', NULL, NULL, NULL, 2, 'safetyCenterMember:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:14:05', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096742850220033', '1802967227660554241', '下载模板', '', NULL, NULL, NULL, 2, 'safetyCenterMember:downTemplate', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:13:51', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096637346697217', '1802967227660554241', '导出', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:13:26', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096551610929154', '1802967227660554241', '导入', '', NULL, NULL, NULL, 2, 'safetyCenterMember:import', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:13:05', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096433390276610', '1802967227660554241', '查询', NULL, NULL, NULL, NULL, 2, 'safetyCenterMember:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:12:37', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096164627664897', '1802970571397451777', '删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:11:33', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096100412870657', '1802970571397451777', '编辑', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:11:18', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808096041596145666', '1802970571397451777', '上传文件', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:upload', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:11:04', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095978861940737', '1802970571397451777', '会议纪要', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:uploadCouncil', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:10:49', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095827002970113', '1802970571397451777', '发布', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:publish', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:10:13', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095745981599745', '1802970571397451777', '批量删除', '', NULL, NULL, NULL, 2, 'safetyCenterMeeting:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:09:53', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095649277726722', '1802970571397451777', '导出', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeeting:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:09:30', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095579434176513', '1802970571397451777', '新增', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeeting:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:09:14', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095482008883201', '1802970571397451777', '查询', NULL, NULL, NULL, NULL, 2, 'safetyCenterMeeting:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:08:50', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095111647645697', '1802631077112610817', '在研项目', NULL, NULL, NULL, NULL, 2, 'safetyCenter:underStudyProject', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:07:22', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808095031213477890', '1802631077112610817', '删除', NULL, NULL, NULL, NULL, 2, 'safetyCenter:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:07:03', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094969842421761', '1802631077112610817', '基本信息维护', '', NULL, NULL, NULL, 2, 'safetyCenter:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:06:48', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094888670056450', '1802631077112610817', '功能安全中心会议', NULL, NULL, NULL, NULL, 2, 'safetyCenter:meetingMaintenance', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:06:29', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094800346402817', '1802631077112610817', '其他资料分发', NULL, NULL, NULL, NULL, 2, 'safetyCenter:fileMaintenance', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:06:08', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094623023812610', '1802631077112610817', '批量删除', NULL, NULL, NULL, NULL, 2, 'safetyCenter:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:05:26', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094527150411777', '1802631077112610817', '新增', NULL, NULL, NULL, NULL, 2, 'safetyCenter:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:05:03', NULL, NULL, 0, 0, '1', 0, 1);
+INSERT 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`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1808094461882847233', '1802631077112610817', '查询', '', NULL, NULL, NULL, 2, 'safetyCenter:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-02 19:04:47', NULL, NULL, 0, 0, '1', 0, 1);
diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/api/vo/IdsMapBody.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/api/vo/IdsMapBody.java
new file mode 100644
index 00000000..895fe86e
--- /dev/null
+++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/api/vo/IdsMapBody.java
@@ -0,0 +1,18 @@
+package com.jero.common.api.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liJiaRao
+ * @date 2023-11-17 15:27
+ */
+@Data
+public class IdsMapBody {
+ /**id*/
+ @ApiModelProperty(value = "id")
+ private String id;
+ /**ids*/
+ @ApiModelProperty(value = "ids")
+ private String ids;
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java
index eed57f05..fb26b8c1 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/common/ProjectCommon.java
@@ -41,6 +41,14 @@ public class ProjectCommon {
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书,7: 起草组项目)
*/
public final static String PROJECT_TYPE7 = "7";
+ /**
+ * 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书,7: 起草组项目,8: 功能安全中心项目)
+ */
+ public final static String PROJECT_TYPE8 = "8";
+ /**
+ * 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书,7: 起草组项目,8: 打包项目,9: 功能安全中心项目)
+ */
+ public final static String PROJECT_TYPE9 = "9";
/**
* 来源(1:收入合同,2:打包管理)
*/
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml
index 094bae6c..67261834 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml
@@ -133,6 +133,51 @@
AND ppc.id = #{projectId}
+
+ UNION ALL
+ SELECT
+ pfsc.id,
+ g.project_name,
+ '',
+ g.principal_id,
+ su.realname,
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ g.create_time,
+ 9,
+ '',
+ '',
+ g.remarks,
+ '',
+ pfsc.company_id,
+ '',
+ '',
+ '',
+ '',
+ '',
+ '',
+ g.mission_and_objectives,
+ '',
+ '',
+ '',
+ ''
+ FROM
+ pay_functional_safety_center g
+ LEFT JOIN sys_user su ON g.principal_id = su.id
+ LEFT JOIN pay_functional_safety_center_subitem pfsc ON g.id = pfsc.project_id
+
+
+ AND pfsc.id = #{projectId}
+
+
+
+
\ No newline at end of file
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/mapper/xml/PayContactsManagementMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/company/mapper/xml/PayContactsManagementMapper.xml
index e540256c..434d78a5 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/company/mapper/xml/PayContactsManagementMapper.xml
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/mapper/xml/PayContactsManagementMapper.xml
@@ -69,4 +69,11 @@
phone = #{companyLoginVO.phone}
+
+
\ No newline at end of file
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayCompanyManagementService.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayCompanyManagementService.java
index 5bb9f597..2cb6d3bb 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayCompanyManagementService.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayCompanyManagementService.java
@@ -1,6 +1,9 @@
package com.jero.company.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.company.entity.PayCompanyAndContactsManagement;
import com.jero.company.entity.PayCompanyManagement;
@@ -121,4 +124,7 @@ public interface IPayCompanyManagementService extends IService pageSafetyCenter(Page page, QueryWrapper queryWrapper);
+
}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java
index 0bde0375..2af24513 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/IPayContactsManagementService.java
@@ -1,5 +1,6 @@
package com.jero.company.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -85,4 +86,6 @@ public interface IPayContactsManagementService extends IService queryBySafetyCenter(QueryWrapper queryWrapper);
}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java
index eeaf06fd..e4ba21a2 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java
@@ -7,6 +7,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.common.ProjectCommon;
import com.jero.common.common.RoleCommon;
@@ -15,12 +17,10 @@ import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.vo.LoginUser;
-import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.company.common.PayCompanyManagementCommon;
import com.jero.company.common.PayContactsManagementCommon;
-import com.jero.company.entity.MemberInfo;
import com.jero.company.entity.PayCompanyAndContactsManagement;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
@@ -710,6 +710,11 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl pageSafetyCenter(Page page, QueryWrapper queryWrapper) {
+ return payCompanyManagementMapper.pageSafetyCenter(page, queryWrapper);
+ }
+
/**
* 校验企业名称和信用代码是否匹配
* @param payCompanyManagement
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java
index 03113e01..d13bf321 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayContactsManagementServiceImpl.java
@@ -455,4 +455,9 @@ public class PayContactsManagementServiceImpl extends ServiceImpl queryBySafetyCenter(QueryWrapper queryWrapper) {
+ return baseMapper.queryBySafetyCenter(queryWrapper);
+ }
}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/common/SafetyCenterCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/common/SafetyCenterCommon.java
new file mode 100644
index 00000000..b5b66056
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/common/SafetyCenterCommon.java
@@ -0,0 +1,20 @@
+package com.jero.functionalsafetycenter.common;
+
+/**
+ * @author liJiaRao
+ * @date 2024-06-25 10:10
+ */
+public class SafetyCenterCommon {
+ /**
+ * 安全中心
+ */
+ public static final int PROJECT_TYPE_1 = 1;
+ /**
+ * 研究组
+ */
+ public static final int PROJECT_TYPE_2 = 2;
+ /**
+ * 项目组
+ */
+ public static final int PROJECT_TYPE_3 = 3;
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/controller/SafetyCenterController.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/controller/SafetyCenterController.java
new file mode 100644
index 00000000..1c0ab357
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/controller/SafetyCenterController.java
@@ -0,0 +1,298 @@
+package com.jero.functionalsafetycenter.controller;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ArrayUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.jero.common.api.vo.IdsMapBody;
+import com.jero.common.api.vo.Result;
+import com.jero.common.aspect.annotation.AutoLog;
+import com.jero.common.exception.JeroBootException;
+import com.jero.common.system.base.controller.JeroController;
+import com.jero.common.system.query.QueryGenerator;
+import com.jero.common.util.oConvertUtils;
+import com.jero.functionalsafetycenter.common.SafetyCenterCommon;
+import com.jero.functionalsafetycenter.entity.SafetyCenter;
+import com.jero.functionalsafetycenter.service.SafetyCenterService;
+import com.jero.functionalsafetycenter.vo.SafetyCenterEditVO;
+import com.jero.member.entity.TbMemberProjectFile;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 功能安全中心(pay_functional_safety_center)表控制层
+ *
+ * @author xxxxx
+ */
+@Slf4j
+@Api(tags = "功能安全中心")
+@RestController
+@RequestMapping("SafetyCenter")
+public class SafetyCenterController extends JeroController {
+ /**
+ * 服务对象
+ */
+ @Resource
+ private SafetyCenterService safetyCenterService;
+
+ /**
+ * 分页列表查询
+ */
+ @ApiOperation(value = "功能安全中心-分页列表查询", notes = "功能安全中心-分页列表查询")
+ @RequiresPermissions("safetyCenter:search")
+ @GetMapping(value = "/page")
+ public Result> queryPageList(SafetyCenter safetyCenter,
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+ HttpServletRequest req) {
+ QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, req.getParameterMap());
+ //只查询安全中心和研究组
+ ArrayList