diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index 7b38ef329..f20a9f262 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -440,7 +440,7 @@ CREATE TABLE `laws_weilai`.`doc_translation` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文档翻译表' ROW_FORMAT = Dynamic; --- 文档翻译-源语言数据字典 +-- 文档翻译-源语言数据字典 2022-7-25 已同步生产环境 INSERT INTO `laws_weilai`.`sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1550306517749547010', '文档翻译-翻译语言-源语言', 'source_language', '文档翻译-翻译语言-源语言', 0, 'admin', '2022-07-22 10:27:32', 'admin', '2022-07-22 10:29:17', NULL, NULL, 1, 0, '1', 2); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('155030756958032691412', '1550306517749547010', '中文', 'zh', '中文', 2, 1, 'admin', '2022-07-22 10:31:43', 'admin', '2022-07-22 10:31:59', 1, NULL, NULL, '0', 'Chinese'); @@ -459,7 +459,7 @@ INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_v INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('15503119403009474586', '1550306517749547010', '朝鲜语', 'ko', '朝鲜语', 15, 1, 'admin', '2022-07-22 10:49:05', NULL, NULL, 1, NULL, NULL, '0', 'Korean'); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('15503120084961361947', '1550306517749547010', '越南语', 'vi', '越南语', 16, 1, 'admin', '2022-07-22 10:49:21', NULL, NULL, 1, NULL, NULL, '0', 'Vietnamese'); --- 文档翻译-目标语言数据字典 +-- 文档翻译-目标语言数据字典 2022-7-25 已同步生产环境 INSERT INTO `laws_weilai`.`sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1550306581909815297', '文档翻译-翻译语言-目标语言', 'target_language', '文档翻译-翻译语言-目标语言', 0, 'admin', '2022-07-22 10:27:47', 'admin', '2022-07-22 10:29:13', NULL, NULL, 1, 0, '1', 1); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('15503075695803269141', '1550306581909815297', '中文', 'zh', '中文', 2, 1, 'admin', '2022-07-22 10:31:43', 'admin', '2022-07-22 10:31:59', 1, NULL, NULL, '0', 'Chinese'); @@ -478,19 +478,217 @@ INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_v INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1550311940300947458', '1550306581909815297', '朝鲜语', 'ko', '朝鲜语', 15, 1, 'admin', '2022-07-22 10:49:05', NULL, NULL, 1, NULL, NULL, '0', 'Korean'); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1550312008496136194', '1550306581909815297', '越南语', 'vi', '越南语', 16, 1, 'admin', '2022-07-22 10:49:21', NULL, NULL, 1, NULL, NULL, '0', 'Vietnamese'); --- 文档翻译-发布情况数据字典 +-- 文档翻译-发布情况数据字典 2022-7-25 已同步生产环境 INSERT INTO `laws_weilai`.`sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1550314527293128705', '文档翻译-发布情况', 'release_condition', '文档翻译-发布情况', 0, 'admin', '2022-07-22 10:59:21', 'admin', '2022-07-22 11:01:07', NULL, NULL, 1, 0, '1', 2); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1550314666682433537', '1550314527293128705', '已发布', 'published', '已发布', 1, 1, 'admin', '2022-07-22 10:59:55', NULL, NULL, 1, NULL, NULL, '0', 'Have published'); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1550314731320852482', '1550314527293128705', '草稿', 'draft', '草稿', 2, 1, 'admin', '2022-07-22 11:00:10', NULL, NULL, 1, NULL, NULL, '0', 'Draft'); --- 文档翻译-翻译结果数据字典 +-- 文档翻译-翻译结果数据字典 2022-7-25 已同步生产环境 INSERT INTO `laws_weilai`.`sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1550314971079852034', '文档翻译-翻译结果', 'translation_result', '文档翻译-翻译结果', 0, 'admin', '2022-07-22 11:01:07', NULL, NULL, NULL, NULL, 1, 0, '1', 1); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1550315090797871105', '1550314971079852034', '翻译中', 'In the translation', '翻译中', 1, 1, 'admin', '2022-07-22 11:01:36', NULL, NULL, 1, NULL, NULL, '0', 'In the translation'); INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1550315193285689345', '1550314971079852034', '翻译完成', 'Translation done', '翻译完成', 2, 1, 'admin', '2022-07-22 11:02:00', NULL, NULL, 1, NULL, NULL, '0', 'Translation done'); --- 文档翻译表-增加字段 编号、标题 +-- 文档翻译表-增加字段 编号、标题 2022-7-25 已同步生产环境 ALTER TABLE `laws_weilai`.`doc_translation` ADD COLUMN `serial_number` varchar(255) NULL COMMENT '编号' AFTER `buss_document_library_id`, ADD COLUMN `title` varchar(255) NULL COMMENT '标题' AFTER `serial_number`; + +-- 菜单管理 添加上报库按钮 2022-07-28 +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552487817415819266', '1552487412749369345', '自定义导出', NULL, NULL, NULL, NULL, 2, 'report:detail:export:custom', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:55:14', NULL, NULL, 0, 0, '1', 0, 'Custom Export'); +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552487616038895618', '1552487412749369345', '常规导出', NULL, NULL, NULL, NULL, 2, 'report:detail:export:normal', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:54:26', NULL, NULL, 0, 0, '1', 0, 'Normal Export'); +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552487412749369345', '1539429224550457346', '查看', NULL, NULL, NULL, NULL, 2, 'report:detail:list', '1', 1.00, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-07-28 10:53:38', NULL, NULL, 0, 0, '1', 0, 'Detail'); +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552487236076896257', '1539429224550457346', '导出历史', NULL, NULL, NULL, NULL, 2, 'params:report:history', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:52:56', NULL, NULL, 0, 0, '1', 0, 'Export History'); +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552484580440735746', '1539426795780005889', '批量删除', NULL, NULL, NULL, NULL, 2, 'report:exportTemplate:deleteBatch', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:42:22', NULL, NULL, 0, 0, '1', 0, 'Batch Delete'); +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552484462484324353', '1539426795780005889', '删除', NULL, NULL, NULL, NULL, 2, 'report:exportTemplate:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:41:54', NULL, NULL, 0, 0, '1', 0, 'Delete'); +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552484292065558530', '1539426795780005889', '编辑', NULL, NULL, NULL, NULL, 2, 'report:exportTemplate:edit', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:41:14', NULL, NULL, 0, 0, '1', 0, 'Edit'); +INSERT INTO `laws_weilai`.`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`, `menu_en`) VALUES ('1552484136976973825', '1539426795780005889', '新增', NULL, NULL, NULL, NULL, 2, 'report:exportTemplate:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:40:37', NULL, NULL, 0, 0, '1', 0, 'Add'); +UPDATE `laws_weilai`.`sys_permission` SET `parent_id` = '1516964175944798210', `name` = '上报库管理', `url` = '/escalationlibrary', `component` = 'parameter/escalationlibrary/index', `component_name` = NULL, `redirect` = NULL, `menu_type` = 1, `perms` = 'params:report:page', `perms_type` = '1', `sort_no` = 3.00, `always_show` = 0, `icon` = NULL, `is_route` = 1, `is_leaf` = 0, `keep_alive` = 0, `hidden` = 0, `description` = NULL, `create_by` = 'admin', `create_time` = '2022-06-22 10:05:03', `update_by` = 'admin', `update_time` = '2022-07-28 10:52:00', `del_flag` = 0, `rule_flag` = 0, `status` = '1', `internal_or_external` = 0, `menu_en` = 'Escalation library management' WHERE `id` = '1539429224550457346'; +UPDATE `laws_weilai`.`sys_permission` SET `parent_id` = '1516964175944798210', `name` = '参数导出模板管理', `url` = '/Parameterexport', `component` = 'parameter/parameterexport/index', `component_name` = NULL, `redirect` = NULL, `menu_type` = 1, `perms` = 'report:exportTemplate:page', `perms_type` = '1', `sort_no` = 2.00, `always_show` = 0, `icon` = NULL, `is_route` = 1, `is_leaf` = 0, `keep_alive` = 0, `hidden` = 0, `description` = NULL, `create_by` = 'admin', `create_time` = '2022-06-22 09:55:24', `update_by` = 'admin', `update_time` = '2022-07-28 10:40:02', `del_flag` = 0, `rule_flag` = 0, `status` = '1', `internal_or_external` = 0, `menu_en` = 'Parameter export template management' WHERE `id` = '1539426795780005889'; + +-- 角色表-增加对外报告管理员角色 2022-7-28 已同步生产环境 +INSERT INTO `sys_role` VALUES ('1552536424587862017', '对外报告管理员', 'ExternalReportsManager', '对外报告文件夹列表的管理员', 'admin', '2022-7-28 14:08:23', NULL, NULL, NULL, NULL); + +-- 菜单管理 添加对外报告文件夹管理按钮权限 2022-07-28 已同步生产环境 +INSERT INTO `sys_permission` VALUES ('1552182885208608770', '1549937961282908162', '对外报告文件夹管理', '', NULL, NULL, NULL, 2, 'externalReports:folder', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-7-27 14:43:33', NULL, NULL, 0, 0, '1', 0, 'External Report Folder Management '); + +-- 对外报告文件夹表 2022-7-29 已同步生产环境 +DROP TABLE IF EXISTS `ext_repo_folder`; +CREATE TABLE `ext_repo_folder` ( + `id` varchar(36) NOT NULL, + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门', + `folder_name` varchar(255) DEFAULT NULL COMMENT '文件夹名称', + `order_id` int(11) DEFAULT NULL COMMENT '文件夹排序', + `sup_folder` varchar(36) DEFAULT NULL COMMENT '所属文件夹', + `auth_view_ids_name` varchar(2000) DEFAULT NULL COMMENT '查看权限人员', + `auth_manage_ids_name` varchar(2000) DEFAULT NULL COMMENT '管理权限人员', + `auth_view_ids` varchar(2000) DEFAULT NULL COMMENT '查看权限人员id', + `auth_manage_ids` varchar(2000) DEFAULT NULL COMMENT '管理权限人员id', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +INSERT INTO `ext_repo_folder` VALUES ('1552846304994131970', 'admin', '2022-07-01 11:11:11', 'admin', '2022-11-11 11:11:11', 'A01', '文件夹', '1', 'root', '', '', '', ''); + +-- 对外报告数据表 2022-7-29 已同步生产环境 +DROP TABLE IF EXISTS `ext_repo_data`; +CREATE TABLE `ext_repo_data` ( + `id` varchar(36) NOT NULL, + `create_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门', + `file_key` varchar(255) DEFAULT NULL COMMENT '文件标识', + `file_name` varchar(255) DEFAULT NULL COMMENT '文件名称', + `file_description` varchar(255) DEFAULT NULL COMMENT '文件说明', + `sup_folder` varchar(36) DEFAULT NULL COMMENT '所属文件夹', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- 参数项收集清单 认证类别取消列表显示 2022-08-02 +UPDATE `laws_weilai`.`onl_cgform_field` +SET `is_show_list` = 0, `update_by` = 'admin', `update_time` = '2022-08-02 09:36:09' +WHERE `id` = '7b8ef9f8da124ed93e5c10a14b903390'; + +-- 问题知识库开发。 +-- Country Card模板维护表 2022-08-02 +CREATE TABLE `laws_weilai`.`country_card_temp` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `lable_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标签名称', + `lable_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标签类型', + `order_num` int(11) NULL DEFAULT NULL COMMENT '展示顺序', + `relevant_url` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '关联网址', + `description` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Country Card模板维护表' ROW_FORMAT = Dynamic; + +-- Country Card模板维护-字典项表 2022-08-02 +CREATE TABLE `laws_weilai`.`country_card_temp_item` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `country_card_temp_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '模板维护表id', + `item_value` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典项值', + `item_text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典项中文名称', + `en_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典项英文名称', + `del_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '逻辑删除标识', + `status` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态(1启用 0不启用)', + `description` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Country Card模板维护-字典项表' ROW_FORMAT = Dynamic; + +-- 问题知识库-分类表 2022-08-03 +CREATE TABLE `laws_weilai`.`problem_knowledge_base_classify` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `problem_label` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题标签', + `charge_person_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库-分类表' ROW_FORMAT = Dynamic; + +-- 问题知识库表 2022-08-03 +CREATE TABLE `laws_weilai`.`problem_knowledge_base` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键', + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题', + `problem_type` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题分类', + `target_market` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '市场', + `buss_document_library_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文档库id', + `stand_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准编号', + `stand_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准标题', + `content` blob NULL COMMENT '内容(正文)', + `accessory_file` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附件', + `show_permissions` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '展示权限', + `release_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发布人id', + `release_time` datetime NULL DEFAULT NULL COMMENT '发布日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库表' ROW_FORMAT = Dynamic; + +-- 问题知识库展示权限表 2022-08-03 +CREATE TABLE `laws_weilai`.`problem_knowledge_base_user` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `problem_knowledge_base_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题知识库id', + `user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库展示权限表' ROW_FORMAT = Dynamic; + +-- 问题知识库评论表 2022-08-03 +CREATE TABLE `laws_weilai`.`problem_knowledge_base_comment` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `problem_knowledge_base_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题知识库id', + `comment_content` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '评论内容', + `comment_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '评论用户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库评论表' ROW_FORMAT = Dynamic; + +-- 问题知识库浏览历史表 2022-08-03 +CREATE TABLE `laws_weilai`.`problem_knowledge_base_browsing_history` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `problem_knowledge_base_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题知识库id', + `browsing_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '浏览人员id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库浏览历史表' ROW_FORMAT = Dynamic; + +-- 问题知识库点赞表 2022-08-03 +CREATE TABLE `laws_weilai`.`problem_knowledge_base_praise` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `problem_knowledge_base_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题知识库id', + `praise_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '点赞人员id', + `praise_status` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '点赞状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库点赞表' ROW_FORMAT = Dynamic; + +-- 问题知识库收藏表 2022-08-03 +CREATE TABLE `laws_weilai`.`problem_knowledge_base_collect` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `problem_knowledge_base_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题知识库id', + `collect_user_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收藏用户id', + `collect_status` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '收藏状态', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库收藏表' ROW_FORMAT = Dynamic; diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ProjectDetailsStatisticsCollectManifestController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ProjectDetailsStatisticsCollectManifestController.java new file mode 100644 index 000000000..7b2d2a1c9 --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ProjectDetailsStatisticsCollectManifestController.java @@ -0,0 +1,50 @@ +package com.jero.modules.cert.collect.controller; + +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.modules.cert.collect.service.IParamsManifestEOService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@Api(tags="项目详情-参数收集统计接口") +@RestController +@RequestMapping("/project/projectLibraryBase") +@Slf4j +public class ProjectDetailsStatisticsCollectManifestController { + @Autowired + private IParamsManifestEOService paramsManifestEOService; + + /** + * 项目详情-参数收集统计接口-清单下拉选项 + * @return + */ + @AutoLog(value = "项目详情-参数收集统计接口-清单下拉选项") + @ApiOperation(value="项目详情-参数收集统计接口-清单下拉选项", notes="项目详情-参数收集统计接口-清单下拉选项") + @GetMapping(value = "/getProjectDetailsStatisticsCollectManifestLabel") + public Result getProjectDetailsStatisticsCollectManifestLabel(@RequestParam(name="id",required=true) String id) { + List> labelList = paramsManifestEOService.labelListForProjectDetails(id); + return Result.OK(labelList); + } + + /** + * 项目详情-参数收集统计接口-统计结果 + * @return + */ + @AutoLog(value = "项目详情-参数收集统计接口-统计结果") + @ApiOperation(value="项目详情-参数收集统计接口-统计结果", notes="项目详情-参数收集统计接口-统计结果") + @GetMapping(value = "/getProjectDetailsStatisticsCollectManifestData") + public Result getProjectDetailsStatisticsCollectManifestData(@RequestParam(name="paramsManifestId",required=true) String paramsManifestId, + @RequestParam(name="cut",required=true) String cut) { + Map data = paramsManifestEOService.getStatisticsForProjectDetails(paramsManifestId, cut); + return Result.OK(data); + } +} diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/enums/CollectManifestStatisticsStateEnum.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/enums/CollectManifestStatisticsStateEnum.java new file mode 100644 index 000000000..9db2c1c9c --- /dev/null +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/enums/CollectManifestStatisticsStateEnum.java @@ -0,0 +1,61 @@ +package com.jero.modules.cert.collect.enums; + +import com.jero.common.constant.enums.CutEnum; + +import java.util.HashMap; +import java.util.Map; + +public enum CollectManifestStatisticsStateEnum { + NOT_START("未开始","Not start","not start"), + COLLECTING("收集中","Collecting","collecting"), + SUBMIT("已提交","Submit","submit"), + SYNC_REPORT("已同步至上报库","Sync Report","sync report"); + + String name; + String enName; + String value; + + CollectManifestStatisticsStateEnum(String name, String enName, String value) { + this.name = name; + this.enName = enName; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public static Map toMap(String cut){ + Map map = new HashMap<>(); + if (CutEnum.CN.getValue().equals(cut)) { + for (CollectManifestStatisticsStateEnum collectManifestStatisticsStateEnum : CollectManifestStatisticsStateEnum.values()) { + map.put(collectManifestStatisticsStateEnum.getValue(), collectManifestStatisticsStateEnum.getName()); + } + } else if (CutEnum.EN.getValue().equals(cut)) { + for (CollectManifestStatisticsStateEnum collectManifestStatisticsStateEnum : CollectManifestStatisticsStateEnum.values()) { + map.put(collectManifestStatisticsStateEnum.getValue(), collectManifestStatisticsStateEnum.getEnName()); + } + } + return map; + } +} diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/enums/CollectManifestUserTypeEnum.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/enums/CollectManifestUserTypeEnum.java index b9a2956e3..15938c07a 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/enums/CollectManifestUserTypeEnum.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/enums/CollectManifestUserTypeEnum.java @@ -14,7 +14,7 @@ public enum CollectManifestUserTypeEnum { DRE("填写人", "Dre People","dre"), STUDIO("R&H Studio","R&H Studio","studio"), MANAGER("R&H Manager","R&H Manager","manager"), - ADMIN("系统管理员","Administrator","admin"), + ADMIN("系统","Administrator","admin"), GUEST("游客", "Guest","guest"); String name; diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java index a64cf9c60..97a6d0c9b 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java @@ -7,6 +7,7 @@ import com.jero.modules.cert.collect.vo.ParamsManifestVO; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * @Description: 参数清单 @@ -25,4 +26,5 @@ public interface ParamsManifestEOMapper extends BaseMapper { ParamsManifestVO getProjectById(@Param("projectId") String projectId); + List> labelListForProjectDetails(@Param("projectId") String projectId); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index 77c21dc38..a27b4ca68 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -124,4 +124,13 @@ ) tmp_tb where project_id = #{projectId} + + \ No newline at end of file diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java index 624f50336..ea5d647c5 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java @@ -9,6 +9,7 @@ import com.jero.modules.cert.collect.vo.ParamsManifestVO; import com.jero.modules.cert.template.entity.ParamsTemplateEO; import java.util.List; +import java.util.Map; /** * @Description: 参数清单 @@ -82,4 +83,8 @@ public interface IParamsManifestEOService extends IService { ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId); ParamsManifestVO getProjectById(String projectId); + + List> labelListForProjectDetails(String projectId); + + Map getStatisticsForProjectDetails(String paramsManifestId, String cut); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 78ca3a4a4..91bfb3d99 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -676,6 +676,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl msgMap = new HashMap<>(); msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber()); msgMap.put("state", paramsCollectManifestEO.getState()); - msgMap.put("state", "1"); + msgMap.put("type", "1"); msgMapList.add(msgMap); } @@ -1581,6 +1582,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> labelListForProjectDetails(String projectId) { + return paramsManifestEOMapper.labelListForProjectDetails(projectId); + } + + @Override + public Map getStatisticsForProjectDetails(String paramsManifestId, String cut) { + // 查询所有责任领域 + List dutyTerritoryDictList = sysDictMapper.queryDictItemsByCode("duty_territory"); + + Map result = new LinkedHashMap<>(); + List dutyTerritoryNameList = new LinkedList<>(); + List> notStartList = new LinkedList<>(); + List> collectingList = new LinkedList<>(); + List> submitList = new LinkedList<>(); + List> syncReportList = new LinkedList<>(); + + // 统计清单参数 + ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); + paramsCollectManifestEO.setParamsManifestId(paramsManifestId); + List> listAll = paramsCollectManifestEOMapper.listInfoForExport(paramsCollectManifestEO); + + // 循环责任领域,计算每个责任领域中的四种状态数据 + dutyTerritoryDictList.forEach(item->{ + + if (CutEnum.EN.getValue().equals(cut)) { + dutyTerritoryNameList.add(item.getTextEn()); + + } else { + dutyTerritoryNameList.add(item.getText()); + + } + + // 计算数量 + double notStartNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.get("state")) + || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.get("state")) + || CollectManifestStateEnum.CHANGE.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 未开始的参数项 数量 + + double collectingNumber = listAll.stream().filter(e -> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.get("state")) + || CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.get("state")) + || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.get("state")) + || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.get("state"))) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 收集中的参数项 数量 + + double submitNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SUBMIT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 已提交的参数项 数量 + + double syncReportNumber = listAll.stream().filter(e -> CollectManifestStateEnum.SYNC_REPORT.getValue().equals(e.get("state")) && item.getValue().equals(e.get("duty_territory"))) + .count(); // 已同步上报库的参数项 数量 + + // 计算百分比 + double total = notStartNumber + collectingNumber + submitNumber + syncReportNumber; // 当前责任领域参数项总数 + String notStartPercent = getRatio(notStartNumber, total); // 未开始的参数项 百分比 + String collectingPercent = getRatio(collectingNumber, total); // 收集中的参数项 百分比 + String submitPercent = getRatio(submitNumber, total); // 已提交的参数项 百分比 + String syncReportPercent = getRatio(syncReportNumber, total); // 已同步上报库的参数项 百分比 + + // 组装数据 返回前端 + getData(notStartList, notStartNumber, notStartPercent); + getData(collectingList, collectingNumber, collectingPercent); + getData(submitList, submitNumber, submitPercent); + getData(syncReportList, syncReportNumber, syncReportPercent); + + }); + + result.put("dutyTerritory", dutyTerritoryNameList); + result.put("notStart", notStartList); + result.put("collecting", collectingList); + result.put("submit", submitList); + result.put("syncReport", syncReportList); + + return result; + } + + private void getData(List> data, double quantity, String percentage) { + Map map = new HashMap<>(); + map.put("quantity", quantity); + map.put("percentage", percentage); + data.add(map); + } + + /** + * 计算百分比 + * @param d1 + * @param d2 + * @return + */ + private String getRatio(Double d1, Double d2) { + if (d1 == null || d2 == null || d2 <= 0) { +// return "0.00%"; + return "0.00"; // 前端不需要返百分号 + } + NumberFormat percent = NumberFormat.getPercentInstance(); + percent.setMaximumFractionDigits(2); + percent.setMinimumFractionDigits(2); + String result = percent.format(d1/d2); + return result.substring(0,result.lastIndexOf("%")); // 前端不需要返百分号 + } + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java index ae1128236..872aacfee 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java @@ -13,6 +13,7 @@ import com.jero.modules.system.util.StringUtils; 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.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -51,7 +52,7 @@ public class ParamsExportTemplateEOController extends JeroController queryPageList(ParamsExportTemplateEO paramsExportTemplateEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @@ -111,7 +112,7 @@ public class ParamsExportTemplateEOController extends JeroController add(@Validated @RequestBody ParamsExportTemplateEO paramsExportTemplateEO) { boolean isSuccess = paramsExportTemplateEOService.add(paramsExportTemplateEO); if (isSuccess) { @@ -130,7 +131,7 @@ public class ParamsExportTemplateEOController extends JeroController edit(@Validated @RequestBody ParamsExportTemplateEO paramsExportTemplateEO) { boolean isSuccess = paramsExportTemplateEOService.editById(paramsExportTemplateEO); if (isSuccess) { @@ -149,7 +150,7 @@ public class ParamsExportTemplateEOController extends JeroController delete(@RequestParam(name="id",required=true) String id) { boolean isSuccess = paramsExportTemplateEOService.deleteById(id); if (isSuccess) { @@ -168,7 +169,7 @@ public class ParamsExportTemplateEOController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { boolean isSuccess = paramsExportTemplateEOService.deleteByIds(Arrays.asList(ids.split(","))); if (isSuccess) { diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportDetailEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportDetailEOController.java index 010580e3e..0a0b444a8 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportDetailEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportDetailEOController.java @@ -20,11 +20,9 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -64,7 +62,7 @@ public class ParamsReportDetailEOController extends JeroController>> getHeader(@RequestParam(name = "paramsManifestId") String paramsManifestId, @RequestParam(name = "flag") String flag, @RequestParam(name = "cut") String cut) { @@ -80,7 +78,7 @@ public class ParamsReportDetailEOController extends JeroController queryList(ParamsReportDetailEO paramsReportDetailEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="100") Integer pageSize, @@ -105,7 +103,7 @@ public class ParamsReportDetailEOController extends JeroController getConfigLableList(ParamsReportDetailVO paramsReportDetailVO) { List> configLabelList = paramsReportDetailEOService.getConfigLabelList(paramsReportDetailVO); return Result.OK(configLabelList); @@ -136,7 +134,7 @@ public class ParamsReportDetailEOController extends JeroController getConfigLableListCustom(ParamsReportDetailVO paramsReportDetailVO) { List> configLabelList = paramsReportDetailEOService.getConfigLabelList(paramsReportDetailVO); return Result.OK(configLabelList); @@ -151,7 +149,7 @@ public class ParamsReportDetailEOController extends JeroController getTemplateLabelList() { List> templateLabelList = paramsReportDetailEOService.getTemplateLabelList(); return Result.OK(templateLabelList); @@ -159,7 +157,7 @@ public class ParamsReportDetailEOController extends JeroController getById(@RequestParam(name = "id") String id) { ParamsReportConfigEO paramsReportConfigEO = paramsReportConfigEOService.getById(id); return Result.OK(paramsReportConfigEO); } + /** + * 暂存 + * + * @param paramsReportDetailVO + * @return + */ + @AutoLog(value = "上报库参数项-保存") + @ApiOperation(value="参数项收集清单-保存", notes="参数项收集清单-保存") + @PostMapping(value = "/save") + @RequiresPermissions("report:detail:export:save") + public Result save(@RequestBody ParamsReportDetailVO paramsReportDetailVO) { + boolean isSuccess = paramsReportDetailEOService.save(paramsReportDetailVO.getConfigDataList(), paramsReportDetailVO.getParamsManifestId()); + if (isSuccess) { + return Result.OK("保存成功!"); + } else { + return Result.error("保存失败!"); + } + } + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java index 1ba513ce4..7307250e9 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java @@ -13,6 +13,7 @@ import com.jero.modules.system.util.StringUtils; 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.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -53,7 +54,7 @@ public class ParamsReportEOController extends JeroController queryPageList(ParamsReportEO paramsReportEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @@ -82,7 +83,7 @@ public class ParamsReportEOController extends JeroController exportHistoryPage(ParamsReportExportHistoryEO paramsReportExportHistoryEO, @RequestParam(name="cut") String cut, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportDetailEOMapper.xml b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportDetailEOMapper.xml index 06d76a401..01a75cc51 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportDetailEOMapper.xml +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportDetailEOMapper.xml @@ -40,13 +40,22 @@ AND params_name LIKE CONCAT(CONCAT('%',#{paramsReportDetailEO.paramsName}),'%') - AND cert_category LIKE CONCAT(CONCAT('%',#{paramsReportDetailEO.certCategory}),'%') + AND + + cert_category LIKE CONCAT(CONCAT('%',#{item}),'%') + - AND sdt LIKE CONCAT(CONCAT('%',#{paramsReportDetailEO.sdt}),'%') + AND sdt in + + #{item} + - AND dre LIKE CONCAT(CONCAT('%',#{paramsReportDetailEO.dre}),'%') + AND dre in + + #{item} + AND params_manifest_id = #{paramsReportDetailEO.paramsManifestId} @@ -96,7 +105,7 @@ select * from params_report_detail - order by nio_number asc, sync_time desc + order by sync_time desc, nio_number asc \ No newline at end of file diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java index 16dce9473..dc3818c1d 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigDataEOService.java @@ -23,4 +23,11 @@ public interface IParamsReportConfigDataEOService extends IService queryByConfigIdListAndCollectManifestId(List paramsConfigIdList, String paramsCollectManifestId); + + /** + * 查询清单的所有配置数据 + * @param configIdList + * @return + */ + List queryListByConfigIdList(List configIdList); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigEOService.java index 4c0d18c9c..076a08978 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportConfigEOService.java @@ -1,7 +1,8 @@ package com.jero.modules.cert.report.service; -import com.jero.modules.cert.report.entity.ParamsReportConfigEO; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.cert.report.entity.ParamsReportConfigEO; + import java.util.List; /** @@ -12,5 +13,10 @@ import java.util.List; */ public interface IParamsReportConfigEOService extends IService { + /** + * 列表查询 + * @param paramsManifestId + * @return + */ List queryList(String paramsManifestId); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportDetailEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportDetailEOService.java index 925a271be..9f377b597 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportDetailEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/IParamsReportDetailEOService.java @@ -53,6 +53,10 @@ public interface IParamsReportDetailEOService extends IService> configDataList, String paramsManifestId); + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsExportTemplateEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsExportTemplateEOServiceImpl.java index b53290e5c..c4bdbb34a 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsExportTemplateEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsExportTemplateEOServiceImpl.java @@ -42,10 +42,10 @@ public class ParamsExportTemplateEOServiceImpl extends ServiceImpl queryByConfigIdListAndCollectManifestId(List paramsConfigIdList, String paramsCollectManifestId) { return baseMapper.selectByConfigIdListAndCollectManifestId(paramsConfigIdList, paramsCollectManifestId); } + + /** + * 查询清单的所有配置数据 + * @param configIdList + * @return + */ + @Override + public List queryListByConfigIdList(List configIdList) { + if (CollectionUtil.isNotEmpty(configIdList)) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ParamsReportConfigDataEO::getParamsConfigId, configIdList); + return list(queryWrapper); + } + return null; + } + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java index 9bf90f6c1..0330b1067 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java @@ -20,6 +20,7 @@ import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; import com.jero.modules.cert.collect.enums.ConfigDataTypeEnum; import com.jero.modules.cert.collect.vo.ParamsConfigDataVO; import com.jero.modules.cert.report.entity.*; +import com.jero.modules.cert.report.enums.ExportTemplateStateEnum; import com.jero.modules.cert.report.enums.ExportTypeEnum; import com.jero.modules.cert.report.mapper.ParamsReportDetailEOMapper; import com.jero.modules.cert.report.service.*; @@ -36,11 +37,14 @@ import com.jero.modules.system.service.ISysDictItemService; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.usermodel.*; import org.aspectj.util.FileUtil; import org.docx4j.Docx4J; import org.docx4j.openpackaging.exceptions.Docx4JException; +import org.docx4j.openpackaging.packages.SpreadsheetMLPackage; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -496,9 +500,9 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl> getTemplateLabelList() { // 查询所有导出模板 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.orderByDesc(ParamsExportTemplateEO::getCreateTime); + queryWrapper.eq(ParamsExportTemplateEO::getState, ExportTemplateStateEnum.ENABLE.getValue()) + .orderByDesc(ParamsExportTemplateEO::getCreateTime); List paramsExportTemplateEOList = paramsExportTemplateEOService.list(queryWrapper); List> templateLabelList = new ArrayList<>(); @@ -674,9 +696,9 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl allRelevFileList = (List) allParamsInfoList.get(2).get("fileListAll"); if (allRelevFileList != null && !allRelevFileList.isEmpty()) { allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList()); - downLoadFileList(allRelevFileList,fileNowPath + File.separator + "导出文件"); + String exportFile = "导出文件"; + if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) { + exportFile = "Export file"; + } + downLoadFileList(allRelevFileList,fileNowPath + File.separator + exportFile); } // 拿取模板 @@ -761,7 +787,11 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl allParamsInfoList = queryForExportCustom(paramsReportDetailVO); HashMap params = (HashMap) allParamsInfoList.get(0); + List> imgListAll = (List>) allParamsInfoList.get(1).get("imgListAll"); String templateUrl = ""; ParamsExportTemplateEO paramsExportTemplateEO = paramsExportTemplateEOService.getById(paramsReportDetailVO.getExportTemplateId()); @@ -810,7 +841,11 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl allRelevFileList = (List) allParamsInfoList.get(2).get("fileListAll"); if (allRelevFileList != null && !allRelevFileList.isEmpty()) { allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList()); - downLoadFileList(allRelevFileList,fileNowPath + File.separator + "导出文件"); + String exportFile = "导出文件"; + if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) { + exportFile = "Export file"; + } + downLoadFileList(allRelevFileList,fileNowPath + File.separator + exportFile); } // 拿取模板 @@ -820,7 +855,14 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl> configDataList, String paramsManifestId) { + List newConfigDataEOList = new ArrayList<>(); + List paramsReportConfigEOList = paramsReportConfigEOService.queryList(paramsManifestId); // 查询配置列 + List paramsReportConfigIdList = paramsReportConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); + List paramsReportConfigDataEOList = paramsReportConfigDataEOService.queryListByConfigIdList(paramsReportConfigIdList); // 查询所有配置数据 + + // 处理数据 + for (Map map : configDataList) { + String paramsCollectManifestId = (String) map.get("id"); + + // 添加配置数据 + for (Map.Entry entry : map.entrySet()) { + ParamsReportConfigDataEO paramsReportConfigDataEO = new ParamsReportConfigDataEO(); + if ("id".equals(entry.getKey())) { + continue; + } + + // 取值 + String paramsReportConfigEOId = entry.getKey(); + Map paramsReportConfigDataMap = (Map) entry.getValue(); + // 无法转ParamsConfigDataVO(遍历会出现该异常 : LinkedHashMap cannot be cast to ParamsConfigDataVO) + List> configDataVOList = (List>) paramsReportConfigDataMap.get("list"); + + // 判断是新增还是修改 + ParamsConfigDataEO oldConfigDataEO = getConfigDataEOByConfigIdAndCollectManifestId(paramsReportConfigEOId, paramsCollectManifestId, paramsReportConfigDataEOList); + if (ObjectUtil.isNotEmpty(oldConfigDataEO)) { + paramsReportConfigDataEO.setId(oldConfigDataEO.getId()); + + } + paramsReportConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId); + paramsReportConfigDataEO.setParamsConfigId(paramsReportConfigEOId); + if (CollectionUtil.isNotEmpty(configDataVOList)) { + for (Map paramsConfigDataVO : configDataVOList) { + String type = (String) paramsConfigDataVO.get("type"); + String dataValue = (String) paramsConfigDataVO.get("dataValue"); + + if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) { + paramsReportConfigDataEO.setTextData(dataValue); + + } else if (type.equals(ConfigDataTypeEnum.PULL.getValue()) + || type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) { + paramsReportConfigDataEO.setPullData(dataValue); + + } else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) { + if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件 + // 处理文件connectId + String[] fileIdList = dataValue.split(","); + String connectId = UUID.randomUUID().toString().replace("-", ""); + List updateFileList = new ArrayList<>(); + for (int i = 0; i < fileIdList.length; i++) { + OSSFile ossFile = new OSSFile(); + ossFile.setId(fileIdList[i]); + ossFile.setConnectId(connectId); + updateFileList.add(ossFile); + } + ossFileService.updateBatchById(updateFileList); + dataValue = connectId; + } else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) { + List ossFiles = ossFileService.getFileInfosByConnectId(dataValue); + if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件 + String connectId = UUID.randomUUID().toString().replace("-", ""); + //修改文件表关联信息connect_id + List oSSFileList = new ArrayList<>(); + for (String fileId : dataValue.split(",")) { + OSSFile ossFile = new OSSFile(); + ossFile.setId(fileId); + ossFile.setConnectId(connectId); + oSSFileList.add(ossFile); + } + ossFileService.updateFileInfo(oSSFileList); + dataValue = connectId; + } + } + paramsReportConfigDataEO.setFileConnectId(dataValue); + + } + } + } + newConfigDataEOList.add(paramsReportConfigDataEO); + } + } + + // 批量更新 + return paramsReportConfigDataEOService.saveOrUpdateBatch(newConfigDataEOList); + } + + private ParamsReportConfigDataEO getConfigDataEOByConfigIdAndCollectManifestId(String configId, String collectManifestId, List paramsReportConfigDataEOList) { + List configDataEOList = paramsReportConfigDataEOList.stream() + .filter(e-> configId.equals(e.getParamsConfigId()) && collectManifestId.equals(e.getParamsCollectManifestId())) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(configDataEOList)) { + return configDataEOList.get(0); + } + return null; + } + /** * 实体对象转成Map * @param obj 实体对象 diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/vo/ParamsReportDetailVO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/vo/ParamsReportDetailVO.java index 1ab8e7c79..d93101f2b 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/vo/ParamsReportDetailVO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/vo/ParamsReportDetailVO.java @@ -3,6 +3,9 @@ package com.jero.modules.cert.report.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; +import java.util.Map; + @Data public class ParamsReportDetailVO { @@ -37,6 +40,9 @@ public class ParamsReportDetailVO { @ApiModelProperty(value = "对应参数模板发布版本") private Integer paramsTemplatePublishVersion; + @ApiModelProperty(value = "保存专用") + private List> configDataList; // 保存专用 + // 导出通用 private String cut; private String exportName; diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java index eca22b3fb..8648bb5b7 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java @@ -98,12 +98,12 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl impl sysUser.setUsername(ppEmployee.getWorker_user_id()); sysUser.setRealname(ppEmployee.getFormatted_name()); sysUser.setStatus("Active".equals(ppEmployee.getEmployee_status())? CommonConstant.USER_UNFREEZE : CommonConstant.USER_FREEZE); - sysUser.setDelFlag("1".equals(ppEmployee.getDelete_flag())? CommonConstant.DEL_FLAG_0 : CommonConstant.DEL_FLAG_1); +// sysUser.setDelFlag("1".equals(ppEmployee.getDelete_flag())? CommonConstant.DEL_FLAG_0 : CommonConstant.DEL_FLAG_1); sysUser.setThirdId(ppEmployee.getWorker_user_id()); sysUser.setWorkNo(ppEmployee.getEmployee_id()); sysUser.setWorkerType("Employee".equals(ppEmployee.getWorker_type())? CommonConstant.WORKER_TYPE_1 : CommonConstant.WORKER_TYPE_2); diff --git a/jero-boot/jero-boot-modules/pom.xml b/jero-boot/jero-boot-modules/pom.xml index 5e22036fc..98a1510d4 100644 --- a/jero-boot/jero-boot-modules/pom.xml +++ b/jero-boot/jero-boot-modules/pom.xml @@ -201,6 +201,25 @@ + + + + com.janeluo + ikanalyzer + 2012_u6 + + + + org.jsoup + jsoup + 1.11.3 + + + + com.hankcs + hanlp + portable-1.7.5 + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java new file mode 100644 index 000000000..e25f54deb --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java @@ -0,0 +1,201 @@ +package com.jero.modules.compare.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.alibaba.fastjson.JSONObject; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.compare.entity.SarFileCompareInfo; +import com.jero.modules.compare.service.ISarFileCompareInfoService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + +/** + * @Description: 文档对比信息表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Api(tags = "文档对比信息表") +@RestController +@RequestMapping("/compare/sarFileCompareInfo") +@Slf4j +public class SarFileCompareInfoController extends JeroController { + @Autowired + private ISarFileCompareInfoService sarFileCompareInfoService; + + /** + * 分页列表查询 + * + * @param sarFileCompareInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "文档对比信息表-分页列表查询") + @ApiOperation(value = "文档对比信息表-分页列表查询", notes = "文档对比信息表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(SarFileCompareInfo sarFileCompareInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = sarFileCompareInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "文档对比信息表-列表查询") + @ApiOperation(value = "文档对比信息表-列表查询", notes = "文档对比信息表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = sarFileCompareInfoService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param sarFileCompareInfo + * @return + */ + @AutoLog(value = "文档对比信息表-添加") + @ApiOperation(value = "文档对比信息表-添加", notes = "文档对比信息表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody SarFileCompareInfo sarFileCompareInfo) { + sarFileCompareInfoService.add(sarFileCompareInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param sarFileCompareInfo + * @return + */ + @AutoLog(value = "文档对比信息表-编辑") + @ApiOperation(value = "文档对比信息表-编辑", notes = "文档对比信息表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody SarFileCompareInfo sarFileCompareInfo) { + sarFileCompareInfoService.editById(sarFileCompareInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息表-通过id删除") + @ApiOperation(value = "文档对比信息表-通过id删除", notes = "文档对比信息表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + sarFileCompareInfoService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "文档对比信息表-批量删除") + @ApiOperation(value = "文档对比信息表-批量删除", notes = "文档对比信息表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.sarFileCompareInfoService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息表-通过id查询") + @ApiOperation(value = "文档对比信息表-通过id查询", notes = "文档对比信息表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + SarFileCompareInfo sarFileCompareInfo = sarFileCompareInfoService.queryById(id); + if (sarFileCompareInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(sarFileCompareInfo); + } + + /** + * 导出excel + * + * @param request + * @param sarFileCompareInfo + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, SarFileCompareInfo sarFileCompareInfo) { + return super.exportXls(request, sarFileCompareInfo, SarFileCompareInfo.class, "文档对比信息表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, SarFileCompareInfo.class); + } + + + /** + * 发起文档对比 + * + * @param leftStandard + * @param rightStandard + * @param remark + * @return + */ + @AutoLog(value = "发起文档对比") + @ApiOperation(value = "发起文档对比", notes = "发起文档对比") + @RequestMapping(value = "/fullTextComparison", method = RequestMethod.POST) + public Result fullTextComparison(@RequestBody JSONObject json) { + try { + String leftStandard = json.get("leftStandard").toString(); + String rightStandard = json.get("rightStandard").toString(); + String remark = ""; + if (json.get("remark") != null) { + remark = json.get("remark").toString(); + } + Map resMap = sarFileCompareInfoService.fullTextComparison(leftStandard, rightStandard, remark); + return Result.OK(resMap); + } catch (Exception ex) { + log.error("发起文档对比失败:" + ex.getMessage()); + return Result.OK("发起文档对比失败!"); + } + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemController.java new file mode 100644 index 000000000..9b0576cf6 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemController.java @@ -0,0 +1,170 @@ +package com.jero.modules.compare.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.compare.entity.SarFileCompareItem; +import com.jero.modules.compare.service.ISarFileCompareItemService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 文档对比信息条款表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Api(tags="文档对比信息条款表") +@RestController +@RequestMapping("/compare/sarFileCompareItem") +@Slf4j +public class SarFileCompareItemController extends JeroController { + @Autowired + private ISarFileCompareItemService sarFileCompareItemService; + + /** + * 分页列表查询 + * + * @param sarFileCompareItem + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "文档对比信息条款表-分页列表查询") + @ApiOperation(value="文档对比信息条款表-分页列表查询", notes="文档对比信息条款表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(SarFileCompareItem sarFileCompareItem, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareItem, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = sarFileCompareItemService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "文档对比信息条款表-列表查询") + @ApiOperation(value="文档对比信息条款表-列表查询", notes="文档对比信息条款表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = sarFileCompareItemService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param sarFileCompareItem + * @return + */ + @AutoLog(value = "文档对比信息条款表-添加") + @ApiOperation(value="文档对比信息条款表-添加", notes="文档对比信息条款表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody SarFileCompareItem sarFileCompareItem) { + sarFileCompareItemService.add(sarFileCompareItem); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param sarFileCompareItem + * @return + */ + @AutoLog(value = "文档对比信息条款表-编辑") + @ApiOperation(value="文档对比信息条款表-编辑", notes="文档对比信息条款表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody SarFileCompareItem sarFileCompareItem) { + sarFileCompareItemService.editById(sarFileCompareItem); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息条款表-通过id删除") + @ApiOperation(value="文档对比信息条款表-通过id删除", notes="文档对比信息条款表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + sarFileCompareItemService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "文档对比信息条款表-批量删除") + @ApiOperation(value="文档对比信息条款表-批量删除", notes="文档对比信息条款表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.sarFileCompareItemService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息条款表-通过id查询") + @ApiOperation(value="文档对比信息条款表-通过id查询", notes="文档对比信息条款表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + SarFileCompareItem sarFileCompareItem = sarFileCompareItemService.queryById(id); + if(sarFileCompareItem==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(sarFileCompareItem); + } + + /** + * 导出excel + * + * @param request + * @param sarFileCompareItem + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, SarFileCompareItem sarFileCompareItem) { + return super.exportXls(request, sarFileCompareItem, SarFileCompareItem.class, "文档对比信息条款表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, SarFileCompareItem.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java new file mode 100644 index 000000000..fec7f0f57 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java @@ -0,0 +1,129 @@ +package com.jero.modules.compare.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 文档对比信息表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Data +@TableName("sar_file_compare_info") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="sar_file_compare_info对象", description="文档对比信息表") +public class SarFileCompareInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + + /**文档1*/ + @Excel(name = "文档1", width = 15) + @ApiModelProperty(value = "文档1") + private String fileIdLeft; + + /**编号1*/ + @Excel(name = "编号1", width = 15) + @ApiModelProperty(value = "编号1") + private String serialNumberLeft; + + /**标题1*/ + @Excel(name = "标题1", width = 15) + @ApiModelProperty(value = "标题1") + private String titleLeft; + + /**文本状态1*/ + @Excel(name = "文本状态1", width = 15) + @ApiModelProperty(value = "文本状态1") + private String fileTypeLeft; + + /**文件名称1*/ + @Excel(name = "文件名称1", width = 15) + @ApiModelProperty(value = "文件名称1") + private String fileNameLeft; + + /**文档2*/ + @Excel(name = "文档2", width = 15) + @ApiModelProperty(value = "文档2") + private String fileIdRight; + + /**编号2*/ + @Excel(name = "编号2", width = 15) + @ApiModelProperty(value = "编号2") + private String serialNumberRight; + + /**标题2*/ + @Excel(name = "标题2", width = 15) + @ApiModelProperty(value = "标题2") + private String titleRight; + + /**文本状态2*/ + @Excel(name = "文本状态2", width = 15) + @ApiModelProperty(value = "文本状态2") + private String fileTypeRight; + + /**文件名称2*/ + @Excel(name = "文件名称2", width = 15) + @ApiModelProperty(value = "文件名称2") + private String fileNameRight; + + /**发布状态*/ + @Excel(name = "发布状态", width = 15) + @ApiModelProperty(value = "发布状态") + private String releaseState; + + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private String remark; + + /**评论*/ + @Excel(name = "评论", width = 15) + @ApiModelProperty(value = "评论") + private String comments; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java new file mode 100644 index 000000000..10717e093 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java @@ -0,0 +1,109 @@ +package com.jero.modules.compare.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 文档对比信息条款表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Data +@TableName("sar_file_compare_item") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="sar_file_compare_item对象", description="文档对比信息条款表") +public class SarFileCompareItem implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + + /**文档对比信息id*/ + @Excel(name = "文档对比信息id", width = 15) + @ApiModelProperty(value = "文档对比信息id") + private String infoId; + + /**条款id*/ + @Excel(name = "条款id", width = 15) + @ApiModelProperty(value = "条款id") + private String itemsId; + + /**条款名称*/ + @Excel(name = "条款名称", width = 15) + @ApiModelProperty(value = "条款名称") + private String itemsName; + + /**条款编号*/ + @Excel(name = "条款编号", width = 15) + @ApiModelProperty(value = "条款编号") + private String itemsNum; + + /**条款正文*/ + @Excel(name = "条款正文", width = 15) + @ApiModelProperty(value = "条款正文") + private String itemsText; + + /**条款展示编号*/ + @Excel(name = "条款展示编号", width = 15) + @ApiModelProperty(value = "条款展示编号") + private Integer itemsDisplayNum; + + /**目标位置*/ + @Excel(name = "目标位置", width = 15) + @ApiModelProperty(value = "目标位置") + private Integer targetStand; + + /**条款位置*/ + @Excel(name = "条款位置", width = 15) + @ApiModelProperty(value = "条款位置") + private String leftOrRight; + + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private String remark; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ValidFlagEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ValidFlagEnum.java new file mode 100644 index 000000000..e807ead1a --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ValidFlagEnum.java @@ -0,0 +1,22 @@ +package com.jero.modules.compare.enums; + +public enum ValidFlagEnum { + VALID_TRUE(0, "有效"), VALID_FALSE(1, "无效"); + + private int value; + private String lable; + + private ValidFlagEnum(int value, String lable) { + this.value = value; + this.lable = lable; + } + + public int getValue() { + return value; + } + + public String getLable() { + return lable; + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java new file mode 100644 index 000000000..fa41936d1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.compare.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.compare.entity.SarFileCompareInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 文档对比信息表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface SarFileCompareInfoMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java new file mode 100644 index 000000000..2fabfcce3 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.compare.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.compare.entity.SarFileCompareItem; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 文档对比信息条款表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface SarFileCompareItemMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml new file mode 100644 index 000000000..829a862dd --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml new file mode 100644 index 000000000..fc42d5309 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java new file mode 100644 index 000000000..ba26736d9 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java @@ -0,0 +1,73 @@ +package com.jero.modules.compare.service; + +import com.jero.modules.compare.entity.SarFileCompareInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + * @Description: 文档对比信息表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface ISarFileCompareInfoService extends IService { + + /** + * 保存 + * + * @param sarFileCompareInfo + * @return + */ + void add(SarFileCompareInfo sarFileCompareInfo); + + /** + * 更新 + * + * @param sarFileCompareInfo + * @return + */ + void editById(SarFileCompareInfo sarFileCompareInfo); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + SarFileCompareInfo queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + /** + * 发起全文对比 + * + * @param leftStandard + * @param rightStandard + * @param remark + * @return + */ + Map fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception; +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java new file mode 100644 index 000000000..a925f9f33 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java @@ -0,0 +1,61 @@ +package com.jero.modules.compare.service; + +import com.jero.modules.compare.entity.SarFileCompareItem; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 文档对比信息条款表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface ISarFileCompareItemService extends IService { + + /** + * 保存 + * + * @param sarFileCompareItem + * @return + */ + void add(SarFileCompareItem sarFileCompareItem); + + /** + * 更新 + * + * @param sarFileCompareItem + * @return + */ + void editById(SarFileCompareItem sarFileCompareItem); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + SarFileCompareItem queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java new file mode 100644 index 000000000..2ce5214e4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java @@ -0,0 +1,351 @@ +package com.jero.modules.compare.service.impl; + +import com.jero.modules.compare.entity.SarFileCompareInfo; +import com.jero.modules.compare.entity.SarFileCompareItem; +import com.jero.modules.compare.enums.ValidFlagEnum; +import com.jero.modules.compare.mapper.SarFileCompareInfoMapper; +import com.jero.modules.compare.service.ISarFileCompareInfoService; +import com.jero.modules.compare.service.ISarFileCompareItemService; +import com.jero.modules.compare.utils.CompHanLPUtils; +import com.jero.modules.compare.utils.treeTool.Tree; +import com.jero.modules.compare.utils.treeTool.TreeNode; +import com.jero.modules.docTranslation.enums.ReleaseConditionEnum; +import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.split.entity.SarFileSplitInfoEO; +import com.jero.modules.split.entity.SarFileSplitItemsEO; +import com.jero.modules.split.entity.SarFileSplitItemsValEO; +import com.jero.modules.split.entity.SarFileSplitMenuEO; +import com.jero.modules.split.page.SarFileSplitItemsEOPage; +import com.jero.modules.split.page.SarFileSplitItemsValEOPage; +import com.jero.modules.split.page.SarFileSplitMenuEOPage; +import com.jero.modules.split.service.IFileSplitItemsEOService; +import com.jero.modules.split.service.ISarFileSplitInfoService; +import com.jero.modules.split.service.ISarFileSplitItemsValEOService; +import com.jero.modules.split.service.ISarFileSplitMenuEOService; +import com.jero.modules.system.util.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 文档对比信息表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Service +public class SarFileCompareInfoServiceImpl extends ServiceImpl implements ISarFileCompareInfoService { + + @Autowired + private ISarFileSplitMenuEOService sarFileSplitMenuEOService; + + @Autowired + private IFileSplitItemsEOService sarFileSplitItemsEOService; + + @Autowired + private ISarFileSplitItemsValEOService sarFileSplitItemsValEOService; + + + @Autowired + private ISarFileSplitInfoService sarFileSplitInfoEOService; + + @Autowired + private ISarFileCompareItemService sarFileCompareItemService; + + + /** + * 保存 + * + * @param sarFileCompareInfo + * @return + */ + @Override + public void add(SarFileCompareInfo sarFileCompareInfo) { + Date now = new Date(); + sarFileCompareInfo.setCreateTime(now); + sarFileCompareInfo.setUpdateTime(now); + save(sarFileCompareInfo); + } + + /** + * 更新 + * + * @param sarFileCompareInfo + * @return + */ + @Override + public void editById(SarFileCompareInfo sarFileCompareInfo) { + Date now = new Date(); + sarFileCompareInfo.setUpdateTime(now); + saveOrUpdate(sarFileCompareInfo); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public SarFileCompareInfo queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + + /** + * 全文对比 + * + * @param leftStandard + * @param rightStandard + * @return + * @throws Exception + */ + public Map fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception { + Map resultMap = new HashMap(); + List> leftMapList = fullTextComparePackageData(leftStandard); + List> rightMapList = fullTextComparePackageData(rightStandard); + List> resLeftMapList = null; + List> resRightMapList = null; + if (leftMapList != null && !leftMapList.isEmpty() && rightMapList != null && !rightMapList.isEmpty()) { + //双重循环找到相似度最高的条款做关联 + for (int i = 0; i < leftMapList.size(); i++) { + String leftTxt = leftMapList.get(i).get("itemsText").toString(); + //定义初始化的相似度 + double compareSimilarity = 0.0; + if (!leftTxt.isEmpty()) { + for (int j = 0; j < rightMapList.size(); j++) { + String rightTxt = rightMapList.get(j).get("itemsText").toString(); + double similarity = CompHanLPUtils.findSimilarity(leftTxt.trim(), rightTxt.trim()); + //如果相似度超过0.6 并且该相似度比之前的相似度还高,那么该条款目前相似度最高 + if (similarity >= 0.6 && compareSimilarity < similarity) { + compareSimilarity = similarity; + leftMapList.get(i).put("targetStand", j); + if (rightMapList.get(j).get("targetStand") == null) { + rightMapList.get(j).put("targetStand", i); + } + } + } + } + } + //循环对比结束,开始填充html代码 + resLeftMapList = writeResultHtml(leftMapList); + resultMap.put("resLeftMapList", resLeftMapList); + resRightMapList = writeResultHtml(rightMapList); + resultMap.put("resRightMapList", resRightMapList); + } + //往全文比对历史表中添加数据 + addStandCompareHis(leftStandard, rightStandard, remark, resLeftMapList, resRightMapList); + return resultMap; + } + + /** + * 组装条款数据 + * + * @param standardId + * @return + * @throws Exception + */ + public List> fullTextComparePackageData(String standardId) throws Exception { + List> mapList = new ArrayList>(); + //调用查询条款接口 + SarFileSplitItemsEOPage sarFileSplitItemsEOPage = new SarFileSplitItemsEOPage(); + sarFileSplitItemsEOPage.setInfoId(standardId); + sarFileSplitItemsEOPage.setValidFlag(String.valueOf(ValidFlagEnum.VALID_TRUE.getValue())); + sarFileSplitItemsEOPage.setOrderBy("SAR_FILE_SPLIT_MENU.display_seq asc"); + + if (StringUtils.isNotEmpty(sarFileSplitItemsEOPage.getMenuId())) { + List sarFileSplitMenuEOList = sarFileSplitMenuEOService.queryByList(new SarFileSplitMenuEOPage()); + Tree tree = new Tree<>(sarFileSplitMenuEOList); + TreeNode treeNode = tree.getTreeNode(sarFileSplitItemsEOPage.getMenuId()); + + List menuIds = new ArrayList<>(); + menuIds.add(treeNode.getNodeId()); + for (TreeNode node : treeNode.getAllChildren()) { + menuIds.add(node.getNodeId()); + } + sarFileSplitItemsEOPage.setMenuIdList(menuIds); + } + + + List itemList = sarFileSplitItemsEOService.queryByList(sarFileSplitItemsEOPage); + if (itemList != null && !itemList.isEmpty()) { + for (SarFileSplitItemsEO sarFileSplitItemsEO : itemList) { + Map map = new HashMap(); + map.put("itemsNum", sarFileSplitItemsEO.getItemsNum()); + map.put("itemsName", sarFileSplitItemsEO.getItemsName()); + map.put("itemsId", sarFileSplitItemsEO.getId()); + //(内容1\n内容2\n格式) + String txt = ""; + //调用条款内容详情表查询条款内容 + SarFileSplitItemsValEOPage sarFileSplitItemsValEOPage = new SarFileSplitItemsValEOPage(); + sarFileSplitItemsValEOPage.setItemId(sarFileSplitItemsEO.getId()); + sarFileSplitItemsValEOPage.setValidFlag(String.valueOf(ValidFlagEnum.VALID_TRUE.getValue())); + sarFileSplitItemsValEOPage.setType("TEXT"); + List leftValList = sarFileSplitItemsValEOService.queryByList(sarFileSplitItemsValEOPage); + if (leftValList != null && !leftValList.isEmpty()) { + for (SarFileSplitItemsValEO sarFileSplitItemsValEO : leftValList) { + txt += "

" + sarFileSplitItemsValEO.getItemContent() + "

"; + } + } + map.put("itemsText", txt); + map.put("targetStand", null); + map.put("menuId", sarFileSplitItemsEO.getMenuId()); + mapList.add(map); + } + } + return mapList; + } + + /** + * 填充html代码,返回结果 + * + * @param resMapList + * @return + */ + public List> writeResultHtml(List> resMapList) throws Exception { + List> resultMapList = new ArrayList<>(); + for (Map resMap : resMapList) { + Map map = new HashMap<>(); + StringBuilder stringBuilder = new StringBuilder(); + Object itemsNum = resMap.get("itemsNum"); + if (null != itemsNum) { + stringBuilder.append(itemsNum.toString()); + } else { + stringBuilder.append("undefined"); + } + stringBuilder.append(" "); + Object itemsName = resMap.get("itemsName"); + if (null != itemsName) { + stringBuilder.append(itemsName.toString()); + } else { + stringBuilder.append("undefined"); + } + stringBuilder.append("
"); + + Object itemsTxt = resMap.get("itemsTxt"); + if (null != itemsTxt) { + stringBuilder.append(itemsTxt.toString()); + } + stringBuilder.append("
"); + map.put("resultHtml", stringBuilder.toString()); + Object targetStand = resMap.get("targetStand"); + int targetStandInt = 0; + if (null != targetStand) { + targetStand = (Integer) targetStand; + } + map.put("targetStand", targetStand); + Object itemsId = resMap.get("itemsId"); + String itemsIdStr = "undefined"; + if (null != itemsId) { + itemsIdStr = itemsId.toString(); + } + map.put("itemsId", itemsIdStr); + resultMapList.add(map); + } + return resMapList; + } + + /** + * 保存比对历史 + * + * @param leftStandId + * @param rightStandId + * @param remark + * @param resLeftMapList + * @param resRightMapList + * @throws Exception + */ + public void addStandCompareHis(String leftStandId, String rightStandId, String remark, List> resLeftMapList, List> resRightMapList) throws Exception { + SarFileSplitInfoEO leftInfo = sarFileSplitInfoEOService.queryById(leftStandId); + SarFileSplitInfoEO rightInfo = sarFileSplitInfoEOService.queryById(rightStandId); + //保存标准比对历史表数据 + SarFileCompareInfo sarFileCompareInfo = new SarFileCompareInfo(); + sarFileCompareInfo.setId(UUID.randomUUID().toString()); + sarFileCompareInfo.setFileIdLeft(leftInfo.getFileId()); + sarFileCompareInfo.setFileNameLeft(leftInfo.getFileName()); + sarFileCompareInfo.setFileTypeLeft(leftInfo.getFileType()); + sarFileCompareInfo.setSerialNumberLeft(leftInfo.getSerialNumber()); + + sarFileCompareInfo.setFileIdRight(rightInfo.getFileId()); + sarFileCompareInfo.setFileNameRight(rightInfo.getFileName()); + sarFileCompareInfo.setFileTypeRight(rightInfo.getFileType()); + sarFileCompareInfo.setSerialNumberRight(rightInfo.getSerialNumber()); + + sarFileCompareInfo.setReleaseState(ReleaseConditionEnum.DRAFT.getValue()); + sarFileCompareInfo.setRemark(remark); + this.add(sarFileCompareInfo); + //保存标准的所有条款比对的历史数据 + if (resLeftMapList != null && !resLeftMapList.isEmpty()) { + setStandCompareHisEO(resLeftMapList, sarFileCompareInfo.getId(), "LEFT"); + } + if (resRightMapList != null && !resRightMapList.isEmpty()) { + setStandCompareHisEO(resRightMapList, sarFileCompareInfo.getId(), "RIGHT"); + } + } + + public void setStandCompareHisEO(List> mapList, String id, String leftOrRight) throws Exception { + for (int i = 0; i < mapList.size(); i++) { + SarFileCompareItem sarFileCompareItem = new SarFileCompareItem(); + sarFileCompareItem.setItemsId(id); + sarFileCompareItem.setItemsDisplayNum(i); + sarFileCompareItem.setLeftOrRight(leftOrRight); + Object itemsId = mapList.get(i).get("itemsId"); + if (null != itemsId) { + sarFileCompareItem.setItemsId(itemsId.toString()); + } + Object itemsName = mapList.get(i).get("itemsName"); + if (null != itemsName) { + sarFileCompareItem.setItemsName(itemsName.toString()); + } + Object itemsNum = mapList.get(i).get("itemsNum"); + if (null != itemsNum) { + sarFileCompareItem.setItemsNum(itemsNum.toString()); + } + Object itemsText = mapList.get(i).get("itemsText"); + if (null != itemsText) { + sarFileCompareItem.setItemsText(itemsText.toString()); + } + Object targetStand = mapList.get(i).get("targetStand"); + if (targetStand != null) { + sarFileCompareItem.setTargetStand((int) targetStand); + } + sarFileCompareItemService.add(sarFileCompareItem); + } + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java new file mode 100644 index 000000000..3373dfce7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.compare.service.impl; + +import com.jero.modules.compare.entity.SarFileCompareItem; +import com.jero.modules.compare.mapper.SarFileCompareItemMapper; +import com.jero.modules.compare.service.ISarFileCompareItemService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 文档对比信息条款表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Service +public class SarFileCompareItemServiceImpl extends ServiceImpl implements ISarFileCompareItemService { + + /** + * 保存 + * + * @param sarFileCompareItem + * @return + */ + @Override + public void add(SarFileCompareItem sarFileCompareItem) { + Date now = new Date(); + sarFileCompareItem.setCreateTime(now); + sarFileCompareItem.setUpdateTime(now); + save(sarFileCompareItem); + } + + /** + * 更新 + * + * @param sarFileCompareItem + * @return + */ + @Override + public void editById(SarFileCompareItem sarFileCompareItem) { + Date now = new Date(); + sarFileCompareItem.setUpdateTime(now); + saveOrUpdate(sarFileCompareItem); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public SarFileCompareItem queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/CompHanLPUtils.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/CompHanLPUtils.java new file mode 100644 index 000000000..e7f52387e --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/CompHanLPUtils.java @@ -0,0 +1,266 @@ +package com.jero.modules.compare.utils; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.extra.tokenizer.Result; +import cn.hutool.extra.tokenizer.TokenizerEngine; +import cn.hutool.extra.tokenizer.TokenizerUtil; +import cn.hutool.extra.tokenizer.Word; +import cn.hutool.extra.tokenizer.engine.hanlp.HanLPEngine; +import cn.hutool.extra.tokenizer.engine.jieba.JiebaEngine; +import com.hankcs.hanlp.HanLP; +import lombok.extern.slf4j.Slf4j; +import org.jsoup.Jsoup; +import org.wltea.analyzer.core.IKSegmenter; +import org.wltea.analyzer.core.Lexeme; + +import java.io.IOException; +import java.io.StringReader; +import java.text.NumberFormat; +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +public class CompHanLPUtils { + + + /** + * 通过Ik 进行将句子分词 + * + * @param text + * @return + */ + public static Vector participleIk(String text) { + //对输入进行分词 + Vector str = new Vector<>(); + try { + StringReader reader = new StringReader(text); + //当为true时,分词器进行最大词长切分 + IKSegmenter ik = new IKSegmenter(reader, true); + Lexeme lexeme = null; + while ((lexeme = ik.next()) != null) { + str.add(lexeme.getLexemeText()); + } + if (str.size() == 0) { + return null; + } + //分词后 + log.info("str分词后:" + str); + } catch (IOException e) { + log.error(e.getMessage()); + } + return str; + } + + + /** + * 结巴分词 + * + * @param text + * @return + */ + public static Vector participleJieBa(String text) { + JiebaEngine engine = new JiebaEngine(); + Result results = engine.parse(text); + //输出:这 两个 方法 的 区别 在于 返回 值 + String result = CollUtil.join((Iterator) results, ","); + return new Vector<>(Arrays.asList(result.split(","))); + } + + + /** + * 中文分词 + * + * @param text + * @return + */ + public static Vector participleChinese(String text) { + //自动根据用户引入的分词库的jar来自动选择使用的引擎 + TokenizerEngine engine = TokenizerUtil.createEngine(); + //解析文本 + //String text = "这两个方法的区别在于返回值"; + Result results = engine.parse(text); + //输出:这 两个 方法 的 区别 在于 返回 值 + String result = CollUtil.join((Iterator) results, ","); + return new Vector<>(Arrays.asList(result.split(","))); + } + + /** + * 采用 HanLP 进行自定义分词 + */ + public static Vector participleHanLP(String text) { + TokenizerEngine engine = new HanLPEngine(); + //解析文本 + //String text = "这两个方法的区别在于返回值"; + Result results = engine.parse(text); + //输出:这 两个 方法 的 区别 在于 返回 值 + String result = CollUtil.join((Iterator) results, ","); + return new Vector<>(Arrays.asList(result.split(","))); + } + + + /** + * Java利用hanlp完成语句相似度分析 + * + * @param sentenceOne + * @param sentenceTwo + * @return + */ + public static double findSimilarity(String sentenceOne, String sentenceTwo) { + List sentOneWords = getSplitWords(sentenceOne); + List sentTwoWords = getSplitWords(sentenceTwo); + List allWords = mergeList(sentOneWords, sentTwoWords); + int[] statisticOne = statistic(allWords, sentOneWords); + int[] statisticTwo = statistic(allWords, sentTwoWords); + double dividend = 0; + double divisor1 = 0; + double divisor2 = 0; + int length = statisticOne.length; + for (int i = 0; i < length; i++) { + dividend += statisticOne[i] * statisticTwo[i]; + divisor1 += Math.pow(statisticOne[i], 2); + divisor2 += Math.pow(statisticTwo[i], 2); + } + return dividend / (Math.sqrt(divisor1) * Math.sqrt(divisor2)); + } + + + private static int[] statistic(List allWords, List sentWords) { + int[] result = new int[allWords.size()]; + int size = allWords.size(); + for (int i = 0; i < size; i++) { + result[i] = Collections.frequency(sentWords, allWords.get(i)); + } + return result; + } + + + /** + * 去重 + * + * @param listOne + * @param listTwo + * @return + */ + private static List mergeList(List listOne, List listTwo) { + List result = new ArrayList<>(); + result.addAll(listOne); + result.addAll(listTwo); + return result.stream().distinct().collect(Collectors.toList()); + } + + + /** + * 过滤标签 + * + * @param sentence + * @return + */ + private static List getSplitWords(String sentence) { + // 去除掉html标签 + sentence = Jsoup.parse(sentence.replace(" ", "")).body().text(); + // 标点符号会被单独分为一个Term,去除之 + return HanLP.segment(sentence).stream().map(a -> a.word).filter(s -> !"`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、? ".contains(s)).collect(Collectors.toList()); + } + + + public static void main(String[] args) { + String str1 = "6转向系\n" + + "6.1汽车(三轮汽车除外)的方向盘应设置于左侧,其他机动车的方向盘不得设置于右侧;专项作业车、教练车按需要可设置左右两个方向盘。有驾驶室的正三轮摩托车如使用方向盘转向,则方向盘中心立柱距车辆纵向中心平面的水平距离应小于等于200 mm;其他摩托车不得使用方向盘转向。\n" + + "6.2机动车的方向盘(或方向把)应转动灵活,操纵方便,无卡滞现象。机动车应设置转向限位装置。转向系统在任何操作位置上,不得与其他部件有干涉现象。\n" + + "6.3机动车(摩托车、三轮汽车、手扶拖拉机运输机组除外)正常行驶时,转向轮转向后应有一定的回正能力(允许有残余角),以使机动车具有稳定的直线行驶能力。\n" + + "6.4机动车方向盘的最大自由转动量应小于或等于:\n" + + "a) 最大设计车速大于或等于100 km/h 的机动车:15°\n" + + "b) 三轮汽车:35°;\n" + + "c) 其他机动车:25° 。\n" + + "6.5汽车(三轮汽车除外)应具有适度的不足转向特性。\n" + + "6.6三轮汽车、摩托车的转向轮向左或向右转角应小于等于:\n" + + "a)\t三轮汽车、三轮摩托车、正三轮轻便摩托车:45°;\n" + + "6)\t\t两轮普通摩托车、两轮轻便摩托车:48°。\n" + + "6.6机动车在平坦、硬实、干燥和清洁的道路上行驶不应跑偏,其方向盘(或方向把)不应有摆振、路感不灵或其他异常现象。\n" + + "6.8机动车在平坦、硬实、干燥和清洁的水泥或沥青道路上行驶,以10 km/h的速度在5 s之内沿螺旋线从直线行驶过渡到外圆直径为25 m的车辆通道圆行驶,施加于方向盘外缘的最大切向力应小于等于245 N。\n" + + "6.9专用校车应采用转向助力装置;其他机动车转向轴最大设计轴荷大于4 000 kg时,也应采用转向助力装置。装有转向助力装置的机动车,转向时其转向助力功能不得出现时有时无的现象,且转向助力装置失效时仍应具有用方向盘控制机动车的能力。装有电动转向助力装置的汽车,在产品使用说明书规定的正常使用状态下,应保证转向助力装置的电能供应。\n" + + "6.10汽车和汽车列车(不计具有作业功能的专用装置的突出部分)、轮式拖拉机运输机组应能在同一个车辆通道圆内通过,车辆通道圆的外圆直径认为25.00 m,车辆通道圆的内圆直径D2为10.60 m。 汽车和汽车列车、轮式拖拉机运输机组由直线行驶过渡到上述圆周运动时,任何部分超出直线行驶时的 车辆外侧面垂直面的值(外摆值)应小于等于0.80 m(对铰接客车和铰接式无轨电车外摆值应小于等于 1.20 m),其试验方法见GB 1589。\n" + + "6.11汽车(三轮汽车除外)的车轮定位应与该车型的技术要求一致。对前轴采用非独立悬架的汽车(前轴采用双转向轴时除外),其转向轮的横向侧滑量,用侧滑台检验时侧滑量值应在±5 m/km之间。\n" + + "6.12转向节及臂,转向横、直拉杆及球销不得有裂纹和损伤,并且转向球销不应松旷。对机动车进行改装或修理时横、直拉杆不得拼焊。\n" + + "6.13三轮汽车、摩托车的前减振器、上下联板和方向把不应有变形和裂损。\n"; + String str2 = "6转向系\n" + + "6.1汽车(三轮汽车除外)的方向盘应设置于左侧,其他机动车的方向盘不应设置于右侧;专项作业车、教练车按需要可设置左右两个方向盘。装有两个后轮、有驾驶室的正三轮摩托车如使用方向盘转向,则方向盘中心立柱距车辆纵向中心平面的水平距离应小于或等于200 mm ;其他摩托车不应使用方向盘转向。\n" + + "6.2机动车的方向盘(或方向把)应转动灵活,无卡滞现象。机动车应设置转向限位装置。转向系统在任何操作位置上,不应与其他部件有干涉现象。\n" + + "6.3机动车(摩托车、三轮汽车、手扶拖拉机运输机组除外〉正常行驶时,转向轮转向后应有一定的回正能力(允许有残余角),以使机动车具有稳定的直线行驶能力0\n" + + "6.4机动车方向盘的最大自由转动量应小于或等于:\n" + + "a) 最大设计车速大于或等于100 km/h 的机动车:15°\n" + + "b) 三轮汽车:35°;\n" + + "c) 其他机动车:25° 。\n" + + "6.5汽车(三轮汽车除外)应具有适度的不足转向特性。\n" + + "6.6三轮汽车、摩托车的转向轮向左或向右转角应小于或等于:\n" + + "a) 三轮汽车、三轮摩托车、正三轮轻便摩托车:45°;\n" + + "b)两轮普通摩托车、两轮轻便摩托车:48°0\n" + + "6.7机动车在平坦、硬实、干燥和清洁的道路上行驶不应跑偏,其方向盘(或方向把)不应有摆振等异常现象。\n" + + "6.8机动车在平坦、硬实、干燥和清洁的水泥或沥青道路上行驶,以10 km/h 的速度在5 s 之内沿螺旋线从直线行驶过渡到外圆直径为25m 的车辆通道圆行驶,施加于方向盘外缘的最大切向力应小于或等于245 N。\n" + + "6.9汽车(三轮汽车除外)的车轮定位应与该车型的技术要求一致。对前轴采用非独立悬架的汽车(前轴采用双转向轴时除外),其转向轮的横向侧滑量,用侧滑台检验时侧滑量值应小于或等于5 m/km。\n" + + "6.10 专用校车应采用转向助力装置;其他机动车转向轴最大设计轴荷大于4 000 kg 时,也应采用转向助力装置。装有转向助力装置的机动车,转向时其转向助力功能不应出现时有时无的现象,且转向助力装置失效时仍应具有用方向盘控制机动车的能力。\n" + + "6.11转向节及臂,转向横、直拉杆及球销应连接可靠,且不应有裂纹和损伤,并且转向球销不应松旷。对机动车进行改装或修理时横、直拉杆不应拼焊。\n" + + "6.12三轮汽车、摩托车的前减振器、上下联板和方向把不应有变形和裂损。"; + String str3 = "\n" + + "5车辆识别代号的标示位置\n" + + "5.1每辆车辆都应具有唯一的车辆识别代号,并永久保持地标示在车辆上,同一车辆上标示的所有的 车辆识别代号的字码构成与排列顺序应相同。除第9章规定的情况外,不得对已标示的车辆识别代号 进行变更。\n" + + "5.2车辆应在产品标牌上标示车辆识别代号(L1、L3类车辆可除外),产品标牌的型式、标示位置、标示要求应符合GB/T 18411的规定。\n" + + "5.3车辆应至少有一个车辆识别代号直接打刻在车架(无车架的车辆为车身主要承载且不能拆卸的部件)能防止锈烛、磨损的部位上。其中:\n" + + "a)\tM1类车辆的车辆识别代号应打刻在发动机舱内能防止替换的车辆结构件上,或打刻在车门 立柱上,如受结构限制没有打刻空间时也可打刻在右侧除行李舱外的车辆其他结构件上;\n" + + "b)\t最大设计总质量大于或等于12000 kg的货车及所有牵引杆挂车,车辆识别代号应打刻在右前轮纵向中心线前端纵梁外侧,如受结构限制也可打刻在右前轮纵向中心线附近纵梁外侧;\n" + + "c)\t半挂车和中置轴挂车的车辆识别代号应打刻在右前支腿前端纵梁外侧(无纵梁车辆除外);\n" + + "d)\t其他汽车和无纵梁挂车的车辆识别代号应打刻在车辆右侧前部的车辆结构件上,如受结构限 制也可打刻在右侧其他车辆结构件上。\n" + + "打刻车辆识别代号的部件不应采用打磨、挖补、垫片、凿改、重新涂漆(设计和制造上为保护打刻的 车辆识别代号而采取涂漆工艺的情形除外)等方式处理,从上(前)方观察时,打刻区域周边足够大面积 的表面不应有任何覆盖物,如有覆盖物,该覆盖物的表面应明确标示“车辆识别代号”或“VIN”字样,且覆盖物在不使用任何专用工具的情况下能直接取下(或揭开)及复原,以方便地观察到足够大的包括打刻区域的表面。\n" + + "注1:打刻区域周边足够大面积的表面(足够大的包括打刻区域的表面)是指打刻车辆识别代号的部件的全部表面,但所暴露表面能满足查看打刻车辆识别代号的部件有无挖补、重新焊接、粘贴等痕迹的需要时,也应视为满足要求。\n" + + "注2:对摩托车,打刻的车辆识别代号在不举升车辆的情形下可观察、拓印的,视为满足要求。\n" + + "打刻的车辆识别代号从上(前)方应易于观察、拓印,对于汽车和挂车还应能拍照。\n" + + "5.4具有电子控制单元的汽车,其至少有一个电子控制单元应不可篡改地存储车辆识别代号。\n" + + "5.5 M1、N1类车辆应在靠近风窗立柱的位置标示车辆识别代号,该车辆识别代号在白天不需移动任何部件从车外即能清晰识读。\n" + + "5.6除按照5.2、5.3、5.4、5.5规定标示车辆识别代号之外,类车辆还应在行李舱的易见部位标示车辆识别代号;且若车辆制造厂选取车辆识别代号作为车辆及部件识别标记的标识信息,还应按照GB 30509的规定,标示车辆识别代号。\n" + + "5.7除按照5.2、5.3、5.4规定标示车辆识别代号之外,最大设计总质量大于或等于12000 kg的栏板式、仓栅式、自卸式、罐式货车及最大设计总质量大于或等于10000 kg的栏板式、仓栅式、自卸式、罐式挂车还应在其货箱或常压罐体(或设计和制造上固定在货箱或常压罐体上且用于与车架连接的结构件)上打刻至少两个车辆识别代号。打刻的车辆识别代号应位于货箱(常压罐体)左、右两侧或前端面且易于拍照;且若打刻在货箱(常压罐体)左、右两侧时,打刻的车辆识别代号距货箱(常压罐体)前端面的距离应小于或等于1 000 mm,若打刻在左、右两侧连接结构件时应尽量靠近货箱(常压罐体)前端面。\n" + + "5.8车辆制造厂应至少在一种随车文件中标示车辆识别代号。"; + + String str4 = "\n" + + "5.3车辆的驱动\n" + + "5.3.1车辆不应靠自身动力驱动。\n" + + "5.3.2在碰撞瞬间,车辆应不冉承受任何附加转向或驱动装置的作用。\n" + + "5.3.3车辆到达壁障的路线在横向任一方向偏离理论轨迹均不应超过150 mm。\n" + + "5.4 试验速度\n" + + "在碰撞瞬间,车辆速度应为504 km/h。如果试验在更高的碰撞速度下进行并且车辆符合要求,也认为试验合格。\n" + + "5.5对前排座椅假人的测量\n" + + "5.5.1为确定性能指标必需的所有测量,均应采用符合附录D要求的测量系统。\n" + + "5.5.2不同的参数应通过具备下列CFC(通道的频率等级)的独立数据通道来记录。\n" + + "5.5.2.1对假人头部的测量\n" + + "重心处的加速度(a)由加速度的二维分量计算得出。加速度分量测量时,CFC为1000。\n" + + "5.5.2.2对假人颈部的测量\n" + + "5.5.2.2.1在头颈连接处测量的轴向张力和前后剪切力,CFC为1000。\n" + + "5.5.2.2.2在头颈连接处测量的对Y轴的弯矩,CFC为600。\n" + + "5.5.2.3对假人胸部的测量\n" + + "胸部变形测量时,CFC为180。\n" + + "5.5.2.4对假人大腿的测量\n" + + "轴向压缩力测量时,CFC为600。"; + + + double similarity = CompHanLPUtils.findSimilarity(str1, str2); + NumberFormat nf = NumberFormat.getPercentInstance(); + nf.setMaximumIntegerDigits(2);//小数点前保留几位 + nf.setMinimumFractionDigits(2);// 小数点后保留几位 + String similarityDegree = nf.format(similarity); + System.out.println(similarityDegree); + System.out.println("======================================================"); + double similarity1 = CompHanLPUtils.findSimilarity(str1, str3); + System.out.println(similarity1); + + System.out.println("======================================================"); + double similarity2 = CompHanLPUtils.findSimilarity(str1, str4); + System.out.println(similarity2); + + + System.out.println("======================================================"); + double similarity3 = CompHanLPUtils.findSimilarity(str3, str4); + System.out.println(similarity3); + + } + +} + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/OrdNamComparator.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/OrdNamComparator.java new file mode 100644 index 000000000..af0892b92 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/OrdNamComparator.java @@ -0,0 +1,21 @@ +package com.jero.modules.compare.utils.treeTool; + +import java.util.Comparator; + +/** + * List 排序 Comparator + * @author david + */ +public class OrdNamComparator implements Comparator { + + @Override + public int compare(TreeNode t1, TreeNode t2) { + if (t1.getOrderNum() > t2.getOrderNum()) { + return 1; + } + if (t1.getOrderNum() < t2.getOrderNum()) { + return -1; + } + return t1.getNodeName().compareTo(t2.getNodeName()); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/Tree.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/Tree.java new file mode 100644 index 000000000..cac186979 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/Tree.java @@ -0,0 +1,174 @@ +package com.jero.modules.compare.utils.treeTool; + +import com.jero.modules.compare.utils.treeTool.annotation.*; +import org.apache.commons.lang3.StringUtils; + +import java.lang.reflect.Field; +import java.util.*; + +/** + * 构建树形建构 + * + * @author David + */ +public class Tree { + /** + * 用于存放treeNode的Map + */ + private LinkedHashMap treeNodesMap = new LinkedHashMap<>(); + /** + * 用于存放treeNode的list + */ + private List treeNodesList = new ArrayList<>(); + + /** + * 构造方法 + * + * @param list + */ + public Tree(List list) { + initTreeNodeMap(list); + initTreeNodeList(); + } + + /** + * 将List对象数据转为TreeNodeMap + * + * @param list + */ + private void initTreeNodeMap(List list) { + TreeNode treeNode; + for (Object item : list) { + treeNode = new TreeNode(); + treeNode.setNodeId(getFieldValue(item, "TreeNodeId")); + treeNode.setNodeName(getFieldValue(item, "TreeNodeName")); + treeNode.setParentNodeId(getFieldValue(item, "TreeNodeParentId")); + if(StringUtils.isEmpty(getFieldValue(item, "TreeNodeLevel"))) { + treeNode.setLevel(0); + } else { + treeNode.setLevel(Integer.parseInt(getFieldValue(item, "TreeNodeLevel"))); + } + if(StringUtils.isEmpty(getFieldValue(item, "TreeNodeOrder"))) { + treeNode.setOrderNum(0); + } else { + treeNode.setOrderNum(Integer.parseInt(getFieldValue(item, "TreeNodeOrder"))); + } + treeNode.setLastNodeNum(1); + treeNode.setData(item); + treeNodesMap.put(treeNode.getNodeId(), treeNode); + } + Iterator iterator = treeNodesMap.values().iterator(); + TreeNode parentTreeNode; + while (iterator.hasNext()) { + treeNode = iterator.next(); + if (StringUtils.isEmpty(treeNode.getParentNodeId())) { + continue; + } + parentTreeNode = treeNodesMap.get(treeNode.getParentNodeId()); + if (parentTreeNode != null) { + treeNode.setParent(parentTreeNode); + parentTreeNode.addChild(treeNode); + // 按照orderNum排序 + Collections.sort(parentTreeNode.getChildren(), new OrdNamComparator()); + // 判断这个节点是否是最子节点 + if (treeNode.getChildren().size() == 0) { + treeNode.setLastNode(true); + } + // 计算每一个节点的最子节点的数量 + List children = parentTreeNode.getChildren(); + if (children.size() > 0) { + int sum = 0; + for (TreeNode treeNode2 : children) { + sum += treeNode2.getLastNodeNum(); + } + parentTreeNode.setLastNodeNum(sum); + } + } + } + } + + private String getFieldValue(Object obj, String type) { + Class clz = obj.getClass(); + Field[] fields = clz.getDeclaredFields(); + String value = null; + try { + for(Field field : fields){ + field.setAccessible(true); + switch (type){ + case "TreeNodeId": + if(field.isAnnotationPresent(TreeNodeId.class)) { + value = String.valueOf(field.get(obj)); + } + break; + case "TreeNodeParentId": + if(field.isAnnotationPresent(TreeNodeParentId.class)) { + value = String.valueOf(field.get(obj)); + } + break; + case "TreeNodeName": + if(field.isAnnotationPresent(TreeNodeName.class)) { + value = String.valueOf(field.get(obj)); + } + break; + case "TreeNodeOrder": + if(field.isAnnotationPresent(TreeNodeOrder.class)) { + value = String.valueOf(field.get(obj)); + } + break; + case "TreeNodeLevel": + if(field.isAnnotationPresent(TreeNodeLevel.class)) { + value = String.valueOf(field.get(obj)); + } + break; + default: + break; + } + } + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return value; + } + + /** + * 根据treeNodesMap转为treeNodesList + */ + private void initTreeNodeList() { + if (treeNodesList.size() > 0) { + return; + } + if (treeNodesMap.size() == 0) { + return; + } + Iterator iterator = treeNodesMap.values().iterator(); + TreeNode treeNode; + while (iterator.hasNext()) { + treeNode = iterator.next(); + if (treeNode.getParent() == null) { + this.treeNodesList.add(treeNode); + this.treeNodesList.addAll(treeNode.getAllChildren()); + } + } + } + + public List getTree() { + return this.treeNodesList; + } + + public List getRoot() { + List rootList = new ArrayList<>(); + if (this.treeNodesList.size() > 0) { + for (TreeNode node : treeNodesList) { + if (node.getParent() == null) { + rootList.add(node); + Collections.sort(rootList, new OrdNamComparator()); + } + } + } + return rootList; + } + + public TreeNode getTreeNode(String nodeId) { + return this.treeNodesMap.get(nodeId); + } +} \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/TreeNode.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/TreeNode.java new file mode 100644 index 000000000..f0d9c5e24 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/TreeNode.java @@ -0,0 +1,202 @@ +package com.jero.modules.compare.utils.treeTool; + +import com.alibaba.fastjson.annotation.JSONField; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author David + */ +public class TreeNode { + + /** + * 树节点ID + */ + @JSONField(ordinal = 1) + private String nodeId; + /** + * 树节点名称 + */ + @JSONField(ordinal = 2) + private String nodeName; + /** + * 父节点ID + */ + @JSONField(ordinal = 3) + private String parentNodeId; + /** + * 节点在树中的排序号 + */ + @JSONField(ordinal = 4) + private int orderNum; + /** + * 节点所在的层级 + */ + @JSONField(ordinal = 5) + private int level; + /** + * 最子节点的数量 + */ + @JSONField(ordinal = 6) + private int lastNodeNum; + + /** + * 是否是最子节点 + */ + @JSONField(ordinal = 7) + private boolean lastNode; + + private Object data; + + /** + * 当前节点的儿子节点 + */ + @JSONField(ordinal = 8) + private List children = new ArrayList<>(); + + /** + * 当前节点的完整路径 + */ + @JSONField(ordinal = 9) + private String completeName; + + /** + * 当前节点的父级节点 + * 转json的时候忽略此属性,因为此属性到前端无作用 + */ + @JSONField(serialize = false) + private TreeNode parent; + + /** + * 当前节点的子孙节点 + * 转json的时候忽略此属性,因为此属性到前端无作用 + */ + @JSONField(serialize = false) + private List allChildren = new ArrayList<>(); + + private int standFlag; + + public TreeNode(TreeNode obj) { + this.orderNum = obj.getOrderNum(); + this.level = obj.getLevel(); + this.lastNodeNum = obj.getLastNodeNum(); + } + + public TreeNode() { + } + + public void addChild(TreeNode treeNode) { + this.children.add(treeNode); + } + + public void removeChild(TreeNode treeNode) { + this.children.remove(treeNode); + } + + public String getNodeId() { + return nodeId; + } + + public void setNodeId(String nodeId) { + this.nodeId = nodeId; + } + + public String getNodeName() { + return nodeName; + } + + public void setNodeName(String nodeName) { + this.nodeName = nodeName; + } + + public String getParentNodeId() { + return parentNodeId; + } + + public void setParentNodeId(String parentNodeId) { + this.parentNodeId = parentNodeId; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public TreeNode getParent() { + return parent; + } + + public void setParent(TreeNode parent) { + this.parent = parent; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public int getOrderNum() { + return orderNum; + } + + public void setOrderNum(int orderNum) { + this.orderNum = orderNum; + } + + public int getLastNodeNum() { + return lastNodeNum; + } + + public void setLastNodeNum(int lastNodeNum) { + this.lastNodeNum = lastNodeNum; + } + + public boolean isLastNode() { + return lastNode; + } + + public void setLastNode(boolean lastNode) { + this.lastNode = lastNode; + } + + public List getAllChildren() { + if (this.allChildren.isEmpty()) { + for (TreeNode treeNode : this.children) { + this.allChildren.add(treeNode); + this.allChildren.addAll(treeNode.getAllChildren()); + } + } + return this.allChildren; + } + + public String getCompleteName() { + return completeName; + } + + public void setCompleteName(String completeName) { + this.completeName = completeName; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + public int getStandFlag() { + return standFlag; + } + + public void setStandFlag(int standFlag) { + this.standFlag = standFlag; + } +} \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeId.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeId.java new file mode 100644 index 000000000..97a74f827 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeId.java @@ -0,0 +1,12 @@ +package com.jero.modules.compare.utils.treeTool.annotation; + +import java.lang.annotation.*; + +/** + * @author david + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +@Documented +public @interface TreeNodeId { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeLevel.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeLevel.java new file mode 100644 index 000000000..474dfbcf6 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeLevel.java @@ -0,0 +1,12 @@ +package com.jero.modules.compare.utils.treeTool.annotation; + +import java.lang.annotation.*; + +/** + * @author david + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +@Documented +public @interface TreeNodeLevel { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeName.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeName.java new file mode 100644 index 000000000..a64708d22 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeName.java @@ -0,0 +1,12 @@ +package com.jero.modules.compare.utils.treeTool.annotation; + +import java.lang.annotation.*; + +/** + * @author david + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +@Documented +public @interface TreeNodeName { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeOrder.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeOrder.java new file mode 100644 index 000000000..a0fb69bc0 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeOrder.java @@ -0,0 +1,12 @@ +package com.jero.modules.compare.utils.treeTool.annotation; + +import java.lang.annotation.*; + +/** + * @author david + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +@Documented +public @interface TreeNodeOrder { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeParentId.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeParentId.java new file mode 100644 index 000000000..9a52c5be0 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/treeTool/annotation/TreeNodeParentId.java @@ -0,0 +1,12 @@ +package com.jero.modules.compare.utils.treeTool.annotation; + +import java.lang.annotation.*; + +/** + * @author david + */ +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.FIELD}) +@Documented +public @interface TreeNodeParentId { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java index 1ffb02b43..541a98f77 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/controller/DocTranslationEOController.java @@ -4,13 +4,12 @@ import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; -import com.jero.common.system.query.QueryGenerator; import com.jero.modules.docTranslation.entity.DocTranslationEO; import com.jero.modules.docTranslation.service.IDocTranslationEOService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +20,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.jero.common.aspect.annotation.AutoLog; - /** * @Description: 文档翻译表 * @Author: jero-boot @@ -53,9 +51,7 @@ public class DocTranslationEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(docTranslationEO, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = docTranslationEOService.page(page, queryWrapper); + IPage pageList = docTranslationEOService.queryPageList(docTranslationEO,pageNo,pageSize,cut,req); return Result.OK(cut,pageList); } @@ -168,4 +164,27 @@ public class DocTranslationEOController extends JeroController updateRleaseConditionBatch(@RequestBody JSONObject json) { + return this.docTranslationEOService.updateRleaseConditionBatch(json); + } + + /** + * 批量更新文档翻译表状态 + * @return + */ + @AutoLog(value = "文档翻译表-查询文本状态下拉选项") + @ApiOperation(value="文档翻译表-查询文本状态下拉选项", notes="文档翻译表-查询文本状态下拉选项") + @GetMapping(value = "/queryTextStatusVal") + public Result queryTextStatusVal() { + return this.docTranslationEOService.queryTextStatusVal(); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java index 442d9d205..dd63d984e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/entity/DocTranslationEO.java @@ -2,6 +2,7 @@ package com.jero.modules.docTranslation.entity; import java.io.Serializable; 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 lombok.Data; @@ -73,10 +74,12 @@ public class DocTranslationEO implements Serializable { private String title; /**文本状态*/ - @Dict(dicCode = "state") + //@Dict(dicCode = "state") @Excel(name = "文本状态", width = 15) @ApiModelProperty(value = "文本状态") private java.lang.String textStatus; + @TableField(exist = false) + private String textStatus_dictText; /**文件名称*/ @Excel(name = "文件名称", width = 15) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java index 432741eb5..1e24dd388 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/IDocTranslationEOService.java @@ -1,7 +1,12 @@ package com.jero.modules.docTranslation.service; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.common.api.vo.Result; import com.jero.modules.docTranslation.entity.DocTranslationEO; import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -58,4 +63,28 @@ public interface IDocTranslationEOService extends IService { * @return */ List queryList(); + + /** + * 分页查询 + * @param docTranslationEO + * @param pageNo + * @param pageSize + * @param cut + * @param req + * @return + */ + IPage queryPageList(DocTranslationEO docTranslationEO, Integer pageNo, Integer pageSize, String cut, HttpServletRequest req); + + /** + * 批量更新发布情况 + * @param json + * @return + */ + Result updateRleaseConditionBatch(JSONObject json); + + /** + * 查询文本状态下拉选项(文档库中,文件类型字段) + * @return + */ + Result queryTextStatusVal(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java index 20b0115d2..e90b396bd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/service/impl/DocTranslationEOServiceImpl.java @@ -1,20 +1,40 @@ package com.jero.modules.docTranslation.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +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.Result; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.ModuleEnum; +import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; +import com.jero.generater.modules.online.cgform.entity.OnlCgformField; +import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.docTranslation.entity.DocTranslationEO; import com.jero.modules.docTranslation.enums.ReleaseConditionEnum; import com.jero.modules.docTranslation.enums.TranslationResultEnum; import com.jero.modules.docTranslation.mapper.DocTranslationEOMapper; import com.jero.modules.docTranslation.service.IDocTranslationEOService; import com.jero.modules.docTranslation.utils.TranslationDocumentUtils; +import com.jero.modules.document.enums.FieldTypeEnum; import com.jero.modules.oss.entity.OSSFile; +import me.zhyd.oauth.utils.StringUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 文档翻译表 * @Author: jero-boot @@ -25,6 +45,8 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class DocTranslationEOServiceImpl extends ServiceImpl implements IDocTranslationEOService { + @Autowired + private OnlCgformFieldServiceImpl onlCgformFieldService; /** * 保存 * @@ -103,4 +125,81 @@ public class DocTranslationEOServiceImpl extends ServiceImpl queryList() { return list(); } + + @Override + public IPage queryPageList(DocTranslationEO docTranslationEO, Integer pageNo, Integer pageSize, String cut, HttpServletRequest req) { + Page page = new Page(pageNo, pageSize); + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(docTranslationEO, req.getParameterMap()); + // 获取当前登录人 + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + /** + * 数据权限:自己创建的、或发布情况为“已发布”的数据 + */ + queryWrapper.lambda().and(query -> { + query.eq(DocTranslationEO::getCreateBy,currentUser.getUsername()); + query.or(o -> { + o.eq(DocTranslationEO::getReleaseCondition,ReleaseConditionEnum.PUBLISHED.getValue()); + }); + }); + queryWrapper.lambda().orderByDesc(DocTranslationEO::getCreateTime); + IPage result = this.page(page, queryWrapper); + disposeData(result.getRecords(),cut); + return result; + } + + /** + * 处理数据 + * @param datas + * @param cut + */ + public void disposeData(List datas,String cut){ + if(CollectionUtils.isNotEmpty(datas)){ + for (DocTranslationEO data : datas) { + String textStatus_dictText = ""; + OnlCgformField fileTypeField = this.onlCgformFieldService.queryById(data.getTextStatus()); + if (ObjectUtil.isNotEmpty(fileTypeField)) { + if (CutEnum.CN.getValue().equals(cut)) { + textStatus_dictText = fileTypeField.getDbFieldTxt(); + } else { + textStatus_dictText = fileTypeField.getDbFieldEnName(); + } + } + data.setTextStatus_dictText(textStatus_dictText); + } + } + } + + @Override + public Result updateRleaseConditionBatch(JSONObject json) { + String ids = json.getString("ids"); + // 值对应枚举类 ReleaseConditionEnum 发布published 或撤回draft + String releaseCondition = json.getString("releaseCondition"); + if (StringUtils.isNotEmpty(ids)) { + List docTranslationEOList = new ArrayList<>(); + + List idList = Arrays.asList(ids.split(",")); + idList.forEach(id -> { + DocTranslationEO docTranslationEO = new DocTranslationEO(); + docTranslationEO.setId(id); + docTranslationEO.setReleaseCondition(releaseCondition); + docTranslationEOList.add(docTranslationEO); + }); + this.updateBatchById(docTranslationEOList); + } + return new Result<>().success("操作成功!"); + } + + @Override + public Result queryTextStatusVal() { + List fieldList = this.onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); + List result = fieldList.stream().filter(field -> { + boolean flag = false; + if(org.apache.commons.lang3.StringUtils.equals(field.getFieldShowType(), FieldTypeEnum.FILE.getValue())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + return Result.OK(result); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java index 1db72e898..4ea483db6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/docTranslation/utils/TranslationDocumentUtils.java @@ -140,11 +140,11 @@ public class TranslationDocumentUtils { } try { FileOutputStream out = new FileOutputStream(newFile); + out.write(translateAfter.getBytes("UTF-8")); + out.close(); MultipartFile multipartFile = createMfileByPath(translateAfterFilePath); ossFile = iossFileService.uploadLocalOfCos(multipartFile, "", null, null); - out.write(translateAfter.getBytes("UTF-8")); - out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index ce37902db..7d48f7722 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -3189,7 +3189,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl { + @Autowired + private IExtRepoDataService extRepoDataService; + + @Autowired + private IExtRepoFolderService extRepoFolderService; + + + private final SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + /** + * 分页列表查询 + * + * @param extRepoData + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "对外报告数据表-分页列表查询") + @ApiOperation(value = "对外报告数据表-分页列表查询", notes = "对外报告数据表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ExtRepoData extRepoData, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Page page = new Page<>(pageNo, pageSize); + // 文件名称模糊查询 + String fileName = req.getParameter("fileName"); + if (StringUtils.isNotBlank(fileName)) { + queryWrapper.like(ExtRepoData::getFileName, fileName); + } + // 上传人模糊查询 + String createBy = req.getParameter("createBy"); + if (StringUtils.isNotBlank(createBy)) { + queryWrapper.like(ExtRepoData::getCreateBy, createBy); + } + // 更新时间查询 + String createTime = req.getParameter("time"); + if (StringUtils.isNotBlank(createTime)) { + String[] createTimeArr = createTime.split(","); + if (createTimeArr.length >= 2) { + queryWrapper.between(ExtRepoData::getCreateTime, createTimeArr[0], createTimeArr[1]); + } + } + queryWrapper.eq(ExtRepoData::getSupFolder, extRepoData.getSupFolder()); + queryWrapper.orderBy(true, false, ExtRepoData::getCreateTime); + IPage pageList = extRepoDataService.page(page, queryWrapper); + ExtRepoDataPage res = new ExtRepoDataPage(extRepoFolderService.haveManageAuth(extRepoData.getSupFolder()), pageList); + return Result.OK(res); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "对外报告数据表-列表查询") + @ApiOperation(value = "对外报告数据表-列表查询", notes = "对外报告数据表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = extRepoDataService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param extRepoData + * @return + */ + @AutoLog(value = "对外报告数据表-添加") + @ApiOperation(value = "对外报告数据表-添加", notes = "对外报告数据表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ExtRepoData extRepoData) { + Result result = new Result(); + if (extRepoFolderService.haveManageAuth(extRepoData.getSupFolder())) { + log.info("对外报告数据表收到文件添加请求,开始处理文件:【" + sdf.format(new Date()) + "】"); + int res = extRepoDataService.add(extRepoData); + if (CutEnum.CN.getValue().equals(extRepoData.getCut())) { + result.success("添加成功:" + res + "条数据!"); + } else { + result.success(res + " pieces of data are added successfully!"); + } + } else { + if (CutEnum.CN.getValue().equals(extRepoData.getCut())) { + result.error500("没有权限!"); + } else { + result.error500("You do not have permission !"); + } + } + return result; + } + + + /** + * 编辑 + * + * @param extRepoData + * @return + */ + @AutoLog(value = "对外报告数据表-编辑") + @ApiOperation(value = "对外报告数据表-编辑", notes = "对外报告数据表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ExtRepoData extRepoData) { + Result result = new Result(); + ExtRepoData erd = extRepoDataService.queryById(extRepoData.getId()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (extRepoFolderService.isManager() || sysUser.getUsername().equals(erd.getCreateBy())) { + extRepoData.setSupFolder(erd.getSupFolder()); + extRepoDataService.editById(extRepoData); + if (CutEnum.CN.getValue().equals(extRepoData.getCut())) { + result.success("编辑成功!"); + } else { + result.success("Data update successfully!"); + } + } else { + if (CutEnum.CN.getValue().equals(extRepoData.getCut())) { + result.error500("没有权限!"); + } else { + result.error500("You do not have permission !"); + } + } + return result; + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "对外报告数据表-通过id删除") + @ApiOperation(value = "对外报告数据表-通过id删除", notes = "对外报告数据表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam("id") String id, + @RequestParam(name = "cut", defaultValue = "cn") String cut) { + Result result = new Result(); + ExtRepoData erd = extRepoDataService.queryById(id); + if (null != erd) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (extRepoFolderService.isManager() || sysUser.getUsername().equals(erd.getCreateBy())) { + extRepoDataService.deleteById(id); + CosBootUtil.delete(erd.getFileKey()); + if (CutEnum.CN.getValue().equals(cut)) { + result.success("删除成功!"); + } else { + result.success("Data deletion successfully!"); + } + } else { + if (CutEnum.CN.getValue().equals(cut)) { + result.error500("没有权限!"); + } else { + result.error500("You do not have permission!"); + } + } + } else { + if (CutEnum.CN.getValue().equals(cut)) { + result.error500("删除失败!"); + } else { + result.error500("Delete failed!"); + } + } + return result; + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "对外报告数据表-批量删除") + @ApiOperation(value = "对外报告数据表-批量删除", notes = "对外报告数据表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam("ids") String ids, + @RequestParam(name = "cut", defaultValue = "cn") String cut) { + Result result = new Result(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List idsList = Arrays.asList(ids.split(",")); + for (String id : idsList) { + ExtRepoData erd = extRepoDataService.queryById(id); + if (null != erd && !extRepoFolderService.isManager() && !sysUser.getUsername().equals(erd.getCreateBy())) { + if (CutEnum.CN.getValue().equals(cut)) { + result.error500("没有权限!"); + } else { + result.error500("You do not have permission!"); + } + } + } + for (String id : idsList) { + ExtRepoData erd = extRepoDataService.queryById(id); + if (null != erd) { + CosBootUtil.delete(erd.getFileKey()); + this.extRepoDataService.deleteById(id); + } + } + if (CutEnum.CN.getValue().equals(cut)) { + result.success("删除成功!"); + } else { + result.success("Data deletion successfully!"); + } + return result; + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "对外报告数据表-通过id查询") + @ApiOperation(value = "对外报告数据表-通过id查询", notes = "对外报告数据表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + ExtRepoData extRepoData = extRepoDataService.queryById(id); + if (extRepoData == null) { + result.success("未找到对应数据!"); + return result; + } + return result.OK(extRepoData); + } + + /** + * 导出excel + * + * @param request + * @param extRepoData + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ExtRepoData extRepoData) { + return super.exportXls(request, extRepoData, ExtRepoData.class, "对外报告数据表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ExtRepoData.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoFolderController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoFolderController.java new file mode 100644 index 000000000..abb0c0d96 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/controller/ExtRepoFolderController.java @@ -0,0 +1,172 @@ +package com.jero.modules.extRepo.controller; + +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.extRepo.entity.ERFTreeData; +import com.jero.modules.extRepo.entity.ExtRepoData; +import com.jero.modules.extRepo.entity.ExtRepoFolder; +import com.jero.modules.extRepo.service.IExtRepoDataService; +import com.jero.modules.extRepo.service.IExtRepoFolderService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * @Description: 对外报告文件夹表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +@Api(tags = "对外报告文件夹表") +@RestController +@RequestMapping("/extRepo/extRepoFolder") +@Slf4j +public class ExtRepoFolderController extends JeroController { + @Autowired + private IExtRepoFolderService extRepoFolderService; + + @Autowired + private IExtRepoDataService extRepoDataService; + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "对外报告文件夹表-列表查询") + @ApiOperation(value = "对外报告文件夹表-列表查询", notes = "对外报告文件夹表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = extRepoFolderService.queryTreeList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param extRepoFolder + * @return + */ + @AutoLog(value = "对外报告文件夹表-添加") + @ApiOperation(value = "对外报告文件夹表-添加", notes = "对外报告文件夹表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ExtRepoFolder extRepoFolder) { + Result result = new Result(); + if (extRepoFolderService.haveManageAuth(extRepoFolder.getSupFolder())) { + extRepoFolderService.add(extRepoFolder); + if (CutEnum.CN.getValue().equals(extRepoFolder.getCut())) { + result.success("添加成功!"); + } else { + result.success("Data added successfully!"); + } + } else { + if (CutEnum.CN.getValue().equals(extRepoFolder.getCut())) { + result.error500("没有权限!"); + } else { + result.error500("You do not have permission !"); + } + } + return result; + } + + /** + * 编辑 + * + * @param extRepoFolder + * @return + */ + @AutoLog(value = "对外报告文件夹表-编辑") + @ApiOperation(value = "对外报告文件夹表-编辑", notes = "对外报告文件夹表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ExtRepoFolder extRepoFolder) { + Result result = new Result(); + if (extRepoFolderService.haveManageAuth(extRepoFolder.getId())) { + extRepoFolderService.editById(extRepoFolder); + if (CutEnum.CN.getValue().equals(extRepoFolder.getCut())) { + result.success("编辑成功!"); + } else { + result.success("Data update successfully!"); + } + } else { + if (CutEnum.CN.getValue().equals(extRepoFolder.getCut())) { + result.error500("没有权限!"); + } else { + result.error500("You do not have permission !"); + } + } + return result; + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "对外报告文件夹表-通过id删除") + @ApiOperation(value = "对外报告文件夹表-通过id删除", notes = "对外报告文件夹表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id, + @RequestParam(name = "cut", defaultValue = "cn") String cut) { + Result result = new Result(); + if (extRepoFolderService.haveManageAuth(id)) { + List resList = extRepoFolderService.getListBySupFolder(id); + if (resList.isEmpty()) { + List erdList = extRepoDataService.queryByFolder(id); + for (ExtRepoData erd : erdList) { + extRepoDataService.deleteById(erd.getId()); + } + extRepoFolderService.deleteById(id); + if (CutEnum.CN.getValue().equals(cut)) { + result.success("删除成功!"); + } else { + result.success("Data deletion successfully!"); + } + } else { + if (CutEnum.CN.getValue().equals(cut)) { + result.error500("请先删除子文件夹!"); + } else { + result.error500("Please delete the subfolder first!"); + } + } + } else { + if (CutEnum.CN.getValue().equals(cut)) { + result.error500("没有权限!"); + } else { + result.error500("You do not have permission!"); + } + } + return result; + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "对外报告文件夹表-通过id查询") + @ApiOperation(value = "对外报告文件夹表-通过id查询", notes = "对外报告文件夹表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id, + @RequestParam(name = "cut", defaultValue = "cn") String cut) { + Result result = new Result(); + ExtRepoFolder extRepoFolder = extRepoFolderService.queryById(id); + if (extRepoFolder == null) { + if (CutEnum.CN.getValue().equals(cut)) { + result.error500("未找到对应数据!"); + } else { + result.error500("No Data!"); + } + } + return result.OK(extRepoFolder); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeData.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeData.java new file mode 100644 index 000000000..d9d65aecd --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ERFTreeData.java @@ -0,0 +1,178 @@ +package com.jero.modules.extRepo.entity; + +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 对外报告文件夹 树结构实体类 + */ +public class ERFTreeData implements Comparable { + + private static final long serialVersionUID = 1L; + + /** + * 页面显示的名称 对应 folder_name + */ + private String title; + + private String folderName; + + /** + * 文件夹ID 对应 id + */ + private String key; + + /** + * 层级,设定最多4级 + */ + private int level; + + + /** + * 排序 + */ + private int orderId; + + + /** + * 是否显示 + */ + private boolean display = false; + + + /** + * 查看权限人员 + */ + private String authViewIdsName = ""; + + /** + * 管理权限人员 + */ + private String authManageIdsName = ""; + + /** + * 查看权限人员id + */ + private String authViewIds = ""; + + /** + * 管理权限人员id + */ + private String authManageIds = ""; + + /** + * 子文件夹 + */ + private List children = new ArrayList(); + + public ERFTreeData() { + } + + public ERFTreeData(String title, String key, int level, int orderId) { + this.title = title; + this.folderName = title; + this.key = key; + this.level = level; + this.orderId = orderId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public int getOrderId() { + return orderId; + } + + public void setOrderId(int orderId) { + this.orderId = orderId; + } + + public boolean isDisplay() { + return display; + } + + public void setDisplay(boolean display) { + this.display = display; + } + + public String getFolderName() { + return folderName; + } + + public void setFolderName(String folderName) { + this.folderName = folderName; + } + + public String getAuthViewIdsName() { + return authViewIdsName; + } + + public void setAuthViewIdsName(String authViewIdsName) { + this.authViewIdsName = authViewIdsName; + } + + public String getAuthManageIdsName() { + return authManageIdsName; + } + + public void setAuthManageIdsName(String authManageIdsName) { + this.authManageIdsName = authManageIdsName; + } + + public String getAuthViewIds() { + return authViewIds; + } + + public void setAuthViewIds(String authViewIds) { + this.authViewIds = authViewIds; + } + + public String getAuthManageIds() { + return authManageIds; + } + + public void setAuthManageIds(String authManageIds) { + this.authManageIds = authManageIds; + } + + public void sortChildren() { + Collections.sort(children); + } + + @Override + public int compareTo(@NotNull ERFTreeData o) { + return this.orderId - o.orderId; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoData.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoData.java new file mode 100644 index 000000000..d83dc65a2 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoData.java @@ -0,0 +1,85 @@ +package com.jero.modules.extRepo.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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + + +/** + * @Description: 对外报告数据表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +@Data +@TableName("ext_repo_data") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="ext_repo_data对象", description="对外报告数据表") +public class ExtRepoData implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**文件标识*/ + @Excel(name = "文件标识", width = 15) + @ApiModelProperty(value = "文件标识") + private java.lang.String fileKey; + + /**文件名称*/ + @Excel(name = "文件名称", width = 15) + @ApiModelProperty(value = "文件名称") + private java.lang.String fileName; + + /**文件说明*/ + @Excel(name = "文件说明", width = 15) + @ApiModelProperty(value = "文件说明") + private java.lang.String fileDescription; + + /**所属文件夹*/ + @Excel(name = "所属文件夹", width = 15) + @ApiModelProperty(value = "所属文件夹") + private java.lang.String supFolder; + + @TableField(exist = false) + private String cut; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoDataPage.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoDataPage.java new file mode 100644 index 000000000..fd6598f35 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoDataPage.java @@ -0,0 +1,40 @@ +package com.jero.modules.extRepo.entity; + +import com.baomidou.mybatisplus.core.metadata.IPage; + +public class ExtRepoDataPage { + + /** + * 此页面是否有管理权限 + */ + private boolean auth_manage; + + /** + * 数据列表 + */ + private IPage pageList; + + public ExtRepoDataPage() { + } + + public ExtRepoDataPage(boolean auth_manage, IPage pageList) { + this.auth_manage = auth_manage; + this.pageList = pageList; + } + + public boolean isAuth_manage() { + return auth_manage; + } + + public void setAuth_manage(boolean auth_manage) { + this.auth_manage = auth_manage; + } + + public IPage getPageList() { + return pageList; + } + + public void setPageList(IPage pageList) { + this.pageList = pageList; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoFolder.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoFolder.java new file mode 100644 index 000000000..c34293c87 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/entity/ExtRepoFolder.java @@ -0,0 +1,99 @@ +package com.jero.modules.extRepo.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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + + +/** + * @Description: 对外报告文件夹表 + * @Author: jero-boot + * @Date: 2022-07-27 + * @Version: V1.0 + */ +@Data +@TableName("ext_repo_folder") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="ext_repo_folder对象", description="对外报告文件夹表") +public class ExtRepoFolder implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + + /**文件夹名称*/ + @Excel(name = "文件夹名称", width = 15) + @ApiModelProperty(value = "文件夹名称") + private String folderName; + + /**文件夹排序*/ + @Excel(name = "文件夹排序", width = 15) + @ApiModelProperty(value = "文件夹排序") + private Integer orderId; + + /**所属文件夹*/ + @Excel(name = "所属文件夹", width = 15) + @ApiModelProperty(value = "所属文件夹") + private String supFolder; + + /**查看权限人员*/ + @Excel(name = "查看权限人员", width = 15) + @ApiModelProperty(value = "查看权限人员") + private String authViewIdsName; + + /**管理权限人员*/ + @Excel(name = "管理权限人员", width = 15) + @ApiModelProperty(value = "管理权限人员") + private String authManageIdsName; + + /**查看权限人员id*/ + @Excel(name = "查看权限人员id", width = 15) + @ApiModelProperty(value = "查看权限人员id") + private String authViewIds; + + /**管理权限人员id*/ + @Excel(name = "管理权限人员id", width = 15) + @ApiModelProperty(value = "管理权限人员id") + private String authManageIds; + + @TableField(exist = false) + private String cut; +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/enums/ExtRepoMamagerRoleIdEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/enums/ExtRepoMamagerRoleIdEnum.java new file mode 100644 index 000000000..1033458c9 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/enums/ExtRepoMamagerRoleIdEnum.java @@ -0,0 +1,72 @@ +package com.jero.modules.extRepo.enums; + +import java.util.ArrayList; +import java.util.List; + +public enum ExtRepoMamagerRoleIdEnum { + MANAGER_ID("系统管理员", "Administrator", "admin", "f6817f48af4fb3af11b9e8bf182f618b", 1), + ERMANAGER_ID("对外报告管理员", "ExternalReportsManager", "ExternalReportsManager", "1552536424587862017", 2); + + String name; + String enName; + String value; + String id; + Integer order; + + ExtRepoMamagerRoleIdEnum(String name, String enName, String value, String id, Integer order) { + this.name = name; + this.enName = enName; + this.value = value; + this.id = id; + this.order = order; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } + + public static List getIdList() { + List idList = new ArrayList<>(); + ExtRepoMamagerRoleIdEnum[] values = values(); + for (ExtRepoMamagerRoleIdEnum ermriEnum : values) { + idList.add(ermriEnum.getId()); + } + return idList; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/ExtRepoDataMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/ExtRepoDataMapper.java new file mode 100644 index 000000000..d422b82fc --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/ExtRepoDataMapper.java @@ -0,0 +1,14 @@ +package com.jero.modules.extRepo.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.extRepo.entity.ExtRepoData; + +/** + * @Description: 对外报告数据表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +public interface ExtRepoDataMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/ExtRepoFolderMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/ExtRepoFolderMapper.java new file mode 100644 index 000000000..0db47bb53 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/ExtRepoFolderMapper.java @@ -0,0 +1,14 @@ +package com.jero.modules.extRepo.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.extRepo.entity.ExtRepoFolder; + +/** + * @Description: 对外报告文件夹表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +public interface ExtRepoFolderMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/xml/ExtRepoDataMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/xml/ExtRepoDataMapper.xml new file mode 100644 index 000000000..e80da742d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/xml/ExtRepoDataMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/xml/ExtRepoFolderMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/xml/ExtRepoFolderMapper.xml new file mode 100644 index 000000000..3ff05664c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/mapper/xml/ExtRepoFolderMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/IExtRepoDataService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/IExtRepoDataService.java new file mode 100644 index 000000000..b53f62527 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/IExtRepoDataService.java @@ -0,0 +1,70 @@ +package com.jero.modules.extRepo.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.extRepo.entity.ExtRepoData; + +import java.util.List; + +/** + * @Description: 对外报告数据表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +public interface IExtRepoDataService extends IService { + + /** + * 保存 + * + * @param extRepoData + * @return + */ + int add(ExtRepoData extRepoData); + + /** + * 更新 + * + * @param extRepoData + * @return + */ + void editById(ExtRepoData extRepoData); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ExtRepoData queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + /** + * 根据文件夹查询 + * + * @param folserId + * @return + */ + List queryByFolder(String folserId); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/IExtRepoFolderService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/IExtRepoFolderService.java new file mode 100644 index 000000000..de4d4da8f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/IExtRepoFolderService.java @@ -0,0 +1,94 @@ +package com.jero.modules.extRepo.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.extRepo.entity.ERFTreeData; +import com.jero.modules.extRepo.entity.ExtRepoFolder; + +import java.util.List; + +/** + * @Description: 对外报告文件夹表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +public interface IExtRepoFolderService extends IService { + + /** + * 保存 + * + * @param extRepoFolder + * @return + */ + void add(ExtRepoFolder extRepoFolder); + + /** + * 更新 + * + * @param extRepoFolder + * @return + */ + void editById(ExtRepoFolder extRepoFolder); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ExtRepoFolder queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + /** + * 查询返回树结构 + * + * @return + */ + List queryTreeList(); + + + /** + * 是否有管理权限 + * + * @param folderId + * @return + */ + boolean haveManageAuth(String folderId); + + /** + * 是否有查看权限 + * + * @param folderId + * @return + */ + boolean haveViewAuth(String folderId); + + /** + * 是否管理员 + * + * @return + */ + boolean isManager(); + + /** + * 查找子文件夹 + * + * @param supFolder + * @return + */ + List getListBySupFolder(String supFolder); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoDataServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoDataServiceImpl.java new file mode 100644 index 000000000..a50adc802 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoDataServiceImpl.java @@ -0,0 +1,142 @@ +package com.jero.modules.extRepo.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.modules.extRepo.entity.ExtRepoData; +import com.jero.modules.extRepo.mapper.ExtRepoDataMapper; +import com.jero.modules.extRepo.service.IExtRepoDataService; +import com.jero.modules.oss.entity.OSSFile; +import com.jero.modules.oss.service.IOSSFileService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * @Description: 对外报告数据表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +@Service +public class ExtRepoDataServiceImpl extends ServiceImpl implements IExtRepoDataService { + + @Autowired + private IOSSFileService ossFileService; + + /** + * 保存 + * + * @param extRepoData + * @return + */ + @Override + public int add(ExtRepoData extRepoData) { + //返回成功数量 + int res = 0; + Date now = new Date(); + // 根据fileKey查找文件 + String fileIds = extRepoData.getFileKey(); + if (StringUtils.isNotBlank(fileIds)) { + String[] fileIdsArr = fileIds.split(","); + for (String fid : fileIdsArr) { + OSSFile ossFile = ossFileService.getById(fid); + if (ObjectUtil.isNotEmpty(ossFile)) { + String fileName = ossFile.getFileName(); + extRepoData.setFileName(fileName); + ExtRepoData erd = extRepoDataCopy(extRepoData, fid, now); + save(erd); + res++; + } + } + } + return res; + } + + private ExtRepoData extRepoDataCopy(ExtRepoData extRepoData, String key, Date now) { + ExtRepoData res = new ExtRepoData(); + res.setId(extRepoData.getId()); + res.setCreateBy(extRepoData.getCreateBy()); + res.setCreateTime(now); + res.setUpdateBy(extRepoData.getUpdateBy()); + res.setUpdateTime(now); + res.setSysOrgCode(extRepoData.getSysOrgCode()); + res.setFileKey(key); + res.setFileName(extRepoData.getFileName()); + res.setFileDescription(extRepoData.getFileDescription()); + res.setSupFolder(extRepoData.getSupFolder()); + return res; + } + + /** + * 更新 + * + * @param extRepoData + * @return + */ + @Override + public void editById(ExtRepoData extRepoData) { + Date now = new Date(); + extRepoData.setUpdateTime(now); + saveOrUpdate(extRepoData); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ExtRepoData queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + /** + * 列表查询 + * + * @param folserId + * @return + */ + public List queryByFolder(String folserId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ExtRepoData::getSupFolder, folserId); + List list = this.list(queryWrapper); + return list; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java new file mode 100644 index 000000000..b6dffeed7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java @@ -0,0 +1,367 @@ +package com.jero.modules.extRepo.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.exception.JeroBootException; +import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; +import com.jero.modules.extRepo.entity.ERFTreeData; +import com.jero.modules.extRepo.entity.ExtRepoFolder; +import com.jero.modules.extRepo.enums.ExtRepoMamagerRoleIdEnum; +import com.jero.modules.extRepo.mapper.ExtRepoFolderMapper; +import com.jero.modules.extRepo.service.IExtRepoFolderService; +import com.jero.modules.system.entity.SysUserRole; +import com.jero.modules.system.service.ISysUserRoleService; +import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Description: 对外报告文件夹表 + * @Author: jero-boot + * @Date: 2022-07-25 + * @Version: V1.0 + */ +@Service +public class ExtRepoFolderServiceImpl extends ServiceImpl implements IExtRepoFolderService { + @Autowired + private ISysUserRoleService sysUserRoleService; + /** + * 一级文件夹的supFolder统一存root + */ + private static final String superFolder = "root"; + + /** + * 保存 + * + * @param extRepoFolder + * @return + */ + @Override + public void add(ExtRepoFolder extRepoFolder) { + try { + if (StringUtils.isEmpty(extRepoFolder.getSupFolder())) { + //一级文件夹的supFolder统一存root,方便以后查找 + extRepoFolder.setSupFolder(superFolder); + } + Date now = new Date(); + extRepoFolder.setCreateTime(now); + extRepoFolder.setUpdateTime(now); +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// extRepoFolder.setAuthManageName(extRepoFolder.getAuthManageName() + "," + sysUser.getUsername()); +// extRepoFolder.setAuthManageIds(extRepoFolder.getAuthManageIds() + "," + sysUser.getId()); + extRepoFolder.setAuthManageIdsName(extRepoFolder.getAuthManageIdsName()); + extRepoFolder.setAuthManageIds(extRepoFolder.getAuthManageIds()); + save(extRepoFolder); + editOrderId(extRepoFolder); + } catch (Exception ex) { + log.error("添加对外报告文件夹失败:" + ex.getMessage()); + throw new JeroBootException("添加文件夹失败!"); + } + } + + /** + * 同级文件夹,修改顺序号 + * + * @param extRepoFolder + */ + private void editOrderId(ExtRepoFolder extRepoFolder) throws Exception { + List list = getListBySupFolder(extRepoFolder.getSupFolder()); + for (ExtRepoFolder erf : list) { + if (erf.getOrderId() >= extRepoFolder.getOrderId() && !erf.getId().equals(extRepoFolder.getId())) { + erf.setOrderId(erf.getOrderId() + 1); + updateById(erf); + } + } + } + + @Override + public List getListBySupFolder(String supFolder) { + ExtRepoFolder erf = new ExtRepoFolder(); + erf.setSupFolder(supFolder); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(erf, new HashMap<>()); + return this.list(queryWrapper); + } + + /** + * 更新 + * + * @param extRepoFolder + * @return + */ + @Override + public void editById(ExtRepoFolder extRepoFolder) { + try { + //原有的记录 + ExtRepoFolder erf_orig = queryById(extRepoFolder.getId()); + Date now = new Date(); + extRepoFolder.setUpdateTime(now); + saveOrUpdate(extRepoFolder); + editOrderId(extRepoFolder); + editAuth(erf_orig, extRepoFolder); + } catch (Exception ex) { + log.error("修改对外报告文件夹失败:" + ex.getMessage()); + throw new JeroBootException("修改文件夹失败!"); + } + } + + /** + * 修改所有关联文件夹的权限 + */ + private void editAuth(ExtRepoFolder erf_orig, ExtRepoFolder erf_new) throws Exception { + //管理权限 + Map authManage_orig = getAuthMap(erf_orig.getAuthManageIdsName(), erf_orig.getAuthManageIds()); + Map authManage_new = getAuthMap(erf_new.getAuthManageIdsName(), erf_new.getAuthManageIds()); + //增加管理权限的人 + Map addManageRole = getDefMap(authManage_new, authManage_orig); + //删除管理权限的人 + Map delManageRole = getDefMap(authManage_orig, authManage_new); + + //查看权限 + Map authView_orig = getAuthMap(erf_orig.getAuthViewIdsName(), erf_orig.getAuthViewIds()); + Map authView_new = getAuthMap(erf_new.getAuthViewIdsName(), erf_new.getAuthViewIds()); + //增加查看权限的人 + Map addViewRole = getDefMap(authView_new, authView_orig); + //删除查看权限的人 + Map delViewRole = getDefMap(authView_orig, authView_new); + + List allSubFolder = getAllSubFolder(erf_orig.getId()); + //存储变化的对象 + List updateFolder = new ArrayList(); + for (ExtRepoFolder erf : allSubFolder) { + boolean isChange = false; + Map authManage_erf = getAuthMap(erf.getAuthManageIdsName(), erf.getAuthManageIds()); + Map authView_erf = getAuthMap(erf.getAuthViewIdsName(), erf.getAuthViewIds()); + for (String add : addManageRole.keySet()) { + if (!authManage_erf.keySet().contains(add)) { + authManage_erf.put(add, addManageRole.get(add)); + isChange = true; + } + } + for (String del : delManageRole.keySet()) { + //如果是创建人 不能删除管理权限 + if (authManage_erf.keySet().contains(del)) { + if (!del.equals(erf_orig.getCreateBy())) { + authManage_erf.remove(del); + isChange = true; + } + } + } + for (String add : addViewRole.keySet()) { + if (!authView_erf.keySet().contains(add)) { + authView_erf.put(add, addViewRole.get(add)); + isChange = true; + } + } + for (String del : delViewRole.keySet()) { + if (authView_erf.keySet().contains(del)) { + authView_erf.remove(del); + isChange = true; + } + } + erf.setAuthManageIdsName(StringUtils.join(authManage_erf.keySet(), ",")); + erf.setAuthManageIds(StringUtils.join(authManage_erf.values(), ",")); + erf.setAuthViewIdsName(StringUtils.join(authView_erf.keySet(), ",")); + erf.setAuthViewIds(StringUtils.join(authView_erf.values(), ",")); + if (isChange) { + updateFolder.add(erf); + } + } + if (updateFolder.size() > 0) { + updateBatchById(updateFolder); + } + } + + /** + * 得到列表新增元素集合 + * + * @param mapA + * @param mapB + * @return + */ + private Map getDefMap(Map mapA, Map mapB) { + Map res = new HashMap(); + for (String s : mapA.keySet()) { + if (StringUtils.isNotBlank(s) && !mapB.keySet().contains(s)) { + res.put(s, mapA.get(s)); + } + } + return res; + } + + private List getAllSubFolder(String folderId) { + List resList = getListBySupFolder(folderId); + List subList = new ArrayList(); + for (ExtRepoFolder erf : resList) { + subList.addAll(getAllSubFolder(erf.getId())); + } + resList.addAll(subList); + return resList; + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + try { + removeById(id); + } catch (Exception ex) { + log.error("删除对外报告文件夹失败:" + ex.getMessage()); + throw new JeroBootException("删除文件夹失败!"); + } + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ExtRepoFolder queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryTreeList() { + try { + List list = queryList(); + List res = getSubFolder(superFolder, list, 1); + Collections.sort(res); + return res; + } catch (Exception ex) { + log.error("查询对外报告文件夹失败:" + ex.getMessage()); + throw new JeroBootException("查询文件夹失败!"); + } + } + + + /** + * 查找子文件夹,生成树结构 + * + * @param supId + * @param list + * @param level 前端需要知道当前文件夹在哪一层 + * @return + */ + private List getSubFolder(String supId, List list, int level) throws Exception { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List resList = new ArrayList(); + for (ExtRepoFolder erf : list) { + if (supId.equals(erf.getSupFolder())) { + ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId()); + //检查有没有权限查看 + date.setDisplay(haveViewAuth(erf.getSupFolder())); + int childLevel = date.getLevel() + 1; + date.setAuthManageIdsName(erf.getAuthManageIdsName()); + date.setAuthManageIds(erf.getAuthManageIds()); + date.setAuthViewIdsName(erf.getAuthViewIdsName()); + date.setAuthViewIds(erf.getAuthViewIds()); + date.setChildren(getSubFolder(erf.getId(), list, childLevel)); + date.sortChildren(); + resList.add(date); + } + } + return resList; + } + + private List getStringList(String listStr) { + List res = new ArrayList(); + if (null != listStr) { + res = Arrays.asList(listStr.split(",")); + } + return res; + } + + private Map getAuthMap(String strKey, String strValue) { + Map resMap = new HashMap(); + List keyList = getStringList(strKey); + List valueList = getStringList(strValue); + for (int i = 0; i < keyList.size(); i++) { + resMap.put(keyList.get(i), valueList.get(i)); + } + return resMap; + } + + /** + * 判断是否是文件夹管理员角色 + * + * @return + */ + @Override + public boolean isManager() { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户 + // 查询当前登录用户角色 + List userRoles = sysUserRoleService.list(new QueryWrapper().lambda().eq(SysUserRole::getUserId, loginUser.getId())); // 查询用户所有角色 + List userRoleIds = new ArrayList<>(); // 用户管理员/对外报告管理员 + if (CollectionUtil.isNotEmpty(userRoles)) { + List roleIdList = ExtRepoMamagerRoleIdEnum.getIdList(); + List userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); + userRoleIds = roleIdList.stream().filter(e -> userRoleIdList.contains(e)).collect(Collectors.toList()); + return !CollectionUtil.isEmpty(userRoleIds); + } + return false; + } + + /** + * 是否有管理权限 + * + * @param folderId + * @return + */ + @Override + public boolean haveManageAuth(String folderId) { + boolean res = false; + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + res = isManager(); + ExtRepoFolder erf = queryById(folderId); + if (null != erf) { + res = res || getStringList(erf.getAuthManageIds()).contains(sysUser.getId()); + } + return res; + } + + /** + * 是否有查看权限 + * + * @param folderId + * @return + */ + public boolean haveViewAuth(String folderId) { + boolean res = false; + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + res = isManager(); + ExtRepoFolder erf = queryById(folderId); + if (null != erf) { + res = res || getStringList(erf.getAuthManageIds()).contains(sysUser.getId()) + || getStringList(erf.getAuthViewIds()).contains(sysUser.getId()); + } + return false; + + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempEOController.java new file mode 100644 index 000000000..fd9c18425 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: Country Card模板维护表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Api(tags="Country Card模板维护表") +@RestController +@RequestMapping("/problemKnowledgeBase/countryCardTempEO") +@Slf4j +public class CountryCardTempEOController extends JeroController { + @Autowired + private ICountryCardTempEOService countryCardTempEOService; + + /** + * 分页列表查询 + * + * @param countryCardTempEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "Country Card模板维护表-分页列表查询") + @ApiOperation(value="Country Card模板维护表-分页列表查询", notes="Country Card模板维护表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(CountryCardTempEO countryCardTempEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(countryCardTempEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = countryCardTempEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "Country Card模板维护表-列表查询") + @ApiOperation(value="Country Card模板维护表-列表查询", notes="Country Card模板维护表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = countryCardTempEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param countryCardTempEO + * @return + */ + @AutoLog(value = "Country Card模板维护表-添加") + @ApiOperation(value="Country Card模板维护表-添加", notes="Country Card模板维护表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody CountryCardTempEO countryCardTempEO) { + countryCardTempEOService.add(countryCardTempEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param countryCardTempEO + * @return + */ + @AutoLog(value = "Country Card模板维护表-编辑") + @ApiOperation(value="Country Card模板维护表-编辑", notes="Country Card模板维护表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody CountryCardTempEO countryCardTempEO) { + countryCardTempEOService.editById(countryCardTempEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "Country Card模板维护表-通过id删除") + @ApiOperation(value="Country Card模板维护表-通过id删除", notes="Country Card模板维护表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + countryCardTempEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "Country Card模板维护表-批量删除") + @ApiOperation(value="Country Card模板维护表-批量删除", notes="Country Card模板维护表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.countryCardTempEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "Country Card模板维护表-通过id查询") + @ApiOperation(value="Country Card模板维护表-通过id查询", notes="Country Card模板维护表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + CountryCardTempEO countryCardTempEO = countryCardTempEOService.queryById(id); + if(countryCardTempEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(countryCardTempEO); + } + + /** + * 导出excel + * + * @param request + * @param countryCardTempEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, CountryCardTempEO countryCardTempEO) { + return super.exportXls(request, countryCardTempEO, CountryCardTempEO.class, "Country Card模板维护表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, CountryCardTempEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempItemEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempItemEOController.java new file mode 100644 index 000000000..ee50b7143 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempItemEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: Country Card模板维护-字典项表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Api(tags="Country Card模板维护-字典项表") +@RestController +@RequestMapping("/problemKnowledgeBase/countryCardTempItemEO") +@Slf4j +public class CountryCardTempItemEOController extends JeroController { + @Autowired + private ICountryCardTempItemEOService countryCardTempItemEOService; + + /** + * 分页列表查询 + * + * @param countryCardTempItemEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "Country Card模板维护-字典项表-分页列表查询") + @ApiOperation(value="Country Card模板维护-字典项表-分页列表查询", notes="Country Card模板维护-字典项表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(CountryCardTempItemEO countryCardTempItemEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(countryCardTempItemEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = countryCardTempItemEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "Country Card模板维护-字典项表-列表查询") + @ApiOperation(value="Country Card模板维护-字典项表-列表查询", notes="Country Card模板维护-字典项表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = countryCardTempItemEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param countryCardTempItemEO + * @return + */ + @AutoLog(value = "Country Card模板维护-字典项表-添加") + @ApiOperation(value="Country Card模板维护-字典项表-添加", notes="Country Card模板维护-字典项表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody CountryCardTempItemEO countryCardTempItemEO) { + countryCardTempItemEOService.add(countryCardTempItemEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param countryCardTempItemEO + * @return + */ + @AutoLog(value = "Country Card模板维护-字典项表-编辑") + @ApiOperation(value="Country Card模板维护-字典项表-编辑", notes="Country Card模板维护-字典项表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody CountryCardTempItemEO countryCardTempItemEO) { + countryCardTempItemEOService.editById(countryCardTempItemEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "Country Card模板维护-字典项表-通过id删除") + @ApiOperation(value="Country Card模板维护-字典项表-通过id删除", notes="Country Card模板维护-字典项表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + countryCardTempItemEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "Country Card模板维护-字典项表-批量删除") + @ApiOperation(value="Country Card模板维护-字典项表-批量删除", notes="Country Card模板维护-字典项表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.countryCardTempItemEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "Country Card模板维护-字典项表-通过id查询") + @ApiOperation(value="Country Card模板维护-字典项表-通过id查询", notes="Country Card模板维护-字典项表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + CountryCardTempItemEO countryCardTempItemEO = countryCardTempItemEOService.queryById(id); + if(countryCardTempItemEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(countryCardTempItemEO); + } + + /** + * 导出excel + * + * @param request + * @param countryCardTempItemEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, CountryCardTempItemEO countryCardTempItemEO) { + return super.exportXls(request, countryCardTempItemEO, CountryCardTempItemEO.class, "Country Card模板维护-字典项表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, CountryCardTempItemEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseBrowsingHistoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseBrowsingHistoryEOController.java new file mode 100644 index 000000000..f23c69ac0 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseBrowsingHistoryEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseBrowsingHistoryEO; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseBrowsingHistoryEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 问题知识库浏览历史表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="问题知识库浏览历史表") +@RestController +@RequestMapping("/problemKnowledgeBase/problemKnowledgeBaseBrowsingHistoryEO") +@Slf4j +public class ProblemKnowledgeBaseBrowsingHistoryEOController extends JeroController { + @Autowired + private IProblemKnowledgeBaseBrowsingHistoryEOService problemKnowledgeBaseBrowsingHistoryEOService; + + /** + * 分页列表查询 + * + * @param problemKnowledgeBaseBrowsingHistoryEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "问题知识库浏览历史表-分页列表查询") + @ApiOperation(value="问题知识库浏览历史表-分页列表查询", notes="问题知识库浏览历史表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseBrowsingHistoryEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = problemKnowledgeBaseBrowsingHistoryEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "问题知识库浏览历史表-列表查询") + @ApiOperation(value="问题知识库浏览历史表-列表查询", notes="问题知识库浏览历史表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = problemKnowledgeBaseBrowsingHistoryEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param problemKnowledgeBaseBrowsingHistoryEO + * @return + */ + @AutoLog(value = "问题知识库浏览历史表-添加") + @ApiOperation(value="问题知识库浏览历史表-添加", notes="问题知识库浏览历史表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO) { + problemKnowledgeBaseBrowsingHistoryEOService.add(problemKnowledgeBaseBrowsingHistoryEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param problemKnowledgeBaseBrowsingHistoryEO + * @return + */ + @AutoLog(value = "问题知识库浏览历史表-编辑") + @ApiOperation(value="问题知识库浏览历史表-编辑", notes="问题知识库浏览历史表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO) { + problemKnowledgeBaseBrowsingHistoryEOService.editById(problemKnowledgeBaseBrowsingHistoryEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库浏览历史表-通过id删除") + @ApiOperation(value="问题知识库浏览历史表-通过id删除", notes="问题知识库浏览历史表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + problemKnowledgeBaseBrowsingHistoryEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问题知识库浏览历史表-批量删除") + @ApiOperation(value="问题知识库浏览历史表-批量删除", notes="问题知识库浏览历史表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.problemKnowledgeBaseBrowsingHistoryEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库浏览历史表-通过id查询") + @ApiOperation(value="问题知识库浏览历史表-通过id查询", notes="问题知识库浏览历史表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO = problemKnowledgeBaseBrowsingHistoryEOService.queryById(id); + if(problemKnowledgeBaseBrowsingHistoryEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(problemKnowledgeBaseBrowsingHistoryEO); + } + + /** + * 导出excel + * + * @param request + * @param problemKnowledgeBaseBrowsingHistoryEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO) { + return super.exportXls(request, problemKnowledgeBaseBrowsingHistoryEO, ProblemKnowledgeBaseBrowsingHistoryEO.class, "问题知识库浏览历史表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProblemKnowledgeBaseBrowsingHistoryEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseClassifyEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseClassifyEOController.java new file mode 100644 index 000000000..3e9f5c700 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseClassifyEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseClassifyEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 问题知识库-分类表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="问题知识库-分类表") +@RestController +@RequestMapping("/problemKnowledgeBase/problemKnowledgeBaseClassifyEO") +@Slf4j +public class ProblemKnowledgeBaseClassifyEOController extends JeroController { + @Autowired + private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService; + + /** + * 分页列表查询 + * + * @param problemKnowledgeBaseClassifyEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "问题知识库-分类表-分页列表查询") + @ApiOperation(value="问题知识库-分类表-分页列表查询", notes="问题知识库-分类表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseClassifyEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = problemKnowledgeBaseClassifyEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "问题知识库-分类表-列表查询") + @ApiOperation(value="问题知识库-分类表-列表查询", notes="问题知识库-分类表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = problemKnowledgeBaseClassifyEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param problemKnowledgeBaseClassifyEO + * @return + */ + @AutoLog(value = "问题知识库-分类表-添加") + @ApiOperation(value="问题知识库-分类表-添加", notes="问题知识库-分类表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO) { + problemKnowledgeBaseClassifyEOService.add(problemKnowledgeBaseClassifyEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param problemKnowledgeBaseClassifyEO + * @return + */ + @AutoLog(value = "问题知识库-分类表-编辑") + @ApiOperation(value="问题知识库-分类表-编辑", notes="问题知识库-分类表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO) { + problemKnowledgeBaseClassifyEOService.editById(problemKnowledgeBaseClassifyEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库-分类表-通过id删除") + @ApiOperation(value="问题知识库-分类表-通过id删除", notes="问题知识库-分类表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + problemKnowledgeBaseClassifyEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问题知识库-分类表-批量删除") + @ApiOperation(value="问题知识库-分类表-批量删除", notes="问题知识库-分类表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.problemKnowledgeBaseClassifyEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库-分类表-通过id查询") + @ApiOperation(value="问题知识库-分类表-通过id查询", notes="问题知识库-分类表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO = problemKnowledgeBaseClassifyEOService.queryById(id); + if(problemKnowledgeBaseClassifyEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(problemKnowledgeBaseClassifyEO); + } + + /** + * 导出excel + * + * @param request + * @param problemKnowledgeBaseClassifyEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO) { + return super.exportXls(request, problemKnowledgeBaseClassifyEO, ProblemKnowledgeBaseClassifyEO.class, "问题知识库-分类表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProblemKnowledgeBaseClassifyEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCollectEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCollectEOController.java new file mode 100644 index 000000000..f58424eb6 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCollectEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCollectEO; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCollectEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 问题知识库收藏表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="问题知识库收藏表") +@RestController +@RequestMapping("/problemKnowledgeBase/problemKnowledgeBaseCollectEO") +@Slf4j +public class ProblemKnowledgeBaseCollectEOController extends JeroController { + @Autowired + private IProblemKnowledgeBaseCollectEOService problemKnowledgeBaseCollectEOService; + + /** + * 分页列表查询 + * + * @param problemKnowledgeBaseCollectEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "问题知识库收藏表-分页列表查询") + @ApiOperation(value="问题知识库收藏表-分页列表查询", notes="问题知识库收藏表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseCollectEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = problemKnowledgeBaseCollectEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "问题知识库收藏表-列表查询") + @ApiOperation(value="问题知识库收藏表-列表查询", notes="问题知识库收藏表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = problemKnowledgeBaseCollectEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param problemKnowledgeBaseCollectEO + * @return + */ + @AutoLog(value = "问题知识库收藏表-添加") + @ApiOperation(value="问题知识库收藏表-添加", notes="问题知识库收藏表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO) { + problemKnowledgeBaseCollectEOService.add(problemKnowledgeBaseCollectEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param problemKnowledgeBaseCollectEO + * @return + */ + @AutoLog(value = "问题知识库收藏表-编辑") + @ApiOperation(value="问题知识库收藏表-编辑", notes="问题知识库收藏表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO) { + problemKnowledgeBaseCollectEOService.editById(problemKnowledgeBaseCollectEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库收藏表-通过id删除") + @ApiOperation(value="问题知识库收藏表-通过id删除", notes="问题知识库收藏表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + problemKnowledgeBaseCollectEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问题知识库收藏表-批量删除") + @ApiOperation(value="问题知识库收藏表-批量删除", notes="问题知识库收藏表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.problemKnowledgeBaseCollectEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库收藏表-通过id查询") + @ApiOperation(value="问题知识库收藏表-通过id查询", notes="问题知识库收藏表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO = problemKnowledgeBaseCollectEOService.queryById(id); + if(problemKnowledgeBaseCollectEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(problemKnowledgeBaseCollectEO); + } + + /** + * 导出excel + * + * @param request + * @param problemKnowledgeBaseCollectEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO) { + return super.exportXls(request, problemKnowledgeBaseCollectEO, ProblemKnowledgeBaseCollectEO.class, "问题知识库收藏表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProblemKnowledgeBaseCollectEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java new file mode 100644 index 000000000..f3b4b1d01 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCommentEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 问题知识库评论表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="问题知识库评论表") +@RestController +@RequestMapping("/problemKnowledgeBase/problemKnowledgeBaseCommentEO") +@Slf4j +public class ProblemKnowledgeBaseCommentEOController extends JeroController { + @Autowired + private IProblemKnowledgeBaseCommentEOService problemKnowledgeBaseCommentEOService; + + /** + * 分页列表查询 + * + * @param problemKnowledgeBaseCommentEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "问题知识库评论表-分页列表查询") + @ApiOperation(value="问题知识库评论表-分页列表查询", notes="问题知识库评论表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseCommentEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = problemKnowledgeBaseCommentEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "问题知识库评论表-列表查询") + @ApiOperation(value="问题知识库评论表-列表查询", notes="问题知识库评论表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = problemKnowledgeBaseCommentEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param problemKnowledgeBaseCommentEO + * @return + */ + @AutoLog(value = "问题知识库评论表-添加") + @ApiOperation(value="问题知识库评论表-添加", notes="问题知识库评论表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO) { + problemKnowledgeBaseCommentEOService.add(problemKnowledgeBaseCommentEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param problemKnowledgeBaseCommentEO + * @return + */ + @AutoLog(value = "问题知识库评论表-编辑") + @ApiOperation(value="问题知识库评论表-编辑", notes="问题知识库评论表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO) { + problemKnowledgeBaseCommentEOService.editById(problemKnowledgeBaseCommentEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库评论表-通过id删除") + @ApiOperation(value="问题知识库评论表-通过id删除", notes="问题知识库评论表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + problemKnowledgeBaseCommentEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问题知识库评论表-批量删除") + @ApiOperation(value="问题知识库评论表-批量删除", notes="问题知识库评论表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.problemKnowledgeBaseCommentEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库评论表-通过id查询") + @ApiOperation(value="问题知识库评论表-通过id查询", notes="问题知识库评论表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO = problemKnowledgeBaseCommentEOService.queryById(id); + if(problemKnowledgeBaseCommentEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(problemKnowledgeBaseCommentEO); + } + + /** + * 导出excel + * + * @param request + * @param problemKnowledgeBaseCommentEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO) { + return super.exportXls(request, problemKnowledgeBaseCommentEO, ProblemKnowledgeBaseCommentEO.class, "问题知识库评论表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProblemKnowledgeBaseCommentEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java new file mode 100644 index 000000000..09bbe185d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 问题知识库表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="问题知识库表") +@RestController +@RequestMapping("/problemKnowledgeBase/problemKnowledgeBaseEO") +@Slf4j +public class ProblemKnowledgeBaseEOController extends JeroController { + @Autowired + private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService; + + /** + * 分页列表查询 + * + * @param problemKnowledgeBaseEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "问题知识库表-分页列表查询") + @ApiOperation(value="问题知识库表-分页列表查询", notes="问题知识库表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ProblemKnowledgeBaseEO problemKnowledgeBaseEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = problemKnowledgeBaseEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "问题知识库表-列表查询") + @ApiOperation(value="问题知识库表-列表查询", notes="问题知识库表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = problemKnowledgeBaseEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param problemKnowledgeBaseEO + * @return + */ + @AutoLog(value = "问题知识库表-添加") + @ApiOperation(value="问题知识库表-添加", notes="问题知识库表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { + problemKnowledgeBaseEOService.add(problemKnowledgeBaseEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param problemKnowledgeBaseEO + * @return + */ + @AutoLog(value = "问题知识库表-编辑") + @ApiOperation(value="问题知识库表-编辑", notes="问题知识库表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { + problemKnowledgeBaseEOService.editById(problemKnowledgeBaseEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库表-通过id删除") + @ApiOperation(value="问题知识库表-通过id删除", notes="问题知识库表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + problemKnowledgeBaseEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问题知识库表-批量删除") + @ApiOperation(value="问题知识库表-批量删除", notes="问题知识库表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.problemKnowledgeBaseEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库表-通过id查询") + @ApiOperation(value="问题知识库表-通过id查询", notes="问题知识库表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProblemKnowledgeBaseEO problemKnowledgeBaseEO = problemKnowledgeBaseEOService.queryById(id); + if(problemKnowledgeBaseEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(problemKnowledgeBaseEO); + } + + /** + * 导出excel + * + * @param request + * @param problemKnowledgeBaseEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { + return super.exportXls(request, problemKnowledgeBaseEO, ProblemKnowledgeBaseEO.class, "问题知识库表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProblemKnowledgeBaseEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBasePraiseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBasePraiseEOController.java new file mode 100644 index 000000000..93a08e54e --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBasePraiseEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBasePraiseEO; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBasePraiseEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 问题知识库点赞表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="问题知识库点赞表") +@RestController +@RequestMapping("/problemKnowledgeBase/problemKnowledgeBasePraiseEO") +@Slf4j +public class ProblemKnowledgeBasePraiseEOController extends JeroController { + @Autowired + private IProblemKnowledgeBasePraiseEOService problemKnowledgeBasePraiseEOService; + + /** + * 分页列表查询 + * + * @param problemKnowledgeBasePraiseEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "问题知识库点赞表-分页列表查询") + @ApiOperation(value="问题知识库点赞表-分页列表查询", notes="问题知识库点赞表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBasePraiseEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = problemKnowledgeBasePraiseEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "问题知识库点赞表-列表查询") + @ApiOperation(value="问题知识库点赞表-列表查询", notes="问题知识库点赞表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = problemKnowledgeBasePraiseEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param problemKnowledgeBasePraiseEO + * @return + */ + @AutoLog(value = "问题知识库点赞表-添加") + @ApiOperation(value="问题知识库点赞表-添加", notes="问题知识库点赞表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO) { + problemKnowledgeBasePraiseEOService.add(problemKnowledgeBasePraiseEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param problemKnowledgeBasePraiseEO + * @return + */ + @AutoLog(value = "问题知识库点赞表-编辑") + @ApiOperation(value="问题知识库点赞表-编辑", notes="问题知识库点赞表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO) { + problemKnowledgeBasePraiseEOService.editById(problemKnowledgeBasePraiseEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库点赞表-通过id删除") + @ApiOperation(value="问题知识库点赞表-通过id删除", notes="问题知识库点赞表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + problemKnowledgeBasePraiseEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问题知识库点赞表-批量删除") + @ApiOperation(value="问题知识库点赞表-批量删除", notes="问题知识库点赞表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.problemKnowledgeBasePraiseEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库点赞表-通过id查询") + @ApiOperation(value="问题知识库点赞表-通过id查询", notes="问题知识库点赞表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO = problemKnowledgeBasePraiseEOService.queryById(id); + if(problemKnowledgeBasePraiseEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(problemKnowledgeBasePraiseEO); + } + + /** + * 导出excel + * + * @param request + * @param problemKnowledgeBasePraiseEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO) { + return super.exportXls(request, problemKnowledgeBasePraiseEO, ProblemKnowledgeBasePraiseEO.class, "问题知识库点赞表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProblemKnowledgeBasePraiseEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseUserEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseUserEOController.java new file mode 100644 index 000000000..cff1a4c79 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseUserEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseUserEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 问题知识库展示权限表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="问题知识库展示权限表") +@RestController +@RequestMapping("/problemKnowledgeBase/problemKnowledgeBaseUserEO") +@Slf4j +public class ProblemKnowledgeBaseUserEOController extends JeroController { + @Autowired + private IProblemKnowledgeBaseUserEOService problemKnowledgeBaseUserEOService; + + /** + * 分页列表查询 + * + * @param problemKnowledgeBaseUserEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "问题知识库展示权限表-分页列表查询") + @ApiOperation(value="问题知识库展示权限表-分页列表查询", notes="问题知识库展示权限表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseUserEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = problemKnowledgeBaseUserEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "问题知识库展示权限表-列表查询") + @ApiOperation(value="问题知识库展示权限表-列表查询", notes="问题知识库展示权限表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = problemKnowledgeBaseUserEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param problemKnowledgeBaseUserEO + * @return + */ + @AutoLog(value = "问题知识库展示权限表-添加") + @ApiOperation(value="问题知识库展示权限表-添加", notes="问题知识库展示权限表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO) { + problemKnowledgeBaseUserEOService.add(problemKnowledgeBaseUserEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param problemKnowledgeBaseUserEO + * @return + */ + @AutoLog(value = "问题知识库展示权限表-编辑") + @ApiOperation(value="问题知识库展示权限表-编辑", notes="问题知识库展示权限表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO) { + problemKnowledgeBaseUserEOService.editById(problemKnowledgeBaseUserEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库展示权限表-通过id删除") + @ApiOperation(value="问题知识库展示权限表-通过id删除", notes="问题知识库展示权限表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + problemKnowledgeBaseUserEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "问题知识库展示权限表-批量删除") + @ApiOperation(value="问题知识库展示权限表-批量删除", notes="问题知识库展示权限表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.problemKnowledgeBaseUserEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "问题知识库展示权限表-通过id查询") + @ApiOperation(value="问题知识库展示权限表-通过id查询", notes="问题知识库展示权限表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO = problemKnowledgeBaseUserEOService.queryById(id); + if(problemKnowledgeBaseUserEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(problemKnowledgeBaseUserEO); + } + + /** + * 导出excel + * + * @param request + * @param problemKnowledgeBaseUserEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO) { + return super.exportXls(request, problemKnowledgeBaseUserEO, ProblemKnowledgeBaseUserEO.class, "问题知识库展示权限表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProblemKnowledgeBaseUserEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempEO.java new file mode 100644 index 000000000..ade6473f7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempEO.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: Country Card模板维护表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Data +@TableName("country_card_temp") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="country_card_temp对象", description="Country Card模板维护表") +public class CountryCardTempEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**标签名称*/ + @Excel(name = "标签名称", width = 15) + @ApiModelProperty(value = "标签名称") + private java.lang.String lableName; + + /**标签类型*/ + @Excel(name = "标签类型", width = 15) + @ApiModelProperty(value = "标签类型") + private java.lang.String lableType; + + /**展示顺序*/ + @Excel(name = "展示顺序", width = 15) + @ApiModelProperty(value = "展示顺序") + private java.lang.Integer orderNum; + + /**关联网址*/ + @Excel(name = "关联网址", width = 15) + @ApiModelProperty(value = "关联网址") + private java.lang.String relevantUrl; + + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempItemEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempItemEO.java new file mode 100644 index 000000000..50e38c05d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempItemEO.java @@ -0,0 +1,99 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: Country Card模板维护-字典项表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Data +@TableName("country_card_temp_item") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="country_card_temp_item对象", description="Country Card模板维护-字典项表") +public class CountryCardTempItemEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**模板维护表id*/ + @Excel(name = "模板维护表id", width = 15) + @ApiModelProperty(value = "模板维护表id") + private java.lang.String countryCardTempId; + + /**字典项值*/ + @Excel(name = "字典项值", width = 15) + @ApiModelProperty(value = "字典项值") + private java.lang.String itemValue; + + /**字典项中文名称*/ + @Excel(name = "字典项中文名称", width = 15) + @ApiModelProperty(value = "字典项中文名称") + private java.lang.String itemText; + + /**字典项英文名称*/ + @Excel(name = "字典项英文名称", width = 15) + @ApiModelProperty(value = "字典项英文名称") + private java.lang.String enName; + + /**逻辑删除标识*/ + @Excel(name = "逻辑删除标识", width = 15) + @ApiModelProperty(value = "逻辑删除标识") + private java.lang.String delFlag; + + /**状态(1启用 0不启用)*/ + @Excel(name = "状态(1启用 0不启用)", width = 15) + @ApiModelProperty(value = "状态(1启用 0不启用)") + private java.lang.String status; + + /**描述*/ + @Excel(name = "描述", width = 15) + @ApiModelProperty(value = "描述") + private java.lang.String description; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseBrowsingHistoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseBrowsingHistoryEO.java new file mode 100644 index 000000000..c96d6da99 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseBrowsingHistoryEO.java @@ -0,0 +1,74 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 问题知识库浏览历史表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Data +@TableName("problem_knowledge_base_browsing_history") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base_browsing_history对象", description="问题知识库浏览历史表") +public class ProblemKnowledgeBaseBrowsingHistoryEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**问题知识库id*/ + @Excel(name = "问题知识库id", width = 15) + @ApiModelProperty(value = "问题知识库id") + private java.lang.String problemKnowledgeBaseId; + + /**浏览人员id*/ + @Excel(name = "浏览人员id", width = 15) + @ApiModelProperty(value = "浏览人员id") + private java.lang.String browsingUserId; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseClassifyEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseClassifyEO.java new file mode 100644 index 000000000..2ce96532e --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseClassifyEO.java @@ -0,0 +1,74 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 问题知识库-分类表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Data +@TableName("problem_knowledge_base_classify") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base_classify对象", description="问题知识库-分类表") +public class ProblemKnowledgeBaseClassifyEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**问题标签*/ + @Excel(name = "问题标签", width = 15) + @ApiModelProperty(value = "问题标签") + private java.lang.String problemLabel; + + /**负责人id*/ + @Excel(name = "负责人id", width = 15) + @ApiModelProperty(value = "负责人id") + private java.lang.String chargePersonId; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseCollectEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseCollectEO.java new file mode 100644 index 000000000..e20eaf190 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseCollectEO.java @@ -0,0 +1,79 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 问题知识库收藏表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Data +@TableName("problem_knowledge_base_collect") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base_collect对象", description="问题知识库收藏表") +public class ProblemKnowledgeBaseCollectEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**问题知识库id*/ + @Excel(name = "问题知识库id", width = 15) + @ApiModelProperty(value = "问题知识库id") + private java.lang.String problemKnowledgeBaseId; + + /**收藏用户id*/ + @Excel(name = "收藏用户id", width = 15) + @ApiModelProperty(value = "收藏用户id") + private java.lang.String collectUserId; + + /**收藏状态*/ + @Excel(name = "收藏状态", width = 15) + @ApiModelProperty(value = "收藏状态") + private java.lang.String collectStatus; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseCommentEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseCommentEO.java new file mode 100644 index 000000000..a7d8fee97 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseCommentEO.java @@ -0,0 +1,79 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 问题知识库评论表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Data +@TableName("problem_knowledge_base_comment") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base_comment对象", description="问题知识库评论表") +public class ProblemKnowledgeBaseCommentEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**问题知识库id*/ + @Excel(name = "问题知识库id", width = 15) + @ApiModelProperty(value = "问题知识库id") + private java.lang.String problemKnowledgeBaseId; + + /**评论内容*/ + @Excel(name = "评论内容", width = 15) + @ApiModelProperty(value = "评论内容") + private java.lang.String commentContent; + + /**评论用户id*/ + @Excel(name = "评论用户id", width = 15) + @ApiModelProperty(value = "评论用户id") + private java.lang.String commentUserId; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java new file mode 100644 index 000000000..ac34b78ff --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java @@ -0,0 +1,143 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 问题知识库表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Data +@TableName("problem_knowledge_base") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base对象", description="问题知识库表") +public class ProblemKnowledgeBaseEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**标题*/ + @Excel(name = "标题", width = 15) + @ApiModelProperty(value = "标题") + private java.lang.String title; + + /**问题分类*/ + @Excel(name = "问题分类", width = 15) + @ApiModelProperty(value = "问题分类") + private java.lang.String problemType; + + /**市场*/ + @Excel(name = "市场", width = 15) + @ApiModelProperty(value = "市场") + private java.lang.String targetMarket; + + /**文档库id*/ + @Excel(name = "文档库id", width = 15) + @ApiModelProperty(value = "文档库id") + private java.lang.String bussDocumentLibraryId; + + /**标准编号*/ + @Excel(name = "标准编号", width = 15) + @ApiModelProperty(value = "标准编号") + private java.lang.String standNumber; + + /**标准标题*/ + @Excel(name = "标准标题", width = 15) + @ApiModelProperty(value = "标准标题") + private java.lang.String standTitle; + + /**内容(正文)*/ + @Excel(name = "内容(正文)", width = 15) + private transient java.lang.String contentString; + + private byte[] content; + + public byte[] getContent(){ + if(contentString==null){ + return null; + } + try { + return contentString.getBytes("UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return null; + } + + public String getContentString(){ + if(content==null || content.length==0){ + return ""; + } + try { + return new String(content,"UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return ""; + } + /**附件*/ + @Excel(name = "附件", width = 15) + @ApiModelProperty(value = "附件") + private java.lang.String accessoryFile; + + /**展示权限*/ + @Excel(name = "展示权限", width = 15) + @ApiModelProperty(value = "展示权限") + private java.lang.String showPermissions; + + /**发布人id*/ + @Excel(name = "展示权限", width = 15) + @ApiModelProperty(value = "发布人id") + private java.lang.String releaseUserId; + + /**发布日期*/ + @Excel(name = "发布日期", width = 15) + @ApiModelProperty(value = "发布日期") + private java.lang.String releaseTime; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBasePraiseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBasePraiseEO.java new file mode 100644 index 000000000..b12cb40cb --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBasePraiseEO.java @@ -0,0 +1,79 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 问题知识库点赞表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Data +@TableName("problem_knowledge_base_praise") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base_praise对象", description="问题知识库点赞表") +public class ProblemKnowledgeBasePraiseEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**问题知识库id*/ + @Excel(name = "问题知识库id", width = 15) + @ApiModelProperty(value = "问题知识库id") + private java.lang.String problemKnowledgeBaseId; + + /**点赞人员id*/ + @Excel(name = "点赞人员id", width = 15) + @ApiModelProperty(value = "点赞人员id") + private java.lang.String praiseUserId; + + /**点赞状态*/ + @Excel(name = "点赞状态", width = 15) + @ApiModelProperty(value = "点赞状态") + private java.lang.String praiseStatus; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseUserEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseUserEO.java new file mode 100644 index 000000000..4865c5bdd --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseUserEO.java @@ -0,0 +1,74 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 问题知识库展示权限表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Data +@TableName("problem_knowledge_base_user") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="problem_knowledge_base_user对象", description="问题知识库展示权限表") +public class ProblemKnowledgeBaseUserEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**问题知识库id*/ + @Excel(name = "问题知识库id", width = 15) + @ApiModelProperty(value = "问题知识库id") + private java.lang.String problemKnowledgeBaseId; + + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private java.lang.String userId; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryCardTempEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryCardTempEOMapper.java new file mode 100644 index 000000000..0ba039894 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryCardTempEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: Country Card模板维护表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface CountryCardTempEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryCardTempItemEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryCardTempItemEOMapper.java new file mode 100644 index 000000000..0014c1188 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryCardTempItemEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: Country Card模板维护-字典项表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface CountryCardTempItemEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseBrowsingHistoryEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseBrowsingHistoryEOMapper.java new file mode 100644 index 000000000..cc4c4dca5 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseBrowsingHistoryEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseBrowsingHistoryEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 问题知识库浏览历史表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ProblemKnowledgeBaseBrowsingHistoryEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseClassifyEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseClassifyEOMapper.java new file mode 100644 index 000000000..ae0853022 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseClassifyEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 问题知识库-分类表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ProblemKnowledgeBaseClassifyEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseCollectEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseCollectEOMapper.java new file mode 100644 index 000000000..2a5a58b75 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseCollectEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCollectEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 问题知识库收藏表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ProblemKnowledgeBaseCollectEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseCommentEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseCommentEOMapper.java new file mode 100644 index 000000000..c62e67df3 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseCommentEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 问题知识库评论表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ProblemKnowledgeBaseCommentEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseEOMapper.java new file mode 100644 index 000000000..be6e0e9f1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 问题知识库表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ProblemKnowledgeBaseEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBasePraiseEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBasePraiseEOMapper.java new file mode 100644 index 000000000..6387837a4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBasePraiseEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBasePraiseEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 问题知识库点赞表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ProblemKnowledgeBasePraiseEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseUserEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseUserEOMapper.java new file mode 100644 index 000000000..833e8b7ca --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/ProblemKnowledgeBaseUserEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 问题知识库展示权限表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ProblemKnowledgeBaseUserEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryCardTempEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryCardTempEOMapper.xml new file mode 100644 index 000000000..3f35fc079 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryCardTempEOMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryCardTempItemEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryCardTempItemEOMapper.xml new file mode 100644 index 000000000..6a7f14296 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryCardTempItemEOMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseBrowsingHistoryEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseBrowsingHistoryEOMapper.xml new file mode 100644 index 000000000..d7d8e2386 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseBrowsingHistoryEOMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseClassifyEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseClassifyEOMapper.xml new file mode 100644 index 000000000..21927cc7b --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseClassifyEOMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseCollectEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseCollectEOMapper.xml new file mode 100644 index 000000000..3b4f91413 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseCollectEOMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseCommentEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseCommentEOMapper.xml new file mode 100644 index 000000000..23e191dfe --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseCommentEOMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseEOMapper.xml new file mode 100644 index 000000000..d1061e37f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseEOMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBasePraiseEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBasePraiseEOMapper.xml new file mode 100644 index 000000000..044434263 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBasePraiseEOMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseUserEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseUserEOMapper.xml new file mode 100644 index 000000000..e23f914c1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/ProblemKnowledgeBaseUserEOMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java new file mode 100644 index 000000000..f08d16683 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: Country Card模板维护表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface ICountryCardTempEOService extends IService { + + /** + * 保存 + * + * @param countryCardTempEO + * @return + */ + void add(CountryCardTempEO countryCardTempEO); + + /** + * 更新 + * + * @param countryCardTempEO + * @return + */ + void editById(CountryCardTempEO countryCardTempEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + CountryCardTempEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempItemEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempItemEOService.java new file mode 100644 index 000000000..3bfad2b7a --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempItemEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: Country Card模板维护-字典项表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +public interface ICountryCardTempItemEOService extends IService { + + /** + * 保存 + * + * @param countryCardTempItemEO + * @return + */ + void add(CountryCardTempItemEO countryCardTempItemEO); + + /** + * 更新 + * + * @param countryCardTempItemEO + * @return + */ + void editById(CountryCardTempItemEO countryCardTempItemEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + CountryCardTempItemEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseBrowsingHistoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseBrowsingHistoryEOService.java new file mode 100644 index 000000000..b1a377731 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseBrowsingHistoryEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseBrowsingHistoryEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 问题知识库浏览历史表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface IProblemKnowledgeBaseBrowsingHistoryEOService extends IService { + + /** + * 保存 + * + * @param problemKnowledgeBaseBrowsingHistoryEO + * @return + */ + void add(ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO); + + /** + * 更新 + * + * @param problemKnowledgeBaseBrowsingHistoryEO + * @return + */ + void editById(ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProblemKnowledgeBaseBrowsingHistoryEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseClassifyEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseClassifyEOService.java new file mode 100644 index 000000000..486f3ea5e --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseClassifyEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 问题知识库-分类表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface IProblemKnowledgeBaseClassifyEOService extends IService { + + /** + * 保存 + * + * @param problemKnowledgeBaseClassifyEO + * @return + */ + void add(ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO); + + /** + * 更新 + * + * @param problemKnowledgeBaseClassifyEO + * @return + */ + void editById(ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProblemKnowledgeBaseClassifyEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCollectEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCollectEOService.java new file mode 100644 index 000000000..63c116f63 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCollectEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCollectEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 问题知识库收藏表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface IProblemKnowledgeBaseCollectEOService extends IService { + + /** + * 保存 + * + * @param problemKnowledgeBaseCollectEO + * @return + */ + void add(ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO); + + /** + * 更新 + * + * @param problemKnowledgeBaseCollectEO + * @return + */ + void editById(ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProblemKnowledgeBaseCollectEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java new file mode 100644 index 000000000..a3b779b5f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 问题知识库评论表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface IProblemKnowledgeBaseCommentEOService extends IService { + + /** + * 保存 + * + * @param problemKnowledgeBaseCommentEO + * @return + */ + void add(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO); + + /** + * 更新 + * + * @param problemKnowledgeBaseCommentEO + * @return + */ + void editById(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProblemKnowledgeBaseCommentEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java new file mode 100644 index 000000000..426a968f0 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 问题知识库表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface IProblemKnowledgeBaseEOService extends IService { + + /** + * 保存 + * + * @param problemKnowledgeBaseEO + * @return + */ + void add(ProblemKnowledgeBaseEO problemKnowledgeBaseEO); + + /** + * 更新 + * + * @param problemKnowledgeBaseEO + * @return + */ + void editById(ProblemKnowledgeBaseEO problemKnowledgeBaseEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProblemKnowledgeBaseEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBasePraiseEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBasePraiseEOService.java new file mode 100644 index 000000000..1a396fd62 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBasePraiseEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBasePraiseEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 问题知识库点赞表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface IProblemKnowledgeBasePraiseEOService extends IService { + + /** + * 保存 + * + * @param problemKnowledgeBasePraiseEO + * @return + */ + void add(ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO); + + /** + * 更新 + * + * @param problemKnowledgeBasePraiseEO + * @return + */ + void editById(ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProblemKnowledgeBasePraiseEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseUserEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseUserEOService.java new file mode 100644 index 000000000..6a1521524 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseUserEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 问题知识库展示权限表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface IProblemKnowledgeBaseUserEOService extends IService { + + /** + * 保存 + * + * @param problemKnowledgeBaseUserEO + * @return + */ + void add(ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO); + + /** + * 更新 + * + * @param problemKnowledgeBaseUserEO + * @return + */ + void editById(ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProblemKnowledgeBaseUserEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java new file mode 100644 index 000000000..068275d8a --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO; +import com.jero.modules.problemKnowledgeBase.mapper.CountryCardTempEOMapper; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: Country Card模板维护表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Service +public class CountryCardTempEOServiceImpl extends ServiceImpl implements ICountryCardTempEOService { + + /** + * 保存 + * + * @param countryCardTempEO + * @return + */ + @Override + public void add(CountryCardTempEO countryCardTempEO) { + Date now = new Date(); + countryCardTempEO.setCreateTime(now); + countryCardTempEO.setUpdateTime(now); + save(countryCardTempEO); + } + + /** + * 更新 + * + * @param countryCardTempEO + * @return + */ + @Override + public void editById(CountryCardTempEO countryCardTempEO) { + Date now = new Date(); + countryCardTempEO.setUpdateTime(now); + saveOrUpdate(countryCardTempEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public CountryCardTempEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempItemEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempItemEOServiceImpl.java new file mode 100644 index 000000000..b60358bd1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempItemEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO; +import com.jero.modules.problemKnowledgeBase.mapper.CountryCardTempItemEOMapper; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: Country Card模板维护-字典项表 + * @Author: jero-boot + * @Date: 2022-08-02 + * @Version: V1.0 + */ +@Service +public class CountryCardTempItemEOServiceImpl extends ServiceImpl implements ICountryCardTempItemEOService { + + /** + * 保存 + * + * @param countryCardTempItemEO + * @return + */ + @Override + public void add(CountryCardTempItemEO countryCardTempItemEO) { + Date now = new Date(); + countryCardTempItemEO.setCreateTime(now); + countryCardTempItemEO.setUpdateTime(now); + save(countryCardTempItemEO); + } + + /** + * 更新 + * + * @param countryCardTempItemEO + * @return + */ + @Override + public void editById(CountryCardTempItemEO countryCardTempItemEO) { + Date now = new Date(); + countryCardTempItemEO.setUpdateTime(now); + saveOrUpdate(countryCardTempItemEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public CountryCardTempItemEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseBrowsingHistoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseBrowsingHistoryEOServiceImpl.java new file mode 100644 index 000000000..6d55d0538 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseBrowsingHistoryEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseBrowsingHistoryEO; +import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseBrowsingHistoryEOMapper; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseBrowsingHistoryEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 问题知识库浏览历史表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class ProblemKnowledgeBaseBrowsingHistoryEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseBrowsingHistoryEOService { + + /** + * 保存 + * + * @param problemKnowledgeBaseBrowsingHistoryEO + * @return + */ + @Override + public void add(ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO) { + Date now = new Date(); + problemKnowledgeBaseBrowsingHistoryEO.setCreateTime(now); + problemKnowledgeBaseBrowsingHistoryEO.setUpdateTime(now); + save(problemKnowledgeBaseBrowsingHistoryEO); + } + + /** + * 更新 + * + * @param problemKnowledgeBaseBrowsingHistoryEO + * @return + */ + @Override + public void editById(ProblemKnowledgeBaseBrowsingHistoryEO problemKnowledgeBaseBrowsingHistoryEO) { + Date now = new Date(); + problemKnowledgeBaseBrowsingHistoryEO.setUpdateTime(now); + saveOrUpdate(problemKnowledgeBaseBrowsingHistoryEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProblemKnowledgeBaseBrowsingHistoryEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseClassifyEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseClassifyEOServiceImpl.java new file mode 100644 index 000000000..c1cf2e368 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseClassifyEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO; +import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseClassifyEOMapper; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseClassifyEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 问题知识库-分类表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseClassifyEOService { + + /** + * 保存 + * + * @param problemKnowledgeBaseClassifyEO + * @return + */ + @Override + public void add(ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO) { + Date now = new Date(); + problemKnowledgeBaseClassifyEO.setCreateTime(now); + problemKnowledgeBaseClassifyEO.setUpdateTime(now); + save(problemKnowledgeBaseClassifyEO); + } + + /** + * 更新 + * + * @param problemKnowledgeBaseClassifyEO + * @return + */ + @Override + public void editById(ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO) { + Date now = new Date(); + problemKnowledgeBaseClassifyEO.setUpdateTime(now); + saveOrUpdate(problemKnowledgeBaseClassifyEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProblemKnowledgeBaseClassifyEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCollectEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCollectEOServiceImpl.java new file mode 100644 index 000000000..bd7d2d498 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCollectEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCollectEO; +import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseCollectEOMapper; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCollectEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 问题知识库收藏表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class ProblemKnowledgeBaseCollectEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseCollectEOService { + + /** + * 保存 + * + * @param problemKnowledgeBaseCollectEO + * @return + */ + @Override + public void add(ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO) { + Date now = new Date(); + problemKnowledgeBaseCollectEO.setCreateTime(now); + problemKnowledgeBaseCollectEO.setUpdateTime(now); + save(problemKnowledgeBaseCollectEO); + } + + /** + * 更新 + * + * @param problemKnowledgeBaseCollectEO + * @return + */ + @Override + public void editById(ProblemKnowledgeBaseCollectEO problemKnowledgeBaseCollectEO) { + Date now = new Date(); + problemKnowledgeBaseCollectEO.setUpdateTime(now); + saveOrUpdate(problemKnowledgeBaseCollectEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProblemKnowledgeBaseCollectEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java new file mode 100644 index 000000000..d2c6bb916 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; +import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseCommentEOMapper; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCommentEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 问题知识库评论表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class ProblemKnowledgeBaseCommentEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseCommentEOService { + + /** + * 保存 + * + * @param problemKnowledgeBaseCommentEO + * @return + */ + @Override + public void add(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO) { + Date now = new Date(); + problemKnowledgeBaseCommentEO.setCreateTime(now); + problemKnowledgeBaseCommentEO.setUpdateTime(now); + save(problemKnowledgeBaseCommentEO); + } + + /** + * 更新 + * + * @param problemKnowledgeBaseCommentEO + * @return + */ + @Override + public void editById(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO) { + Date now = new Date(); + problemKnowledgeBaseCommentEO.setUpdateTime(now); + saveOrUpdate(problemKnowledgeBaseCommentEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProblemKnowledgeBaseCommentEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java new file mode 100644 index 000000000..d403edede --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; +import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 问题知识库表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseEOService { + + /** + * 保存 + * + * @param problemKnowledgeBaseEO + * @return + */ + @Override + public void add(ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { + Date now = new Date(); + problemKnowledgeBaseEO.setCreateTime(now); + problemKnowledgeBaseEO.setUpdateTime(now); + save(problemKnowledgeBaseEO); + } + + /** + * 更新 + * + * @param problemKnowledgeBaseEO + * @return + */ + @Override + public void editById(ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { + Date now = new Date(); + problemKnowledgeBaseEO.setUpdateTime(now); + saveOrUpdate(problemKnowledgeBaseEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProblemKnowledgeBaseEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBasePraiseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBasePraiseEOServiceImpl.java new file mode 100644 index 000000000..eebb73dd2 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBasePraiseEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBasePraiseEO; +import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBasePraiseEOMapper; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBasePraiseEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 问题知识库点赞表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class ProblemKnowledgeBasePraiseEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBasePraiseEOService { + + /** + * 保存 + * + * @param problemKnowledgeBasePraiseEO + * @return + */ + @Override + public void add(ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO) { + Date now = new Date(); + problemKnowledgeBasePraiseEO.setCreateTime(now); + problemKnowledgeBasePraiseEO.setUpdateTime(now); + save(problemKnowledgeBasePraiseEO); + } + + /** + * 更新 + * + * @param problemKnowledgeBasePraiseEO + * @return + */ + @Override + public void editById(ProblemKnowledgeBasePraiseEO problemKnowledgeBasePraiseEO) { + Date now = new Date(); + problemKnowledgeBasePraiseEO.setUpdateTime(now); + saveOrUpdate(problemKnowledgeBasePraiseEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProblemKnowledgeBasePraiseEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseUserEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseUserEOServiceImpl.java new file mode 100644 index 000000000..6d34b12f7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseUserEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO; +import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseUserEOMapper; +import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseUserEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 问题知识库展示权限表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class ProblemKnowledgeBaseUserEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseUserEOService { + + /** + * 保存 + * + * @param problemKnowledgeBaseUserEO + * @return + */ + @Override + public void add(ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO) { + Date now = new Date(); + problemKnowledgeBaseUserEO.setCreateTime(now); + problemKnowledgeBaseUserEO.setUpdateTime(now); + save(problemKnowledgeBaseUserEO); + } + + /** + * 更新 + * + * @param problemKnowledgeBaseUserEO + * @return + */ + @Override + public void editById(ProblemKnowledgeBaseUserEO problemKnowledgeBaseUserEO) { + Date now = new Date(); + problemKnowledgeBaseUserEO.setUpdateTime(now); + saveOrUpdate(problemKnowledgeBaseUserEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProblemKnowledgeBaseUserEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/CellReference.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/CellReference.java new file mode 100644 index 000000000..fc67eb2d9 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/CellReference.java @@ -0,0 +1,112 @@ +/* + * Copyright 2013 Haulmont + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.jero.modules.project.util; + +import org.apache.commons.lang3.ObjectUtils; +import org.xlsx4j.sml.Cell; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class CellReference implements Comparable { + public static final Pattern CELL_COORDINATES_PATTERN = Pattern.compile("([A-z]+)([0-9]+)"); + private int column; + private int row; + private String sheet; + + public CellReference(String sheet, int row, int column) { + this.column = column; + this.row = row; + this.sheet = sheet; + } + + public CellReference(String sheet, String cellRef) { + Matcher matcher = CELL_COORDINATES_PATTERN.matcher(cellRef); + if (matcher.find()) { + column = XlsxUtils.getNumberFromColumnReference(matcher.group(1)); + row = Integer.valueOf(matcher.group(2)); + this.sheet = sheet; + } else { + throw new RuntimeException(String.format("Wrong cell %s", cellRef)); + } + } + + public CellReference(String sheet, Cell cell) { + this(sheet, cell.getR()); + } + + public CellReference shift(int downShift, int rightShift) { + row += downShift; + column += rightShift; + return this; + } + + public CellReference move(int row, int col) { + this.row = row; + this.column = col; + return this; + } + + public String toReference() { + return XlsxUtils.getColumnReferenceFromNumber(getColumn()) + getRow(); + } + + public int getColumn() { + return column; + } + + public int getRow() { + return row; + } + + public String getSheet() { + return sheet; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + CellReference that = (CellReference) o; + + if (column != that.column) return false; + if (row != that.row) return false; + if (sheet != null ? !sheet.equals(that.sheet) : that.sheet != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = column; + result = 31 * result + row; + result = 31 * result + (sheet != null ? sheet.hashCode() : 0); + return result; + } + + @Override + public int compareTo(Object o) { + if (o instanceof CellReference) { + int rows = ObjectUtils.compare(row, ((CellReference) o).row); + int columns = ObjectUtils.compare(column, ((CellReference) o).column); + return rows != 0 ? rows : columns; + + } else { + throw new IllegalArgumentException("Could not compare with " + o); + } + } +} \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java index ca8984ee3..25cd437e8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java @@ -1,50 +1,415 @@ package com.jero.modules.project.util; +import cn.hutool.core.util.ObjectUtil; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; import org.docx4j.XmlUtils; import org.docx4j.dml.*; import org.docx4j.dml.spreadsheetdrawing.*; import org.docx4j.openpackaging.io.SaveToZipFile; +import org.docx4j.openpackaging.io3.stores.PartStore; import org.docx4j.openpackaging.packages.SpreadsheetMLPackage; import org.docx4j.openpackaging.parts.DrawingML.Drawing; +import org.docx4j.openpackaging.parts.Part; import org.docx4j.openpackaging.parts.PartName; +import org.docx4j.openpackaging.parts.Parts; import org.docx4j.openpackaging.parts.SpreadsheetML.JaxbSmlPart; +import org.docx4j.openpackaging.parts.SpreadsheetML.WorkbookPart; import org.docx4j.openpackaging.parts.SpreadsheetML.WorksheetPart; import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage; +import org.docx4j.openpackaging.parts.relationships.Namespaces; +import org.docx4j.openpackaging.parts.relationships.RelationshipsPart; import org.docx4j.relationships.Relationship; +import org.xlsx4j.sml.Cell; +import org.xlsx4j.sml.SheetData; +import org.xlsx4j.sml.Worksheet; +import javax.imageio.ImageIO; import javax.xml.bind.JAXBException; -import javax.xml.bind.util.JAXBResult; -import javax.xml.transform.Source; -import javax.xml.transform.Templates; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamSource; +import java.awt.image.BufferedImage; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; -import java.io.OutputStream; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +@Slf4j public class ExcelUtil { public static void main(String[] args) throws Exception { String inputfilepath = "D:\\text\\072001自定义模板.xlsx"; SpreadsheetMLPackage pkg = SpreadsheetMLPackage.load(new File(inputfilepath)); - WorksheetPart worksheet = pkg.getWorkbookPart().getWorksheet(0); - JAXBResult result = XmlUtils.prepareJAXBResult(worksheet.getJAXBContext()); +// .createWorksheetPart(new PartName("/xl/worksheets/sheet1.xml"), "Sheet1", 1); + JaxbSmlPart smlPart = (JaxbSmlPart)pkg.getParts().get(new PartName("/xl/sharedStrings.xml")); // 获取所有sheet中的文本 + Parts parts = pkg.getParts(); + System.out.println("mmmmmmm"); + + /*JAXBResult result = XmlUtils.prepareJAXBResult(worksheet.getJAXBContext()); Map transformParameters = new HashMap<>(); transformParameters.put("NIO 07200103", "dfasdfas"); - -// InputStream smlPart = pkg.getParts().get(new PartName("/xl/sharedStrings.xml")); // 获取所有sheet - Source xsltSource = new StreamSource(new File("D:\\text\\sharedStrings.xml")); TransformerFactory transFact = TransformerFactory.newInstance(); Templates cachedXSLT = transFact.newTemplates(xsltSource); - - pkg.getWorkbookPart().transform(cachedXSLT,transformParameters,result); + pkg.getWorkbookPart().transform(cachedXSLT,transformParameters,result);*/ // variableReplace(); // xlsx4JAddImage(); + + WorkbookPart workbookPart = pkg.getWorkbookPart(); + WorksheetPart sheet = workbookPart.getWorksheet(0); + Worksheet ws = sheet.getContents(); + SheetData data = ws.getSheetData(); + System.out.println("mmmmmmm"); + } + + public static void setRowHeight(WorksheetPart worksheetPart, int rIndex, double height, int cIndex, String text) { + SheetData sheetData = worksheetPart.getJaxbElement().getSheetData(); + + org.xlsx4j.sml.Row r = sheetData.getRow().get(rIndex); + if (r.getHt() == null || (r.getHt() != null && r.getHt() < height)) { + r.setHt(height); + r.setCustomHeight(true); + } + + Cell c = r.getC().get(cIndex); + if (text == null) { + c.setV(null); + } + } + + public static void replacePictureBatchPOI(Workbook workbook, SpreadsheetMLPackage pkg, List> imgListAll, HashMap params) throws Exception { + //获取全部sheet页中表格 + Sheet sheet=null; + int partNameNum = 0; + for (int i = 0; i < workbook.getNumberOfSheets(); i++) {//获取每个Sheet表 + sheet = workbook.getSheetAt(i); + WorksheetPart worksheetPart = (WorksheetPart) pkg.getParts().get(new PartName("/xl/worksheets/" + sheet.getSheetName().toLowerCase() + ".xml")); + partNameNum++; + + //获得数据的总行数 + int totalRowNum = sheet.getLastRowNum(); + + //获得所有数据 + int k = 0; + for (int x = 0; x < totalRowNum; x++) { + //获得第x行对象 + Row row = sheet.getRow(x); + if (!(row == null)) { + //获得总列数 + int cellLength = row.getLastCellNum(); + //如果x行里的所有单元格 + int j = 0; + for (int y = 0; y < cellLength; y++) { + + org.apache.poi.ss.usermodel.Cell cell = row.getCell(y); + if(ObjectUtil.isNull(cell)) { + continue; + } + + String cellValue = cell.getStringCellValue(); + + for (Map imgMap : imgListAll) { + String key = (String) imgMap.get("key"); + String text = (String) imgMap.get("text"); + byte[] bytes = (byte[]) imgMap.get("bytes"); + if (("${" + key + "}").equals(cellValue)) { + + // 根据图片大小调整行高 + ByteArrayInputStream in = new ByteArrayInputStream(bytes); + BufferedImage bufferedImage = ImageIO.read(in); + setRowHeight(worksheetPart, k, bufferedImage.getHeight(), j, text); + + if (text != null) { + params.put(key, text); + } + + // 插入图片到表格 + putImagePOI(worksheetPart, pkg, cell, bytes, sheet.getSheetName().toLowerCase(), String.valueOf(partNameNum)); + } + } + j++; // 单元格非空才++ + } + k++; // 行非空才++ + } + } + + } + } + + public static void replacePictureBatch(SpreadsheetMLPackage pkg,List> imgListAll) throws Exception { + Parts parts = pkg.getParts(); + Map map = parts.getParts(); + + for (Map.Entry partMap : map.entrySet()) { + int partNameNum = 0; + if (partMap.getValue() instanceof WorksheetPart) { + String partName = String.valueOf(partMap.getKey()); + WorksheetPart worksheetPart = (WorksheetPart) partMap.getValue(); + SheetData sheetData = worksheetPart.getJaxbElement().getSheetData(); + partNameNum++; + + for (org.xlsx4j.sml.Row r : sheetData.getRow() ) { // 循环表格行 + for (Cell c : r.getC()) { // 循环表格单元格 + Object cellValue = c.getV(); // 获取单元格数内容 + + if (cellValue instanceof String) { + for (Map imgMap : imgListAll) { + String key = (String) imgMap.get("key"); + String text = (String) imgMap.get("text"); + byte[] bytes = (byte[]) imgMap.get("bytes"); + + if (("${" + key + "}").equals(cellValue)) { + c.setV(text); + putImage(worksheetPart, pkg, c, bytes, partName, String.valueOf(partNameNum)); + } + } + } + } + } + } + } + } + + private static void putImagePOI(WorksheetPart worksheetPart, SpreadsheetMLPackage pkg, org.apache.poi.ss.usermodel.Cell newCell, byte[] bytes, String sheetName, String partName) throws Exception { + ByteArrayInputStream in = new ByteArrayInputStream(bytes); + BufferedImage bufferedImage = ImageIO.read(in); + BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(pkg, worksheetPart, bytes); + String imagePartName = imagePart.getPartName().getName(); + + PartName drawingPart = new PartName(worksheetPart.getPartName().getName().replace("worksheets/" + sheetName, "drawings/drawing" + partName)); + Drawing drawing = (Drawing) pkg.getParts().get(drawingPart); + int currentId = 0; + if (drawing == null) { + drawing = new Drawing(drawingPart); + drawing.setContents(new org.docx4j.dml.spreadsheetdrawing.CTDrawing()); + Relationship relationship = worksheetPart.addTargetPart(drawing); + org.xlsx4j.sml.CTDrawing smlDrawing = new org.xlsx4j.sml.CTDrawing(); + smlDrawing.setId(relationship.getId()); + smlDrawing.setParent(worksheetPart.getContents()); + worksheetPart.getContents().setDrawing(smlDrawing); + } else { + currentId = drawing.getContents().getEGAnchor().size(); + } + + CTTwoCellAnchor anchor = new CTTwoCellAnchor(); + anchor.setFrom(new CTMarker()); + anchor.getFrom().setCol(newCell.getColumnIndex()); + anchor.getFrom().setRow(newCell.getRowIndex()); + anchor.setTo(new CTMarker()); + anchor.getTo().setCol(newCell.getColumnIndex() + 1); // TODO + anchor.getTo().setRow(newCell.getRowIndex() + 1); + + CTPicture picture = new CTPicture(); + + CTBlipFillProperties blipFillProperties = new CTBlipFillProperties(); + blipFillProperties.setStretch(new CTStretchInfoProperties()); + blipFillProperties.getStretch().setFillRect(new CTRelativeRect()); + blipFillProperties.setBlip(new CTBlip()); + blipFillProperties.getBlip().setEmbed("rId" + (currentId + 1)); + blipFillProperties.getBlip().setCstate(STBlipCompression.NONE); + + picture.setBlipFill(blipFillProperties); + + CTNonVisualDrawingProps nonVisualDrawingProps = new CTNonVisualDrawingProps(); + nonVisualDrawingProps.setId(currentId + 2); + nonVisualDrawingProps.setName(imagePartName.substring(imagePartName.lastIndexOf("/") + 1)); + nonVisualDrawingProps.setDescr(nonVisualDrawingProps.getName()); + + CTNonVisualPictureProperties nonVisualPictureProperties = new CTNonVisualPictureProperties(); + nonVisualPictureProperties.setPicLocks(new CTPictureLocking()); + nonVisualPictureProperties.getPicLocks().setNoChangeAspect(true); + CTPictureNonVisual nonVisualPicture = new CTPictureNonVisual(); + + nonVisualPicture.setCNvPr(nonVisualDrawingProps); + nonVisualPicture.setCNvPicPr(nonVisualPictureProperties); + + picture.setNvPicPr(nonVisualPicture); + + CTShapeProperties shapeProperties = new CTShapeProperties(); + CTTransform2D transform2D = new CTTransform2D(); + transform2D.setOff(new CTPoint2D()); + transform2D.setExt(new CTPositiveSize2D()); + shapeProperties.setXfrm(transform2D); + shapeProperties.setPrstGeom(new CTPresetGeometry2D()); + shapeProperties.getPrstGeom().setPrst(STShapeType.RECT); + shapeProperties.getPrstGeom().setAvLst(new CTGeomGuideList()); + CTPositiveSize2D positivesize2D = new CTPositiveSize2D(); + transform2D.setExt(positivesize2D); + positivesize2D.setCx( XlsxUtils.convertPxToEmu(bufferedImage.getWidth()) ); + positivesize2D.setCy( XlsxUtils.convertPxToEmu(bufferedImage.getHeight()) ); + + picture.setSpPr(shapeProperties); + + anchor.setPic(picture); + anchor.setClientData(new CTAnchorClientData()); + anchor.setEditAs(STEditAs.ONE_CELL); + drawing.getContents().getEGAnchor().add(anchor); + + Relationship rel = new Relationship(); + rel.setId("rId" + (currentId + 1)); + rel.setType(Namespaces.IMAGE); + rel.setTarget(imagePartName); + + drawing.getRelationshipsPart().addRelationship(rel); + RelationshipsPart relPart = drawing.getRelationshipsPart(); + pkg.getParts().remove(relPart.getPartName()); + pkg.getParts().put(relPart); + pkg.getParts().remove(drawing.getPartName()); + pkg.getParts().put(drawing); + } + + private static void putImage(WorksheetPart worksheetPart, SpreadsheetMLPackage pkg, Cell newCell, byte[] bytes, String sheetName, String partName) throws Exception { + ByteArrayInputStream in = new ByteArrayInputStream(bytes); + BufferedImage bufferedImage = ImageIO.read(in); + + BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(pkg, worksheetPart, bytes); + CTTwoCellAnchor anchor = new CTTwoCellAnchor(); + anchor.setFrom(new CTMarker()); + CellReference cellReference = new CellReference("", newCell.getR()); + anchor.getFrom().setCol(cellReference.getColumn() - 1); + anchor.getFrom().setRow(cellReference.getRow() - 1); + anchor.setTo(new CTMarker()); + anchor.getTo().setCol(cellReference.getColumn()); + anchor.getTo().setRow(cellReference.getRow()); + + PartName drawingPart = new PartName(worksheetPart.getPartName().getName().replace("worksheets/" + sheetName, "drawings/drawing" + partName)); + String imagePartName = imagePart.getPartName().getName(); + Drawing drawing = (Drawing) pkg.getParts().get(drawingPart); + int currentId = 0; + if (drawing == null) { + drawing = new Drawing(drawingPart); + drawing.setContents(new org.docx4j.dml.spreadsheetdrawing.CTDrawing()); + Relationship relationship = worksheetPart.addTargetPart(drawing); + org.xlsx4j.sml.CTDrawing smlDrawing = new org.xlsx4j.sml.CTDrawing(); + smlDrawing.setId(relationship.getId()); + smlDrawing.setParent(worksheetPart.getContents()); + worksheetPart.getContents().setDrawing(smlDrawing); + } else { + currentId = drawing.getContents().getEGAnchor().size(); + } + + CTPicture picture = new CTPicture(); + + CTBlipFillProperties blipFillProperties = new CTBlipFillProperties(); + blipFillProperties.setStretch(new CTStretchInfoProperties()); + blipFillProperties.getStretch().setFillRect(new CTRelativeRect()); + blipFillProperties.setBlip(new CTBlip()); + blipFillProperties.getBlip().setEmbed("rId" + (currentId + 1)); + blipFillProperties.getBlip().setCstate(STBlipCompression.PRINT); + + picture.setBlipFill(blipFillProperties); + + CTNonVisualDrawingProps nonVisualDrawingProps = new CTNonVisualDrawingProps(); + nonVisualDrawingProps.setId(currentId + 2); + nonVisualDrawingProps.setName(imagePartName.substring(imagePartName.lastIndexOf("/") + 1)); + nonVisualDrawingProps.setDescr(nonVisualDrawingProps.getName()); + + CTNonVisualPictureProperties nonVisualPictureProperties = new CTNonVisualPictureProperties(); + nonVisualPictureProperties.setPicLocks(new CTPictureLocking()); + nonVisualPictureProperties.getPicLocks().setNoChangeAspect(true); + CTPictureNonVisual nonVisualPicture = new CTPictureNonVisual(); + + nonVisualPicture.setCNvPr(nonVisualDrawingProps); + nonVisualPicture.setCNvPicPr(nonVisualPictureProperties); + + picture.setNvPicPr(nonVisualPicture); + + CTShapeProperties shapeProperties = new CTShapeProperties(); + CTTransform2D transform2D = new CTTransform2D(); + transform2D.setOff(new CTPoint2D()); + transform2D.setExt(new CTPositiveSize2D()); + shapeProperties.setXfrm(transform2D); + shapeProperties.setPrstGeom(new CTPresetGeometry2D()); + shapeProperties.getPrstGeom().setPrst(STShapeType.RECT); + shapeProperties.getPrstGeom().setAvLst(new CTGeomGuideList()); + CTPositiveSize2D positivesize2D = new CTPositiveSize2D(); + transform2D.setExt(positivesize2D); + positivesize2D.setCx( XlsxUtils.convertPxToEmu(bufferedImage.getWidth()) ); + positivesize2D.setCy( XlsxUtils.convertPxToEmu(bufferedImage.getHeight()) ); + + picture.setSpPr(shapeProperties); + + anchor.setPic(picture); + anchor.setClientData(new CTAnchorClientData()); + + drawing.getContents().getEGAnchor().add(anchor); + + Relationship rel = new Relationship(); + rel.setId("rId" + (currentId + 1)); + rel.setType(Namespaces.IMAGE); + rel.setTarget(imagePartName); + + drawing.getRelationshipsPart().addRelationship(rel); + RelationshipsPart relPart = drawing.getRelationshipsPart(); + pkg.getParts().remove(relPart.getPartName()); + pkg.getParts().put(relPart); + pkg.getParts().remove(drawing.getPartName()); + pkg.getParts().put(drawing); + } + + private static String getWmlTemplateString(JaxbSmlPart smlPart) { + String wmlTemplateString = null; + PartStore partStore = smlPart.getPackage().getSourcePartStore(); + String name = smlPart.getPartName().getName(); + try { + InputStream is = partStore.loadPart( + name.substring(1)); + if (is == null) { + log.warn(name + " missing from part store"); + } else { + log.info("Lazily unmarshalling " + name); +// wmlTemplateString = convertStreamToString(is); + + // This seems to be about 5% faster than the Scanner approach + wmlTemplateString = IOUtils.toString(is, "UTF-8"); + List placeholderList = new ArrayList<>(); + getAllPlaceholderElementFromObject(wmlTemplateString, 0, placeholderList); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + + } finally { + return wmlTemplateString; + } + } + + private static List getAllPlaceholderElementFromObject(String wmlTemplateString, int offset, List placeholderList) { + + int startKey = wmlTemplateString.indexOf("${", offset); + if (startKey == -1) + return null; + else { + int keyEnd = wmlTemplateString.indexOf('}', startKey); + String placeHolder = wmlTemplateString.substring(startKey, keyEnd + 1); + if (isPlaceholder(placeHolder)) { + placeholderList.add(placeHolder); + } + return getAllPlaceholderElementFromObject(wmlTemplateString, keyEnd + 1, placeholderList); + } + } + + /** + * 判断字符串是否有${}占位符 + * + * @param str 需要判断的字符串 + * @return 是否字符串是否有${}占位符 + * @author liyawei + */ + private static boolean isPlaceholder(String str) { + if (str != null && !str.isEmpty()) { + Pattern pattern = Pattern.compile("([$]\\{[A-Za-z0-9./ -]+\\})"); // 识别范围 认证模块专用 + Matcher m = pattern.matcher(str); + return m.find(); + } + return false; } public static void xlsx4JAddImage() throws Exception { @@ -88,17 +453,11 @@ public class ExcelUtil { System.out.println("\n\n done .. " + outputfilepath); } - public static void variableReplace(InputStream is, OutputStream os, HashMap mappings) throws Exception { - - SpreadsheetMLPackage opcPackagepkg = SpreadsheetMLPackage.load(is); - + public static void variableReplace(SpreadsheetMLPackage pkg, HashMap mappings) throws Exception { // Be sure to get the part which actually contains your variables! - JaxbSmlPart smlPart = (JaxbSmlPart)opcPackagepkg.getParts().get(new PartName("/xl/sharedStrings.xml")); // 获取所有sheet + JaxbSmlPart smlPart = (JaxbSmlPart)pkg.getParts().get(new PartName("/xl/sharedStrings.xml")); // 获取所有sheet //JaxbSmlPart smlPart = (JaxbSmlPart)opcPackagepkg.getParts().get(new PartName("/xl/worksheets/sheet1.xml")); smlPart.variableReplace(mappings); - - // Save it - opcPackagepkg.save(os); } /** @@ -128,14 +487,14 @@ public class ExcelUtil { CTBlip blip = dmlObjectFactory.createCTBlip(); blipfillproperties.setBlip(blip); blip.setCstate(org.docx4j.dml.STBlipCompression.NONE); - blip.setEmbed( imageRelID ); + blip.setEmbed( imageRelID ); //------- // Create object for extLst CTOfficeArtExtensionList officeartextensionlist = dmlObjectFactory.createCTOfficeArtExtensionList(); blip.setExtLst(officeartextensionlist); // Create object for ext CTOfficeArtExtension officeartextension = dmlObjectFactory.createCTOfficeArtExtension(); officeartextensionlist.getExt().add( officeartextension); - officeartextension.setUri( "{28A0092B-C50C-407E-A947-70E740481C1C}"); + officeartextension.setUri( "{28A0092B-C50C-407E-A947-70E740481C1C}"); //------ blip.setLink( ""); // Create object for stretch CTStretchInfoProperties stretchinfoproperties = dmlObjectFactory.createCTStretchInfoProperties(); @@ -143,10 +502,10 @@ public class ExcelUtil { // Create object for fillRect CTRelativeRect relativerect = dmlObjectFactory.createCTRelativeRect(); stretchinfoproperties.setFillRect(relativerect); - relativerect.setR( new Integer(0) ); - relativerect.setT( new Integer(0) ); - relativerect.setL( new Integer(0) ); - relativerect.setB( new Integer(0) ); + relativerect.setR( new Integer(0) ); //------ + relativerect.setT( new Integer(0) ); //------ + relativerect.setL( new Integer(0) ); //------ + relativerect.setB( new Integer(0) ); //------ // Create object for spPr CTShapeProperties shapeproperties = dmlObjectFactory.createCTShapeProperties(); picture.setSpPr(shapeproperties); @@ -157,13 +516,13 @@ public class ExcelUtil { // Create object for off CTPoint2D point2d = dmlObjectFactory.createCTPoint2D(); transform2d.setOff(point2d); - point2d.setY( 0 ); - point2d.setX( 0 ); + point2d.setY( 0 ); //------ + point2d.setX( 0 ); //------ // Create object for ext CTPositiveSize2D positivesize2d = dmlObjectFactory.createCTPositiveSize2D(); transform2d.setExt(positivesize2d); - positivesize2d.setCx( 714375 ); - positivesize2d.setCy( 714375 ); + positivesize2d.setCx( 714375 ); //------ + positivesize2d.setCy( 714375 ); //------ // Create object for prstGeom CTPresetGeometry2D presetgeometry2d = dmlObjectFactory.createCTPresetGeometry2D(); shapeproperties.setPrstGeom(presetgeometry2d); @@ -177,9 +536,9 @@ public class ExcelUtil { // Create object for cNvPr CTNonVisualDrawingProps nonvisualdrawingprops = dmlObjectFactory.createCTNonVisualDrawingProps(); picturenonvisual.setCNvPr(nonvisualdrawingprops); - nonvisualdrawingprops.setDescr( ""); - nonvisualdrawingprops.setName( "Picture 1"); - nonvisualdrawingprops.setId( 2 ); + nonvisualdrawingprops.setDescr( ""); //------ + nonvisualdrawingprops.setName( "Picture 1"); //------ + nonvisualdrawingprops.setId( 2 ); //------ // Create object for cNvPicPr CTNonVisualPictureProperties nonvisualpictureproperties = dmlObjectFactory.createCTNonVisualPictureProperties(); picturenonvisual.setCNvPicPr(nonvisualpictureproperties); @@ -190,18 +549,18 @@ public class ExcelUtil { // Create object for to CTMarker marker = dmlspreadsheetdrawingObjectFactory.createCTMarker(); twocellanchor.setTo(marker); - marker.setCol(1); - marker.setColOff( 104775 ); - marker.setRow(3); - marker.setRowOff( 142875 ); + marker.setCol(1); //------ + marker.setColOff( 104775 ); //------ + marker.setRow(3); //------ + marker.setRowOff( 142875 ); //------ // Create object for from CTMarker marker2 = dmlspreadsheetdrawingObjectFactory.createCTMarker(); twocellanchor.setFrom(marker2); - marker2.setCol(0); - marker2.setColOff( 0 ); - marker2.setRow(0); - marker2.setRowOff( 0 ); - twocellanchor.setEditAs(STEditAs.fromValue("name")); + marker2.setCol(0); //------ + marker2.setColOff( 0 ); //------ + marker2.setRow(0); //------ + marker2.setRowOff( 0 ); //------ + twocellanchor.setEditAs(STEditAs.ONE_CELL); // return drawingWrapped; return drawing; @@ -264,5 +623,4 @@ public class ExcelUtil { XmlUtils.unmarshalString(openXML)); } - } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/XlsxUtils.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/XlsxUtils.java new file mode 100644 index 000000000..49a72d3bf --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/XlsxUtils.java @@ -0,0 +1,56 @@ +/* + * Copyright 2013 Haulmont + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.jero.modules.project.util; + +public final class XlsxUtils { + + private static final long PX_PER_INCH = 96; + private static final long EMU_PER_INCH = 914400; + + private XlsxUtils() { + } + + public static int getNumberFromColumnReference(String columnReference) { + int sum = 0; + + for (int i = 0; i < columnReference.length(); i++) { + char c = columnReference.charAt(i); + int number = ((int) c) - 64 - 1; + + int pow = columnReference.length() - i - 1; + sum += Math.pow(26, pow) * (number + 1); + } + return sum; + } + + public static String getColumnReferenceFromNumber(int number) { + int remain = 0; + StringBuilder ref = new StringBuilder(); + do { + + remain = (number - 1) % 26; + number = (number - 1) / 26; + + ref.append((char) (remain + 64 + 1)); + } while (number > 0); + + return ref.reverse().toString(); + } + + public static long convertPxToEmu(long px) { + return px * EMU_PER_INCH / PX_PER_INCH; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java index 9f965309c..e4fb26d4e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java @@ -183,8 +183,10 @@ public class LawsMonthlyReportWriteEOController extends JeroController exportMonthlyReport(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) throws IOException { - return lawsMonthlyReportWriteEOService.exportMonthlyReport(lawsMonthlyReportWriteEO); + public void exportMonthlyReport(HttpServletResponse response, + HttpServletRequest request, + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) throws IOException { + lawsMonthlyReportWriteEOService.exportMonthlyReport(response,request,lawsMonthlyReportWriteEO); } @ApiOperation(value="带入标准信息--分页", notes="带入标准信息--分页") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java new file mode 100644 index 000000000..7aea0d69d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java @@ -0,0 +1,40 @@ +package com.jero.modules.report.enums; + + +/** + * @description + * @date 2022/1/21 15:22 + * @auth zhn + */ +public enum DictCodeReportEnum { + APPLYCAR("适用车型","car_type"), + APPLYSCOPE("适用范围","apply_scope"), + STATE("状态","state"), + USEMETHOD("用法","yong4_fa3"); + + + + String name; + String value; + + private DictCodeReportEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java index 9f4e58fec..2f653b1b2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java @@ -3,9 +3,9 @@ package com.jero.modules.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; -import org.springframework.http.ResponseEntity; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -77,7 +77,9 @@ public interface ILawsMonthlyReportWriteEOService extends IService exportMonthlyReport(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO); + void exportMonthlyReport(HttpServletResponse response, + HttpServletRequest request, + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO); IPage queryPageDocument(Map parameter); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index 1739939b6..8a2229740 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -1,5 +1,7 @@ package com.jero.modules.report.service.impl; +import cn.hutool.core.util.ZipUtil; +import com.aliyuncs.utils.IOUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -32,15 +34,19 @@ import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; import org.apache.poi.xwpf.usermodel.ParagraphAlignment; import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.aspectj.util.FileUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -327,7 +333,9 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl exportMonthlyReport(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { + public void exportMonthlyReport(HttpServletResponse response, + HttpServletRequest request, + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { ResponseEntity result = null; //获取数据 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -335,9 +343,42 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS = this.list(wrapper); + + List lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); + //新征求意见清单模板 + List newOpinionTemplateEOList = new ArrayList<>(); + if(lawsMonthlyReportIdList.size() != 0){ + LambdaQueryWrapper wrapperTemp = new LambdaQueryWrapper<>(); + wrapperTemp.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); + newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapperTemp); + } + + //新发布标准清单模板 + List newStandardTemplateEOList = new ArrayList<>(); + if(lawsMonthlyReportIdList.size() != 0){ + LambdaQueryWrapper qrapperTemp = new LambdaQueryWrapper<>(); + qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); + newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp); + } + for (LawsMonthlyReportWriteEO monthlyReportWriteEO : lawsMonthlyReportWriteEOS) { + if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(monthlyReportWriteEO.getContentTemplate())){ + //新征求意见清单模板 + List collect = newOpinionTemplateEOList.stream() + .filter(e -> monthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); + monthlyReportWriteEO.setNewOpinionTemplateEOList(collect); + + }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(monthlyReportWriteEO.getContentTemplate())){ + //新发布标准清单模板 + List collect = newStandardTemplateEOList.stream() + .filter(e -> monthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); + monthlyReportWriteEO.setNewStandardTemplateEOList(collect); + } + } + + //月报填写列表所有的章节目录 List memoriesChapterList = lawsMonthlyReportWriteEOS.stream() .map(LawsMonthlyReportWriteEO::getMemoriesChapter).distinct().collect(Collectors.toList()); @@ -353,17 +394,35 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, List lawsMonthlyReportTitleTemplateEOS){ + //一级菜单 + List parentIdList = lawsMonthlyReportTitleTemplateEOS.stream().map(LawsMonthlyReportTitleTemplateEO::getParentId).distinct().collect(Collectors.toList()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(LawsMonthlyReportTitleTemplateEO::getId,parentIdList).orderByAsc(LawsMonthlyReportTitleTemplateEO::getSort); + List reportTitleOneList = lawsMonthlyReportTitleTemplateEOService.list(wrapper); //蔚来汽车法规月报-202004-主页面-CN //NIO Monthly Report on Automobile Regulations-202004-Main Page-EN String memoriesChapterCN = path + File.separator +"蔚来汽车法规月报" + lawsMonthlyReportWriteEOS.get(0).getMonth()+"主页面-CN.docx"; String memoriesChapterEN = path + File.separator +"NIO Monthly Report on Automobile Regulations-" + lawsMonthlyReportWriteEOS.get(0).getMonth()+"-Main Page-EN.docx"; + String memoriesChapterContentCn = path + File.separator +"蔚来汽车法规月报" + lawsMonthlyReportWriteEOS.get(0).getMonth()+"-CN.docx"; + String memoriesChapterContentEn = path + File.separator +"Weilai Automobile Regulations Monthly Report-" + lawsMonthlyReportWriteEOS.get(0).getMonth()+"-EN.docx"; + String titleCN = "蔚来汽车法规月报" + lawsMonthlyReportWriteEOS.get(0).getMonth(); + String titleEN = "NIO Monthly Report on Automobile Regulations-" + lawsMonthlyReportWriteEOS.get(0).getMonth(); File wordFile = new File(memoriesChapterCN); + File wordFileEn = new File(memoriesChapterEN); + File wordFileContentCn = new File(memoriesChapterContentCn); + File wordFileContentEn = new File(memoriesChapterContentEn); if(!wordFile.exists()){ try { wordFile.getParentFile().mkdirs(); wordFile.createNewFile(); } catch (IOException e) { - log.error("文件《"+memoriesChapterCN+"》创建失败"); + log.error("文件《"+titleCN+"》创建失败"); + } + } + if(!wordFileEn.exists()){ + try { + wordFileEn.getParentFile().mkdirs(); + wordFileEn.createNewFile(); + } catch (IOException e) { + log.error("文件《"+titleCN+"》创建失败"); + } + } + if(!wordFileContentCn.exists()){ + try { + wordFileContentCn.getParentFile().mkdirs(); + wordFileContentCn.createNewFile(); + } catch (IOException e) { + log.error("文件《"+titleCN+"》创建失败"); + } + } + if(!wordFileContentEn.exists()){ + try { + wordFileContentEn.getParentFile().mkdirs(); + wordFileContentEn.createNewFile(); + } catch (IOException e) { + log.error("文件《"+titleCN+"》创建失败"); } } - try (XWPFDocument document = new XWPFDocument(); - FileOutputStream out = new FileOutputStream(wordFile)) { - WordUtil.exportWord(document, memoriesChapterCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI"); + try { + //主页面中文版 + XWPFDocument document = new XWPFDocument(); + FileOutputStream out = new FileOutputStream(wordFile); + word(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleCN, document,CutEnum.CN.getValue()); + document.write(out); + //主页面英文版 + XWPFDocument documentEn = new XWPFDocument(); + FileOutputStream outCn = new FileOutputStream(wordFileEn); + word(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleEN, documentEn,CutEnum.EN.getValue()); + documentEn.write(outCn); + //内容中文版 + XWPFDocument documentContentCn = new XWPFDocument(); + FileOutputStream outContentCn = new FileOutputStream(wordFileContentCn); + wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleCN, documentContentCn,CutEnum.CN.getValue()); + documentContentCn.write(outContentCn); + //内容英文版 + XWPFDocument documentContentEn = new XWPFDocument(); + FileOutputStream outContentEn = new FileOutputStream(wordFileContentEn); + wordContent(lawsMonthlyReportWriteEOS, lawsMonthlyReportTitleTemplateEOS, reportTitleOneList, titleCN, documentContentEn,CutEnum.EN.getValue()); + documentContentEn.write(outContentEn); } catch (IOException e) { log.error("文件创建异常,异常信息为:" + e.getMessage()); } } + private void word(List lawsMonthlyReportWriteEOS, + List lawsMonthlyReportTitleTemplateEOS, + List reportTitleOneList, + String titleCN, + XWPFDocument document, + String cut) { + String content = ""; + if(CutEnum.CN.getValue().equals(cut)){ + content = "主要内容"; + }else{ + content = "Content"; + } + WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI"); + WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI"); + int oneCount = 1; + + for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) { + int twoCount = 1; + String oneNumber = intToRoman(oneCount); + //一级标题 + String oneTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleCn(); + }else{ + oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn(); + } + if(StringUtils.isNotBlank(oneTitle)){ + WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI"); + oneCount++; + } + + List reportTitleTwoList = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> e.getParentId().equals(lawsMonthlyReportTitleTemplateEO.getId())).collect(Collectors.toList()); + + + for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : reportTitleTwoList) { + int reportCount = 1; + //子标题对应的月报填写的内容 + List lawsMonthlyReportWriteEOList = lawsMonthlyReportWriteEOS.stream().filter(e -> monthlyReportTitleTemplateEO.getId().equals(e.getMemoriesChapter())).collect(Collectors.toList()); + String twoNumber = intToRoman(twoCount); + twoNumber = oneNumber+"."+twoNumber; + + //二级标题 + String twoTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + twoTitle = monthlyReportTitleTemplateEO.getTitleCn(); + }else{ + twoTitle = monthlyReportTitleTemplateEO.getTitleEn(); + } + if(StringUtils.isNotBlank(twoTitle)){ + WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, 2, 12, false, true, "Microsoft YaHei UI"); + twoCount++; + } + + for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) { + //月报内容标题 + String reportTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + reportTitle = lawsMonthlyReportWriteEO.getTitleCn(); + }else{ + reportTitle = lawsMonthlyReportWriteEO.getTitleEn(); + } + if(org.apache.commons.lang3.StringUtils.isNotBlank(reportTitle)){ + WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT, 6, 10, false, false, "Microsoft YaHei UI"); + reportCount++; + } + } + } + } + } + private void wordContent(List lawsMonthlyReportWriteEOS, + List lawsMonthlyReportTitleTemplateEOS, + List reportTitleOneList, + String titleCN, + XWPFDocument document, + String cut) { + //数据字典 + List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); + + //树形数据字典 + List categoryList = sysCategoryService.list(); + String content = ""; + if(CutEnum.CN.getValue().equals(cut)){ + content = "主要内容"; + }else{ + content = "Content"; + } + WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI"); + WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI"); + int oneCount = 1; + + for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) { + int twoCount = 1; + String oneNumber = intToRoman(oneCount); + //一级标题 + String oneTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleCn(); + }else{ + oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn(); + } + if(StringUtils.isNotBlank(oneTitle)){ + WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI"); + oneCount++; + } + + List reportTitleTwoList = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> e.getParentId().equals(lawsMonthlyReportTitleTemplateEO.getId())).collect(Collectors.toList()); + + + for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : reportTitleTwoList) { + int reportCount = 1; + //子标题对应的月报填写的内容 + List lawsMonthlyReportWriteEOList = lawsMonthlyReportWriteEOS.stream().filter(e -> monthlyReportTitleTemplateEO.getId().equals(e.getMemoriesChapter())).collect(Collectors.toList()); + String twoNumber = intToRoman(twoCount); + twoNumber = oneNumber+"."+twoNumber; + + //二级标题 + String twoTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + twoTitle = monthlyReportTitleTemplateEO.getTitleCn(); + }else{ + twoTitle = monthlyReportTitleTemplateEO.getTitleEn(); + } + if(StringUtils.isNotBlank(twoTitle)){ + WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, 2, 12, false, true, "Microsoft YaHei UI"); + twoCount++; + } + //二级目录下放--->新征求意见清单模板, 新发布标准清单模板 + List askList = lawsMonthlyReportWriteEOList.stream().filter(e -> ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(e.getContentTemplate())).collect(Collectors.toList()); + List issueList = lawsMonthlyReportWriteEOList.stream().filter(e -> ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(e.getContentTemplate())).collect(Collectors.toList()); + for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : askList) { + WordUtil.exportWordExcelAsk(document,lawsMonthlyReportWriteEO,cut); + WordUtil.exportWord(document, null, null, null, 0, 0, false, true, null); + } + + for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : issueList) { + WordUtil.exportWordExcelIssue(document,lawsMonthlyReportWriteEO,cut); + WordUtil.exportWord(document, null, null, null, 0, 0, false, true, null); + } + + for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) { + //月报内容标题 + String reportTitle = ""; + if(CutEnum.CN.getValue().equals(cut)){ + reportTitle = lawsMonthlyReportWriteEO.getTitleCn(); + }else{ + reportTitle = lawsMonthlyReportWriteEO.getTitleEn(); + } + if(StringUtils.isNotBlank(reportTitle)){ + WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT, 6, 10, false, false, "Microsoft YaHei UI"); + } + + + String contentTemplate = lawsMonthlyReportWriteEO.getContentTemplate(); + if(ContentTemplateEnum.DEFAULT_TEMPLATE.getValue().equals(contentTemplate)){ + //写入模板 + WordUtil.exportWordExcelDefault(document,lawsMonthlyReportWriteEO,sysDictItems,categoryList,cut); + + } +// else if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(contentTemplate)){ +// //新征求意见清单模板 +// WordUtil.exportWordExcelAsk(document,lawsMonthlyReportWriteEO,cut); +// +// }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(contentTemplate)){ +// //新发布标准清单模板 +// WordUtil.exportWordExcelIssue(document,lawsMonthlyReportWriteEO,cut); +// } + reportCount++; + } + } + } + } +// private void word(List lawsMonthlyReportWriteEOS, +// List lawsMonthlyReportTitleTemplateEOS, +// List reportTitleOneList, +// String titleCN, +// XWPFDocument document, +// String cut) { +// String content = ""; +// if(CutEnum.CN.getValue().equals(cut)){ +// content = "主要内容"; +// }else{ +// content = "Content"; +// } +// WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI"); +// WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI"); +// int oneCount = 1; +// +// for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) { +// int twoCount = 1; +// String oneNumber = intToRoman(oneCount); +// //一级标题 +// String oneTitle = ""; +// if(CutEnum.CN.getValue().equals(cut)){ +// oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleCn(); +// }else{ +// oneTitle = lawsMonthlyReportTitleTemplateEO.getTitleEn(); +// } +// WordUtil.exportWord(document, oneNumber+" "+oneTitle, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI"); +// oneCount++; +// List reportTitleTwoList = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> e.getParentId().equals(lawsMonthlyReportTitleTemplateEO.getId())).collect(Collectors.toList()); +// +// +// for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : reportTitleTwoList) { +// int reportCount = 1; +// //子标题对应的月报填写的内容 +// List lawsMonthlyReportWriteEOList = lawsMonthlyReportWriteEOS.stream().filter(e -> monthlyReportTitleTemplateEO.getId().equals(e.getMemoriesChapter())).collect(Collectors.toList()); +// String twoNumber = intToRoman(twoCount); +// twoNumber = oneNumber+"."+twoNumber; +// +// //二级标题 +// String twoTitle = ""; +// if(CutEnum.CN.getValue().equals(cut)){ +// twoTitle = monthlyReportTitleTemplateEO.getTitleCn(); +// }else{ +// twoTitle = monthlyReportTitleTemplateEO.getTitleEn(); +// } +// WordUtil.exportWord(document, twoNumber+" "+twoTitle, null, ParagraphAlignment.LEFT, 2, 12, false, true, "Microsoft YaHei UI"); +// twoCount++; +// +// for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) { +// //月报内容标题 +// String reportTitle = ""; +// if(CutEnum.CN.getValue().equals(cut)){ +// reportTitle = lawsMonthlyReportWriteEO.getTitleCn(); +// }else{ +// reportTitle = lawsMonthlyReportWriteEO.getTitleEn(); +// } +// WordUtil.exportWord(document, reportCount+". "+reportTitle, null, ParagraphAlignment.LEFT, 6, 10, false, false, "Microsoft YaHei UI"); +// reportCount++; +// } +// } +// } +// } + + /** + * 数字转罗马字 + * @param num + * @return + */ + public String intToRoman(int num) { + int[] values = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; + String[] symbols = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; + StringBuffer ss=new StringBuffer(); + for (int i=0;i=values[i]){ + num=num-values[i]; + ss.append(symbols[i]); + } + if (num==0){ + return ss.toString(); + } + } + System.out.println(ss); + return ss.toString(); + } + @Override public IPage queryPageDocument(Map parameter) { String cut = (String) parameter.get("cut");//中英文切换标识 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java index 607d5da73..c23a58de5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java @@ -1,11 +1,31 @@ package com.jero.modules.report.util; import cn.hutool.core.util.ObjectUtil; +import com.jero.common.constant.enums.CutEnum; +import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; +import com.jero.modules.report.entity.NewOpinionTemplateEO; +import com.jero.modules.report.entity.NewStandardTemplateEO; +import com.jero.modules.report.enums.DictCodeReportEnum; +import com.jero.modules.system.entity.SysCategory; +import com.jero.modules.system.entity.SysDictItem; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.xwpf.usermodel.ParagraphAlignment; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; +import org.apache.poi.xwpf.usermodel.XWPFTable; +import org.apache.poi.xwpf.usermodel.XWPFTableRow; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTJc; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPr; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STJc; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth; + +import java.math.BigInteger; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; public class WordUtil { /** @@ -83,5 +103,338 @@ public class WordUtil { } } + + public static void exportWordExcelDefault(XWPFDocument document, + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, + List sysDictItems, + List categoryList, + String cut) { + String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory();//技术领域 + String applyCar = lawsMonthlyReportWriteEO.getApplyCar();//适用车型 + String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围 + String state = lawsMonthlyReportWriteEO.getState();//状态 + String useMethod = lawsMonthlyReportWriteEO.getUseMethod();//用法 + String implementCar = lawsMonthlyReportWriteEO.getImplementCar();//实施车型 + String newCarImplementTime = lawsMonthlyReportWriteEO.getNewCarImplementTime();//新车型实施日期 + String productionCarImplementTime = lawsMonthlyReportWriteEO.getProductionCarImplementTime();//在产车实施日期 + String contentCn = lawsMonthlyReportWriteEO.getContentCn();//主要内容中文 + String contentEn = lawsMonthlyReportWriteEO.getContentEn();//主要内容英文 + String workProgressCn = lawsMonthlyReportWriteEO.getWorkProgressCn();//NIO工作进展中文 + String workProgressEn = lawsMonthlyReportWriteEO.getWorkProgressEn();//NIO工作进展英文 + String lawsContact = lawsMonthlyReportWriteEO.getLawsContact();//法规联系人 + String link = lawsMonthlyReportWriteEO.getLink();//链接 + String technologyTerritoryName = ""; + if(org.apache.commons.lang3.StringUtils.isNotBlank(technologyTerritory)){ + List technologyTerritoryList = Arrays.asList(technologyTerritory.split(",")); + StringBuilder sb = new StringBuilder(); + for (String technologyTerritoryTemp : technologyTerritoryList) { + List collect = categoryList.stream().filter(e -> technologyTerritoryTemp.equals(e.getId())).collect(Collectors.toList()); + if (collect.size() != 0) { + sb.append(collect.get(0).getName() + ","); + } + } + if (org.apache.commons.lang3.StringUtils.isNotBlank(sb)) { + technologyTerritoryName = sb.substring(0, sb.length() - 1); + } + } + //适用车型中文名 + String applyCarName = dictItem(sysDictItems, applyCar,cut, DictCodeReportEnum.APPLYCAR.getValue()); + String applyScopeName = dictItem(sysDictItems, applyScope,cut, DictCodeReportEnum.APPLYSCOPE.getValue()); + String stateName = dictItem(sysDictItems, state,cut, DictCodeReportEnum.STATE.getValue()); + String useMethodName = dictItem(sysDictItems, useMethod,cut, DictCodeReportEnum.USEMETHOD.getValue()); + + + XWPFTable table = document.createTable(12, 2); + + //表格属性 + CTTblPr tablePr = table.getCTTbl().addNewTblPr(); + //表格宽度 + CTJc cTJc = tablePr.addNewJc(); + //居中 + cTJc.setVal(STJc.CENTER); + //列宽自动分割 + CTTblWidth tableWidth = tablePr.addNewTblW(); + //设置表格宽度 + tableWidth.setType(STTblWidth.DXA); + tableWidth.setW(BigInteger.valueOf(8000)); + + + //第1行 + if(CutEnum.CN.getValue().equals(cut)){ + //第1行 + setCell(table.getRow(0), "技术领域",technologyTerritoryName); + //第2行 + setCell(table.getRow(1), "适用车型",applyCarName); + //第3行 + setCell(table.getRow(2), "适用范围",applyScopeName); + //第4行 + setCell(table.getRow(3), "状态",stateName); + //第5行 + setCell(table.getRow(4), "用法",useMethodName); + //第6行 + setCell(table.getRow(5), "实施车型",implementCar); + //第7行 + setCell(table.getRow(6), "新车型实施日期",newCarImplementTime); + //第8行 + setCell(table.getRow(7), "在产车实施日期",productionCarImplementTime); + //第9行 + setCell(table.getRow(8), "主要内容中文",contentCn); + //第10行 + setCell(table.getRow(9), "NIO工作进展中文",workProgressCn); + //第11行 + setCell(table.getRow(10), "法规联系人",lawsContact); + //第12行 + setCell(table.getRow(11), "链接",link); + }else{ + //第1行 + setCell(table.getRow(0), "Technical Field",technologyTerritoryName); + //第2行 + setCell(table.getRow(1), "Vehicle Type",applyCarName); + //第3行 + setCell(table.getRow(2), "Scope",applyScopeName); + //第4行 + setCell(table.getRow(3), "Status",stateName); + //第5行 + setCell(table.getRow(4), "usage",useMethodName); + //第6行 + setCell(table.getRow(5), "Implementation Model",implementCar); + //第7行 + setCell(table.getRow(6), "New Type Execution Date",newCarImplementTime); + //第8行 + setCell(table.getRow(7), "New Vehicle Execution Date",productionCarImplementTime); + //第9行 + setCell(table.getRow(8), "Main Content (English)",contentEn); + //第10行 + setCell(table.getRow(9), "NIO Work Progress (English)",workProgressEn); + //第11行 + setCell(table.getRow(10), "Regulatory Contact",lawsContact); + //第12行 + setCell(table.getRow(11), "Link",link); + } + } + public static void exportWordExcelAsk(XWPFDocument document, + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, + String cut) { + List newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList(); + if(ObjectUtils.isNotEmpty(newOpinionTemplateEOList)){ + XWPFTable table = document.createTable(newOpinionTemplateEOList.size()+1, 4); + //表格属性 + CTTblPr tablePr = table.getCTTbl().addNewTblPr(); + //表格宽度 + CTJc cTJc = tablePr.addNewJc(); + //居中 + cTJc.setVal(STJc.CENTER); + //列宽自动分割 + CTTblWidth tableWidth = tablePr.addNewTblW(); + //设置表格宽度 + tableWidth.setType(STTblWidth.DXA); + tableWidth.setW(BigInteger.valueOf(8000)); + if(CutEnum.CN.getValue().equals(cut)){ + setCellAskOne(table,"序号","计划号","标准名称","征求意见截止日期"); + }else{ + setCellAskOne(table,"Number","Plan Number","Standard Name","Deadline For Comments"); + } + for (int i = 0; i < newOpinionTemplateEOList.size(); i++) { + String planNumberCn = newOpinionTemplateEOList.get(i).getPlanNumberCn();//计划号 + String standardNameCn = newOpinionTemplateEOList.get(i).getStandardNameCn();//标准名称中文 + String standardNameEn = newOpinionTemplateEOList.get(i).getStandardNameEn();//标准名称英文 + String expirationDate = newOpinionTemplateEOList.get(i).getExpirationDate();//征求意见截止日期 + if(CutEnum.CN.getValue().equals(cut)){ + setCellAsk(table, i+1, planNumberCn, standardNameCn, expirationDate); + }else{ + setCellAsk(table, i+1, planNumberCn, standardNameEn, expirationDate); + } + } + } + } + public static void exportWordExcelIssue(XWPFDocument document, + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, + String cut) { + List newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList(); + if(ObjectUtils.isNotEmpty(newStandardTemplateEOList)){ + XWPFTable table = document.createTable(newStandardTemplateEOList.size()+1, 5); + //表格属性 + CTTblPr tablePr = table.getCTTbl().addNewTblPr(); + //表格宽度 + CTJc cTJc = tablePr.addNewJc(); + //居中 + cTJc.setVal(STJc.CENTER); + //列宽自动分割 + CTTblWidth tableWidth = tablePr.addNewTblW(); + //设置表格宽度 + tableWidth.setType(STTblWidth.DXA); + tableWidth.setW(BigInteger.valueOf(8000)); + if(CutEnum.CN.getValue().equals(cut)){ + setCellIssueOne(table,"序号","标准编号","标准名称","发布日期","实施日期"); + }else{ + setCellIssueOne(table,"Number","Standard Number","Standard Name","Release Date","Implementation date"); + } + for (int i = 0; i < newStandardTemplateEOList.size(); i++) { + String standardNumber = newStandardTemplateEOList.get(i ).getStandardNumber();//标准编号 + String standardNameCn = newStandardTemplateEOList.get(i).getStandardNameCn();//标准名称中文 + String standardNameEn = newStandardTemplateEOList.get(i).getStandardNameEn();//标准名称英文 + String issueTime = newStandardTemplateEOList.get(i).getIssueTime();//发布日期 + String implementTime = newStandardTemplateEOList.get(i).getImplementTime();//实施日期 + if(CutEnum.CN.getValue().equals(cut)){ + setCellIssue(table, i+1, standardNumber, standardNameCn, issueTime,implementTime); + }else{ + setCellIssue(table, i+1, standardNumber, standardNameEn, issueTime,implementTime); + } + } + } + } + + private static void setCellAsk(XWPFTable table, int i, String planNumber, String standardName, String expirationDate) { + //设置单元格高度 + table.getRow(i).setHeight(500); + + //设置每个单元格宽度 + CTTblWidth ctTblWidth0 = table.getRow(i).getCell(0).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth0.setType(STTblWidth.DXA); + ctTblWidth0.setW(BigInteger.valueOf(1000)); + + CTTblWidth ctTblWidth1 = table.getRow(i).getCell(1).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth1.setType(STTblWidth.DXA); + ctTblWidth1.setW(BigInteger.valueOf(2000)); + + CTTblWidth ctTblWidth2 = table.getRow(i).getCell(2).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth2.setType(STTblWidth.DXA); + ctTblWidth2.setW(BigInteger.valueOf(2500)); + + CTTblWidth ctTblWidth3 = table.getRow(i).getCell(3).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth3.setType(STTblWidth.DXA); + ctTblWidth3.setW(BigInteger.valueOf(2500)); + + table.getRow(i).getCell(0).setText(String.valueOf(i)); + table.getRow(i).getCell(1).setText(planNumber); + table.getRow(i).getCell(2).setText(standardName); + table.getRow(i).getCell(3).setText(expirationDate); + } + private static void setCellIssue(XWPFTable table, int i, String planNumber, String standardName, String expirationDate,String implementTime) { + //设置单元格高度 + table.getRow(i).setHeight(500); + + //设置每个单元格宽度 + CTTblWidth ctTblWidth0 = table.getRow(i).getCell(0).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth0.setType(STTblWidth.DXA); + ctTblWidth0.setW(BigInteger.valueOf(1000)); + + CTTblWidth ctTblWidth1 = table.getRow(i).getCell(1).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth1.setType(STTblWidth.DXA); + ctTblWidth1.setW(BigInteger.valueOf(2000)); + + CTTblWidth ctTblWidth2 = table.getRow(i).getCell(2).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth2.setType(STTblWidth.DXA); + ctTblWidth2.setW(BigInteger.valueOf(2600)); + + CTTblWidth ctTblWidth3 = table.getRow(i).getCell(3).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth3.setType(STTblWidth.DXA); + ctTblWidth3.setW(BigInteger.valueOf(1200)); + + CTTblWidth ctTblWidth4 = table.getRow(i).getCell(4).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth4.setType(STTblWidth.DXA); + ctTblWidth4.setW(BigInteger.valueOf(1200)); + + table.getRow(i).getCell(0).setText(String.valueOf(i)); + table.getRow(i).getCell(1).setText(planNumber); + table.getRow(i).getCell(2).setText(standardName); + table.getRow(i).getCell(3).setText(expirationDate); + table.getRow(i).getCell(4).setText(implementTime); + } + private static void setCellIssueOne(XWPFTable table, String number,String planNumber, String standardName, String expirationDate,String implementTime) { + //设置单元格高度 + table.getRow(0).setHeight(500); + + //设置每个单元格宽度 + CTTblWidth ctTblWidth0 = table.getRow(0).getCell(0).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth0.setType(STTblWidth.DXA); + ctTblWidth0.setW(BigInteger.valueOf(1000)); + + CTTblWidth ctTblWidth1 = table.getRow(0).getCell(1).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth1.setType(STTblWidth.DXA); + ctTblWidth1.setW(BigInteger.valueOf(2000)); + + CTTblWidth ctTblWidth2 = table.getRow(0).getCell(2).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth2.setType(STTblWidth.DXA); + ctTblWidth2.setW(BigInteger.valueOf(2600)); + + CTTblWidth ctTblWidth3 = table.getRow(0).getCell(3).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth3.setType(STTblWidth.DXA); + ctTblWidth3.setW(BigInteger.valueOf(1200)); + + CTTblWidth ctTblWidth4 = table.getRow(0).getCell(4).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth4.setType(STTblWidth.DXA); + ctTblWidth4.setW(BigInteger.valueOf(1200)); + + table.getRow(0).getCell(0).setText(number); + table.getRow(0).getCell(1).setText(planNumber); + table.getRow(0).getCell(2).setText(standardName); + table.getRow(0).getCell(3).setText(expirationDate); + table.getRow(0).getCell(4).setText(implementTime); + } + private static void setCellAskOne(XWPFTable table, String number,String planNumber, String standardName, String expirationDate) { + //设置单元格高度 + table.getRow(0).setHeight(500); + + //设置每个单元格宽度 + CTTblWidth ctTblWidth0 = table.getRow(0).getCell(0).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth0.setType(STTblWidth.DXA); + ctTblWidth0.setW(BigInteger.valueOf(1000)); + + CTTblWidth ctTblWidth1 = table.getRow(0).getCell(1).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth1.setType(STTblWidth.DXA); + ctTblWidth1.setW(BigInteger.valueOf(2000)); + + CTTblWidth ctTblWidth2 = table.getRow(0).getCell(2).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth2.setType(STTblWidth.DXA); + ctTblWidth2.setW(BigInteger.valueOf(2500)); + + CTTblWidth ctTblWidth3 = table.getRow(0).getCell(3).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth3.setType(STTblWidth.DXA); + ctTblWidth3.setW(BigInteger.valueOf(2500)); + + table.getRow(0).getCell(0).setText(number); + table.getRow(0).getCell(1).setText(planNumber); + table.getRow(0).getCell(2).setText(standardName); + table.getRow(0).getCell(3).setText(expirationDate); + } + + + private static String dictItem(List sysDictItems, String fieldValue,String cut,String dictCode) { + String fieldValueName = ""; + if(StringUtils.isNotEmpty(fieldValue)){ + List fieldValueList = Arrays.asList(fieldValue.split(",")); + StringBuilder sb = new StringBuilder(); + for (String fieldValueTemp : fieldValueList) { + List collect = sysDictItems.stream() + .filter(e -> fieldValueTemp.equals(e.getItemValue()) && dictCode.equals(e.getDictCode())) + .collect(Collectors.toList()); + if(collect.size() != 0){ + if(CutEnum.CN.getValue().equals(cut)){ + sb.append(collect.get(0).getItemText() + ","); + }else{ + sb.append(collect.get(0).getEnName() + ","); + } + } + } + if(org.apache.commons.lang3.StringUtils.isNotBlank(sb)){ + fieldValueName = sb.substring(0, sb.length() - 1); + } + } + return fieldValueName; + } + + private static void setCell(XWPFTableRow tableRow, String fieldName,String technologyTerritory) { + tableRow.setHeight(500); + CTTblWidth ctTblWidth0 = tableRow.getCell(0).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth0.setType(STTblWidth.DXA); + ctTblWidth0.setW(BigInteger.valueOf(3000)); + CTTblWidth ctTblWidth1 = tableRow.getCell(1).getCTTc().addNewTcPr().addNewTcW(); + ctTblWidth1.setType(STTblWidth.DXA); + ctTblWidth1.setW(BigInteger.valueOf(5000)); + + tableRow.getCell(0).setText(fieldName); + tableRow.getCell(1).setText(technologyTerritory); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/job/SpaceJobHandler.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/job/SpaceJobHandler.java index 33560fecf..967b2f388 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/job/SpaceJobHandler.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/job/SpaceJobHandler.java @@ -136,7 +136,7 @@ public class SpaceJobHandler implements Job { } } projectYearNameInfoEOService.saveBatch(diffYearNameList); - log.error("从Space获取项目名称相关数据,成功保存"); + log.info("从Space获取项目名称相关数据,成功保存"); } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java index ec36b56fc..a82b7511b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/FileSplitItemsEOMapper.java @@ -3,6 +3,7 @@ package com.jero.modules.split.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.split.entity.SarFileSplitItemsEO; +import com.jero.modules.split.page.SarFileSplitItemsEOPage; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -65,4 +66,6 @@ public interface FileSplitItemsEOMapper extends BaseMapper int deleteByMenuIds(@Param("idList") List idList); int insertForeach(List list); + + List queryByList(SarFileSplitItemsEOPage page); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml index f7a7a8ec6..29a65a59f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml @@ -118,4 +118,21 @@ + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitItemsEOPage.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitItemsEOPage.java index ad2efd4c1..871ebcff5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitItemsEOPage.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/page/SarFileSplitItemsEOPage.java @@ -63,6 +63,7 @@ public class SarFileSplitItemsEOPage extends BasePage { private String modifyUserOperator = "="; private String sMenuId; private List idList; + private List menuIdList; private int tableIndex = 1; private int imgIndex = 1; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java index 4a9c3bddc..b16caa11d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java @@ -83,4 +83,6 @@ public interface IFileSplitItemsEOService extends IService int insertForeach(List messageList); // 拆分已入库文件专用 List> getHeader(String flag, String cut); + + List queryByList(SarFileSplitItemsEOPage page); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 8fae259fd..132bc2a02 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -3731,4 +3731,15 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl queryByList(SarFileSplitItemsEOPage page){ + return dao.queryByList(page); + } + } diff --git a/jero-web/package.json b/jero-web/package.json index da4e81b29..0a928ac24 100644 --- a/jero-web/package.json +++ b/jero-web/package.json @@ -28,6 +28,7 @@ "jsencrypt": "^3.0.0-rc.1", "lodash.get": "^4.4.2", "lodash.pick": "^4.4.0", + "mammoth": "^1.4.21", "md5": "^2.2.1", "nprogress": "^0.2.0", "tinymce": "^5.3.2", @@ -42,6 +43,7 @@ "vue-ls": "^3.2.0", "vue-photo-preview": "^1.1.3", "vue-print-nb-jeecg": "^1.0.9", + "vue-quill-editor": "^3.0.6", "vue-router": "^3.0.1", "vue-splitpane": "^1.0.4", "vuedraggable": "^2.20.0", diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index db5e4d815..cddee045e 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -788,7 +788,7 @@ module.exports = { copyParamDetailList: 'Copy Parameter List', collectionCompletionTime: 'Collection Completion Time', parameterTemplateName: 'Parameter Template Name', - onlyThree: 'Only letters, numbers, dashes (-), and decimal points (.) can be entered. , left slash, space six kinds of content ', + onlyThree: 'enter only letters, numbers, hyphens (-), left slashes, and Spaces', templateName: 'Template Name', pleaseSelectData: 'Please Select Data', templateCopy: 'Template Copy', @@ -1174,4 +1174,63 @@ module.exports = { convertFailed:'Convert Failed', standardData:'Standard Data', Theorganization:'The Organization', + Addingfolder:'Adding a folder', + Addingsubfolders:'Adding Subfolders', + Editfolder:'Edit Folder', + Deletefolders:'Delete Folders', + Foldername:'Folder Name', + Folderpermissions:'Folder Permissions', + Folderorder:'Folder Order', + Downloadprivileges:'Download Privileges', + Openpersonnel:'Open Personnel', + originalText:'Original Text', + translatedText:'Translated Text', + Administrativeprivileges:'Administrativ Pprivileges', + Checkthepermissions:'Check The Permissions', + onlyFilesUploaded:'Only.Docx,.Doc files can be uploaded', + selectDirectorylocation: 'Please select the directory location to add the folder', + Fileuploaded:'File uploaded, please wait', + uploadedbyyourself:'You can only delete files and data uploaded by yourself', + Fileuploaded:'File uploading, please wait', + doNotHavePermissionDeleteData:'Do not have permission to delete this data,', + Parametercollection:'Parameter Collection', + Collectlist:'Colle Ctlist', + Statisticalmodels:'Statisti Calmodels', + Inthecollection:'In the collection', + Notatthe:'Not at the', + Thepercentage:'The Percentage', + problemKnowledgeBase:'Problem Knowledge Base', + recentHotSpots:'Recent Hot Spots', + disseminationMaterials:'Dissemination Materials', + informationSafety:'Information Safety', + blueBook:'Blue Book', + invoiceCollection:'Invoice Collection', + productHighlights:'Product Highlights', + financialReimbursement:'Financial Reimbursement', + classificationMaintenance:'Classification Maintenance', + managePublishing:'Manage Publishing', + displayPermission:'Display permission', + authorizedUser:'Authorized user', + problemClassification:'Problem classification', + market:'market', + documentNumber:'Document Number', + documentTitle:'Document Title', + bringInDocumentInformation:'Bring in document information', + thereWhichCannotDeleted:'There are sub headings under this title, which cannot be deleted', + sdt:'sdt', + dre:'dre', + applicableInstructionsMarketList:'Applicable instructions of market list', + pleaseSelectTheDataCompared:'Please select the data to be compared', + problemLabel:'Problem label', + personCharge:'Person in charge', + addLabel:'Add Label', + editLabel:'Edit Label', + applicableMarket:'Applicable market', + templateMaintenance:'Template maintenance', + associatedWebsite:'Associated website', + dropDownOptions:'Drop down options', + dropDownOptionMaintenance:'Drop down option maintenance', + displayInformation:'Display information', + addComparison:'Add comparison', + showOrNot:'Show or not', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 9bb86cd15..2b024825c 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -178,9 +178,9 @@ module.exports = { MenuType: '菜单类型', menu: '菜单', ButtonsPermissions: '按钮/权限', - ConventionalExport:'常规导出', - CustomExport:'自定义导出', - CustomTemplateName:'自定义模板名称', + ConventionalExport: '常规导出', + CustomExport: '自定义导出', + CustomTemplateName: '自定义模板名称', assembly: '组件', route: '路径', AddSubmenu: '添加子菜单', @@ -393,8 +393,8 @@ module.exports = { StandardDetails: '标准详情', whole: '全部', DocumentLibrary: '文档库', - GeneralExportInformation:'常规导出信息', - CustomizeExportInformation:'自定义导出信息', + GeneralExportInformation: '常规导出信息', + CustomizeExportInformation: '自定义导出信息', DocumentComparisonLibrary: '文档对比库', weekly: '周报', SyncLibrary: '同步至文档库', @@ -577,6 +577,7 @@ module.exports = { documentSplitTemplate: '文档拆分模板', batSetting: '批量设置', selectDirectoryTerms: '请选择添加条款的目录位置', + selectDirectorylocation: '请选择添加文件夹的目录位置', OnlyWordItem: '只有GSO文件类型,才能拆分pdf文件,请重新选择文件', OnlyWord: '只能导入word文件', labelAreaDeleted: '若进行删除,则该展示区域下标签项都将被删除', @@ -688,11 +689,11 @@ module.exports = { listConfirmation: '清单确认', ListConfirmationDeadline: '清单确认截止时间', dataConfirmation: '请选择清单确认状态为未发起或拒绝的数据,以及法规工程师、认证工程师不为空', - pleaseSelectinitiatedOrRejected:'请选择清单确认状态为未发起或拒绝的数据', - TheEngineerAndCertification:'的法规工程师、认证工程师不能为空', + pleaseSelectinitiatedOrRejected: '请选择清单确认状态为未发起或拒绝的数据', + TheEngineerAndCertification: '的法规工程师、认证工程师不能为空', taskDataConfirmation: '请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据,以及工程接口人不为空', - theProjectContactEmpty:'的工程接口人不能为空', - PleaseTaskConfirmationRejected:'请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据', + theProjectContactEmpty: '的工程接口人不能为空', + PleaseTaskConfirmationRejected: '请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据', pleaseSelectPersonFirst: '请先选择人员', onlyOnePersonCanBeSelected: '只能选择一个人员', overrule: '驳回', @@ -729,7 +730,7 @@ module.exports = { confirmationOfRegulationsList: '法规清单确认', regulatoryTaskConfirmation: '法规任务确认', certificationStart: '认证试验结束', - preHomoCompletion:'摸底试验结束', + preHomoCompletion: '摸底试验结束', certificationEnd: '认证批准', directoryName: '目录名称', batch: '批次', @@ -750,7 +751,7 @@ module.exports = { // 参数收集 MaintainConfigureInfo: '维护配置信息', ParameteItemCollectionList: '参数项收集清单', - ParameterViewPage:'参数项查看页', + ParameterViewPage: '参数项查看页', Areyousureparameteritems: '确认提交所选参数项嘛?', Theselectedconfiguration: '参数清单中参数项均为待发起收集或变更时,才能添加配置', NoConfigurationNotStart: '未添加任何配置,无法开始收集,请检查', @@ -803,7 +804,7 @@ module.exports = { copyParamDetailList: '复制参数清单', collectionCompletionTime: '收集完成时间', parameterTemplateName: '参数模板名称', - onlyThree: '只能输入字母,数字,横杠(-),小数点(.),左斜杠,空格六种内容', + onlyThree: '只能输入字母,数字,横杠(-),左斜杠,空格五种内容', templateName: '模板名称', pleaseSelectData: '请选择数据', templateCopy: '模板复制', @@ -817,10 +818,10 @@ module.exports = { releaseVersion: '发布版本', parameterTemplate: '参数模板', contentDescription: '内容说明', - WhetherMergeParameters:'是否合并参数', - merge:'合并', - nonjoinder:'不合并', - MergeSeparator:'合并分隔符', + WhetherMergeParameters: '是否合并参数', + merge: '合并', + nonjoinder: '不合并', + MergeSeparator: '合并分隔符', parameterTemplateExportName: '参数项列表', parameterDataExport: '参数项导出数据', // 参数收集结束 @@ -983,10 +984,10 @@ module.exports = { documentLibraryDetails: '文档库详情', question: '催办', ConfirmQuestion: '确认催办?', - OnlyOrTaskconfirmationOut:'只有清单确认状态或任务确认状态为待确认时才可以进行催办', - disableInput:'禁止输入', - taskConfirmationDeadline:'任务确认截止时间', - taskConfirmationResponsiblePerson:'责任人任务确认', + OnlyOrTaskconfirmationOut: '只有清单确认状态或任务确认状态为待确认时才可以进行催办', + disableInput: '禁止输入', + taskConfirmationDeadline: '任务确认截止时间', + taskConfirmationResponsiblePerson: '责任人任务确认', or: '或', warningTime: '预警时间', RegulationMonthlyManagement: '法规月报管理', @@ -1025,23 +1026,23 @@ module.exports = { closingDate: '截止日期', viewProcess: '查看流程', evaluationResults: '评估结果', - regulatoryTechnicalEvaluationResults:'法规技术评估结果', - Assessor:'评估人', - collectionOfRegulatoryOpinions:'法规意见收集', - collectionOfRegulatoryOpinionsProcess:'法规意见收集流程', - feedbackInformation:'反馈信息', - relevantSections:'相关章节', - questionsSuggestions:'问题/建议', + regulatoryTechnicalEvaluationResults: '法规技术评估结果', + Assessor: '评估人', + collectionOfRegulatoryOpinions: '法规意见收集', + collectionOfRegulatoryOpinionsProcess: '法规意见收集流程', + feedbackInformation: '反馈信息', + relevantSections: '相关章节', + questionsSuggestions: '问题/建议', link: '链接', - reason:'理由', - planNoChinese:'计划号', - feedbackPoint:'反馈点', - standardNameCn:'标准名称中文', - standardNameEn:'标准名称英文', - deadlineForComments:'征求意见截止日期', - proposedTime:'提出时间', - standardNo:'标准编号', - implemenDate:'实施日期', + reason: '理由', + planNoChinese: '计划号', + feedbackPoint: '反馈点', + standardNameCn: '标准名称中文', + standardNameEn: '标准名称英文', + deadlineForComments: '征求意见截止日期', + proposedTime: '提出时间', + standardNo: '标准编号', + implemenDate: '实施日期', // 上报库 Enable: '启用', Latestupdatetime: '最新更新时间', @@ -1078,7 +1079,7 @@ module.exports = { Btext: '文本+下拉多选', Ctext: '文本+附件', Dtext: '下拉单选+附件', - Etext:'下拉多选+附件', + Etext: '下拉多选+附件', Ftext: '文本+下拉单选+附件', Gtext: '标题', Nnothing: '无', @@ -1093,89 +1094,246 @@ module.exports = { Copyparameterlist: '复制参数清单', Templatenamelist: '模板名称-参数项收集清单', newNiONumber: 'NIO编号', - English:'英文', - requiredParametersEmpty:'必填参数不能为空', - theResponsiblePersonAndDeadlineClank:'的责任人、截止时间不能为空', - bringInTheProjectInterface:'带入工程接口人', - theCurrentListSaved:'当前列表数据已全部提交,无法进行暂存', - defaultTemplate:'默认模板', - newRequestCommentListTemplate:'新征求意见清单模板', - NewReleasedStandardTemplate:'新发布标准模板', - pleaseSelectStandard:'请选择标准', - theResponsiblePersonEmpty:'的责任人不能为空', - theDeadlineEmpty:'的截止时间不能为空', - theDeliveryTypeCannotBeEmpty:'的交付物类型不能为空', - For:'针对于', - markedRejection:'标注的驳回意见', - RegulationListConfirmationTask:'清单确认任务', - RegulationListConfirmationNotification:'清单确认通知', - RegulationTaskConfirmation:'任务确认任务', - DesignComplianceTask:'设计符合性任务', - PreHomoTask:'Pre-Homo任务', - ValidationTask:'验证符合性任务', - DesignComplianceNotification:'设计符合性通知', - PreHomoNotification:'Pre-Homo通知', - ValidationComplianceNotification:'验证符合性通知', - RegulationTaskConfirmationNotification:'任务确认通知', - evaluationMethod:'评估方式', - uploadRelevantMaterials:'相关资料上传', - RelevantMaterials:'相关资料', - processBackground:'流程背景', - selectedStandard:'所选标准', - standardDecompositionDocument:'带入标准分解单', - pleaseSelectStandardFirst:'请先选择标准', - evaluatorFeedback:'评估人反馈', - nameTechnicalDocument:'技术文件名称', - chapter:'章节', - problemDescription:'问题说明', - filingExternalOpinions:'对外意见归档', - initiateProcessForCurrentStandard:'针对当前标准发起流程', - engineerFeedbackResults:'工程师反馈结果', - fileExport:'文件导出', - feedbackTime:'反馈时间', - regulatoryTechnologyAssessmentProcess:'法规技术评估流程', - feedbackEvaluation:'反馈评估', - clauseEvaluation:'条款评估', - standardDocuments:'标准文件', - pleaseCompleteTheEvaluationMethodorEvaluator:'请补全列表中评估方式或评估人', - reviewComments:'审核意见', - PleaseCompleteList:'请补全列表中符合性结果', - sponsorFeedback:'发起人反馈', - processNumber:'流程编号', - processName:'流程名称', - feedbackResults:'反馈结果', - theDoesNotSupportPreview:'当前文件格式不支持预览', - releaseSituation:'发布情况', - comparisonResults:'对比结果', - Published:'已发布', - initiateComparison:'发起对比', - translationLanguage:'翻译语言', - translationResults:'翻译结果', - conversionTime:'转换时间', - category:'类别', - RegulatoryProcessEvaluationResults :'法规流程评估结果', - ViewConformanceResults:'查看符合性结果', - CommentsCollectionResultsForReference:'意见收集结果参考', - TechnicalEvaluationResultsForReference:'技术评估结果参考', - ComplianceConfirmationRecord:'符合性确认记录', - complianceConfirmation:'符合性确认', - Deriveconformanceresults:'导出符合性结果', - Regulatorycompliancekanban:'法规符合性看板', - noComparisonDocumentSelected:'未选择对比文档', - RemarkInfo:'备注信息', - initiateDocumentComparison:'发起文档对比', - comparativeComments:'对比评论', - viewTheComparisonResults:'查看对比结果', - addFullTextComment:'添加全文评论', - turnOffAutomaticMatching:'关闭自动匹配', - exportComparisonReport:'导出对比报告', - comparisonDifferenceComment:'对比差异评论', - fullTextComments:'全文评论', - fileDeclaration:'文件说明', - FileForDetails:'文件详情', - Converting:'转换中', - convertNetwork:'转换完成', - convertFailed:'转换失败', - standardData:'标准数据', - Theorganization:'组织机构', + English: '英文', + requiredParametersEmpty: '必填参数不能为空', + theResponsiblePersonAndDeadlineClank: '的责任人、截止时间不能为空', + bringInTheProjectInterface: '带入工程接口人', + theCurrentListSaved: '当前列表数据已全部提交,无法进行暂存', + defaultTemplate: '默认模板', + newRequestCommentListTemplate: '新征求意见清单模板', + NewReleasedStandardTemplate: '新发布标准模板', + pleaseSelectStandard: '请选择标准', + theResponsiblePersonEmpty: '的责任人不能为空', + theDeadlineEmpty: '的截止时间不能为空', + theDeliveryTypeCannotBeEmpty: '的交付物类型不能为空', + For: '针对于', + markedRejection: '标注的驳回意见', + RegulationListConfirmationTask: '清单确认任务', + RegulationListConfirmationNotification: '清单确认通知', + RegulationTaskConfirmation: '任务确认任务', + DesignComplianceTask: '设计符合性任务', + PreHomoTask: 'Pre-Homo任务', + ValidationTask: '验证符合性任务', + DesignComplianceNotification: '设计符合性通知', + PreHomoNotification: 'Pre-Homo通知', + ValidationComplianceNotification: '验证符合性通知', + RegulationTaskConfirmationNotification: '任务确认通知', + evaluationMethod: '评估方式', + uploadRelevantMaterials: '相关资料上传', + RelevantMaterials: '相关资料', + processBackground: '流程背景', + selectedStandard: '所选标准', + standardDecompositionDocument: '带入标准分解单', + pleaseSelectStandardFirst: '请先选择标准', + evaluatorFeedback: '评估人反馈', + nameTechnicalDocument: '技术文件名称', + chapter: '章节', + problemDescription: '问题说明', + filingExternalOpinions: '对外意见归档', + initiateProcessForCurrentStandard: '针对当前标准发起流程', + engineerFeedbackResults: '工程师反馈结果', + fileExport: '文件导出', + feedbackTime: '反馈时间', + regulatoryTechnologyAssessmentProcess: '法规技术评估流程', + feedbackEvaluation: '反馈评估', + clauseEvaluation: '条款评估', + standardDocuments: '标准文件', + pleaseCompleteTheEvaluationMethodorEvaluator: '请补全列表中评估方式或评估人', + reviewComments: '审核意见', + PleaseCompleteList: '请补全列表中符合性结果', + sponsorFeedback: '发起人反馈', + processNumber: '流程编号', + processName: '流程名称', + feedbackResults: '反馈结果', + theDoesNotSupportPreview: '当前文件格式不支持预览', + releaseSituation: '发布情况', + comparisonResults: '对比结果', + Published: '已发布', + initiateComparison: '发起对比', + translationLanguage: '翻译语言', + translationResults: '翻译结果', + conversionTime: '转换时间', + category: '类别', + RegulatoryProcessEvaluationResults: '法规流程评估结果', + ViewConformanceResults: '查看符合性结果', + CommentsCollectionResultsForReference: '意见收集结果参考', + TechnicalEvaluationResultsForReference: '技术评估结果参考', + ComplianceConfirmationRecord: '符合性确认记录', + complianceConfirmation: '符合性确认', + Deriveconformanceresults: '导出符合性结果', + Regulatorycompliancekanban: '法规符合性看板', + noComparisonDocumentSelected: '未选择对比文档', + RemarkInfo: '备注信息', + initiateDocumentComparison: '发起文档对比', + comparativeComments: '对比评论', + viewTheComparisonResults: '查看对比结果', + addFullTextComment: '添加全文评论', + turnOffAutomaticMatching: '关闭自动匹配', + exportComparisonReport: '导出对比报告', + comparisonDifferenceComment: '对比差异评论', + fullTextComments: '全文评论', + fileDeclaration: '文件说明', + FileForDetails: '文件详情', + Converting: '转换中', + convertNetwork: '转换完成', + convertFailed: '转换失败', + standardData: '标准数据', + Theorganization: '组织机构', + Addingfolder: '新增文件夹', + Addingsubfolders: '新增子文件夹', + Editfolder: '编辑文件夹', + Deletefolders: '删除文件夹', + Foldername: '文件夹名称', + Folderpermissions: '文件夹权限', + Folderorder: '文件夹顺序', + Downloadprivileges: '下载权限', + Openpersonnel: '开放人员', + originalText: '原文', + translatedText: '译文', + Administrativeprivileges: '管理权限', + Checkthepermissions: '查看权限', + onlyFilesUploaded: '只能上传.docx、.doc文件', + uploadedbyyourself: '只能删除自己上传的文件数据', + Fileuploaded: '文件上传中,请稍后', + English: '英文', + requiredParametersEmpty: '必填参数不能为空', + theResponsiblePersonAndDeadlineClank: '的责任人、截止时间不能为空', + bringInTheProjectInterface: '带入工程接口人', + theCurrentListSaved: '当前列表数据已全部提交,无法进行暂存', + defaultTemplate: '默认模板', + newRequestCommentListTemplate: '新征求意见清单模板', + NewReleasedStandardTemplate: '新发布标准模板', + pleaseSelectStandard: '请选择标准', + theResponsiblePersonEmpty: '的责任人不能为空', + theDeadlineEmpty: '的截止时间不能为空', + theDeliveryTypeCannotBeEmpty: '的交付物类型不能为空', + For: '针对于', + markedRejection: '标注的驳回意见', + RegulationListConfirmationTask: '清单确认任务', + RegulationListConfirmationNotification: '清单确认通知', + RegulationTaskConfirmation: '任务确认任务', + DesignComplianceTask: '设计符合性任务', + PreHomoTask: 'Pre-Homo任务', + ValidationTask: '验证符合性任务', + DesignComplianceNotification: '设计符合性通知', + PreHomoNotification: 'Pre-Homo通知', + ValidationComplianceNotification: '验证符合性通知', + RegulationTaskConfirmationNotification: '任务确认通知', + evaluationMethod: '评估方式', + uploadRelevantMaterials: '相关资料上传', + RelevantMaterials: '相关资料', + processBackground: '流程背景', + selectedStandard: '所选标准', + standardDecompositionDocument: '带入标准分解单', + pleaseSelectStandardFirst: '请先选择标准', + evaluatorFeedback: '评估人反馈', + nameTechnicalDocument: '技术文件名称', + chapter: '章节', + problemDescription: '问题说明', + filingExternalOpinions: '对外意见归档', + initiateProcessForCurrentStandard: '针对当前标准发起流程', + engineerFeedbackResults: '工程师反馈结果', + fileExport: '文件导出', + feedbackTime: '反馈时间', + regulatoryTechnologyAssessmentProcess: '法规技术评估流程', + feedbackEvaluation: '反馈评估', + clauseEvaluation: '条款评估', + standardDocuments: '标准文件', + pleaseCompleteTheEvaluationMethodorEvaluator: '请补全列表中评估方式或评估人', + reviewComments: '审核意见', + PleaseCompleteList: '请补全列表中符合性结果', + sponsorFeedback: '发起人反馈', + processNumber: '流程编号', + processName: '流程名称', + feedbackResults: '反馈结果', + theDoesNotSupportPreview: '当前文件格式不支持预览', + releaseSituation: '发布情况', + comparisonResults: '对比结果', + Published: '已发布', + initiateComparison: '发起对比', + translationLanguage: '翻译语言', + translationResults: '翻译结果', + conversionTime: '转换时间', + category: '类别', + RegulatoryProcessEvaluationResults: '法规流程评估结果', + ViewConformanceResults: '查看符合性结果', + CommentsCollectionResultsForReference: '意见收集结果参考', + TechnicalEvaluationResultsForReference: '技术评估结果参考', + ComplianceConfirmationRecord: '符合性确认记录', + complianceConfirmation: '符合性确认', + Deriveconformanceresults: '导出符合性结果', + Regulatorycompliancekanban: '法规符合性看板', + noComparisonDocumentSelected: '未选择对比文档', + RemarkInfo: '备注信息', + initiateDocumentComparison: '发起文档对比', + comparativeComments: '对比评论', + viewTheComparisonResults: '查看对比结果', + addFullTextComment: '添加全文评论', + turnOffAutomaticMatching: '关闭自动匹配', + exportComparisonReport: '导出对比报告', + comparisonDifferenceComment: '对比差异评论', + fullTextComments: '全文评论', + fileDeclaration: '文件说明', + FileForDetails: '文件详情', + Converting: '转换中', + convertNetwork: '转换完成', + convertFailed: '转换失败', + standardData: '标准数据', + Theorganization: '组织机构', + Addingfolder: '新增文件夹', + Addingsubfolders: '新增子文件夹', + Editfolder: '编辑文件夹', + Deletefolders: '删除文件夹', + Foldername: '文件夹名称', + Folderpermissions: '文件夹权限', + Folderorder: '文件夹顺序', + Downloadprivileges: '下载权限', + Openpersonnel: '开放人员', + originalText: '原文', + translatedText: '译文', + Administrativeprivileges: '管理权限', + Checkthepermissions: '查看权限', + onlyFilesUploaded: '只能上传.docx、.doc文件', + uploadedbyyourself: '只能删除自己上传的文件数据', + doNotHavePermissionDeleteData: '没有权限删除此数据', + Parametercollection: '参数收集', + Collectlist: '收集清单', + Statisticalmodels: '统计模式', + Inthecollection: '收集中', + Notatthe: '未开始', + Thepercentage: '百分比', + problemKnowledgeBase:'问题知识库', + recentHotSpots:'近期热点', + disseminationMaterials:'传播物料', + informationSafety:'信息安全', + blueBook:'蓝皮书', + invoiceCollection:'发票合集', + productHighlights:'产品亮点', + financialReimbursement:'财务报销', + classificationMaintenance:'分类维护', + managePublishing:'管理发布', + displayPermission:'展示权限', + authorizedUser:'权限用户', + problemClassification:'问题分类', + market:'市场', + documentNumber:'文档编号', + documentTitle:'文档标题', + bringInDocumentInformation:'带入文档信息', + thereWhichCannotDeleted:'该标题下存在子标题无法进行删除', + sdt:'工程接口人', + dre:'填写人', + applicableInstructionsMarketList:'市场清单适用说明', + pleaseSelectTheDataCompared:'请选择需要对比的数据', + problemLabel:'问题标签', + personCharge:'负责人', + addLabel:'新增标签', + editLabel:'编辑标签', + applicableMarket:'适用市场', + templateMaintenance:'模板维护', + associatedWebsite:'关联网址', + dropDownOptions:'下拉选项', + dropDownOptionMaintenance:'下拉选项维护', + displayInformation:'展示信息', + addComparison:'添加对比', + showOrNot:'是否展示', } \ No newline at end of file diff --git a/jero-web/src/components/CollectionTypeDisabled/index.vue b/jero-web/src/components/CollectionTypeDisabled/index.vue new file mode 100644 index 000000000..2404a2e38 --- /dev/null +++ b/jero-web/src/components/CollectionTypeDisabled/index.vue @@ -0,0 +1,795 @@ + + + + + diff --git a/jero-web/src/components/NumberInfo/NumberInfo.vue b/jero-web/src/components/NumberInfo/NumberInfo.vue deleted file mode 100644 index 81508780b..000000000 --- a/jero-web/src/components/NumberInfo/NumberInfo.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - - - \ No newline at end of file diff --git a/jero-web/src/components/NumberInfo/index.js b/jero-web/src/components/NumberInfo/index.js deleted file mode 100644 index a471501ab..000000000 --- a/jero-web/src/components/NumberInfo/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import NumberInfo from './NumberInfo' - -export default NumberInfo \ No newline at end of file diff --git a/jero-web/src/components/NumberInfo/index.less b/jero-web/src/components/NumberInfo/index.less deleted file mode 100644 index 719113da9..000000000 --- a/jero-web/src/components/NumberInfo/index.less +++ /dev/null @@ -1,55 +0,0 @@ -@import "../index"; - -@numberInfo-prefix-cls: ~"@{ant-pro-prefix}-number-info"; - -.@{numberInfo-prefix-cls} { - - .ant-pro-number-info-subtitle { - color: @text-color-secondary; - font-size: @font-size-base; - height: 22px; - line-height: 22px; - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; - white-space: nowrap; - } - - .number-info-value { - margin-top: 4px; - font-size: 0; - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; - white-space: nowrap; - - & > span { - color: @heading-color; - display: inline-block; - line-height: 32px; - height: 32px; - font-size: 24px; - margin-right: 32px; - } - - .sub-total { - color: @text-color-secondary; - font-size: @font-size-lg; - vertical-align: top; - margin-right: 0; - i { - font-size: 12px; - transform: scale(0.82); - margin-left: 4px; - } - :global { - .anticon-caret-up { - color: @red-6; - } - .anticon-caret-down { - color: @green-6; - } - } - } - } -} \ No newline at end of file diff --git a/jero-web/src/components/exporthistory/index.vue b/jero-web/src/components/exporthistory/index.vue index 1b353803e..cd59122b3 100644 --- a/jero-web/src/components/exporthistory/index.vue +++ b/jero-web/src/components/exporthistory/index.vue @@ -1,36 +1,36 @@ @@ -82,7 +82,7 @@ {{$t('uploadedBy')}} + v-model="queryParams.createBy"> @@ -90,13 +90,14 @@
{{ $t('uploadTime') }}
- +
@@ -115,11 +116,11 @@
-
+
{{ $t('UploadFile') }}
-
+
{{ $t('BatchDelete') }}
@@ -143,10 +144,10 @@ - {{$t('view')}} + {{$t('download')}} - {{$t('edit')}} - {{$t('delete')}} + {{$t('edit')}} + {{$t('delete')}}
@@ -163,13 +164,14 @@ />
- + - - + + - - + + - - + + + + + @@ -210,7 +224,7 @@ + + \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 682fbe51a..fc24c69e0 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -3,7 +3,7 @@
- {{$t('ParameteItemCollectionList')}}({{$t(this.$route.query.projectName)}}) — {{$t(this.paramsManifest.title)}} + {{$t('ParameteItemCollectionList')}}({{$t(this.$route.query.projectName)}}) — {{$t(this.$route.query.title)}}
@@ -108,7 +108,7 @@ - +