Merge branch 'master' into 24年二季度其他
This commit is contained in:
@@ -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);
|
||||
+18
@@ -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;
|
||||
}
|
||||
@@ -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:打包管理)
|
||||
*/
|
||||
|
||||
+45
@@ -133,6 +133,51 @@
|
||||
AND ppc.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 功能安全中心项目-->
|
||||
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
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND pfsc.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="queryProjectList" resultType="com.jero.project.entity.PayCommonProject">
|
||||
<!-- 普通项目-->
|
||||
|
||||
+51
-20
@@ -25,6 +25,8 @@ import com.jero.drafting.entity.PayDraftingGroupSubItem;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemService;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import com.jero.mail.service.IPayMailBillProjectService;
|
||||
@@ -55,6 +57,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -98,6 +101,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
|
||||
@Override
|
||||
public ProjectDetailVO getProjectDetail(String projectId) {
|
||||
@@ -216,9 +221,10 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(!Objects.isNull(payCommonProject.getPack())){
|
||||
projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack())));
|
||||
}
|
||||
// 标协会员和会议,直接查询企业,联系人
|
||||
// 标协会员和会议,直接查询企业,联系人 加功能安全中心
|
||||
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)
|
||||
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE3)){
|
||||
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE3)
|
||||
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
|
||||
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagement)){
|
||||
throw new JeroBootException("企业不存在!");
|
||||
@@ -236,25 +242,50 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
projectDetailVO.setPostalCodeCompany(payCompanyManagement.getPostalCode());
|
||||
projectDetailVO.setCompanyAddress(payCompanyManagement.getCompanyAddress());
|
||||
projectDetailVO.setLinkBankNumber(payCompanyManagement.getLinkBankNumber());
|
||||
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagement)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
//功能安全中心添加企业联系人
|
||||
if (Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
|
||||
List<SafetyCenterSubitemContacts> subitemContacts = safetyCenterSubitemContactsService.listBySubitemId(projectId);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = new ArrayList<>();
|
||||
for (SafetyCenterSubitemContacts subitemContact : subitemContacts) {
|
||||
PayContactsManagement contactsManagement = payContactsManagementService.getById(subitemContact.getContactsId());
|
||||
PayWorkingGroupSubItemContacts p = new PayWorkingGroupSubItemContacts();
|
||||
p.setContactsTemporaryName(contactsManagement.getName());
|
||||
p.setGender(contactsManagement.getGender());
|
||||
if(!Objects.isNull(contactsManagement.getGender())){
|
||||
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(contactsManagement.getGender())));
|
||||
}
|
||||
p.setPost(contactsManagement.getPost());
|
||||
if(!StringUtils.isBlank(contactsManagement.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(contactsManagement.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
|
||||
}
|
||||
p.setPostalCodeContacts(contactsManagement.getPostalCode());
|
||||
p.setContactAddress(contactsManagement.getContactAddress());
|
||||
listPayWorkingGroupSubItemContacts.add(p);
|
||||
}
|
||||
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
|
||||
}else {
|
||||
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagement)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
projectDetailVO.setName(payContactsManagement.getName());
|
||||
projectDetailVO.setGender(payContactsManagement.getGender());
|
||||
if(!Objects.isNull(payContactsManagement.getGender())){
|
||||
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagement.getGender())));
|
||||
}
|
||||
projectDetailVO.setPost(payContactsManagement.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagement.getPhone())){
|
||||
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagement.getEmail())){
|
||||
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail()));
|
||||
}
|
||||
projectDetailVO.setPostalCodeContacts(payContactsManagement.getPostalCode());
|
||||
projectDetailVO.setContactAddress(payContactsManagement.getContactAddress());
|
||||
}
|
||||
projectDetailVO.setName(payContactsManagement.getName());
|
||||
projectDetailVO.setGender(payContactsManagement.getGender());
|
||||
if(!Objects.isNull(payContactsManagement.getGender())){
|
||||
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagement.getGender())));
|
||||
}
|
||||
projectDetailVO.setPost(payContactsManagement.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagement.getPhone())){
|
||||
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagement.getEmail())){
|
||||
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail()));
|
||||
}
|
||||
projectDetailVO.setPostalCodeContacts(payContactsManagement.getPostalCode());
|
||||
projectDetailVO.setContactAddress(payContactsManagement.getContactAddress());
|
||||
|
||||
}else{
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagementTemporary)){
|
||||
|
||||
+1
@@ -107,6 +107,7 @@ public class SendMessageServiceImpl implements SendMessageService {
|
||||
Integer sendEmailFlag = sendMessageDTO.getSendEmailFlag();
|
||||
LoginUser loginUser = sysBaseAPI.getUserByName(fromUser);
|
||||
if(templateType.contains(ProjectCommon.MESSAGE_TYPE2) && !CommonConstant.DEL_FLAG_0.equals(sendEmailFlag)){
|
||||
log.info("开始发送邮件");
|
||||
if(StringUtils.isEmpty(sendMessageDTO.getEmail())){
|
||||
throw new JeroBootException("邮件发送,邮箱地址不能为空!");
|
||||
}
|
||||
|
||||
+47
-2
@@ -26,6 +26,11 @@ import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.company.vo.UpdateInvoicePram;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterService;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemService;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
@@ -34,7 +39,6 @@ import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
@@ -96,7 +100,8 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
|
||||
private IPayMemberProjectSubitemService memberProjectSubitemService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
/**
|
||||
* 企业管理-分页列表查询
|
||||
* (管理端查询dataSource = 1的数据;报名查询全部的数据)
|
||||
@@ -255,6 +260,46 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表查询 - 功能安全中心查询企业
|
||||
*
|
||||
* @param pageNo 页数
|
||||
* @param pageSize 条数
|
||||
*/
|
||||
@ApiOperation(value="功能安全中心查询企业", notes="功能安全中心查询企业")
|
||||
@GetMapping(value = "/listSafetyCenter")
|
||||
public Result<?> queryPageSafetyCenter(@RequestParam(name="projectId") String projectId,
|
||||
@RequestParam(name="type",required = false) String type,
|
||||
@RequestParam(name="companyName",required = false) String companyName,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
|
||||
QueryWrapper<PayCompanyManagement> queryWrapper = new QueryWrapper<>();
|
||||
if ("2".equals(type)){
|
||||
queryWrapper.eq("pfscs.project_id",safetyCenter.getId());
|
||||
}else {
|
||||
queryWrapper.eq("pfscs.project_id",safetyCenter.getParentId());
|
||||
}
|
||||
queryWrapper.like(StringUtils.isNotBlank(companyName),"pcm.company_name",companyName);
|
||||
Page<PayCompanyManagement> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayCompanyManagement> pageList = payCompanyManagementService.pageSafetyCenter(page, queryWrapper);
|
||||
List<PayCompanyManagement> listPayCompanyManagement = pageList.getRecords();
|
||||
if(!CollectionUtils.isEmpty(listPayCompanyManagement)){
|
||||
try {
|
||||
listPayCompanyManagement.forEach(p->{
|
||||
if (!StringUtils.isBlank(p.getCompanyPhone())){
|
||||
p.setCompanyPhone(PasswordUtil.decrypt(p.getCompanyPhone()));
|
||||
}
|
||||
});
|
||||
pageList.setRecords(listPayCompanyManagement);
|
||||
}catch (Exception e){
|
||||
log.error("公司电话解密异常!",e);
|
||||
}
|
||||
}
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加-会议对外开放接口
|
||||
*
|
||||
|
||||
+45
-1
@@ -22,6 +22,8 @@ import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.company.service.ProjectCountService;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterService;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
@@ -96,7 +98,8 @@ public class PayContactsManagementController extends JeroController<PayContactsM
|
||||
//private IMemberInfoService memberInfoService;
|
||||
@Resource
|
||||
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
|
||||
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
@Value("${defaultPassword}")
|
||||
private String defaultPassword;
|
||||
|
||||
@@ -818,6 +821,47 @@ public class PayContactsManagementController extends JeroController<PayContactsM
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过企业id查询用户
|
||||
*
|
||||
* @param companyId 企业id
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="功能安全中心查询企业查询用户", notes="功能安全中心查询企业查询用户")
|
||||
@GetMapping(value = "/queryBySafetyCenter")
|
||||
public Result<?> queryBySafetyCenter(@RequestParam(name="projectId") String projectId,
|
||||
@RequestParam(name="type",required = false) String type,
|
||||
@RequestParam(name="companyId",required = false) String companyId,
|
||||
@RequestParam(name="name",required = false) String name) {
|
||||
if (StringUtils.isBlank(companyId)||StringUtils.isBlank(projectId)){
|
||||
return Result.OK();
|
||||
}
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
|
||||
|
||||
QueryWrapper<PayContactsManagement> queryWrapper = new QueryWrapper<>();
|
||||
if ("2".equals(type)){
|
||||
queryWrapper.eq("pfscsc.project_id", safetyCenter.getId());
|
||||
}else {
|
||||
queryWrapper.eq("pfscsc.project_id", safetyCenter.getParentId());
|
||||
}
|
||||
queryWrapper.eq("pfscsc.company_id", companyId);
|
||||
if(!StringUtils.isEmpty(name)){
|
||||
queryWrapper.like("pcm.name", name);
|
||||
}
|
||||
List<PayContactsManagement> list = payContactsManagementService.queryBySafetyCenter(queryWrapper);
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
list.forEach(p->{
|
||||
if(!StringUtils.isBlank(p.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(p.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
|
||||
}
|
||||
});
|
||||
}
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
|
||||
+6
@@ -1,7 +1,11 @@
|
||||
package com.jero.company.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -27,4 +31,6 @@ public interface PayCompanyManagementMapper extends BaseMapper<PayCompanyManagem
|
||||
void updateMemberCompanyName(@Param("memberId") String memberId, @Param("companyName") String companyName);
|
||||
|
||||
Integer checkMemberCompanyName(@Param("memberId") String memberId, @Param("companyName") String companyName);
|
||||
|
||||
IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, @Param(Constants.WRAPPER) QueryWrapper<PayCompanyManagement> queryWrapper);
|
||||
}
|
||||
|
||||
+4
@@ -1,8 +1,10 @@
|
||||
package com.jero.company.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.vo.CompanyLoginVO;
|
||||
@@ -39,4 +41,6 @@ public interface PayContactsManagementMapper extends BaseMapper<PayContactsManag
|
||||
List<PayContactsManagement> listPayContactsManagement(List<String> phoneList);
|
||||
|
||||
void forgetPassword(@Param("companyLoginVO") CompanyLoginVO companyLoginVO);
|
||||
|
||||
List<PayContactsManagement> queryBySafetyCenter(@Param(Constants.WRAPPER) QueryWrapper<PayContactsManagement> queryWrapper);
|
||||
}
|
||||
|
||||
+7
@@ -39,4 +39,11 @@
|
||||
and member_id != #{memberId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="pageSafetyCenter" resultType="com.jero.company.entity.PayCompanyManagement">
|
||||
select pcm.*
|
||||
from pay_company_management pcm
|
||||
left join pay_functional_safety_center_subitem pfscs on pcm.id = pfscs.company_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
+7
@@ -69,4 +69,11 @@
|
||||
phone = #{companyLoginVO.phone}
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<select id="queryBySafetyCenter" resultType="com.jero.company.entity.PayContactsManagement">
|
||||
select distinct pcm.*
|
||||
from pay_functional_safety_center_subitem_contacts pfscsc
|
||||
left join pay_contacts_management pcm on pcm.id = pfscsc.contacts_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
+6
@@ -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<PayCompanyManagem
|
||||
void updateMemberCompanyName(String memberId, String companyName);
|
||||
|
||||
void checkMemberCompanyName(String memberId, String companyName);
|
||||
|
||||
IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, QueryWrapper<PayCompanyManagement> queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -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<PayContactsManag
|
||||
PayContactsManagement checkByCompanyIdAndId(String id, String companyId);
|
||||
|
||||
PayContactsManagement checkByCompanyIdAndName(String name, String companyId);
|
||||
|
||||
List<PayContactsManagement> queryBySafetyCenter(QueryWrapper<PayContactsManagement> queryWrapper);
|
||||
}
|
||||
|
||||
+7
-2
@@ -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<PayCompanyManag
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, QueryWrapper<PayCompanyManagement> queryWrapper) {
|
||||
return payCompanyManagementMapper.pageSafetyCenter(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验企业名称和信用代码是否匹配
|
||||
* @param payCompanyManagement
|
||||
|
||||
+5
@@ -455,4 +455,9 @@ public class PayContactsManagementServiceImpl extends ServiceImpl<PayContactsMan
|
||||
PayContactsManagement payContactsManagement = baseMapper.selectOne(query);
|
||||
return payContactsManagement;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayContactsManagement> queryBySafetyCenter(QueryWrapper<PayContactsManagement> queryWrapper) {
|
||||
return baseMapper.queryBySafetyCenter(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+20
@@ -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;
|
||||
}
|
||||
+298
@@ -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<SafetyCenter, SafetyCenterService> {
|
||||
/**
|
||||
* 服务对象
|
||||
*/
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@ApiOperation(value = "功能安全中心-分页列表查询", notes = "功能安全中心-分页列表查询")
|
||||
@RequiresPermissions("safetyCenter:search")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<SafetyCenter>> queryPageList(SafetyCenter safetyCenter,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, req.getParameterMap());
|
||||
//只查询安全中心和研究组
|
||||
ArrayList<Object> objects = new ArrayList<>();
|
||||
objects.add(SafetyCenterCommon.PROJECT_TYPE_1);
|
||||
objects.add(SafetyCenterCommon.PROJECT_TYPE_2);
|
||||
queryWrapper.lambda().in(SafetyCenter::getProjectType,objects);
|
||||
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@ApiOperation(value = "功能安全中心-项目组分页列表查询", notes = "功能安全中心-分页列表查询")
|
||||
@RequiresPermissions("safetyCenter:search")
|
||||
@GetMapping(value = "/projectGroupPage")
|
||||
public Result<IPage<SafetyCenter>> queryProjectGroupPageList(SafetyCenter safetyCenter,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, req.getParameterMap());
|
||||
//只查询项目组
|
||||
queryWrapper.lambda().eq(SafetyCenter::getProjectType,SafetyCenterCommon.PROJECT_TYPE_3);
|
||||
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能安全中心-企业端-分页列表查询
|
||||
* @param pageNo 页数
|
||||
* @param pageSize 条数
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="功能安全中心-企业端-分页列表查询")
|
||||
@GetMapping(value = "/queryCompanyPageList")
|
||||
public Result<?> queryCompanyPageList(SafetyCenter safetyCenter,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SafetyCenter> pageList = safetyCenterService.queryCompanyPageList(page, safetyCenter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能安全中心-企业端-分页列表查询
|
||||
* @param pageNo 页数
|
||||
* @param pageSize 条数
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="功能安全中心-企业端-项目组分页列表查询")
|
||||
@GetMapping(value = "/queryCompanyProjectGroupPageList")
|
||||
public Result<?> queryCompanyProjectGroupPageList(SafetyCenter safetyCenter,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
|
||||
safetyCenter.setProjectType(SafetyCenterCommon.PROJECT_TYPE_3);
|
||||
IPage<SafetyCenter> pageList = safetyCenterService.queryCompanyPageList(page, safetyCenter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
@ApiOperation(value = "功能安全中心-列表查询", notes = "功能安全中心-列表查询")
|
||||
@RequiresPermissions("safetyCenter:search")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<SafetyCenter>> queryList(SafetyCenter safetyCenter,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, req.getParameterMap());
|
||||
List<SafetyCenter> list = safetyCenterService.list(queryWrapper);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心-添加研究组")
|
||||
@ApiOperation(value = "功能安全中心-添加研究组", notes = "功能安全中心-添加")
|
||||
@RequiresPermissions("safetyCenter:add")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<String> add(@Validated @RequestBody SafetyCenter safetyCenter) {
|
||||
safetyCenter.setProjectType(SafetyCenterCommon.PROJECT_TYPE_2);
|
||||
safetyCenterService.add(safetyCenter);
|
||||
return Result.OK(Result.ADD_SUCCESS);
|
||||
}
|
||||
/**
|
||||
* 添加
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心-添加项目组")
|
||||
@ApiOperation(value = "功能安全中心-添加项目组", notes = "功能安全中心-添加项目组")
|
||||
@RequiresPermissions("safetyCenter:add")
|
||||
@PostMapping(value = "/addProjectGroup")
|
||||
public Result<String> addProjectGroup(@Validated @RequestBody SafetyCenter safetyCenter) {
|
||||
safetyCenter.setProjectType(SafetyCenterCommon.PROJECT_TYPE_3);
|
||||
|
||||
safetyCenterService.add(safetyCenter);
|
||||
return Result.OK(Result.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心-编辑研究组")
|
||||
@ApiOperation(value = "功能安全中心-编辑研究组", notes = "功能安全中心-编辑")
|
||||
@RequiresPermissions("safetyCenter:edit")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<String> edit(@Validated @RequestBody SafetyCenterEditVO safetyCenter) {
|
||||
safetyCenterService.editById(safetyCenter);
|
||||
return Result.OK(Result.EDIT_SUCCESS);
|
||||
}
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心-编辑项目组")
|
||||
@ApiOperation(value = "功能安全中心-编辑项目组", notes = "功能安全中心-编辑")
|
||||
@RequiresPermissions("safetyCenter:edit")
|
||||
@PostMapping(value = "/editProjectGroup")
|
||||
public Result<String> editProjectGroup(@Validated @RequestBody SafetyCenterEditVO safetyCenter) {
|
||||
safetyCenterService.editById(safetyCenter);
|
||||
return Result.OK(Result.EDIT_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心-通过id删除")
|
||||
@ApiOperation(value = "功能安全中心-通过id删除", notes = "功能安全中心-通过id删除")
|
||||
@RequiresPermissions("safetyCenter:delete")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<Object> delete(@RequestBody IdsMapBody map) {
|
||||
String id = map.getId();
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return Result.error(Result.NULL_ID);
|
||||
}
|
||||
safetyCenterService.deleteById(id);
|
||||
return Result.OK(Result.DELETE_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心-批量删除")
|
||||
@ApiOperation(value = "功能安全中心-批量删除", notes = "功能安全中心-批量删除")
|
||||
@RequiresPermissions("safetyCenter:batchDel")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<Object> deleteBatch(@RequestBody IdsMapBody map) {
|
||||
String ids = map.getIds();
|
||||
if (StringUtils.isBlank(ids)) {
|
||||
return Result.error(Result.NULL_ID);
|
||||
}
|
||||
List<String> idList = Arrays.asList(map.getIds().split(","));
|
||||
this.safetyCenterService.deleteByIds(idList);
|
||||
return Result.OK(Result.DELETE_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心-通过id查询")
|
||||
@ApiOperation(value = "功能安全中心-通过id查询", notes = "功能安全中心-通过id查询")
|
||||
@RequiresPermissions("safetyCenter:search")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<SafetyCenter> queryById(@RequestParam(name = "id") String id) {
|
||||
SafetyCenter safetyCenter = safetyCenterService.queryById(id);
|
||||
if (safetyCenter == null) {
|
||||
throw new JeroBootException(Result.NULL_DATA);
|
||||
}
|
||||
return Result.OK(safetyCenter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@ApiOperation(value = "功能安全中心-导出excel")
|
||||
@RequiresPermissions("safetyCenter:export")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, SafetyCenter safetyCenter) {
|
||||
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, request.getParameterMap());
|
||||
//只查询安全中心和研究组
|
||||
ArrayList<Object> objects = new ArrayList<>();
|
||||
objects.add(SafetyCenterCommon.PROJECT_TYPE_1);
|
||||
objects.add(SafetyCenterCommon.PROJECT_TYPE_2);
|
||||
queryWrapper.lambda().in(SafetyCenter::getProjectType,objects);
|
||||
Page<SafetyCenter> page = new Page<>(-1, -1);
|
||||
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
|
||||
List<SafetyCenter> records = pageList.getRecords();
|
||||
List<SafetyCenter> exportList;
|
||||
// 过滤选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
|
||||
}else {
|
||||
exportList = records;
|
||||
}
|
||||
if (exportList.isEmpty()) {
|
||||
throw new JeroBootException("没有数据");
|
||||
}
|
||||
|
||||
return super.exportListXls(exportList, SafetyCenter.class, "功能安全中心");
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@ApiOperation(value = "功能安全中心-导出项目组excel")
|
||||
@RequiresPermissions("safetyCenter:export")
|
||||
@GetMapping(value = "/exportProjectGroupXls")
|
||||
public ModelAndView exportProjectGroupXls(HttpServletRequest request, SafetyCenter safetyCenter) {
|
||||
QueryWrapper<SafetyCenter> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenter, request.getParameterMap());
|
||||
//只查询项目组
|
||||
queryWrapper.lambda().eq(SafetyCenter::getProjectType,SafetyCenterCommon.PROJECT_TYPE_3);
|
||||
Page<SafetyCenter> page = new Page<>(-1, -1);
|
||||
IPage<SafetyCenter> pageList = safetyCenterService.page(page, queryWrapper);
|
||||
List<SafetyCenter> records = pageList.getRecords();
|
||||
List<SafetyCenter> exportList;
|
||||
// 过滤选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
|
||||
}else {
|
||||
exportList = records;
|
||||
}
|
||||
if (exportList.isEmpty()) {
|
||||
throw new JeroBootException("没有数据");
|
||||
}
|
||||
|
||||
return super.exportListXls(exportList, SafetyCenter.class, "功能安全中心");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+279
@@ -0,0 +1,279 @@
|
||||
package com.jero.functionalsafetycenter.controller;
|
||||
|
||||
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.aspect.annotation.DictPoint;
|
||||
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.system.vo.LoginUser;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterService;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemService;
|
||||
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemImport;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
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.SecurityUtils;
|
||||
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 javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 功能安全中心成员(pay_functional_safety_center_subitem)表控制层
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "功能安全中心成员")
|
||||
@RestController
|
||||
@RequestMapping("SafetyCenterSubitem")
|
||||
public class SafetyCenterSubitemController extends JeroController<SafetyCenterSubitem, SafetyCenterSubitemService> {
|
||||
/**
|
||||
* 服务对象
|
||||
*/
|
||||
@Resource
|
||||
private SafetyCenterSubitemService safetyCenterSubitemService;
|
||||
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMember:search")
|
||||
@ApiOperation(value = "功能安全中心成员-分页列表查询", notes = "功能安全中心成员-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<SafetyCenterSubitem>> queryPageList(SafetyCenterSubitem safetyCenterSubitem,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
Page<SafetyCenterSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.pageList(page, safetyCenterSubitem);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@ApiOperation(value = "功能安全中心成员-企业端-分页列表查询", notes = "功能安全中心成员-分页列表查询")
|
||||
@GetMapping(value = "/pageByCompany")
|
||||
public Result<IPage<SafetyCenterSubitem>> queryCompanyPageList(SafetyCenterSubitem safetyCenterSubitem,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
Page<SafetyCenterSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.pageList(page, safetyCenterSubitem);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMember:")
|
||||
@ApiOperation(value = "功能安全中心成员-列表查询", notes = "功能安全中心成员-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<SafetyCenterSubitem>> queryList(SafetyCenterSubitem safetyCenterSubitem,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<SafetyCenterSubitem> queryWrapper = QueryGenerator.initQueryWrapper(safetyCenterSubitem, req.getParameterMap());
|
||||
List<SafetyCenterSubitem> list = safetyCenterSubitemService.list(queryWrapper);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心成员-添加")
|
||||
@RequiresPermissions("safetyCenterMember:add")
|
||||
@ApiOperation(value = "功能安全中心成员-添加", notes = "功能安全中心成员-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<String> add(@Validated @RequestBody SafetyCenterSubitem safetyCenterSubitem) {
|
||||
safetyCenterSubitemService.add(safetyCenterSubitem);
|
||||
return Result.OK(Result.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心成员-编辑")
|
||||
@RequiresPermissions("safetyCenterMember:edit")
|
||||
@ApiOperation(value = "功能安全中心成员-编辑", notes = "功能安全中心成员-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<String> edit(@Validated @RequestBody SafetyCenterSubitem safetyCenterSubitem) {
|
||||
safetyCenterSubitemService.editById(safetyCenterSubitem);
|
||||
return Result.OK(Result.EDIT_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@DictPoint
|
||||
@AutoLog(value = "功能安全中心成员-企业端-根据项目查询联系人")
|
||||
@ApiOperation(value = "功能安全中心成员-企业端-根据项目查询联系人")
|
||||
@GetMapping(value = "/getItemByProjectId")
|
||||
public Result<SafetyCenterSubitem> getItemByProjectId(@RequestParam(name = "projectId") String projectId) {
|
||||
SafetyCenterSubitem subitem = safetyCenterSubitemService.getItemByProjectId(projectId);
|
||||
return Result.OK(subitem);
|
||||
}
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心成员-企业端-编辑")
|
||||
@ApiOperation(value = "功能安全中心成员-企业端-编辑")
|
||||
@PostMapping(value = "/editByCompany")
|
||||
public Result<String> editByCompany(@Validated @RequestBody SafetyCenterSubitem safetyCenterSubitem) {
|
||||
safetyCenterSubitemService.editById(safetyCenterSubitem);
|
||||
return Result.OK(Result.EDIT_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心成员-通过id删除")
|
||||
@RequiresPermissions("safetyCenterMember:delete")
|
||||
@ApiOperation(value = "功能安全中心成员-通过id删除", notes = "功能安全中心成员-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<Object> delete(@RequestBody IdsMapBody map) {
|
||||
String id = map.getId();
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return Result.error(Result.NULL_ID);
|
||||
}
|
||||
safetyCenterSubitemService.deleteById(id);
|
||||
return Result.OK(Result.DELETE_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心成员-批量删除")
|
||||
@RequiresPermissions("safetyCenterMember:batchDel")
|
||||
@ApiOperation(value = "功能安全中心成员-批量删除", notes = "功能安全中心成员-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<Object> deleteBatch(@RequestBody IdsMapBody map) {
|
||||
String ids = map.getIds();
|
||||
if (StringUtils.isBlank(ids)) {
|
||||
return Result.error(Result.NULL_ID);
|
||||
}
|
||||
List<String> idList = Arrays.asList(map.getIds().split(","));
|
||||
this.safetyCenterSubitemService.deleteByIds(idList);
|
||||
return Result.OK(Result.DELETE_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
@AutoLog(value = "功能安全中心成员-通过id查询")
|
||||
@RequiresPermissions("safetyCenterMember:search")
|
||||
@ApiOperation(value = "功能安全中心成员-通过id查询", notes = "功能安全中心成员-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<SafetyCenterSubitem> queryById(@RequestParam(name = "id") String id) {
|
||||
SafetyCenterSubitem safetyCenterSubitem = safetyCenterSubitemService.queryById(id);
|
||||
if (safetyCenterSubitem == null) {
|
||||
throw new JeroBootException(Result.NULL_DATA);
|
||||
}
|
||||
return Result.OK(safetyCenterSubitem);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMember:import")
|
||||
@ApiOperation(value = "功能安全中心成员-导出excel")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, SafetyCenterSubitem safetyCenterSubitem) {
|
||||
Page<SafetyCenterSubitem> page = new Page<>(-1, -1);
|
||||
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.pageList(page, safetyCenterSubitem);
|
||||
List<SafetyCenterSubitem> records = pageList.getRecords();
|
||||
List<SafetyCenterSubitem> exportList;
|
||||
// 过滤选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||
exportList = records.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
|
||||
}else {
|
||||
exportList = records;
|
||||
}
|
||||
if (exportList.isEmpty()) {
|
||||
throw new JeroBootException("没有数据");
|
||||
}
|
||||
return super.exportListXls(exportList, SafetyCenterSubitem.class, "功能安全中心成员");
|
||||
}
|
||||
|
||||
/**
|
||||
* 模板下载
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMember:downTemplate")
|
||||
@ApiOperation(value = "功能安全中心成员-模板下载")
|
||||
@GetMapping(value = "/downloadExcelModel")
|
||||
public ModelAndView downloadExcelModel() {
|
||||
return super.exportTemplate(SafetyCenterSubitem.class, "功能安全中心成员导入模板");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMember:import")
|
||||
@ApiOperation(value = "功能安全中心成员-通过excel导入数据")
|
||||
@PostMapping(value = "/importExcel")
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
String projectId = request.getParameter("projectId");
|
||||
if (StringUtils.isBlank(projectId)){
|
||||
throw new JeroBootException(Result.NULL_ID);
|
||||
}
|
||||
List<Object> excelData = super.getExcelData(request, SafetyCenterSubitemImport.class);
|
||||
if (excelData.isEmpty()) {
|
||||
throw new JeroBootException(Result.NULL_DATA);
|
||||
}
|
||||
safetyCenterSubitemService.importExcelData(projectId,excelData);
|
||||
|
||||
return Result.OK("导入成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 功能安全中心成员-发布提醒列表查询
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMember:search")
|
||||
@ApiOperation(value = "功能安全中心成员-发布提醒列表查询")
|
||||
@GetMapping(value = "/publishReminderList")
|
||||
public Result<?> publishReminderList(SafetyCenterSubitem safetyCenterSubitem,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest request) {
|
||||
if (StringUtils.isBlank(safetyCenterSubitem.getProjectId())) {
|
||||
return Result.error("功能安全中心id不能为空!");
|
||||
}
|
||||
String chargeCompanyTemporaryName = request.getParameter("chargeCompanyTemporaryName");
|
||||
if(StringUtils.isNotBlank(chargeCompanyTemporaryName)){
|
||||
safetyCenterSubitem.setCompanyName(oConvertUtils.replaceAllPercent(chargeCompanyTemporaryName));
|
||||
}
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(safetyCenterSubitem.getProjectId());
|
||||
if(Objects.isNull(safetyCenter)){
|
||||
return Result.error("功能安全中心!");
|
||||
}
|
||||
Page<SafetyCenterSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.publishReminderList(page, safetyCenterSubitem);
|
||||
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
package com.jero.functionalsafetycenter.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
*功能安全中心
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
@ApiModel(description="功能安全中心")
|
||||
@Data
|
||||
@TableName(value = "pay_functional_safety_center")
|
||||
public class SafetyCenter {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value="id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 父级id
|
||||
*/
|
||||
@TableField(value = "parent_id")
|
||||
@ApiModelProperty(value="父级id")
|
||||
private String parentId;
|
||||
|
||||
/**
|
||||
* 项目类型(1功能安全中心,2研究组,3项目组)
|
||||
*/
|
||||
@TableField(value = "project_type")
|
||||
@ApiModelProperty(value="项目类型(1功能安全中心,2研究组,3项目组)")
|
||||
private Integer projectType;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@TableField(value = "project_name")
|
||||
@ApiModelProperty(value="项目名称")
|
||||
@Excel(name = "项目名称", width = 15)
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 负责人id
|
||||
*/
|
||||
@TableField(value = "principal_id")
|
||||
@ApiModelProperty(value = "负责人id")
|
||||
@Excel(name = "负责人", width = 15, dictTable = "sys_user",dicText = "realname",dicCode = "id")
|
||||
@Dict(dictTable = "sys_user",dicText = "realname",dicCode = "id")
|
||||
private String principalId;
|
||||
|
||||
/**负责人联系电话*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "负责人联系电话")
|
||||
private String principalPhone;
|
||||
|
||||
/**负责人邮箱*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "负责人邮箱")
|
||||
private String principalEmail;
|
||||
|
||||
/**
|
||||
* 任务及目标
|
||||
*/
|
||||
@TableField(value = "mission_and_objectives")
|
||||
@ApiModelProperty(value="任务及目标")
|
||||
@Excel(name = "任务及目标", width = 15)
|
||||
private String missionAndObjectives;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField(value = "remarks")
|
||||
@ApiModelProperty(value="备注")
|
||||
@Excel(name = "备注", width = 15)
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value="创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value="创建时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(value = "update_by")
|
||||
@ApiModelProperty(value="更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value="更新时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 成员id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="成员id")
|
||||
private String subitemId;
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
package com.jero.functionalsafetycenter.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
|
||||
|
||||
import javax.validation.constraints.Size;
|
||||
|
||||
/**
|
||||
*功能安全中心成员
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 16:40
|
||||
*/
|
||||
@ApiModel(description = "功能安全中心成员")
|
||||
@Data
|
||||
@TableName(value = "pay_functional_safety_center_subitem")
|
||||
public class SafetyCenterSubitem {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@TableField(value = "project_id")
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
|
||||
/**
|
||||
* 成员单位id
|
||||
*/
|
||||
@TableField(value = "company_id")
|
||||
@ApiModelProperty(value = "成员单位id")
|
||||
@Excel(name = "成员单位", width = 15, dictTable = "pay_company_management", dicText = "company_name", dicCode = "id", needMerge = true)
|
||||
@Dict(dictTable = "pay_company_management", dicText = "company_name", dicCode = "id")
|
||||
private String companyId;
|
||||
/**
|
||||
* 成员单位名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "成员单位名称")
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField(value = "remarks")
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Excel(name = "备注", needMerge = true)
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(value = "update_by")
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**企业联系人id*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "企业联系人id")
|
||||
@Dict(dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
private String contactsId;
|
||||
|
||||
/**企业联系人姓名*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "企业联系人姓名")
|
||||
private String contactsName;
|
||||
|
||||
/**企业联系人列表*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "企业联系人列表")
|
||||
@ExcelCollection(name = "企业联系人列表")
|
||||
private List<SafetyCenterSubitemContacts> contactsList;
|
||||
|
||||
|
||||
/**已提醒*/
|
||||
@TableField(exist = false)
|
||||
@Dict(dicCode = "yn")
|
||||
private Integer remind;
|
||||
|
||||
/**邮件提醒*/
|
||||
@TableField(exist = false)
|
||||
@Dict(dicCode = "yn")
|
||||
private Integer mailRemind;
|
||||
|
||||
/**会议id*/
|
||||
@TableField(exist = false)
|
||||
private String meetingId;
|
||||
}
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
package com.jero.functionalsafetycenter.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
*功能安全中心成员-联系人
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
@ApiModel(description="功能安全中心成员-联系人")
|
||||
@Data
|
||||
@TableName(value = "pay_functional_safety_center_subitem_contacts")
|
||||
public class SafetyCenterSubitemContacts {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value="id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@TableField(value = "project_id")
|
||||
@ApiModelProperty(value="项目id")
|
||||
private String projectId;
|
||||
|
||||
/**
|
||||
* 项目成员id
|
||||
*/
|
||||
@TableField(value = "subitem_id")
|
||||
@ApiModelProperty(value="项目成员id")
|
||||
private String subitemId;
|
||||
|
||||
/**
|
||||
* 成员单位id
|
||||
*/
|
||||
@TableField(value = "company_id")
|
||||
@ApiModelProperty(value="成员单位id")
|
||||
private String companyId;
|
||||
/**
|
||||
* 成员单位名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="成员单位名称")
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 企业联系人id
|
||||
*/
|
||||
@TableField(value = "contacts_id")
|
||||
@ApiModelProperty(value="企业联系人id")
|
||||
@Excel(name = "企业联系人",dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
private String contactsId;
|
||||
/**
|
||||
* 企业联系人姓名
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value="企业联系人姓名")
|
||||
private String contactsName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField(value = "remarks")
|
||||
@ApiModelProperty(value="备注")
|
||||
@Excel(name = "备注")
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
@TableField(value = "order_num")
|
||||
@ApiModelProperty(value="序号")
|
||||
private Integer orderNum;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value="创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value="创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(value = "update_by")
|
||||
@ApiModelProperty(value="更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value="更新时间")
|
||||
private Date updateTime;
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package com.jero.functionalsafetycenter.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
public interface SafetyCenterMapper extends BaseMapper<SafetyCenter> {
|
||||
IPage<SafetyCenter> queryCompanyPageList(Page<SafetyCenter> page, @Param("safetyCenter") SafetyCenter safetyCenter, @Param("userId") String userId);
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package com.jero.functionalsafetycenter.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
public interface SafetyCenterSubitemContactsMapper extends BaseMapper<SafetyCenterSubitemContacts> {
|
||||
List<SafetyCenterSubitemContacts> listByParentIdAndContactIdList(@Param("parentId") String parentId, @Param("contactIdList") List<String> contactIdList);
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package com.jero.functionalsafetycenter.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-12 16:40
|
||||
*/
|
||||
public interface SafetyCenterSubitemMapper extends BaseMapper<SafetyCenterSubitem> {
|
||||
IPage<SafetyCenterSubitem> pageList(Page<SafetyCenterSubitem> page, @Param("safetyCenterSubitem") SafetyCenterSubitem safetyCenterSubitem);
|
||||
|
||||
List<SafetyCenterSubitem> listByParentIdAndCompanyId(@Param("parentId") String parentId, @Param("companyId") String companyId);
|
||||
|
||||
IPage<SafetyCenterSubitem> publishReminderList(Page<SafetyCenterSubitem> page, @Param("safetyCenterSubitem") SafetyCenterSubitem safetyCenterSubitem);
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.functionalsafetycenter.mapper.SafetyCenterMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.functionalsafetycenter.entity.SafetyCenter">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table pay_functional_safety_center-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="parent_id" jdbcType="VARCHAR" property="parentId" />
|
||||
<result column="project_type" jdbcType="INTEGER" property="projectType" />
|
||||
<result column="project_name" jdbcType="VARCHAR" property="projectName" />
|
||||
<result column="principal_id" jdbcType="VARCHAR" property="principalId" />
|
||||
<result column="mission_and_objectives" jdbcType="VARCHAR" property="missionAndObjectives" />
|
||||
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, parent_id, project_type, project_name, principal_id, mission_and_objectives,
|
||||
remarks, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
|
||||
<select id="queryCompanyPageList" resultType="com.jero.functionalsafetycenter.entity.SafetyCenter">
|
||||
select pfsc.*,pfscs.id as subitem_id
|
||||
from pay_functional_safety_center pfsc
|
||||
left join pay_functional_safety_center_subitem pfscs on pfsc.id = pfscs.project_id
|
||||
left join pay_functional_safety_center_subitem_contacts pfscsc on pfscs.id = pfscsc.subitem_id
|
||||
<where>
|
||||
<choose>
|
||||
<when test="safetyCenter.projectType == 3">
|
||||
pfsc.project_type = 3
|
||||
</when>
|
||||
<otherwise>
|
||||
and pfsc.project_type in (1,2)
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="safetyCenter.parentId != null and safetyCenter.parentId != ''">
|
||||
and pfsc.parent_id = #{safetyCenter.parentId}
|
||||
</if>
|
||||
<if test="safetyCenter.projectName != null and safetyCenter.projectName != ''">
|
||||
<bind name="likeSafetyCenter.projectName" value="'%'+safetyCenter.projectName+'%'"/>
|
||||
and pfsc.project_name like #{likeSafetyCenter.projectName}
|
||||
</if>
|
||||
and pfscsc.contacts_id = #{userId}
|
||||
</where>
|
||||
order by pfsc.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemContactsMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table pay_functional_safety_center_subitem_contacts-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
||||
<result column="subitem_id" jdbcType="VARCHAR" property="subitemId" />
|
||||
<result column="company_id" jdbcType="VARCHAR" property="companyId" />
|
||||
<result column="contacts_id" jdbcType="VARCHAR" property="contactsId" />
|
||||
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
|
||||
<result column="order_num" jdbcType="INTEGER" property="orderNum" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, project_id, subitem_id, company_id, contacts_id, remarks, order_num, create_by,
|
||||
create_time, update_by, update_time
|
||||
</sql>
|
||||
|
||||
<select id="listByParentIdAndContactIdList" resultMap="BaseResultMap">
|
||||
select *
|
||||
from pay_functional_safety_center_subitem_contacts pfscsc
|
||||
left join pay_functional_safety_center_subitem pfscs on pfscsc.subitem_id = pfscs.id
|
||||
left join pay_functional_safety_center pfsc on pfscs.project_id = pfsc.id
|
||||
<where>
|
||||
pfscs.project_id = #{parentId}
|
||||
and pfscsc.contacts_id in
|
||||
<foreach item="item" index="index" collection="contactIdList" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.functionalsafetycenter.entity.SafetyCenterSubitem">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table pay_functional_safety_center_subitem-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="project_id" jdbcType="VARCHAR" property="projectId" />
|
||||
<result column="company_id" jdbcType="VARCHAR" property="companyId" />
|
||||
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, project_id, company_id, remarks, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
|
||||
<select id="pageList" resultMap="BaseResultMap">
|
||||
select *
|
||||
from pay_functional_safety_center_subitem pfscs
|
||||
left join pay_company_management pcm on pfscs.company_id = pcm.id
|
||||
<where>
|
||||
project_id = #{safetyCenterSubitem.projectId}
|
||||
<if test="safetyCenterSubitem.companyName != null and safetyCenterSubitem.companyName != ''">
|
||||
and pcm.company_name like concat('%',#{safetyCenterSubitem.companyName},'%')
|
||||
</if>
|
||||
</where>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="listByParentIdAndCompanyId" resultMap="BaseResultMap">
|
||||
select pfscs.*
|
||||
from pay_functional_safety_center_subitem pfscs
|
||||
left join pay_functional_safety_center pfsc on pfsc.id = pfscs.project_id
|
||||
<where>
|
||||
pfsc.parent_id = #{parentId}
|
||||
and pfscs.company_id = #{companyId}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="publishReminderList" resultType="com.jero.functionalsafetycenter.entity.SafetyCenterSubitem">
|
||||
select distinct pcm.id as id,pcm.name as contacts_name,pcm.company_name as company_name
|
||||
,if(pmrr.id,'1','0') remind,
|
||||
if(pmrmr.id,'1','0') mailRemind
|
||||
from pay_contacts_management pcm
|
||||
left join pay_functional_safety_center_subitem_contacts pfscsc on pcm.id = pfscsc.contacts_id
|
||||
left join (SELECT * from pay_meeting_remind_record where meeting_id = #{param2.meetingId}) pmrr on pmrr.contact_id = pcm.id
|
||||
left join (SELECT * from pay_meeting_remind_mail_record where meeting_id = #{param2.meetingId}) pmrmr on pmrmr.contact_id = pcm.id
|
||||
<where>
|
||||
pfscsc.project_id = #{safetyCenterSubitem.projectId}
|
||||
<if test="safetyCenterSubitem.companyName != null and safetyCenterSubitem.companyName != ''">
|
||||
and pcm.company_name like concat('%',#{safetyCenterSubitem.companyName},'%')
|
||||
</if>
|
||||
<if test="safetyCenterSubitem.remind == 1">
|
||||
and pmrr.id is not null
|
||||
</if>
|
||||
<if test="safetyCenterSubitem.remind == 0">
|
||||
and pmrr.id is null
|
||||
</if>
|
||||
<if test="safetyCenterSubitem.mailRemind == 1">
|
||||
and pmrmr.id is not null
|
||||
</if>
|
||||
<if test="safetyCenterSubitem.mailRemind == 0">
|
||||
and pmrmr.id is null
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package com.jero.functionalsafetycenter.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.functionalsafetycenter.common.SafetyCenterCommon;
|
||||
import com.jero.functionalsafetycenter.vo.SafetyCenterEditVO;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import com.jero.functionalsafetycenter.mapper.SafetyCenterMapper;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
@Service
|
||||
public class SafetyCenterService extends ServiceImpl<SafetyCenterMapper, SafetyCenter> {
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
public void add(SafetyCenter safetyCenter) {
|
||||
Integer projectType = safetyCenter.getProjectType();
|
||||
if (projectType == null){
|
||||
throw new JeroBootException("项目类型不能为空");
|
||||
}
|
||||
this.save(safetyCenter);
|
||||
}
|
||||
|
||||
public void editById(SafetyCenterEditVO safetyCenterEditVO) {
|
||||
SafetyCenter safetyCenter = new SafetyCenter();
|
||||
safetyCenter.setId(safetyCenterEditVO.getId());
|
||||
safetyCenter.setProjectName(safetyCenterEditVO.getProjectName());
|
||||
safetyCenter.setPrincipalId(safetyCenterEditVO.getPrincipalId());
|
||||
safetyCenter.setMissionAndObjectives(safetyCenterEditVO.getMissionAndObjectives());
|
||||
safetyCenter.setRemarks(safetyCenterEditVO.getRemarks());
|
||||
this.updateById(safetyCenter);
|
||||
}
|
||||
|
||||
public void deleteById(String id) {
|
||||
this.removeById(id);
|
||||
}
|
||||
|
||||
public void deleteByIds(List<String> idList) {
|
||||
for (String id : idList) {
|
||||
deleteById(id);
|
||||
}
|
||||
}
|
||||
|
||||
public SafetyCenter queryById(String id) {
|
||||
SafetyCenter safetyCenter = this.getById(id);
|
||||
return safetyCenter;
|
||||
}
|
||||
|
||||
public IPage<SafetyCenter> queryCompanyPageList(Page<SafetyCenter> page, SafetyCenter safetyCenter) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
IPage<SafetyCenter> safetyCenterIPage = baseMapper.queryCompanyPageList(page, safetyCenter, sysUser.getId());
|
||||
List<SafetyCenter> records = safetyCenterIPage.getRecords();
|
||||
for (SafetyCenter record : records) {
|
||||
String principalId = record.getPrincipalId();
|
||||
LoginUser user = sysBaseAPI.getUserById(principalId);
|
||||
record.setPrincipalPhone(PasswordUtil.decrypt(user.getPhone()));
|
||||
record.setPrincipalEmail(PasswordUtil.decrypt(user.getEmail()));
|
||||
}
|
||||
return safetyCenterIPage;
|
||||
}
|
||||
}
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
package com.jero.functionalsafetycenter.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.company.controller.PayContactsManagementController;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
|
||||
import com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemContactsMapper;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
@Service
|
||||
public class SafetyCenterSubitemContactsService extends ServiceImpl<SafetyCenterSubitemContactsMapper, SafetyCenterSubitemContacts> {
|
||||
@Resource
|
||||
private IPayContactsManagementService contactsManagementService;
|
||||
|
||||
public void deleteBySubitemId(String subitemId){
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId);
|
||||
List<SafetyCenterSubitemContacts> list = this.list(wrapper);
|
||||
List<String> idList = list.stream().map(SafetyCenterSubitemContacts::getId).collect(Collectors.toList());
|
||||
this.removeByIds(idList);
|
||||
}
|
||||
public List<SafetyCenterSubitemContacts> listBySubitemId(String subitemId){
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId);
|
||||
return this.list(wrapper);
|
||||
}
|
||||
|
||||
public List<SafetyCenterSubitemContacts> listByParentIdAndContactIdList(String parentId, List<String> contactIdList){
|
||||
return baseMapper.listByParentIdAndContactIdList(parentId,contactIdList);
|
||||
}
|
||||
|
||||
public boolean checkSafetyCenterSubitem(String projectId, String contactsId) {
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getProjectId,projectId);
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getContactsId,contactsId);
|
||||
return count(wrapper) > 0;
|
||||
}
|
||||
|
||||
public List<SafetyCenterSubitemContacts> getContactsInfo(String projectId) {
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getProjectId,projectId);
|
||||
wrapper.orderByDesc(SafetyCenterSubitemContacts::getSubitemId);
|
||||
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
|
||||
List<SafetyCenterSubitemContacts> contactsList = this.list(wrapper);
|
||||
if (contactsList.isEmpty()){
|
||||
return contactsList;
|
||||
}
|
||||
List<String> contactsIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
List<PayContactsManagement> payContactsManagements = contactsManagementService.listByIds(contactsIdList);
|
||||
Map<String, PayContactsManagement> collectMap = payContactsManagements.stream().collect(Collectors.toMap(PayContactsManagement::getId, payContactsManagement -> payContactsManagement));
|
||||
|
||||
for (SafetyCenterSubitemContacts contacts : contactsList) {
|
||||
String contactsId = contacts.getContactsId();
|
||||
PayContactsManagement payContactsManagement = collectMap.get(contactsId);
|
||||
contacts.setContactsName(payContactsManagement.getName());
|
||||
contacts.setCompanyName(payContactsManagement.getCompanyName());
|
||||
}
|
||||
|
||||
return contactsList;
|
||||
}
|
||||
}
|
||||
+451
@@ -0,0 +1,451 @@
|
||||
package com.jero.functionalsafetycenter.service;
|
||||
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.functionalsafetycenter.common.SafetyCenterCommon;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
|
||||
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemContactsImport;
|
||||
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemImport;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemMapper;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class SafetyCenterSubitemService extends ServiceImpl<SafetyCenterSubitemMapper, SafetyCenterSubitem> {
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService contactsService;
|
||||
@Resource
|
||||
private IPayCompanyManagementService payCompanyManagementService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
|
||||
public void add(SafetyCenterSubitem safetyCenterSubitem) {
|
||||
String projectId = safetyCenterSubitem.getProjectId();
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
|
||||
if (safetyCenter == null){
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
//判重,公司是否重复
|
||||
String companyId = safetyCenterSubitem.getCompanyId();
|
||||
PayCompanyManagement companyManagement = payCompanyManagementService.getById(companyId);
|
||||
String companyName = companyManagement.getCompanyName();
|
||||
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitem::getProjectId,projectId);
|
||||
wrapper.eq(SafetyCenterSubitem::getCompanyId,companyId);
|
||||
if (this.count(wrapper) > 0){
|
||||
throw new JeroBootException("当前项目中已经存在,成员单位:"+companyName+"");
|
||||
}
|
||||
//判重,联系人是否重复
|
||||
List<SafetyCenterSubitemContacts> contactsList = safetyCenterSubitem.getContactsList();
|
||||
if (contactsList.isEmpty()){
|
||||
throw new JeroBootException("企业联系人不能为空");
|
||||
}
|
||||
List<String> contactIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
if (contactIdList.size() != contactsList.size()){
|
||||
throw new JeroBootException("企业联系人重复");
|
||||
}
|
||||
//判断父级是否有所选企业和所选联系人
|
||||
Integer projectType = safetyCenter.getProjectType();
|
||||
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType){
|
||||
//判断企业
|
||||
String parentId = safetyCenter.getParentId();
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(SafetyCenterSubitem::getProjectId,parentId);
|
||||
wrapper1.eq(SafetyCenterSubitem::getCompanyId,companyId);
|
||||
SafetyCenterSubitem parentCenterSubitem = this.getOne(wrapper1);
|
||||
if (parentCenterSubitem == null){
|
||||
throw new JeroBootException("成员单位:"+ companyName +",无法添加到当前项目");
|
||||
}
|
||||
//判断联系人
|
||||
String parentCenterSubitemId = parentCenterSubitem.getId();
|
||||
List<SafetyCenterSubitemContacts> parentContactList = contactsService.listBySubitemId(parentCenterSubitemId);
|
||||
List<String> parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
List<String> contactNameList = new ArrayList<>();
|
||||
for (String contactId : contactIdList) {
|
||||
if (!parentContactIdList.contains(contactId)){
|
||||
PayContactsManagement contactsManagement = payContactsManagementService.getById(contactId);
|
||||
contactNameList.add(contactsManagement.getName());
|
||||
}
|
||||
}
|
||||
if (!contactNameList.isEmpty()){
|
||||
throw new JeroBootException("企业联系人:"+ String.join(",",contactNameList) +",无法添加到当前项目");
|
||||
}
|
||||
}
|
||||
//保存成员
|
||||
this.save(safetyCenterSubitem);
|
||||
//保存成员单位联系人
|
||||
String subitemId = safetyCenterSubitem.getId();
|
||||
for (SafetyCenterSubitemContacts contacts : contactsList) {
|
||||
contacts.setProjectId(projectId);
|
||||
contacts.setCompanyId(companyId);
|
||||
contacts.setSubitemId(subitemId);
|
||||
}
|
||||
contactsService.saveBatch(contactsList);
|
||||
}
|
||||
|
||||
public void editById(SafetyCenterSubitem safetyCenterSubitem) {
|
||||
String subitemId = safetyCenterSubitem.getId();
|
||||
String projectId = safetyCenterSubitem.getProjectId();
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
|
||||
if (safetyCenter == null){
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
|
||||
//判重,公司是否重复
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String companyId;
|
||||
//如果是企业用户,使用自己的公司id
|
||||
if (sysUser.getIsCompanyUser()) {
|
||||
companyId = sysUser.getCompanyId();
|
||||
safetyCenterSubitem.setCompanyId(companyId);
|
||||
}else {
|
||||
companyId = safetyCenterSubitem.getCompanyId();
|
||||
}
|
||||
PayCompanyManagement companyManagement = payCompanyManagementService.getById(companyId);
|
||||
String companyName = companyManagement.getCompanyName();
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.ne(SafetyCenterSubitem::getId,subitemId);
|
||||
wrapper.eq(SafetyCenterSubitem::getProjectId,projectId);
|
||||
wrapper.eq(SafetyCenterSubitem::getCompanyId,companyId);
|
||||
if (this.count(wrapper) > 0){
|
||||
throw new JeroBootException("当前项目中已经存在,成员单位:"+companyName+"");
|
||||
}
|
||||
//判重,联系人是否重复
|
||||
List<SafetyCenterSubitemContacts> contactsList = safetyCenterSubitem.getContactsList();
|
||||
if (contactsList.isEmpty()){
|
||||
throw new JeroBootException("企业联系人不能为空");
|
||||
}
|
||||
List<String> contactIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
if (contactIdList.size() != contactsList.size()){
|
||||
throw new JeroBootException("企业联系人重复");
|
||||
}
|
||||
//判断父级是否有所选企业和所选联系人
|
||||
Integer projectType = safetyCenter.getProjectType();
|
||||
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType){
|
||||
//判断企业
|
||||
String parentId = safetyCenter.getParentId();
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(SafetyCenterSubitem::getProjectId,parentId);
|
||||
wrapper1.eq(SafetyCenterSubitem::getCompanyId,companyId);
|
||||
SafetyCenterSubitem parentCenterSubitem = this.getOne(wrapper1);
|
||||
if (parentCenterSubitem == null){
|
||||
throw new JeroBootException("成员单位:"+ companyName +",无法添加到当前项目");
|
||||
}
|
||||
//判断联系人
|
||||
String parentCenterSubitemId = parentCenterSubitem.getId();
|
||||
List<SafetyCenterSubitemContacts> parentContactList = contactsService.listBySubitemId(parentCenterSubitemId);
|
||||
List<String> parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
List<String> contactNameList = new ArrayList<>();
|
||||
for (String contactId : contactIdList) {
|
||||
if (!parentContactIdList.contains(contactId)){
|
||||
PayContactsManagement contactsManagement = payContactsManagementService.getById(contactId);
|
||||
contactNameList.add(contactsManagement.getName());
|
||||
}
|
||||
}
|
||||
if (!contactNameList.isEmpty()){
|
||||
throw new JeroBootException("企业联系人:"+ String.join(",",contactNameList) +",无法添加到当前项目");
|
||||
}
|
||||
//区分删除的联系人
|
||||
List<SafetyCenterSubitemContacts> oldContactList = contactsService.listBySubitemId(subitemId);
|
||||
List<String> oldContactIdList = oldContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
//取差值,得到删除的联系人
|
||||
oldContactIdList.removeAll(contactIdList);
|
||||
//删除子项目的联系人
|
||||
this.deleteChildrenByParentId(projectId,contactIdList);
|
||||
}
|
||||
this.updateById(safetyCenterSubitem);
|
||||
//先删除之前保存的
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId);
|
||||
contactsService.remove(wrapper1);
|
||||
//保存成员单位联系人
|
||||
for (SafetyCenterSubitemContacts contacts : contactsList) {
|
||||
contacts.setProjectId(projectId);
|
||||
contacts.setCompanyId(companyId);
|
||||
contacts.setSubitemId(subitemId);
|
||||
}
|
||||
contactsService.saveBatch(contactsList);
|
||||
}
|
||||
|
||||
public void deleteById(String id) {
|
||||
SafetyCenterSubitem subitem = this.getById(id);
|
||||
String projectId = subitem.getProjectId();
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
|
||||
Integer projectType = safetyCenter.getProjectType();
|
||||
if (SafetyCenterCommon.PROJECT_TYPE_3 != projectType){
|
||||
//删除下级同企业成员
|
||||
List<SafetyCenterSubitem> subitemList = this.listByParentIdAndCompanyId(projectId, subitem.getCompanyId());
|
||||
for (SafetyCenterSubitem safetyCenterSubitem : subitemList) {
|
||||
deleteById(safetyCenterSubitem.getId());
|
||||
}
|
||||
}
|
||||
//删除成员
|
||||
this.removeById(id);
|
||||
//删除联系人
|
||||
contactsService.deleteBySubitemId(id);
|
||||
}
|
||||
|
||||
public void deleteByIds(List<String> idList) {
|
||||
for (String id : idList) {
|
||||
deleteById(id);
|
||||
}
|
||||
}
|
||||
|
||||
public SafetyCenterSubitem queryById(String id) {
|
||||
SafetyCenterSubitem safetyCenterSubitem = this.getById(id);
|
||||
return safetyCenterSubitem;
|
||||
}
|
||||
|
||||
public IPage<SafetyCenterSubitem> pageList(Page<SafetyCenterSubitem> page, SafetyCenterSubitem safetyCenterSubitem) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//如果是企业查询,判断是否有数据权限
|
||||
if (sysUser.getIsCompanyUser()) {
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitem::getCompanyId,sysUser.getCompanyId());
|
||||
wrapper.eq(SafetyCenterSubitem::getProjectId,safetyCenterSubitem.getProjectId());
|
||||
SafetyCenterSubitem subitem = this.getOne(wrapper);
|
||||
if (subitem == null){
|
||||
return new Page<>();
|
||||
}
|
||||
}
|
||||
IPage<SafetyCenterSubitem> pageList = baseMapper.pageList(page, safetyCenterSubitem);
|
||||
List<SafetyCenterSubitem> records = pageList.getRecords();
|
||||
//根据企业id获取所有联系人
|
||||
List<String> subitemIdList = records.stream().map(SafetyCenterSubitem::getId).collect(Collectors.toList());
|
||||
if (subitemIdList.isEmpty()){
|
||||
return pageList;
|
||||
}
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(SafetyCenterSubitemContacts::getSubitemId,subitemIdList);
|
||||
wrapper.orderByAsc(SafetyCenterSubitemContacts::getSubitemId);
|
||||
//根据orderNum排序
|
||||
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
|
||||
List<SafetyCenterSubitemContacts> contactsList = contactsService.list(wrapper);
|
||||
//根据企业id分组
|
||||
Map<String, List<SafetyCenterSubitemContacts>> stringListMap = CollStreamUtil.groupByKey(contactsList, SafetyCenterSubitemContacts::getSubitemId);
|
||||
//遍历,存入数据
|
||||
for (SafetyCenterSubitem subitem : records) {
|
||||
String subitemId = subitem.getId();
|
||||
List<SafetyCenterSubitemContacts> safetyCenterSubitemContacts = stringListMap.get(subitemId);
|
||||
if (safetyCenterSubitemContacts == null){
|
||||
continue;
|
||||
}
|
||||
subitem.setContactsId(safetyCenterSubitemContacts.get(0).getContactsId());
|
||||
subitem.setContactsList(safetyCenterSubitemContacts);
|
||||
}
|
||||
return pageList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据父项目id和企业id查询子项目中相同公司的成员
|
||||
* @param parentId
|
||||
* @param companyId
|
||||
* @return
|
||||
*/
|
||||
public List<SafetyCenterSubitem> listByParentIdAndCompanyId(String parentId,String companyId){
|
||||
return baseMapper.listByParentIdAndCompanyId(parentId,companyId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除子项目的联系人
|
||||
*/
|
||||
public void deleteChildrenByParentId(String parentId, List<String> contactIdList) {
|
||||
List<SafetyCenterSubitemContacts> contactList = contactsService.listByParentIdAndContactIdList(parentId, contactIdList);
|
||||
List<String> collect = contactList.stream().map(SafetyCenterSubitemContacts::getId).collect(Collectors.toList());
|
||||
contactsService.removeByIds(collect);
|
||||
List<String> projectIdList = contactList.stream().map(SafetyCenterSubitemContacts::getProjectId).distinct().collect(Collectors.toList());
|
||||
for (String projectId : projectIdList) {
|
||||
deleteChildrenByParentId(projectId,contactIdList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入数据
|
||||
* @param projectId
|
||||
* @param excelData
|
||||
*/
|
||||
public void importExcelData(String projectId, List<Object> excelData) {
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
|
||||
if (safetyCenter == null){
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
List<String> errorMessage = new ArrayList<>();
|
||||
List<String> companyNameList = new ArrayList<>();
|
||||
int errorRowNum = 3;
|
||||
int errorRowNum2 = 3;
|
||||
for (Object obj : excelData) {
|
||||
errorRowNum += 1;
|
||||
SafetyCenterSubitemImport subitemImport = (SafetyCenterSubitemImport) obj;
|
||||
String companyName = subitemImport.getCompanyName();
|
||||
List<SafetyCenterSubitemContactsImport> contactsList = subitemImport.getContactsList();
|
||||
|
||||
PayCompanyManagement company = null;
|
||||
if (StringUtils.isBlank(companyName)){
|
||||
errorMessage.add("第" + errorRowNum + "行:成员单位不能为空");
|
||||
continue;
|
||||
}else {
|
||||
company = payCompanyManagementService.getCompanyByName(companyName);
|
||||
if (company == null){
|
||||
errorMessage.add("第" + errorRowNum + "行:成员单位不存在");
|
||||
errorRowNum2 += contactsList.size();
|
||||
continue;
|
||||
}
|
||||
if (companyNameList.contains(companyName)) {
|
||||
errorMessage.add("第" + errorRowNum + "行:成员单位重复");
|
||||
errorRowNum2 += contactsList.size();
|
||||
continue;
|
||||
}else {
|
||||
companyNameList.add(companyName);
|
||||
}
|
||||
}
|
||||
String companyId = company.getId();
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitem::getProjectId,projectId);
|
||||
wrapper.eq(SafetyCenterSubitem::getCompanyId,companyId);
|
||||
if (this.count(wrapper) > 0){
|
||||
errorMessage.add("第" + errorRowNum + "行:成员单位当前项目中已经存在");
|
||||
}
|
||||
String remarks1 = subitemImport.getRemarks();
|
||||
if (remarks1 != null && remarks1.length() > 200){
|
||||
errorMessage.add("第" + errorRowNum + "行:成员单位备注最长为200字符");
|
||||
}
|
||||
Integer projectType = safetyCenter.getProjectType();
|
||||
List<String> parentContactIdList = new ArrayList<>();
|
||||
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType) {
|
||||
//判断企业
|
||||
String parentId = safetyCenter.getParentId();
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(SafetyCenterSubitem::getProjectId, parentId);
|
||||
wrapper1.eq(SafetyCenterSubitem::getCompanyId, companyId);
|
||||
SafetyCenterSubitem parentCenterSubitem = this.getOne(wrapper1);
|
||||
if (parentCenterSubitem == null) {
|
||||
errorMessage.add("第" + errorRowNum + "行:成员单位不是当前项目成员");
|
||||
errorRowNum2 += contactsList.size();
|
||||
continue;
|
||||
}
|
||||
String parentCenterSubitemId = parentCenterSubitem.getId();
|
||||
List<SafetyCenterSubitemContacts> parentContactList = contactsService.listBySubitemId(parentCenterSubitemId);
|
||||
parentContactIdList = parentContactList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
}
|
||||
errorRowNum += contactsList.size() -1;
|
||||
|
||||
List<String> distinctContactsList = new ArrayList<>();
|
||||
List<SafetyCenterSubitemContacts> subitemContactsList = new ArrayList<>();
|
||||
for (SafetyCenterSubitemContactsImport contactsImport : contactsList) {
|
||||
errorRowNum2 += 1;
|
||||
String contacts = contactsImport.getContacts();
|
||||
if (StringUtils.isBlank(contacts)){
|
||||
errorMessage.add("第" + errorRowNum2 + "行:企业联系人不能为空");
|
||||
continue;
|
||||
}
|
||||
PayContactsManagement payContactsManagement = payContactsManagementService.checkByCompanyIdAndName(contacts, companyId);
|
||||
if (payContactsManagement == null){
|
||||
errorMessage.add("第" + errorRowNum2 + "行:企业联系人不存在");
|
||||
continue;
|
||||
}
|
||||
if (distinctContactsList.contains(contacts)){
|
||||
errorMessage.add("第" + errorRowNum2 + "行:企业联系人重复");
|
||||
continue;
|
||||
}else {
|
||||
distinctContactsList.add(contacts);
|
||||
}
|
||||
if (SafetyCenterCommon.PROJECT_TYPE_1 != projectType) {
|
||||
//判断联系人
|
||||
if (!parentContactIdList.contains(payContactsManagement.getId())){
|
||||
errorMessage.add("第" + errorRowNum2 + "行:企业联系人不是当前项目成员");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
String remarks = contactsImport.getRemarks();
|
||||
if (remarks != null && remarks.length() > 50){
|
||||
errorMessage.add("第" + errorRowNum2 + "行:企业联系人备注最长为50字符");
|
||||
continue;
|
||||
}
|
||||
SafetyCenterSubitemContacts contacts1 = new SafetyCenterSubitemContacts();
|
||||
contacts1.setContactsId(payContactsManagement.getId());
|
||||
contacts1.setRemarks(remarks);
|
||||
subitemContactsList.add(contacts1);
|
||||
}
|
||||
if (!errorMessage.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
SafetyCenterSubitem subitem = new SafetyCenterSubitem();
|
||||
subitem.setProjectId(projectId);
|
||||
subitem.setCompanyId(companyId);
|
||||
subitem.setRemarks(remarks1);
|
||||
subitem.setContactsList(subitemContactsList);
|
||||
try {
|
||||
this.add(subitem);
|
||||
}catch (JeroBootException e){
|
||||
log.error("",e);
|
||||
errorMessage.add(e.getMessage());
|
||||
}
|
||||
}
|
||||
if (!errorMessage.isEmpty()){
|
||||
StringBuilder msg = new StringBuilder();
|
||||
for (String s : errorMessage) {
|
||||
msg.append(s).append(",请修改!<br/>");
|
||||
}
|
||||
throw new JeroBootException(msg.toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public SafetyCenterSubitem getItemByProjectId(String projectId) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
LambdaQueryWrapper<SafetyCenterSubitem> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(SafetyCenterSubitem::getProjectId,projectId);
|
||||
wrapper1.eq(SafetyCenterSubitem::getCompanyId,sysUser.getCompanyId());
|
||||
SafetyCenterSubitem subitem = this.getOne(wrapper1);
|
||||
//根据企业id获取所有联系人
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitem.getId());
|
||||
//根据orderNum排序
|
||||
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
|
||||
List<SafetyCenterSubitemContacts> contactsList = contactsService.list(wrapper);
|
||||
for (SafetyCenterSubitemContacts contacts : contactsList) {
|
||||
String contactsId = contacts.getContactsId();
|
||||
PayContactsManagement contactsManagement = payContactsManagementService.getById(contactsId);
|
||||
contacts.setContactsName(contactsManagement.getName());
|
||||
}
|
||||
//存入数据
|
||||
subitem.setContactsId(contactsList.get(0).getContactsId());
|
||||
subitem.setContactsList(contactsList);
|
||||
return subitem;
|
||||
}
|
||||
|
||||
public IPage<SafetyCenterSubitem> publishReminderList(Page<SafetyCenterSubitem> page, SafetyCenterSubitem safetyCenterSubitem) {
|
||||
return baseMapper.publishReminderList(page,safetyCenterSubitem);
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
package com.jero.functionalsafetycenter.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
*功能安全中心
|
||||
*@author liJiaRao
|
||||
*@date 2024-06-12 15:13
|
||||
*/
|
||||
@ApiModel(description="功能安全中心编辑vo")
|
||||
@Data
|
||||
public class SafetyCenterEditVO {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ApiModelProperty(value="id")
|
||||
private String id;
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@TableField(value = "project_name")
|
||||
@ApiModelProperty(value="项目名称")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 负责人id
|
||||
*/
|
||||
@TableField(value = "principal_id")
|
||||
@ApiModelProperty(value="负责人id")
|
||||
private String principalId;
|
||||
|
||||
/**
|
||||
* 任务及目标
|
||||
*/
|
||||
@TableField(value = "mission_and_objectives")
|
||||
@ApiModelProperty(value="任务及目标")
|
||||
private String missionAndObjectives;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField(value = "remarks")
|
||||
@ApiModelProperty(value="备注")
|
||||
private String remarks;
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
package com.jero.functionalsafetycenter.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
* 功能安全中心成员-联系人
|
||||
*
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-12 15:13
|
||||
*/
|
||||
@Data
|
||||
public class SafetyCenterSubitemContactsImport {
|
||||
|
||||
/**
|
||||
* 企业联系人
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人")
|
||||
@Excel(name = "企业联系人")
|
||||
private String contacts;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Excel(name = "备注")
|
||||
private String remarks;
|
||||
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package com.jero.functionalsafetycenter.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 功能安全中心成员
|
||||
*
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-12 16:40
|
||||
*/
|
||||
@Data
|
||||
public class SafetyCenterSubitemImport {
|
||||
|
||||
/**
|
||||
* 成员单位
|
||||
*/
|
||||
@ApiModelProperty(value = "成员单位")
|
||||
@Excel(name = "成员单位", needMerge = true)
|
||||
private String companyName;
|
||||
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Excel(name = "备注", needMerge = true)
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 企业联系人列表
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人列表")
|
||||
@ExcelCollection(name = "企业联系人列表")
|
||||
private List<SafetyCenterSubitemContactsImport> contactsList;
|
||||
|
||||
|
||||
}
|
||||
@@ -69,9 +69,17 @@ public class MeetingCommon {
|
||||
*/
|
||||
public final static String OVERSEAS_MEETING = "8";
|
||||
/**
|
||||
* 起草组会议
|
||||
* 海外会议
|
||||
*/
|
||||
public final static Integer OVERSEAS_MEETING_INT = 8;
|
||||
/**
|
||||
* 安全中心会议
|
||||
*/
|
||||
public final static String SAFETY_CENTER_MEETING = "9";
|
||||
/**
|
||||
* 安全中心会议
|
||||
*/
|
||||
public final static Integer SAFETY_CENTER_MEETING_INT = 9;
|
||||
/**
|
||||
* 标准宣贯
|
||||
*/
|
||||
|
||||
+234
@@ -0,0 +1,234 @@
|
||||
package com.jero.meeting.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
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.service.IPayContactsManagementService;
|
||||
import com.jero.data.service.IPayCaseCommitteeService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import com.jero.meeting.service.IPayMeetingHotelContactsService;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.vo.PayMeetingVO;
|
||||
import com.jero.meeting.vo.PublishReminderVO;
|
||||
import com.jero.meeting.vo.UploadFileVO;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.volid.group.UpdateGroup;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
* @description: 会议管理
|
||||
* @author: jero-boot
|
||||
* @date: 2021-09-02
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Api(tags = "会议管理-功能安全中心会议")
|
||||
@RestController
|
||||
@RequestMapping("/meeting/safetyCenterMeeting")
|
||||
@Slf4j
|
||||
public class SafetyCenterMeetingController extends JeroController<PayMeeting, IPayMeetingService> {
|
||||
@Resource
|
||||
private IPayMeetingService payMeetingService;
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IPayMeetingHotelContactsService meetingHotelContactsService;
|
||||
@Resource
|
||||
private IPayWorkingGroupService payWorkingGroupService;
|
||||
@Resource
|
||||
private AuthenticationUtils authenticationUtils;
|
||||
@Resource
|
||||
private IOSSFileService iossFileService;
|
||||
@Resource
|
||||
private IPayCaseCommitteeService payCaseCommitteeService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
|
||||
private final Integer MEETING_TYPE = MeetingCommon.SAFETY_CENTER_MEETING_INT;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeeting:search")
|
||||
@ApiOperation(value = "会议管理-分页列表查询", notes = "会议管理-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> queryPageList(PayMeeting payMeeting,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
payMeeting.setMeetingType(MEETING_TYPE);
|
||||
IPage<PayMeeting> pageList = payMeetingService.queryPageList(payMeeting, pageNo, pageSize, req);
|
||||
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeeting:add")
|
||||
@AutoLog(value = "会议管理-添加")
|
||||
@ApiOperation(value = "会议管理-添加", notes = "会议管理-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayMeetingVO payMeetingVO) {
|
||||
String meetingType = payMeetingVO.getMeetingType();
|
||||
if (!Objects.equals(meetingType, MeetingCommon.SAFETY_CENTER_MEETING)) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
ValidUtil.validate(payMeetingVO);
|
||||
payMeetingService.add(payMeetingVO);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
private void extracted(String id) {
|
||||
PayMeeting payMeeting = payMeetingService.getById(id);
|
||||
Integer meetingType = payMeeting.getMeetingType();
|
||||
if (!Objects.equals(meetingType, MEETING_TYPE)) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeeting:edit")
|
||||
@AutoLog(value = "会议管理-编辑")
|
||||
@ApiOperation(value = "会议管理-编辑", notes = "会议管理-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayMeetingVO payMeetingVO) {
|
||||
String id = payMeetingVO.getId();
|
||||
extracted(id);
|
||||
ValidUtil.validate(payMeetingVO, UpdateGroup.class);
|
||||
payMeetingService.editById(payMeetingVO);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeeting:delete")
|
||||
@AutoLog(value = "会议管理-通过id删除")
|
||||
@ApiOperation(value = "会议管理-通过id删除", notes = "会议管理-通过id删除")
|
||||
@GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name = "id") String id) {
|
||||
extracted(id);
|
||||
payMeetingService.deleteById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeeting:batchDel")
|
||||
@AutoLog(value = "会议管理-批量删除")
|
||||
@ApiOperation(value = "会议管理-批量删除", notes = "会议管理-批量删除")
|
||||
@GetMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
for (String id : idList) {
|
||||
extracted(id);
|
||||
}
|
||||
this.payMeetingService.deleteByIds(idList);
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
@ApiOperation(value = "会议管理-通过id查询", notes = "会议管理-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name = "id") String id) {
|
||||
PayMeeting meeting = payMeetingService.queryById(id);
|
||||
if (meeting == null || !Objects.equals(meeting.getMeetingType(), MEETING_TYPE)) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
//查询会议负责人
|
||||
LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId());
|
||||
|
||||
meeting.setDirectorName(user.getRealname());
|
||||
meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone()));
|
||||
PayMeetingVO payMeetingVO = new PayMeetingVO();
|
||||
BeanUtils.copyProperties(meeting, payMeetingVO);
|
||||
String meetingType = meeting.getMeetingType().toString();
|
||||
//String meetingType1 = sysBaseAPI.translateDict("meeting_type", meetingType);
|
||||
payMeetingVO.setMeetingType(meetingType);
|
||||
payMeetingVO.setTbMeetingType(meeting.getMeetingType().toString());
|
||||
//payMeetingVO.setHotelContactsList(new ArrayList<>());
|
||||
//会议查询酒店联系人列表
|
||||
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId());
|
||||
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
|
||||
payMeetingVO.setHotelContactsList(payMeetingHotelContactsList);
|
||||
return Result.OK(payMeetingVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeeting:export")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) {
|
||||
payMeeting.setMeetingType(MEETING_TYPE);
|
||||
IPage<PayMeeting> queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request);
|
||||
|
||||
List<Object> exportList = payMeetingService.getExportList(request, queryPageList);
|
||||
Class<?> aClass = payMeetingService.getaClass(MEETING_TYPE);
|
||||
return super.exportListXls(exportList, aClass, "会议管理");
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传资料
|
||||
*/
|
||||
@AutoLog(value = "上传资料")
|
||||
@RequiresPermissions("safetyCenterMeeting:upload")
|
||||
@ApiOperation(value = "上传资料", notes = "上传资料")
|
||||
@PostMapping(value = "/uploadFile")
|
||||
public Result<?> uploadFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
List<String> strings = payMeetingService.uploadFileSendMsg(uploadFileVO, MEETING_TYPE, false);
|
||||
return Result.OK("上传资料成功!",strings);
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传会议纪要
|
||||
*/
|
||||
@AutoLog(value = "上传会议纪要")
|
||||
@RequiresPermissions("safetyCenterMeeting:uploadCouncil")
|
||||
@ApiOperation(value = "上传会议纪要", notes = "上传会议纪要")
|
||||
@PostMapping(value = "/uploadCouncilFile")
|
||||
public Result<?> uploadCouncilFile(@RequestBody UploadFileVO uploadFileVO) {
|
||||
payMeetingService.uploadFile(uploadFileVO, MEETING_TYPE);
|
||||
return Result.OK("上传会议纪要成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布
|
||||
*/
|
||||
@AutoLog("发布")
|
||||
@RequiresPermissions("safetyCenterMeeting:publish")
|
||||
@ApiOperation(value = "发布")
|
||||
@PostMapping(value = "/release")
|
||||
public Result<?> release(@RequestBody PublishReminderVO publishReminderVO) {
|
||||
payMeetingService.release(publishReminderVO);
|
||||
return Result.OK();
|
||||
}
|
||||
}
|
||||
+233
@@ -0,0 +1,233 @@
|
||||
package com.jero.meeting.controller;
|
||||
|
||||
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.aspect.annotation.CompanyNameTranslate;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
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.AuthenticationUtils;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.meeting.vo.CheckVO;
|
||||
import com.jero.meeting.vo.MergePayBillVO;
|
||||
import com.jero.meeting.vo.PayMeetingSituationVO;
|
||||
import com.jero.meeting.vo.SetGuestsUploadFileVO;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
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.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
* @description: 参会人员信息
|
||||
* @author: jero-boot
|
||||
* @date: 2021-09-02
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Api(tags = "参会人员信息-功能安全中心会议")
|
||||
@RestController
|
||||
@RequestMapping("/meeting/safetyCenterMeetingSituation")
|
||||
@Slf4j
|
||||
public class SafetyCenterMeetingSituationController extends JeroController<PayMeetingSituation, IPayMeetingSituationService> {
|
||||
@Resource
|
||||
private IPayMeetingSituationService payMeetingSituationService;
|
||||
@Resource
|
||||
private AuthenticationUtils authenticationUtils;
|
||||
@Resource
|
||||
private IPayContactsManagementService contactsManagementService;
|
||||
@Resource
|
||||
private IPayCompanyManagementService companyManagementService;
|
||||
|
||||
private final Integer MEETING_TYPE = MeetingCommon.SAFETY_CENTER_MEETING_INT;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@CompanyNameTranslate
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:search")
|
||||
@ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
String meetingId = payMeetingSituation.getMeetingId();
|
||||
if (StringUtils.isBlank(meetingId)) {
|
||||
throw new JeroBootException("会议id不能为空");
|
||||
}
|
||||
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
|
||||
String particularYear = req.getParameter("particularYear");
|
||||
if (StringUtils.isNotBlank(particularYear)){
|
||||
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
|
||||
}
|
||||
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper,MEETING_TYPE);
|
||||
List<PayMeetingSituation> situationList = pageList.getRecords();
|
||||
for (PayMeetingSituation meetingSituation : situationList) {
|
||||
Integer payMode = meetingSituation.getPayMode();
|
||||
//汇款并且缴费凭证为空
|
||||
if (Objects.equals(payMode,1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())){
|
||||
meetingSituation.setIdentification(PayProjectCommon.YES);
|
||||
}else {
|
||||
meetingSituation.setIdentification(PayProjectCommon.NO);
|
||||
}
|
||||
}
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加参会人
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:add")
|
||||
@AutoLog(value = "参会人员信息-添加参会人")
|
||||
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
|
||||
payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
@AutoLog(value = "参会人员信息-编辑")
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:edit")
|
||||
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
|
||||
payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:delete")
|
||||
@AutoLog(value = "参会人员信息-通过id删除")
|
||||
@ApiOperation(value = "参会人员信息-通过id删除", notes = "参会人员信息-通过id删除")
|
||||
@GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name = "id") String id) {
|
||||
payMeetingSituationService.deleteById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:batchDel")
|
||||
@AutoLog(value = "参会人员信息-批量删除")
|
||||
@ApiOperation(value = "参会人员信息-批量删除", notes = "参会人员信息-批量删除")
|
||||
@GetMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
|
||||
this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*/
|
||||
@CompanyNameTranslate
|
||||
@DictPoint
|
||||
@ApiOperation(value = "参会人员信息-通过id查询", notes = "参会人员信息-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name = "id") String id) {
|
||||
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id);
|
||||
if (payMeetingSituation == null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(payMeetingSituation);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过会议id查询自己的参会人信息
|
||||
*/
|
||||
@CompanyNameTranslate
|
||||
@DictPoint
|
||||
@ApiOperation(value = "参会人员信息-通过会议id查询自己的参会人信息")
|
||||
@GetMapping(value = "/queryByMeetingId")
|
||||
public Result<?> queryByMeetingId(@RequestParam(name = "meetingId") String meetingId) {
|
||||
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryByMeetingIdAndContactId(meetingId);
|
||||
if (payMeetingSituation == null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(payMeetingSituation);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:export")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
|
||||
List<Object> objects = payMeetingSituationService.MeetingSituationGetModelAndView(request, payMeetingSituation,MEETING_TYPE);
|
||||
Class<?> aClass = payMeetingSituationService.getaClass(MEETING_TYPE);
|
||||
return super.exportListXls(objects, aClass, "参会人员信息");
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核缴费凭证
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:auditCredentials")
|
||||
@AutoLog(value = "审核缴费凭证")
|
||||
@ApiOperation(value = "审核缴费凭证")
|
||||
@PostMapping(value = "/check")
|
||||
public Result<?> check(@RequestBody CheckVO checkVO) {
|
||||
payMeetingSituationService.check(checkVO);
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核报名信息
|
||||
*/
|
||||
@AutoLog(value = "审核报名信息")
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:auditSignUp")
|
||||
@ApiOperation(value = "审核报名信息")
|
||||
@PostMapping(value = "/checkRegister")
|
||||
public Result<?> checkRegister(@RequestBody CheckVO checkVO) {
|
||||
payMeetingSituationService.checkRegister(checkVO);
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 合并开票
|
||||
*/
|
||||
@AutoLog(value = "合并开票")
|
||||
@ApiOperation(value = "合并开票", notes = "合并开票")
|
||||
@PostMapping(value = "/batchPayBill")
|
||||
public Result<?> mergePayBill(@RequestBody MergePayBillVO mergePayBillVO) {
|
||||
ValidUtil.validate(mergePayBillVO);
|
||||
payMeetingSituationService.mergePayBill(mergePayBillVO);
|
||||
return Result.OK("合并开票成功!");
|
||||
}
|
||||
/**
|
||||
* 设置嘉宾上传文件
|
||||
*/
|
||||
@RequiresPermissions("safetyCenterMeetingSituation:guestsUploadFileFlag")
|
||||
@AutoLog(value = "设置嘉宾上传文件")
|
||||
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
|
||||
@PostMapping(value = "/setGuestsUploadFile")
|
||||
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
|
||||
ValidUtil.validate(setGuestsUploadFileVO);
|
||||
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
|
||||
return Result.OK("设置嘉宾上传文件成功!");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -119,6 +119,10 @@ public class PayMeeting implements Serializable {
|
||||
@ApiModelProperty(value = "理事会名称")
|
||||
private String councilName;
|
||||
|
||||
/**安全中心项目id*/
|
||||
@ApiModelProperty(value = "安全中心项目id")
|
||||
private String safetyCenterId;
|
||||
|
||||
/**开始时间*/
|
||||
@Excel(name = "开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
+42
@@ -41,6 +41,10 @@ import com.jero.drafting.entity.PayDraftingGroup;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
|
||||
import com.jero.drafting.service.IPayDraftingGroupService;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterService;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.common.MeetingSubitemCommon;
|
||||
import com.jero.meeting.entity.*;
|
||||
@@ -149,6 +153,10 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
private IPayContactsManagementService contactsManagementService;
|
||||
@Resource
|
||||
private PayMeetingStandardProjectService meetingStandardProjectService;
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
/**
|
||||
* 新增会议
|
||||
*/
|
||||
@@ -723,6 +731,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
List<String> contactsIdList = new ArrayList<>();
|
||||
String workingGroupId = null;
|
||||
String draftingGroupId = null;
|
||||
String safetyCenterId = null;
|
||||
//工作组项目直接是人
|
||||
if (Objects.equals(projectType, 1)) {
|
||||
//把单位会员中所有的联系人取出
|
||||
@@ -784,6 +793,22 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
.setContactId(contactsId)
|
||||
);
|
||||
}
|
||||
}else if (Objects.equals(projectType, 5)) {
|
||||
safetyCenterId = publishReminderVO.getSafetyCenterId();
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(SafetyCenterSubitemContacts::getProjectId, safetyCenterId);
|
||||
wrapper1.in(SafetyCenterSubitemContacts::getContactsId,subitemIds);
|
||||
List<SafetyCenterSubitemContacts> groupSubItemContactsList = safetyCenterSubitemContactsService.list(wrapper1);
|
||||
for (SafetyCenterSubitemContacts payDraftingGroupSubItemContacts : groupSubItemContactsList) {
|
||||
String subitemId = payDraftingGroupSubItemContacts.getSubitemId();
|
||||
String contactsId = payDraftingGroupSubItemContacts.getContactsId();
|
||||
contactsIdList.add(contactsId);
|
||||
meetingRemindRecordList.add(
|
||||
new PayMeetingRemindRecord()
|
||||
.setSubitemId(subitemId)
|
||||
.setContactId(contactsId)
|
||||
);
|
||||
}
|
||||
} else {
|
||||
throw new JeroBootException("项目类型不正确");
|
||||
}
|
||||
@@ -815,6 +840,13 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
LoginUser userById = sysBaseAPI.getUserById(principalIdA);
|
||||
fromUser = userById.getUsername();
|
||||
}
|
||||
//起草组项目用工作组负责人A发邮件
|
||||
if (Objects.nonNull(safetyCenterId)) {
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(safetyCenterId);
|
||||
String principalId = safetyCenter.getPrincipalId();
|
||||
LoginUser userById = sysBaseAPI.getUserById(principalId);
|
||||
fromUser = userById.getUsername();
|
||||
}
|
||||
//发送消息
|
||||
int success = list.size();
|
||||
int failed = 0;
|
||||
@@ -1045,6 +1077,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
permission = "draftGroupMeeting:search";
|
||||
}else if (meetingType.equals(MeetingCommon.OVERSEAS_MEETING_INT)) {
|
||||
permission = "overseasMeeting:search";
|
||||
}else if (meetingType.equals(MeetingCommon.SAFETY_CENTER_MEETING_INT)) {
|
||||
permission = "overseasMeeting:search";
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(permission)) {
|
||||
@@ -1421,6 +1455,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
classToExport = DraftingGroupMeetingExcel.class;
|
||||
}else if (meetingType.equals(MeetingCommon.OVERSEAS_MEETING_INT)){
|
||||
classToExport = OverseasMeetingExcel.class;
|
||||
}else if (meetingType.equals(MeetingCommon.SAFETY_CENTER_MEETING_INT)){
|
||||
classToExport = SafetyCenterMeetingExcel.class;
|
||||
}
|
||||
return classToExport;
|
||||
}
|
||||
@@ -1534,6 +1570,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
BeanUtils.copyProperties(payMeetingVO, overseasMeetingExcel);
|
||||
exportList.add(overseasMeetingExcel);
|
||||
break;
|
||||
case MeetingCommon.SAFETY_CENTER_MEETING:
|
||||
//保存数据
|
||||
SafetyCenterMeetingExcel safetyCenterMeetingExcel = new SafetyCenterMeetingExcel();
|
||||
BeanUtils.copyProperties(payMeetingVO, safetyCenterMeetingExcel);
|
||||
exportList.add(safetyCenterMeetingExcel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return exportList;
|
||||
|
||||
+38
@@ -49,6 +49,7 @@ import com.jero.data.service.IPayCaseCouncilService;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
@@ -170,6 +171,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
private IPayDraftingGroupSubItemContactsService draftingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
|
||||
|
||||
private static final String[] CAN_MODIFY_LIST =
|
||||
@@ -1180,6 +1183,16 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
//判断身份
|
||||
Integer identity = payMeetingSituation.getIdentity();
|
||||
payMeetingSituation1.setIsZero(true);
|
||||
//功能安全中心会议只有成员才能报名
|
||||
if (meetingType.equals(MeetingCommon.SAFETY_CENTER_MEETING_INT)) {
|
||||
//校验是否功能安全中心成员
|
||||
String safetyCenterId = payMeeting.getSafetyCenterId();
|
||||
boolean b = checkSafetyCenterSubitem(safetyCenterId, companyContactId);
|
||||
if (!b){
|
||||
throw new JeroBootException("功能安全中心成员才能报名");
|
||||
}
|
||||
payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_1);
|
||||
}
|
||||
//国际研讨会会议的嘉宾和其他类型不同
|
||||
if (meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING)) &&
|
||||
identity.equals(MeetingSubitemCommon.JIA_BIN)) {
|
||||
@@ -1425,6 +1438,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
return payMeetingSituation1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验是否功能安全中心成员
|
||||
*/
|
||||
private boolean checkSafetyCenterSubitem(String safetyCenterId, String companyContactId) {
|
||||
return safetyCenterSubitemContactsService.checkSafetyCenterSubitem(safetyCenterId, companyContactId);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验嘉宾参数格式
|
||||
* @param internationalGuestVO
|
||||
@@ -1712,6 +1733,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
if (StringUtils.isNotBlank(particularYear)){
|
||||
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
|
||||
}
|
||||
queryWrapper.orderByDesc("pms.create_time");
|
||||
IPage<PayMeetingSituation> pageListContract = pageListContract(meetingId, new Page<>(-1, -1), queryWrapper,meetingType);
|
||||
List<PayMeetingSituation> pageList = pageListContract.getRecords();
|
||||
|
||||
@@ -1784,6 +1806,18 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
BeanUtils.copyProperties(meetingSituation, draftingGroupSituationExcel);
|
||||
exportList.add(draftingGroupSituationExcel);
|
||||
break;
|
||||
case MeetingCommon.SAFETY_CENTER_MEETING:
|
||||
//保存数据
|
||||
SafetyCenterMeetingSituationExcel situationExcel2 = new SafetyCenterMeetingSituationExcel();
|
||||
BeanUtils.copyProperties(meetingSituation, situationExcel2);
|
||||
exportList.add(situationExcel2);
|
||||
break;
|
||||
default:
|
||||
//保存数据
|
||||
SituationExcel situationExcel1 = new SituationExcel();
|
||||
BeanUtils.copyProperties(meetingSituation, situationExcel1);
|
||||
exportList.add(situationExcel1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return exportList;
|
||||
@@ -1850,6 +1884,10 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
classToExport = CouncilSituationExcel.class;
|
||||
}else if (meetingType.equals(MeetingCommon.DRAFTING_GROUP_MEETING_INT)){
|
||||
classToExport = DraftingGroupSituationExcel.class;
|
||||
}else if (meetingType.equals(MeetingCommon.SAFETY_CENTER_MEETING_INT)){
|
||||
classToExport = SafetyCenterMeetingSituationExcel.class;
|
||||
}else {
|
||||
classToExport = SituationExcel.class;
|
||||
}
|
||||
return classToExport;
|
||||
}
|
||||
|
||||
@@ -93,6 +93,10 @@ public class PayMeetingVO implements Serializable {
|
||||
@ApiModelProperty(value = "理事会名称")
|
||||
private String councilName;
|
||||
|
||||
/**安全中心项目id*/
|
||||
@ApiModelProperty(value = "安全中心项目id")
|
||||
private String safetyCenterId;
|
||||
|
||||
/**开始时间*/
|
||||
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
@@ -26,4 +26,6 @@ public class PublishReminderVO {
|
||||
|
||||
@ApiModelProperty(value = "起草组id")
|
||||
private java.lang.String draftingGroupId;
|
||||
@ApiModelProperty(value = "安全中心id")
|
||||
private String safetyCenterId;
|
||||
}
|
||||
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
package com.jero.meeting.vo.excel;
|
||||
|
||||
import com.jero.meeting.entity.PayMeetingContacts;
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2021-09-22 14:02
|
||||
*/
|
||||
@Data
|
||||
public class SafetyCenterMeetingExcel {
|
||||
/**会议名称*/
|
||||
@Excel(name = "会议名称", width = 15)
|
||||
private String meetingName;
|
||||
|
||||
/**会议类型*/
|
||||
@Excel(name = "会议类型", width = 15)
|
||||
private String meetingType;
|
||||
|
||||
/**开始时间*/
|
||||
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date startTime;
|
||||
|
||||
/**结束时间*/
|
||||
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date endTime;
|
||||
|
||||
/**年份*/
|
||||
@Excel(name = "年份", width = 15)
|
||||
private String particularYear;
|
||||
|
||||
/**召开地点*/
|
||||
@Excel(name = "召开地点", width = 15)
|
||||
private String venue;
|
||||
|
||||
/**详细地址*/
|
||||
@Excel(name = "详细地址", width = 15)
|
||||
private String address;
|
||||
|
||||
/**预计参加人数*/
|
||||
@Excel(name = "预计参加人数", width = 15)
|
||||
private String estimatedNumber;
|
||||
|
||||
/**会议内容*/
|
||||
@Excel(name = "会议内容", width = 15)
|
||||
private String meetingContent;
|
||||
|
||||
/**报名截止时间*/
|
||||
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date registerDeadline;
|
||||
|
||||
/**会议费用*/
|
||||
@Excel(name = "会议费用", width = 15)
|
||||
private BigDecimal meetingCosts;
|
||||
|
||||
/**会议负责人*/
|
||||
@Excel(name = "会议负责人", width = 15)
|
||||
private String directorName;
|
||||
|
||||
/**会议负责人手机号*/
|
||||
@Excel(name = "会议负责人手机号", width = 15)
|
||||
private String directorPhone;
|
||||
|
||||
/**酒店名称*/
|
||||
@Excel(name = "酒店名称", width = 15)
|
||||
private String hotelName;
|
||||
|
||||
/**酒店地址*/
|
||||
@Excel(name = "酒店地址", width = 15)
|
||||
private String hotelAddress;
|
||||
|
||||
/**
|
||||
* 会议关联酒店联系人列表
|
||||
*/
|
||||
private List<PayMeetingHotelContacts> hotelContactsList;
|
||||
/**
|
||||
* 会议联系人列表
|
||||
*/
|
||||
@ExcelCollection(name = "会议联系人列表")
|
||||
private List<PayMeetingContacts> meetingContactsList;
|
||||
|
||||
/**备注*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
private String remark;
|
||||
}
|
||||
+70
@@ -0,0 +1,70 @@
|
||||
package com.jero.meeting.vo.excel;
|
||||
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2021-09-22 15:39
|
||||
*/
|
||||
@Data
|
||||
public class SafetyCenterMeetingSituationExcel {
|
||||
|
||||
/**
|
||||
* 会议id
|
||||
*/
|
||||
@Excel(name = "会议名称", width = 15, dictTable = "pay_meeting", dicCode = "id", dicText = "meeting_name")
|
||||
private String meetingId;
|
||||
|
||||
/**
|
||||
* 企业id
|
||||
*/
|
||||
@Excel(name = "企业名称", width = 15)
|
||||
private String companyName;
|
||||
|
||||
/**
|
||||
* 企业联系人id
|
||||
*/
|
||||
@Excel(name = "企业联系人名称", width = 15)
|
||||
private String companyContactName;
|
||||
|
||||
/**
|
||||
* 职务
|
||||
*/
|
||||
@Excel(name = "职务", width = 15)
|
||||
private String post;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Excel(name = "手机号", width = 15)
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Excel(name = "邮箱", width = 15)
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 身份
|
||||
*/
|
||||
@Dict(dicCode = "meet_identify_type")
|
||||
@Excel(name = "身份", width = 15, dicCode = "meet_identify_type")
|
||||
private Integer identity;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Excel(name = "备注", width = 15)
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 签到文件
|
||||
*/
|
||||
@Excel(name = "手动签到", type = 2, width = 40, height = 20, imageType = 3)
|
||||
private String checkFile;
|
||||
|
||||
|
||||
}
|
||||
@@ -113,6 +113,10 @@ public class PayProjectCommon {
|
||||
* 项目类型1:工作组,2:分标委, 3:理事会, 4:起草组
|
||||
*/
|
||||
public final static Integer PROJECT_TYPE_FILE4 = 4;
|
||||
/**
|
||||
* 5功能安全中心
|
||||
*/
|
||||
public final static Integer PROJECT_TYPE_FILE5 = 5;
|
||||
/**
|
||||
* 需要发票(1:增值税普通发票,2:增值税专用发票,0:否,3:需要发票(小程序需要))
|
||||
*/
|
||||
|
||||
+28
@@ -27,6 +27,9 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitem;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemService;
|
||||
import com.jero.functionalsafetycenter.vo.SafetyCenterSubitemImport;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import com.jero.mail.service.IPayMailBillProjectService;
|
||||
@@ -121,6 +124,8 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
private ITbMemberProjectService tbMemberProjectService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemService safetyCenterSubitemService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
@@ -583,6 +588,29 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
|
||||
}
|
||||
|
||||
// 功能安全中心项目资料
|
||||
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
SafetyCenterSubitem safetyCenterSubitem = safetyCenterSubitemService.getById(id);
|
||||
LambdaQueryWrapper<PayWorkingGroupDistributionRecord> queryPayWorkingGroupDistributionRecord = new LambdaQueryWrapper<>();
|
||||
queryPayWorkingGroupDistributionRecord.eq(PayWorkingGroupDistributionRecord::getProjectId,safetyCenterSubitem.getProjectId());
|
||||
queryPayWorkingGroupDistributionRecord.eq(PayWorkingGroupDistributionRecord::getContactsId,sysUser.getId());
|
||||
queryPayWorkingGroupDistributionRecord.groupBy(PayWorkingGroupDistributionRecord::getFileId);
|
||||
List<PayWorkingGroupDistributionRecord> listPayWorkingGroupDistributionRecord = payWorkingGroupDistributionRecordService.list(queryPayWorkingGroupDistributionRecord);
|
||||
if(!CollectionUtils.isEmpty(listPayWorkingGroupDistributionRecord)){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
listPayWorkingGroupDistributionRecord.forEach(p->{
|
||||
sb.append(p.getFileId());
|
||||
if(listPayWorkingGroupDistributionRecord.indexOf(p) != (listPayWorkingGroupDistributionRecord.size() - 1)){
|
||||
sb.append(",");
|
||||
}
|
||||
});
|
||||
payCommonProject.setFiles(sb.toString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
String strProject = JSON.toJSONString(payCommonProject);
|
||||
payCompanyCommonProject = JSONObject.parseObject(strProject,PayCompanyCommonProject.class);
|
||||
if(Objects.isNull(payCompanyCommonProject.getPaidAmount())){
|
||||
|
||||
+4
-12
@@ -18,6 +18,7 @@ import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupDataFile;
|
||||
import com.jero.project.enums.ProjectTypeEnum;
|
||||
import com.jero.project.service.IPayWorkingGroupDataFileService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -86,10 +87,7 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
|
||||
if(StringUtils.isBlank(payWorkingGroupDataFile.getProjectId())){
|
||||
return Result.error("工作组id不能为空!");
|
||||
}
|
||||
if(!Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
if(!ProjectTypeEnum.hasValue(payWorkingGroupDataFile.getProjectType())){
|
||||
return Result.error("项目状态不正确!");
|
||||
}
|
||||
|
||||
@@ -142,10 +140,7 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
|
||||
if(StringUtils.isBlank(payWorkingGroupDataFile.getProjectId())){
|
||||
return Result.error("项目id不能为空!");
|
||||
}
|
||||
if(!Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
if(!ProjectTypeEnum.hasValue(payWorkingGroupDataFile.getProjectType())){
|
||||
return Result.error("项目状态不正确!");
|
||||
}
|
||||
if(StringUtils.isBlank(payWorkingGroupDataFile.getFileIds())){
|
||||
@@ -332,10 +327,7 @@ public class PayWorkingGroupDataFileController extends JeroController<PayWorking
|
||||
if(StringUtils.isBlank(payWorkingGroupDataFile.getProjectId())){
|
||||
throw new JeroBootException("项目id不能为空!");
|
||||
}
|
||||
if(!Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)
|
||||
&& !Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
if(!ProjectTypeEnum.hasValue(payWorkingGroupDataFile.getProjectType())){
|
||||
throw new JeroBootException("项目状态不正确!");
|
||||
}
|
||||
if(Objects.equals(payWorkingGroupDataFile.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){
|
||||
|
||||
+17
-5
@@ -19,12 +19,15 @@ import com.jero.data.service.IPayCaseCommitteeSubitemService;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.DownloadFileRecord;
|
||||
import com.jero.project.entity.PayWorkingGroupDistributionRecord;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.enums.ProjectTypeEnum;
|
||||
import com.jero.project.service.IPayWorkingGroupDistributionRecordService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
@@ -70,6 +73,8 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
|
||||
@Resource
|
||||
private IOSSFileService iossFileService;
|
||||
@@ -209,10 +214,7 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
if(StringUtils.isBlank(projectId)){
|
||||
throw new JeroBootException("项目id不能为空!");
|
||||
}
|
||||
if(!Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE1)
|
||||
&& !Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE2)
|
||||
&& !Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE3)
|
||||
&& !Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
if(!ProjectTypeEnum.hasValue(projectType)){
|
||||
return Result.error("项目状态不正确!");
|
||||
}
|
||||
List<PayContactsManagement> listData = new ArrayList<>();
|
||||
@@ -267,7 +269,17 @@ public class PayWorkingGroupDistributionRecordController extends JeroController<
|
||||
listData.add(payContactsManagement);
|
||||
});
|
||||
}
|
||||
|
||||
}else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE5)){
|
||||
List<SafetyCenterSubitemContacts> list = safetyCenterSubitemContactsService.getContactsInfo(projectId);
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
list.forEach(p->{
|
||||
PayContactsManagement payContactsManagement = new PayContactsManagement();
|
||||
payContactsManagement.setId(p.getContactsId());
|
||||
payContactsManagement.setName(p.getContactsName());
|
||||
payContactsManagement.setCompanyName(p.getCompanyName());
|
||||
listData.add(payContactsManagement);
|
||||
});
|
||||
}
|
||||
}else {
|
||||
throw new JeroBootException("项目状态不正确!");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.jero.project.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-07-04 17:54
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ProjectTypeEnum {
|
||||
/**
|
||||
* A
|
||||
*/
|
||||
ONE("工作组", 1),
|
||||
TWO("分标委", 2),
|
||||
THREE("理事会", 3),
|
||||
FOUR("起草组", 4),
|
||||
FIVE("功能安全中心", 5),
|
||||
;
|
||||
|
||||
private String name;
|
||||
private Integer value;
|
||||
|
||||
public static String getNameByValue(Integer value) {
|
||||
for (ProjectTypeEnum enumObject : values()) {
|
||||
if (enumObject.getValue().equals(value)) {
|
||||
return enumObject.getName();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Integer getValueByName(String name) {
|
||||
for (ProjectTypeEnum enumObject : values()) {
|
||||
if (enumObject.getName().equals(name)) {
|
||||
return enumObject.getValue();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public static boolean hasValue(Integer value) {
|
||||
for (ProjectTypeEnum enumObject : values()) {
|
||||
if (enumObject.getValue().equals(value)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+104
-21
@@ -30,6 +30,10 @@ import com.jero.drafting.entity.PayDraftingGroup;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
|
||||
import com.jero.drafting.service.IPayDraftingGroupService;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenter;
|
||||
import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterService;
|
||||
import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
@@ -41,6 +45,7 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -97,6 +102,10 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
private IPayDraftingGroupService payDraftingGroupService;
|
||||
@Resource
|
||||
private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -130,9 +139,11 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
listFile.add(path + url);
|
||||
List<PayContactsManagementTemporary> list = new ArrayList<>();
|
||||
String msg = "";
|
||||
String projectId = payWorkingGroupDistributionRecord.getProjectId();
|
||||
Integer projectType = payWorkingGroupDistributionRecord.getProjectType();
|
||||
List<PayWorkingGroupDistributionRecord> listPayWorkingGroupDistributionRecord = new ArrayList<>();
|
||||
if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId());
|
||||
if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE1)){
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(projectId);
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
throw new JeroBootException("工作组不存在!");
|
||||
}
|
||||
@@ -150,7 +161,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
list = listContacts;
|
||||
}
|
||||
msg = payWorkingGroup.getWorkingGroupProject();
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)){
|
||||
}else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE2)){
|
||||
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
|
||||
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(contactsIds.split(",")));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(queryPayContactsManagement);
|
||||
@@ -160,15 +171,15 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
}
|
||||
// 查询分标委成员
|
||||
LambdaQueryWrapper<PayCaseCommitteeSubitem> queryPayCaseCommitteeSubitem = new LambdaQueryWrapper<>();
|
||||
queryPayCaseCommitteeSubitem.eq(PayCaseCommitteeSubitem::getCommitteeId,payWorkingGroupDistributionRecord.getProjectId());
|
||||
queryPayCaseCommitteeSubitem.eq(PayCaseCommitteeSubitem::getCommitteeId, projectId);
|
||||
queryPayCaseCommitteeSubitem.in(PayCaseCommitteeSubitem::getContactsId,Arrays.asList(s));
|
||||
List<PayCaseCommitteeSubitem> listPayCaseCommitteeSubitem = payCaseCommitteeSubitemService.list(queryPayCaseCommitteeSubitem);
|
||||
if(!CollectionUtils.isEmpty(listPayCaseCommitteeSubitem)){
|
||||
listPayCaseCommitteeSubitem.forEach(p->{
|
||||
PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord();
|
||||
payWorkingGroupDistributionRecordNew.setDataId(payWorkingGroupDistributionRecord.getDataId());
|
||||
payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId());
|
||||
payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType());
|
||||
payWorkingGroupDistributionRecordNew.setProjectId(projectId);
|
||||
payWorkingGroupDistributionRecordNew.setProjectType(projectType);
|
||||
payWorkingGroupDistributionRecordNew.setFileId(byId.getId());
|
||||
payWorkingGroupDistributionRecordNew.setSubId(p.getId());
|
||||
payWorkingGroupDistributionRecordNew.setContactsId(p.getContactsId());
|
||||
@@ -177,12 +188,12 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
});
|
||||
}
|
||||
|
||||
PayCaseCommittee payCaseCommittee = payCaseCommitteeService.getById(payWorkingGroupDistributionRecord.getProjectId());
|
||||
PayCaseCommittee payCaseCommittee = payCaseCommitteeService.getById(projectId);
|
||||
if(Objects.isNull(payCaseCommittee)){
|
||||
throw new JeroBootException("分标委不存在!");
|
||||
}
|
||||
msg = payCaseCommittee.getName();
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE3)){
|
||||
}else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE3)){
|
||||
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
|
||||
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(contactsIds.split(",")));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(queryPayContactsManagement);
|
||||
@@ -192,15 +203,15 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
}
|
||||
// 查询分标委成员
|
||||
LambdaQueryWrapper<PayCaseCouncilSubitem> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayCaseCouncilSubitem::getCouncilId,payWorkingGroupDistributionRecord.getProjectId());
|
||||
queryWrapper.eq(PayCaseCouncilSubitem::getCouncilId, projectId);
|
||||
queryWrapper.in(PayCaseCouncilSubitem::getContactsId,Arrays.asList(s));
|
||||
List<PayCaseCouncilSubitem> payCaseCouncilSubitems = payCaseCouncilSubitemService.list(queryWrapper);
|
||||
if(!CollectionUtils.isEmpty(payCaseCouncilSubitems)){
|
||||
payCaseCouncilSubitems.forEach(p->{
|
||||
PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord();
|
||||
payWorkingGroupDistributionRecordNew.setDataId(payWorkingGroupDistributionRecord.getDataId());
|
||||
payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId());
|
||||
payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType());
|
||||
payWorkingGroupDistributionRecordNew.setProjectId(projectId);
|
||||
payWorkingGroupDistributionRecordNew.setProjectType(projectType);
|
||||
payWorkingGroupDistributionRecordNew.setFileId(byId.getId());
|
||||
payWorkingGroupDistributionRecordNew.setSubId(p.getId());
|
||||
payWorkingGroupDistributionRecordNew.setContactsId(p.getContactsId());
|
||||
@@ -208,13 +219,13 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew);
|
||||
});
|
||||
}
|
||||
PayCaseCouncil payCaseCouncil = payCaseCouncilService.getById(payWorkingGroupDistributionRecord.getProjectId());
|
||||
PayCaseCouncil payCaseCouncil = payCaseCouncilService.getById(projectId);
|
||||
if(Objects.isNull(payCaseCouncil)){
|
||||
throw new JeroBootException("理事会不存在!");
|
||||
}
|
||||
msg = payCaseCouncil.getName();
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId());
|
||||
}else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
PayDraftingGroup payDraftingGroup = payDraftingGroupService.getById(projectId);
|
||||
if(Objects.isNull(payDraftingGroup)){
|
||||
throw new JeroBootException("起草组不存在!");
|
||||
}
|
||||
@@ -232,6 +243,26 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
list = listContacts;
|
||||
}
|
||||
msg = payDraftingGroup.getDraftingGroupProject();
|
||||
}else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE5)){
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(projectId);
|
||||
if(Objects.isNull(safetyCenter)){
|
||||
throw new JeroBootException("功能安全中心项目不存在!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
setRecordBySafetyCenter( payWorkingGroupDistributionRecord,s,listPayWorkingGroupDistributionRecord, byId);
|
||||
LambdaQueryWrapper<PayContactsManagement> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(PayContactsManagement::getId, Arrays.asList(s));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(wrapper);
|
||||
List<PayContactsManagementTemporary> listContactsTemporary = new ArrayList<>();
|
||||
for (PayContactsManagement contactsManagement : listContacts) {
|
||||
PayContactsManagementTemporary temporary = new PayContactsManagementTemporary();
|
||||
BeanUtils.copyProperties(contactsManagement,temporary);
|
||||
listContactsTemporary.add(temporary);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listContactsTemporary)){
|
||||
list = listContactsTemporary;
|
||||
}
|
||||
msg = safetyCenter.getProjectName();
|
||||
}else{
|
||||
throw new JeroBootException("项目状态不正确!");
|
||||
}
|
||||
@@ -266,27 +297,27 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
sendMessageDTO.setListFile(listFile);
|
||||
sendMessageDTO.setBusType("C_OPEN_TYPE12");
|
||||
JSONObject json = new JSONObject();
|
||||
if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){
|
||||
if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE1)){
|
||||
List<PayWorkingGroupDistributionRecord> listStr = listPayWorkingGroupDistributionRecord.stream().filter(item->
|
||||
Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1) ?
|
||||
Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE1) ?
|
||||
Objects.equals(item.getTemporaryContactsId(),p.getId()) :
|
||||
Objects.equals(item.getContactsId(),p.getId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listStr)){
|
||||
continue;
|
||||
}
|
||||
json.put("id",listStr.get(0).getSubId());
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2)){
|
||||
}else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE2)){
|
||||
List<PayWorkingGroupDistributionRecord> listStr = listPayWorkingGroupDistributionRecord.stream().filter(item->
|
||||
Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE2) ?
|
||||
Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE2) ?
|
||||
Objects.equals(item.getTemporaryContactsId(),p.getId()) :
|
||||
Objects.equals(item.getContactsId(),p.getId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listStr)){
|
||||
continue;
|
||||
}
|
||||
json.put("id",listStr.get(0).getProjectId());
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
}else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE4)){
|
||||
List<PayWorkingGroupDistributionRecord> listStr = listPayWorkingGroupDistributionRecord.stream().filter(item->
|
||||
Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE4) ?
|
||||
Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE4) ?
|
||||
Objects.equals(item.getTemporaryContactsId(),p.getId()) :
|
||||
Objects.equals(item.getContactsId(),p.getId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listStr)){
|
||||
@@ -484,6 +515,36 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
list = listContacts;
|
||||
}
|
||||
msg = payDraftingGroup.getDraftingGroupProject();
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE5)){
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(payWorkingGroupDistributionRecord.getProjectId());
|
||||
if(Objects.isNull(safetyCenter)){
|
||||
throw new JeroBootException("功能安全中心项目不存在!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
listPayWorkingGroupDataFile.forEach(p->{
|
||||
OSSFile byId = iossFileService.getById(p.getFileId());
|
||||
if(Objects.isNull(byId)){
|
||||
throw new JeroBootException("没有找到文件!");
|
||||
}
|
||||
// 文件路径
|
||||
String url = byId.getUrl();
|
||||
listFile.add(path + url);
|
||||
payWorkingGroupDistributionRecord.setDataId(p.getId());
|
||||
setRecordBySafetyCenter( payWorkingGroupDistributionRecord,s,listPayWorkingGroupDistributionRecord, byId);
|
||||
});
|
||||
LambdaQueryWrapper<PayContactsManagement> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(PayContactsManagement::getId, Arrays.asList(s));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(wrapper);
|
||||
List<PayContactsManagementTemporary> listContactsTemporary = new ArrayList<>();
|
||||
for (PayContactsManagement contactsManagement : listContacts) {
|
||||
PayContactsManagementTemporary temporary = new PayContactsManagementTemporary();
|
||||
BeanUtils.copyProperties(contactsManagement,temporary);
|
||||
listContactsTemporary.add(temporary);
|
||||
}
|
||||
if(!CollectionUtils.isEmpty(listContactsTemporary)){
|
||||
list = listContactsTemporary;
|
||||
}
|
||||
msg = safetyCenter.getProjectName();
|
||||
}else {
|
||||
throw new JeroBootException("项目状态不正确!");
|
||||
}
|
||||
@@ -533,7 +594,8 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
sendMessageDTO.setBusId(json.toJSONString());
|
||||
sendMessageService.SendMessageService(sendMessageDTO);
|
||||
if (!CommonConstant.DEL_FLAG_0.equals(sendEmailFlag)) {
|
||||
fileEmailRemindRecordService.insertByFileList(dataIds,p.getId());
|
||||
String fileIds = listPayWorkingGroupDataFile.stream().map(PayWorkingGroupDataFile::getFileId).collect(Collectors.joining(","));
|
||||
fileEmailRemindRecordService.insertByFileList(fileIds,p.getId());
|
||||
}
|
||||
}catch (Exception e){
|
||||
if(e.getMessage().contains("邮件发送") && !listMsg.contains(p.getName() + "邮件发送失败")){
|
||||
@@ -595,4 +657,25 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
});
|
||||
}
|
||||
}
|
||||
private void setRecordBySafetyCenter(PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecord,String[] s,List<PayWorkingGroupDistributionRecord> listPayWorkingGroupDistributionRecord,OSSFile byId){
|
||||
// 查询工作组成员
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getProjectId,payWorkingGroupDistributionRecord.getProjectId());
|
||||
wrapper.in(SafetyCenterSubitemContacts::getContactsId,Arrays.asList(s));
|
||||
List<SafetyCenterSubitemContacts> list = safetyCenterSubitemContactsService.list(wrapper);
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
list.forEach(p->{
|
||||
PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord();
|
||||
payWorkingGroupDistributionRecordNew.setDataId(payWorkingGroupDistributionRecord.getDataId());
|
||||
payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId());
|
||||
payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType());
|
||||
payWorkingGroupDistributionRecordNew.setFileId(byId.getId());
|
||||
payWorkingGroupDistributionRecordNew.setSubId(p.getSubitemId());
|
||||
payWorkingGroupDistributionRecordNew.setContactsId(p.getContactsId());
|
||||
//payWorkingGroupDistributionRecordNew.setContactsName(p.getContactsTemporaryName());
|
||||
//payWorkingGroupDistributionRecordNew.setTemporaryContactsId(p.getContactsTemporaryId());
|
||||
listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -5,6 +5,7 @@ import com.jero.common.util.SpringContextUtils;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.modules.message.handle.ISendMsgHandle;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -20,7 +21,7 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
@Slf4j
|
||||
public class EmailSendMsgHandle implements ISendMsgHandle {
|
||||
static String emailFrom;
|
||||
private String email;
|
||||
@@ -94,6 +95,7 @@ public class EmailSendMsgHandle implements ISendMsgHandle {
|
||||
// helper.addAttachment(attachmentsMailNameDispose(uploadEXECL), file);
|
||||
// helper.addAttachment(attachmentsMailNameDispose(uploadCAD), file);
|
||||
mailSender.send(message);
|
||||
log.info("发送邮件成功");
|
||||
} catch (MessagingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -178,6 +180,7 @@ public class EmailSendMsgHandle implements ISendMsgHandle {
|
||||
}
|
||||
}
|
||||
mailSender.send(message);
|
||||
log.info("发送邮件和文件成功");
|
||||
}
|
||||
}
|
||||
}catch (MessagingException e) {
|
||||
|
||||
+64
-24
@@ -24,6 +24,12 @@ http {
|
||||
# '"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
#access_log logs/access.log main;
|
||||
log_format access-upstream '$time_iso8601|$request|$remote_addr|$upstream_response_time|$http_user_agent|$http_x_forwarded_for';
|
||||
map $time_iso8601 $logdate {
|
||||
'~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;
|
||||
default 'date-not-found';
|
||||
}
|
||||
access_log logs/access-$logdate.log ;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
@@ -31,7 +37,7 @@ http {
|
||||
#keepalive_timeout 0;
|
||||
keepalive_timeout 1000s;
|
||||
proxy_read_timeout 1000s;
|
||||
client_max_body_size 50m;
|
||||
client_max_body_size 100m;
|
||||
#gzip on;
|
||||
# 企业端
|
||||
server {
|
||||
@@ -56,22 +62,15 @@ http {
|
||||
|
||||
location / {
|
||||
root D:/income_payments/UI_enterprise/enterprise;
|
||||
#try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
try_files $uri $uri/ /index.html;
|
||||
proxy_read_timeout 150s;
|
||||
add_header X-Download-Options noopen;
|
||||
add_header X-Permitted-Cross-Domain-Policies none;
|
||||
add_header 'Referrer-Policy' 'origin';
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header X-Content-Type-Options "nosniff";
|
||||
#add_header X-Frame-Options "ALLOW-FROM http://casa.catarc.org.cn:7008/";
|
||||
#add_header Strict-Transport-Security "max-age=16070400;";
|
||||
index index.html index.htm;
|
||||
# root html;
|
||||
# index index.html index.htm;
|
||||
if (!-e $request_filename) {
|
||||
rewrite ^(.*)$ /index.html?s=$1 last;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
location /jero-boot {
|
||||
@@ -79,6 +78,9 @@ http {
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
location /jero-boot/actuator {
|
||||
return 403;
|
||||
}
|
||||
#会员系统的后端
|
||||
location /memberApi {
|
||||
@@ -87,6 +89,26 @@ http {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
#拦截 getcorsfile 接口
|
||||
location /preview/getCorsFile {
|
||||
return 403;
|
||||
}
|
||||
#拦截 deletefile 接口
|
||||
location /preview/deleteFile {
|
||||
return 403;
|
||||
}
|
||||
#防止 kkfile 执行恶意代码
|
||||
location /preview/index {
|
||||
return 403;
|
||||
}
|
||||
#拦截 deletefile 接口
|
||||
#通过 preview 接口允许访问 kkfile 预览
|
||||
location /preview {
|
||||
proxy_pass http://127.0.0.1:8092;
|
||||
proxy_set_header host $host;
|
||||
proxy_set_header x-real-ip $remote_addr;
|
||||
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
|
||||
}
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
@@ -137,6 +159,9 @@ http {
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
location /jero-boot/actuator {
|
||||
return 403;
|
||||
}
|
||||
# 请求大屏客户环境
|
||||
location /zxd {
|
||||
@@ -271,6 +296,7 @@ http {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
@@ -283,21 +309,35 @@ http {
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8092;
|
||||
server_name localhost;
|
||||
|
||||
#charset koi8-r;
|
||||
|
||||
#access_log logs/host.access.log main;
|
||||
server {
|
||||
listen 8093;
|
||||
server_name localhost;
|
||||
|
||||
location ^~ /getCorsFile {
|
||||
return 404;
|
||||
index index.html index.htm;
|
||||
}
|
||||
location ^~ / {
|
||||
proxy_pass http://cwp.catarc.org.cn:8093/;
|
||||
}
|
||||
}
|
||||
#charset koi8-r;
|
||||
|
||||
#access_log logs/host.access.log main;
|
||||
|
||||
location ^~ /getCorsFile {
|
||||
return 404;
|
||||
index index.html index.htm;
|
||||
}
|
||||
location /preview/getCorsFile {
|
||||
return 403;
|
||||
}
|
||||
#拦截 deletefile 接口
|
||||
location /preview/deleteFile {
|
||||
return 403;
|
||||
}
|
||||
#防止 kkfile 执行恶意代码
|
||||
location /preview/index {
|
||||
return 403;
|
||||
}
|
||||
#拦截 deletefile 接口
|
||||
location /index {
|
||||
return 403;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user