合并分支 'master' 到 'fix_bug_first_stage'
Master 查看合并请求 laws-nio/laws-weilai!142
@@ -511,26 +511,23 @@ INSERT INTO `laws_weilai`.`sys_permission`(`id`, `parent_id`, `name`, `url`, `co
|
||||
-- 角色表-增加对外报告管理员角色 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`)
|
||||
`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', '', '', '', '');
|
||||
@@ -538,17 +535,17 @@ INSERT INTO `ext_repo_folder` VALUES ('1552846304994131970', 'admin', '2022-07-0
|
||||
-- 对外报告数据表 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`)
|
||||
`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 已同步生产环境
|
||||
@@ -731,100 +728,100 @@ CREATE TABLE `laws_weilai`.`country_card_manage_release_detail` (
|
||||
-- 文档对比信息表 2022-08-07 已同步生产环境
|
||||
DROP TABLE IF EXISTS `sar_file_compare_info`;
|
||||
CREATE TABLE `sar_file_compare_info` (
|
||||
`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_id_left` varchar(36) DEFAULT NULL COMMENT '文档1',
|
||||
`file_key_left` varchar(32) DEFAULT NULL COMMENT '文档key1',
|
||||
`serial_number_left` varchar(36) DEFAULT NULL COMMENT '编号1',
|
||||
`title_left` varchar(255) DEFAULT NULL COMMENT '标题1',
|
||||
`file_type_left` varchar(36) DEFAULT NULL COMMENT '文本状态1',
|
||||
`file_name_left` varchar(255) DEFAULT NULL COMMENT '文件名称1',
|
||||
`file_id_right` varchar(36) DEFAULT NULL COMMENT '文档2',
|
||||
`file_key_right` varchar(32) DEFAULT NULL COMMENT '文档key2',
|
||||
`serial_number_right` varchar(36) DEFAULT NULL COMMENT '编号2',
|
||||
`title_right` varchar(255) DEFAULT NULL COMMENT '标题2',
|
||||
`file_type_right` varchar(36) DEFAULT NULL COMMENT '文本状态2',
|
||||
`file_name_right` varchar(255) DEFAULT NULL COMMENT '文件名称2',
|
||||
`release_state` varchar(36) DEFAULT NULL COMMENT '发布状态',
|
||||
`remark` varchar(1000) DEFAULT NULL COMMENT '备注',
|
||||
`comments` varchar(1000) DEFAULT NULL COMMENT '评论',
|
||||
PRIMARY KEY (`id`)
|
||||
`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_id_left` varchar(36) DEFAULT NULL COMMENT '文档1',
|
||||
`file_key_left` varchar(32) DEFAULT NULL COMMENT '文档key1',
|
||||
`serial_number_left` varchar(36) DEFAULT NULL COMMENT '编号1',
|
||||
`title_left` varchar(255) DEFAULT NULL COMMENT '标题1',
|
||||
`file_type_left` varchar(36) DEFAULT NULL COMMENT '文本状态1',
|
||||
`file_name_left` varchar(255) DEFAULT NULL COMMENT '文件名称1',
|
||||
`file_id_right` varchar(36) DEFAULT NULL COMMENT '文档2',
|
||||
`file_key_right` varchar(32) DEFAULT NULL COMMENT '文档key2',
|
||||
`serial_number_right` varchar(36) DEFAULT NULL COMMENT '编号2',
|
||||
`title_right` varchar(255) DEFAULT NULL COMMENT '标题2',
|
||||
`file_type_right` varchar(36) DEFAULT NULL COMMENT '文本状态2',
|
||||
`file_name_right` varchar(255) DEFAULT NULL COMMENT '文件名称2',
|
||||
`release_state` varchar(36) DEFAULT NULL COMMENT '发布状态',
|
||||
`remark` varchar(1000) DEFAULT NULL COMMENT '备注',
|
||||
`comments` varchar(1000) DEFAULT NULL COMMENT '评论',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 文档对比信息条目表 2022-08-07 已同步生产环境
|
||||
DROP TABLE IF EXISTS `sar_file_compare_item`;
|
||||
CREATE TABLE `sar_file_compare_item` (
|
||||
`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 '所属部门',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
|
||||
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录id',
|
||||
`items_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
|
||||
`items_num` varchar(255) DEFAULT NULL COMMENT '条款编号',
|
||||
`items_text` longtext COMMENT '条款正文',
|
||||
`items_display_num` int(11) DEFAULT NULL COMMENT '条款展示编号',
|
||||
`target_stand` int(11) DEFAULT NULL COMMENT '对应相似条目',
|
||||
`left_or_right` varchar(36) DEFAULT NULL COMMENT '条款位置',
|
||||
`reviewed` int(11) DEFAULT NULL COMMENT '是否被评论(0或1)',
|
||||
PRIMARY KEY (`id`)
|
||||
`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 '所属部门',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
|
||||
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录id',
|
||||
`items_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
|
||||
`items_num` varchar(255) DEFAULT NULL COMMENT '条款编号',
|
||||
`items_text` longtext COMMENT '条款正文',
|
||||
`items_display_num` int(11) DEFAULT NULL COMMENT '条款展示编号',
|
||||
`target_stand` int(11) DEFAULT NULL COMMENT '对应相似条目',
|
||||
`left_or_right` varchar(36) DEFAULT NULL COMMENT '条款位置',
|
||||
`reviewed` int(11) DEFAULT NULL COMMENT '是否被评论(0或1)',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 文档对比信息条目评论表 2022-08-07 已同步生产环境
|
||||
DROP TABLE IF EXISTS `sar_file_compare_item_comment`;
|
||||
CREATE TABLE `sar_file_compare_item_comment` (
|
||||
`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 '所属部门',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
|
||||
`items_id_left` varchar(36) DEFAULT NULL COMMENT '条款id左',
|
||||
`items_id_right` varchar(36) DEFAULT NULL COMMENT '条款id右',
|
||||
`comment` longtext COMMENT '评论',
|
||||
PRIMARY KEY (`id`)
|
||||
`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 '所属部门',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
|
||||
`items_id_left` varchar(36) DEFAULT NULL COMMENT '条款id左',
|
||||
`items_id_right` varchar(36) DEFAULT NULL COMMENT '条款id右',
|
||||
`comment` longtext COMMENT '评论',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 文档对比信息目录表 2022-08-07 已同步生产环境
|
||||
DROP TABLE IF EXISTS `sar_file_compare_menu`;
|
||||
CREATE TABLE `sar_file_compare_menu` (
|
||||
`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 '所属部门',
|
||||
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录ID',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '信息ID',
|
||||
`name` varchar(200) DEFAULT NULL COMMENT '目录名称',
|
||||
`parent_id` varchar(36) DEFAULT NULL COMMENT '父级目录ID',
|
||||
`display_seq` int(11) DEFAULT NULL COMMENT '排序序号',
|
||||
`left_or_right` varchar(32) DEFAULT NULL COMMENT '目录位置',
|
||||
`item_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
|
||||
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`)
|
||||
`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 '所属部门',
|
||||
`menu_id` varchar(36) DEFAULT NULL COMMENT '目录ID',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '信息ID',
|
||||
`name` varchar(200) DEFAULT NULL COMMENT '目录名称',
|
||||
`parent_id` varchar(36) DEFAULT NULL COMMENT '父级目录ID',
|
||||
`display_seq` int(11) DEFAULT NULL COMMENT '排序序号',
|
||||
`left_or_right` varchar(32) DEFAULT NULL COMMENT '目录位置',
|
||||
`item_name` varchar(255) DEFAULT NULL COMMENT '条款名称',
|
||||
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 文档对比信息结果表 2022-08-07 已同步生产环境
|
||||
DROP TABLE IF EXISTS `sar_file_compare_res_comment`;
|
||||
CREATE TABLE `sar_file_compare_res_comment` (
|
||||
`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 '所属部门',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
|
||||
`parent_id` varchar(36) DEFAULT NULL COMMENT '回复评论ID',
|
||||
`comment` longtext COMMENT '评论',
|
||||
PRIMARY KEY (`id`)
|
||||
`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 '所属部门',
|
||||
`info_id` varchar(36) DEFAULT NULL COMMENT '文档对比信息id',
|
||||
`parent_id` varchar(36) DEFAULT NULL COMMENT '回复评论ID',
|
||||
`comment` longtext COMMENT '评论',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 法规技术评估-条款信息评估结果表 字段增加长度 2022-08-08
|
||||
@@ -855,18 +852,78 @@ CREATE TABLE `laws_weilai`.`country_national_flag` (
|
||||
`national_flag_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗url',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '国家与国旗中间表' ROW_FORMAT = Dynamic;
|
||||
-- 初始化数据 2022-08-09
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('11', NULL, NULL, NULL, NULL, NULL, '澳大利亚', 'Australia', NULL, '澳大利亚.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('12', NULL, NULL, NULL, NULL, NULL, '新西兰', 'New Zealand', NULL, '新西兰.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('13', NULL, NULL, NULL, NULL, NULL, '英国', 'UK', NULL, '英国.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('2', NULL, NULL, NULL, NULL, NULL, '中国', 'China', NULL, '中国.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('3', NULL, NULL, NULL, NULL, NULL, '中国香港', 'Hong Kong China', NULL, '中国香港.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('4', NULL, NULL, NULL, NULL, NULL, '韩国', 'South Korea', NULL, '韩国.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('5', NULL, NULL, NULL, NULL, NULL, '日本', 'Japan', NULL, '日本.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('6', NULL, NULL, NULL, NULL, NULL, '新加坡', 'Singapore', NULL, '新加坡.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('7', NULL, NULL, NULL, NULL, NULL, '马来西亚', 'Malaysia', NULL, '马来西亚.jpg');
|
||||
-- 初始化数据 2022-08-10
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('1', NULL, NULL, NULL, NULL, NULL, '欧盟', 'EU', NULL, '/jero-boot/nationalFlag/EU.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('10', NULL, NULL, NULL, NULL, NULL, '美国', 'US', NULL, '/jero-boot/nationalFlag/US.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('11', NULL, NULL, NULL, NULL, NULL, '澳大利亚', 'Australia', NULL, '/jero-boot/nationalFlag/Australia.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('12', NULL, NULL, NULL, NULL, NULL, '新西兰', 'New Zealand', NULL, '/jero-boot/nationalFlag/NewZealand.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('13', NULL, NULL, NULL, NULL, NULL, '英国', 'UK', NULL, '/jero-boot/nationalFlag/UK.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('2', NULL, NULL, NULL, NULL, NULL, '中国', 'China', NULL, '/jero-boot/nationalFlag/China.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('3', NULL, NULL, NULL, NULL, NULL, '中国香港', 'Hong Kong China', NULL, '/jero-boot/nationalFlag/China.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('4', NULL, NULL, NULL, NULL, NULL, '韩国', 'South Korea', NULL, '/jero-boot/nationalFlag/SouthKorea.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('5', NULL, NULL, NULL, NULL, NULL, '日本', 'Japan', NULL, '/jero-boot/nationalFlag/Japan.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('6', NULL, NULL, NULL, NULL, NULL, '新加坡', 'Singapore', NULL, '/jero-boot/nationalFlag/Singapore.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('7', NULL, NULL, NULL, NULL, NULL, '马来西亚', 'Malaysia', NULL, '/jero-boot/nationalFlag/Malaysia.png');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('8', NULL, NULL, NULL, NULL, NULL, '海湾地区', 'GCC', NULL, '海湾地区.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('9', NULL, NULL, NULL, NULL, NULL, '阿联酋', 'UAE', NULL, '阿联酋.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('1', NULL, NULL, NULL, NULL, NULL, '欧盟', 'EU', NULL, '欧盟.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('10', NULL, NULL, NULL, NULL, NULL, '美国', 'US', NULL, '美国.jpg');
|
||||
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('9', NULL, NULL, NULL, NULL, NULL, '阿联酋', 'UAE', NULL, '/jero-boot/nationalFlag/UAE.png');
|
||||
|
||||
-- 法规意见收集-评估结果表字段长度调整 2022-08-11
|
||||
ALTER TABLE `laws_weilai`.`laws_opinion_assessment_result`
|
||||
MODIFY COLUMN `related_section` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '相关章节' AFTER `laws_opinion_gather_id`,
|
||||
MODIFY COLUMN `issue_or_suggest` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题/建议' AFTER `related_section`;
|
||||
-- 法规技术评估-评估结果表 字段长度调整 2022-08-11
|
||||
ALTER TABLE `laws_weilai`.`laws_technology_evaluation_result`
|
||||
MODIFY COLUMN `issue_or_suggest` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题/建议' AFTER `related_section`,
|
||||
MODIFY COLUMN `reason` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '理由' AFTER `issue_or_suggest`;
|
||||
|
||||
|
||||
-- 展示区域 英文修改 2022-08-11
|
||||
UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'Relevant Information' WHERE `id` = '1492408622838222850';
|
||||
UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'General Information' WHERE `id` = '1499657602378825729';
|
||||
UPDATE `laws_weilai`.`onl_cgform_area` SET `en_name` = 'Document Files' WHERE `id` = '1499658880093847553';
|
||||
|
||||
-- 数据字典 英文修改 2022-08-11
|
||||
-- 同步情况 sync_state
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'No' WHERE `id` = '1507311752583352322';
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Yes' WHERE `id` = '1507311835571851265';
|
||||
-- 转换结果 result_content
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'In progress' WHERE `id` = '1496785163561398273';
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Success' WHERE `id` = '1496785251536924674';
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Fail' WHERE `id` = '1496785330251427841';
|
||||
-- 机构类型 org_category
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Depart' WHERE `id` = '1174511244036587521';
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Company' WHERE `id` = '1174511197735665665';
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Position' WHERE `id` = '1174509082208395266';
|
||||
-- 项目状态 project_status 2022-08-12
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Development' WHERE `id` = '1513769417081630721';
|
||||
UPDATE `laws_weilai`.`sys_dict_item` SET `en_name` = 'Production' WHERE `id` = '1513769467044179970';
|
||||
|
||||
|
||||
-- 表字段 英文修改 2022-08-11
|
||||
-- OCR识别转换记录表
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Conversion Result' WHERE `id` = '6b29f1c0e03533bb380c5ead03195785';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Conversion Time' WHERE `id` = '85894f5ad04de66ccf45ebd96c97b534';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Text Status' WHERE `id` = '0240325189062ca96d262e44ccb5811b';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'File Name' WHERE `id` = 'a049f9915ab5f6be06d4b56f609b75ca';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Sync State' WHERE `id` = 'e560314880e6097deb64594262e09dab';
|
||||
-- 文档拆分表
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Split Time' WHERE `id` = '29c73fd0b2eeacb9870ab32f2f82eb3d';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Text Status' WHERE `id` = '804ff1fcbca3f47bdc9009b34069a9c5';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'File Name' WHERE `id` = 'c975087db4023e6e4a5b3732f0835e2e';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Split Result' WHERE `id` = 'e071def461ccb368dd9ae0ad4f982bc7';
|
||||
-- 文档拆分条款信息表
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Info Type' WHERE `id` = '09fa6530229280174071eae0514e0f63';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item No.' WHERE `id` = '0a455895498552bc709dff250b3364b1';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item Name' WHERE `id` = '9e91b704de198ccf2f5fb7297e675404';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Item Content' WHERE `id` = '120a92b6d595c2fd68d2b90278357ce4';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Technical Field' WHERE `id` = 'ccf68e6578a0a446a6ac34018f0a477d';
|
||||
-- 文档库信息表 2022-08-12
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Standard Type' WHERE `id` = '441588d80cc31ce68fbdf2ce8b36f93c';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Area' WHERE `id` = '9f82d58f22a12792a53e202d64a39f06';
|
||||
-- 参数项收集清单 2022-08-12
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Para Batch' WHERE `id` = '161c35a16e92682972dd1aeb26151fa2';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Para Name' WHERE `id` = 'e586bd87d4d826ce3d7d373caf54c6f6';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Status' WHERE `id` = '9050dc65a7b2fe82927b74a9ef4a4bb4';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Responsible Field' WHERE `id` = 'ed57f77975218560b37ea497a20109c6';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Filled by' WHERE `id` = 'a371f6d49781c0921a48f317d1ba69b6';
|
||||
UPDATE `laws_weilai`.`onl_cgform_field` SET `db_field_en_name` = 'Eng. Interface' WHERE `id` = '58c3d5a50c86be19d5ab0cd5ac4d6d8b';
|
||||
|
||||
@@ -85,11 +85,11 @@ public class JeroBootExceptionHandler {
|
||||
/**
|
||||
* spring默认上传大小100MB 超出大小捕获异常MaxUploadSizeExceededException
|
||||
*/
|
||||
@ExceptionHandler(MaxUploadSizeExceededException.class)
|
||||
public Result<?> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("文件大小超出10MB限制, 请压缩或降低文件质量! ");
|
||||
}
|
||||
// @ExceptionHandler(MaxUploadSizeExceededException.class)
|
||||
// public Result<?> handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) {
|
||||
// log.error(e.getMessage(), e);
|
||||
// return Result.error("文件大小超出100MB限制, 请压缩或降低文件质量! ");
|
||||
// }
|
||||
|
||||
@ExceptionHandler(DataIntegrityViolationException.class)
|
||||
public Result<?> handleDataIntegrityViolationException(DataIntegrityViolationException e) {
|
||||
|
||||
@@ -11,15 +11,15 @@ import java.util.Map;
|
||||
* @Date: Created in 15:17 2022/5/7
|
||||
*/
|
||||
public enum CollectManifestStateEnum {
|
||||
WAIT_COLLECT("待发起收集","Wait Collect","1"),
|
||||
WAIT_SDT("待工程接口人处理","Wait Sdt","2"),
|
||||
SDT_BACK("工程接口人退回","Sdt Back","3"),
|
||||
WAIT_FILL("待填写","Wait Fill","4"),
|
||||
DRE_BACK("填写人退回","Dre Back","5"),
|
||||
SUBMIT("已提交","Submit","6"),
|
||||
CERT_BACK("认证工程师退回","Cert Back","7"),
|
||||
SYNC_REPORT("已同步至上报库","Sync Report","8"),
|
||||
CHANGE("变更","Change","9");
|
||||
WAIT_COLLECT("待发起收集","To be collected","1"),
|
||||
WAIT_SDT("待工程接口人处理","To be processed by eng. interface","2"),
|
||||
SDT_BACK("工程接口人退回","Rejected by eng. interface","3"),
|
||||
WAIT_FILL("待填写","To be filled","4"),
|
||||
DRE_BACK("填写人退回","Rejected by the applicant","5"),
|
||||
SUBMIT("已提交","Submitted","6"),
|
||||
CERT_BACK("认证工程师退回","Rejected by homo engineer","7"),
|
||||
SYNC_REPORT("已同步至上报库","Synced to library","8"),
|
||||
CHANGE("变更","Modify","9");
|
||||
|
||||
String name;
|
||||
String enName;
|
||||
|
||||
@@ -9,9 +9,9 @@ import java.util.List;
|
||||
* @Date: Created in 16:47 2022/5/11
|
||||
*/
|
||||
public enum CollectManifestUserTypeEnum {
|
||||
HOMO("认证工程师", "Homologation Engineer", "homo"),
|
||||
SDT("工程接口人", "Sdt People","sdt"),
|
||||
DRE("填写人", "Dre People","dre"),
|
||||
HOMO("认证工程师", "Homo Engineer", "homo"),
|
||||
SDT("工程接口人", "Eng. Interface","sdt"),
|
||||
DRE("填写人", "Filled by","dre"),
|
||||
STUDIO("R&H Studio","R&H Studio","studio"),
|
||||
MANAGER("R&H Manager","R&H Manager","manager"),
|
||||
ADMIN("系统","Administrator","admin"),
|
||||
|
||||
@@ -1063,10 +1063,15 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList()); // studio 一个项目只有一个
|
||||
}
|
||||
|
||||
if (CollectionUtil.isEmpty(userRoleIds) && !studioList.contains(loginUser.getUsername())
|
||||
&& !homoList.contains(loginUser.getUsername())
|
||||
&& !sdtList.contains(loginUser.getUsername())
|
||||
&& !dreListOfPCM.contains(loginUser.getUsername())) {
|
||||
String loginUserName = loginUser.getUsername().toLowerCase();
|
||||
studioList = toLowerCaseOfList(studioList);
|
||||
homoList = toLowerCaseOfList(homoList);
|
||||
sdtList = toLowerCaseOfList(sdtList);
|
||||
dreListOfPCM = toLowerCaseOfList(dreListOfPCM);
|
||||
if (CollectionUtil.isEmpty(userRoleIds) && !studioList.contains(loginUserName)
|
||||
&& !homoList.contains(loginUserName)
|
||||
&& !sdtList.contains(loginUserName)
|
||||
&& !dreListOfPCM.contains(loginUserName)) {
|
||||
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
@@ -1079,7 +1084,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
return userTypeList;
|
||||
}
|
||||
|
||||
if (homoList.contains(loginUser.getUsername())) {
|
||||
if (homoList.contains(loginUserName)) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("label", CollectManifestUserTypeEnum.HOMO.getName());
|
||||
@@ -1090,7 +1095,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
userTypeList.add(map);
|
||||
}
|
||||
|
||||
if (sdtList.contains(loginUser.getUsername())) {
|
||||
if (sdtList.contains(loginUserName)) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("label", CollectManifestUserTypeEnum.SDT.getName());
|
||||
@@ -1101,7 +1106,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
userTypeList.add(map);
|
||||
}
|
||||
|
||||
if (dreListOfPCM.contains(loginUser.getUsername())) {
|
||||
if (dreListOfPCM.contains(loginUserName)) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("label", CollectManifestUserTypeEnum.DRE.getName());
|
||||
@@ -1112,7 +1117,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
userTypeList.add(map);
|
||||
}
|
||||
|
||||
if (studioList.contains(loginUser.getUsername())) {
|
||||
if (studioList.contains(loginUserName)) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("label", CollectManifestUserTypeEnum.STUDIO.getName());
|
||||
@@ -1140,6 +1145,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
return userTypeList;
|
||||
}
|
||||
|
||||
private List<String> toLowerCaseOfList(List<String> list) {
|
||||
List<String> newList = list;
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
newList = list.stream().map(String::toLowerCase).collect(Collectors.toList());
|
||||
}
|
||||
return newList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> isCollectFinished(String paramsManifestId) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
||||
@@ -386,7 +386,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
bussExportParams.setSheetName("企业参数表");
|
||||
} else {
|
||||
bussExportParams.setSheetName("Company Params");
|
||||
bussExportParams.setSheetName("Company parameter");
|
||||
}
|
||||
bussExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题
|
||||
bussExportParams.setStyle(CommonExcelExportStyler.class);
|
||||
@@ -727,7 +727,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
// 创建参数对象(用来设定excel得sheet得内容等信息)
|
||||
ExportParams bussExportParams = new ExportParams();
|
||||
// 设置sheet得名称
|
||||
bussExportParams.setSheetName("Company Params");
|
||||
bussExportParams.setSheetName("Company parameter");
|
||||
bussExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题
|
||||
bussExportParams.setStyle(CommonExcelExportStyler.class);
|
||||
// 创建sheet1使用得map
|
||||
@@ -930,8 +930,8 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
// 第几个sheet页
|
||||
if (numSheet == 0) { // 企业参数表
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
String fields[] ={ "*NIO Number", "*Is Must", "*Params Name","*Params Batch","*Duty Territory",
|
||||
"Description", "*Control Type", "Control Verify", "Control Values", "Default Value", "File Template"};
|
||||
String fields[] ={ "*NIO Number", "*Required", "*Para Name","*Para Batch","*Responsible Field",
|
||||
"Description", "*Control Component", "Validate Component", "Component Value", "Default Value", "File Template"};
|
||||
params.setImportFields(fields);
|
||||
|
||||
ExcelImportResult<ParamsInfoEnImport> resultEn = ExcelImportUtil.importExcelMore(excelfile,ParamsInfoEnImport.class, params);
|
||||
@@ -950,7 +950,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (certCategoryMap.containsKey(sheetName)) {
|
||||
List<CertCategoryParamsInfoCnImport> list = new ArrayList<>();
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
String fields[] ={ "*NIO Number", "*Number", "*Params Name","Description"};
|
||||
String fields[] ={ "*NIO Number", "*Number", "*Para Name","Description"};
|
||||
params.setImportFields(fields);
|
||||
|
||||
ExcelImportResult<CertCategoryParamsInfoEnImport> resultEn = ExcelImportUtil.importExcelMore(excelfile, CertCategoryParamsInfoEnImport.class, params);
|
||||
@@ -1235,7 +1235,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += "NIO编号格式错误,仅能为字母,数字,横杠(-),左斜杠,空格;";
|
||||
} else {
|
||||
errorMsg += "NIO number formatting errors, can only letters, numbers, dash (-),left slash,spaces;";
|
||||
errorMsg += "NIO number formatting errors, can only letters, numbers, dash (-),left slash,spaces; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
@@ -1257,10 +1257,10 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|
||||
// 是否必填
|
||||
String isMust = dto.getIsMust();
|
||||
resultMap = validateMustAndLength(isMust, "是否必填", "Is Must", IsMustEnum.YES.getValue(), "50", false, cut);
|
||||
resultMap = validateMustAndLength(isMust, "是否必填", "Required", IsMustEnum.YES.getValue(), "50", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
resultMap = getCodeByName(isMust,"是否必填","Is Must","enum",paramsIsMustEnumMap,null,null,cut);
|
||||
resultMap = getCodeByName(isMust,"是否必填","Required","enum",paramsIsMustEnumMap,null,null,cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
isMust = (String)resultMap.get("value");
|
||||
@@ -1268,7 +1268,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|
||||
// 参数名称
|
||||
String paramsName = dto.getParamsName();
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Params Name", IsMustEnum.YES.getValue(), "100", false, cut);
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Para Name", IsMustEnum.YES.getValue(), "100", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
|
||||
@@ -1285,10 +1285,10 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|
||||
// 参数批次
|
||||
String paramsBatch = dto.getParamsBatch();
|
||||
resultMap = validateMustAndLength(paramsBatch, "参数批次", "Params Batch", IsMustEnum.YES.getValue(), "50", true, cut);
|
||||
resultMap = validateMustAndLength(paramsBatch, "参数批次", "Para Batch", IsMustEnum.YES.getValue(), "50", true, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
resultMap = getCodeByName(paramsBatch,"参数批次", "Params Batch", "dicCode",null,itemNameList,dictItemList,cut);
|
||||
resultMap = getCodeByName(paramsBatch,"参数批次", "Para Batch", "dicCode",null,itemNameList,dictItemList,cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
paramsBatch = (String)resultMap.get("value");
|
||||
@@ -1296,10 +1296,10 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|
||||
// 责任领域
|
||||
String dutyTerritory = dto.getDutyTerritory();
|
||||
resultMap = validateMustAndLength(dutyTerritory, "责任领域", "Duty Territory", IsMustEnum.YES.getValue(), "50",true, cut);
|
||||
resultMap = validateMustAndLength(dutyTerritory, "责任领域", "Responsible Field", IsMustEnum.YES.getValue(), "50",true, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
resultMap = getCodeByName(dutyTerritory,"责任领域", "Duty Territory", "dicCode",null,itemNameList,dictItemList,cut);
|
||||
resultMap = getCodeByName(dutyTerritory,"责任领域", "Responsible Field", "dicCode",null,itemNameList,dictItemList,cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
dutyTerritory = (String)resultMap.get("value");
|
||||
@@ -1323,10 +1323,10 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|
||||
// 控件类型
|
||||
String controlType = dto.getControlType();
|
||||
resultMap = validateMustAndLength(controlType, "控件类型", "Control Type", IsMustEnum.YES.getValue(), "50", false, cut);
|
||||
resultMap = validateMustAndLength(controlType, "控件类型", "Control Component", IsMustEnum.YES.getValue(), "50", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
resultMap = getCodeByName(controlType,"控件类型", "Control Type", "enum",controlTypeEnumMap,null,null,cut);
|
||||
resultMap = getCodeByName(controlType,"控件类型", "Control Component", "enum",controlTypeEnumMap,null,null,cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
controlType = (String)resultMap.get("value");
|
||||
@@ -1352,9 +1352,9 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|| ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)
|
||||
|| ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType)
|
||||
|| ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) {
|
||||
resultMap = validateMustAndLength(controlValues, "控件备选值", "Control Values", IsMustEnum.YES.getValue(), "500", false, cut);
|
||||
resultMap = validateMustAndLength(controlValues, "控件备选值", "Component Value", IsMustEnum.YES.getValue(), "500", false, cut);
|
||||
} else {
|
||||
resultMap = validateMustAndLength(controlValues, "控件备选值", "Control Values", IsMustEnum.NO.getValue(), "500", false, cut);
|
||||
resultMap = validateMustAndLength(controlValues, "控件备选值", "Component Value", IsMustEnum.NO.getValue(), "500", false, cut);
|
||||
dto.setControlValues(null);
|
||||
}
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
@@ -1367,22 +1367,22 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
|| ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)
|
||||
|| ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)
|
||||
|| ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) {
|
||||
resultMap = validateMustAndLength(controlVerify, "控件校验", "Control Verify", IsMustEnum.YES.getValue(), "50", false, cut);
|
||||
resultMap = validateMustAndLength(controlVerify, "控件校验", "Validate Component", IsMustEnum.YES.getValue(), "50", false, cut);
|
||||
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
resultMap = getCodeByName(controlVerify,"控件校验", "Control Verify", "enum",controlVerifyEnumMap,null,null,cut);
|
||||
resultMap = getCodeByName(controlVerify,"控件校验", "Validate Component", "enum",controlVerifyEnumMap,null,null,cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
controlVerify = (String)resultMap.get("value");
|
||||
dto.setControlVerify(controlVerify);
|
||||
|
||||
} else {
|
||||
resultMap = validateMustAndLength(controlVerify, "控件校验", "Control Verify", IsMustEnum.NO.getValue(), "50", false, cut);
|
||||
resultMap = validateMustAndLength(controlVerify, "控件校验", "Validate Component", IsMustEnum.NO.getValue(), "50", false, cut);
|
||||
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
resultMap = getCodeByName(controlVerify,"控件校验", "Control Verify", "enum",controlVerifyEnumMap,null,null,cut);
|
||||
resultMap = getCodeByName(controlVerify,"控件校验", "Validate Component", "enum",controlVerifyEnumMap,null,null,cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
|
||||
@@ -1409,7 +1409,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += "附件模板只能上传一个文件;";
|
||||
} else {
|
||||
errorMsg += "File template only can upload one;";
|
||||
errorMsg += "File template only can upload one; ";
|
||||
}
|
||||
}
|
||||
for (String fileName : fileTemplateName.split(",")) {
|
||||
@@ -1419,7 +1419,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += "附件模板压缩包中没有" + fileName + "文件; ";
|
||||
} else {
|
||||
errorMsg += "File template " + fileName + "isn't present in the cabinet;";
|
||||
errorMsg += "File template " + fileName + "isn't present in the cabinet; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
@@ -1493,16 +1493,16 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += "nio编号格式错误,仅能为字母,数字,横杠(-),左斜杠,空格;";
|
||||
} else {
|
||||
errorMsg += "NIO number formatting errors, can only letters, numbers, dash (-),left slash,spaces;";
|
||||
errorMsg += "NIO number formatting errors, can only letters, numbers, dash (-),left slash,spaces; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(ccNioNumberImport)) {
|
||||
if (ccNioNumberImport.contains(ccDto.getNioNumber())) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += "NIO编号重复!";
|
||||
errorMsg += "NIO编号重复;";
|
||||
} else {
|
||||
errorMsg += "NIO number already exists!";
|
||||
errorMsg += "NIO number already exists; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
@@ -1524,14 +1524,14 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += "编号格式错误,仅能为字母,数字,横杠(-),小数点(.),左斜杠,空格;";
|
||||
} else {
|
||||
errorMsg += "Number formatting errors, can only letters, numbers, dash (-),dot (.),left slash,spaces;";
|
||||
errorMsg += "Number formatting errors, can only letters, numbers, dash (-),dot (.),left slash,spaces; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
// 参数名称
|
||||
String paramsName = ccDto.getParamsName();
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Params Name", IsMustEnum.YES.getValue(),"100", false, cut);
|
||||
resultMap = validateMustAndLength(paramsName, "参数名称", "Para Name", IsMustEnum.YES.getValue(),"100", false, cut);
|
||||
errorMsg += (String)resultMap.get("errorMsg");
|
||||
countError += (int)resultMap.get("countError");
|
||||
// 参数说明
|
||||
@@ -1558,7 +1558,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
stringMessage.add("导入数据中NIO编号:" + reduceOne + "下存在重复认证类别;");
|
||||
} else {
|
||||
stringMessage.add("Repeat cert category exist in NIO Number: " + reduceOne + ";");
|
||||
stringMessage.add("Repeat cert category exist in NIO Number: " + reduceOne + "; ");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1579,7 +1579,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
stringMessage.add("导入数据中NIO编号:" + reduceTwo + "下存在重复认证编号;");
|
||||
} else {
|
||||
stringMessage.add("Repeat number exist in NIO Number: " + reduceTwo + ";");
|
||||
stringMessage.add("Repeat number exist in NIO Number: " + reduceTwo + "; ");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1635,7 +1635,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += fieldNameCn + "为必填项,不能为空;";
|
||||
} else {
|
||||
errorMsg += fieldNameEn + " is mandatory and cannot be empty;";
|
||||
errorMsg += fieldNameEn + " is mandatory and cannot be empty; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
@@ -1644,7 +1644,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += fieldNameCn + "不能超过" + dbLength + "个字符;";
|
||||
} else {
|
||||
errorMsg += fieldNameEn + " can not be more than " + dbLength + " char;";
|
||||
errorMsg += fieldNameEn + " can not be more than " + dbLength + " char; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
@@ -1655,7 +1655,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += fieldNameCn + "为单选项;";
|
||||
} else {
|
||||
errorMsg += fieldNameEn + " is single type;";
|
||||
errorMsg += fieldNameEn + " is single type; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
@@ -1687,7 +1687,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += fieldNameCn + "中的" + lastValue + "与数据字典不匹配;";
|
||||
} else {
|
||||
errorMsg += fieldNameEn +" "+ lastValue + " does not match the data dictionary;";
|
||||
errorMsg += fieldNameEn +" "+ lastValue + " does not match the data dictionary; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
@@ -1742,7 +1742,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += fieldNameCn + "中的" + valueTemp + "与数据字典不匹配;";
|
||||
} else{
|
||||
errorMsg += fieldNameEn + " " + valueTemp + " does not match the data dictionary";
|
||||
errorMsg += fieldNameEn + " " + valueTemp + " does not match the data dictionary; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
@@ -1777,7 +1777,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += fieldNameCn + "中的" + value + "不正确;";
|
||||
} else{
|
||||
errorMsg += fieldNameEn + " " + value + " is not correct";
|
||||
errorMsg += fieldNameEn + " " + value + " is not correct; ";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class CertCategoryParamsInfoEnExport {
|
||||
private String paramsNumber;
|
||||
|
||||
/**参数名称*/
|
||||
@Excel(name = "*Params Name", width = 15, orderNum = "3")
|
||||
@Excel(name = "*Para Name", width = 15, orderNum = "3")
|
||||
@ApiModelProperty(value = "参数名称")
|
||||
private String paramsName;
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ public class CertCategoryParamsInfoEnImport {
|
||||
private String paramsNumber;
|
||||
|
||||
/**参数名称*/
|
||||
@Excel(name = "*Params Name", width = 15, orderNum = "3")
|
||||
@Excel(name = "*Para Name", width = 15, orderNum = "3")
|
||||
@ApiModelProperty(value = "参数名称")
|
||||
private String paramsName;
|
||||
|
||||
|
||||
@@ -50,12 +50,12 @@ public class ParamsInfoEnExport {
|
||||
private String nioNumber;
|
||||
|
||||
/**是否必填*/
|
||||
@Excel(name = "*Is Must", width = 15, replace = {"yes_1","no_0"})
|
||||
@Excel(name = "*Required", width = 15, replace = {"yes_1","no_0"})
|
||||
@ApiModelProperty(value = "是否必填")
|
||||
private String isMust;
|
||||
|
||||
/**参数名称*/
|
||||
@Excel(name = "*Params Name", width = 15)
|
||||
@Excel(name = "*Para Name", width = 15)
|
||||
@ApiModelProperty(value = "参数名称")
|
||||
private String paramsName;
|
||||
|
||||
@@ -66,13 +66,13 @@ public class ParamsInfoEnExport {
|
||||
private String technologyTerritory;
|
||||
|
||||
/**参数批次*/
|
||||
@Excel(name = "*Params Batch", width = 15, dicCode = "params_batch_en")
|
||||
@Excel(name = "*Para Batch", width = 15, dicCode = "params_batch_en")
|
||||
@Dict(dicCode = "params_batch")
|
||||
@ApiModelProperty(value = "参数批次")
|
||||
private String paramsBatch;
|
||||
|
||||
/**责任领域*/
|
||||
@Excel(name = "*Duty Territory", width = 15, dicCode = "duty_territory_en")
|
||||
@Excel(name = "*Responsible Field", width = 15, dicCode = "duty_territory_en")
|
||||
@Dict(dicCode = "duty_territory")
|
||||
@ApiModelProperty(value = "责任领域")
|
||||
private String dutyTerritory;
|
||||
@@ -89,17 +89,17 @@ public class ParamsInfoEnExport {
|
||||
private String certCategory;
|
||||
|
||||
/**控件类型*/
|
||||
@Excel(name = "*Control Type", width = 15, replace = {"Text_1","Pull single_2","Pull more_3","File_4","Text+Pull single_5","Text+Pull more_6","Text+File_7","Pull single+File_8","Pull more+File_9","Text+Pull single+File_10","Title_11"})
|
||||
@Excel(name = "*Control Component", width = 15, replace = {"Text_1","Pull single_2","Pull more_3","File_4","Text+Pull single_5","Text+Pull more_6","Text+File_7","Pull single+File_8","Pull more+File_9","Text+Pull single+File_10","Title_11"})
|
||||
@ApiModelProperty(value = "控件类型")
|
||||
private String controlType;
|
||||
|
||||
/**控件校验*/
|
||||
@Excel(name = "Control Verify", width = 15, replace = {"Null_1","Chinese_2","Integer_3","Positive float_4","Integer decimal_5","Decimal one_6","Decimal two_7","Decimal three_8","Decimal four_9"})
|
||||
@Excel(name = "Validate Component", width = 15, replace = {"Null_1","Chinese_2","Integer_3","Positive float_4","Integer decimal_5","Decimal one_6","Decimal two_7","Decimal three_8","Decimal four_9"})
|
||||
@ApiModelProperty(value = "控件校验")
|
||||
private String controlVerify;
|
||||
|
||||
/**控件备选值*/
|
||||
@Excel(name = "Control Values", width = 15)
|
||||
@Excel(name = "Component Value", width = 15)
|
||||
@ApiModelProperty(value = "控件备选值")
|
||||
private String controlValues;
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ public class ParamsInfoEnImport {
|
||||
private String nioNumber;
|
||||
|
||||
/**是否必填*/
|
||||
@Excel(name = "*Is Must", width = 15)
|
||||
@Excel(name = "*Required", width = 15)
|
||||
@ApiModelProperty(value = "是否必填")
|
||||
private String isMust;
|
||||
|
||||
/**参数名称*/
|
||||
@Excel(name = "*Params Name", width = 15)
|
||||
@Excel(name = "*Para Name", width = 15)
|
||||
@ApiModelProperty(value = "参数名称")
|
||||
private String paramsName;
|
||||
|
||||
@@ -33,12 +33,12 @@ public class ParamsInfoEnImport {
|
||||
private String technologyTerritory;
|
||||
|
||||
/**参数批次*/
|
||||
@Excel(name = "*Params Batch", width = 15)
|
||||
@Excel(name = "*Para Batch", width = 15)
|
||||
@ApiModelProperty(value = "参数批次")
|
||||
private String paramsBatch;
|
||||
|
||||
/**责任领域*/
|
||||
@Excel(name = "*Duty Territory", width = 15)
|
||||
@Excel(name = "*Responsible Field", width = 15)
|
||||
@ApiModelProperty(value = "责任领域")
|
||||
private String dutyTerritory;
|
||||
|
||||
@@ -53,17 +53,17 @@ public class ParamsInfoEnImport {
|
||||
private String certCategory;
|
||||
|
||||
/**控件类型*/
|
||||
@Excel(name = "*Control Type", width = 15)
|
||||
@Excel(name = "*Control Component", width = 15)
|
||||
@ApiModelProperty(value = "控件类型")
|
||||
private String controlType;
|
||||
|
||||
/**控件校验*/
|
||||
@Excel(name = "Control Verify", width = 15)
|
||||
@Excel(name = "Validate Component", width = 15)
|
||||
@ApiModelProperty(value = "控件校验")
|
||||
private String controlVerify;
|
||||
|
||||
/**控件备选值*/
|
||||
@Excel(name = "Control Values", width = 15)
|
||||
@Excel(name = "Component Value", width = 15)
|
||||
@ApiModelProperty(value = "控件备选值")
|
||||
private String controlValues;
|
||||
|
||||
|
||||
@@ -72,15 +72,15 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
||||
public OSSFile uploadLocal(MultipartFile mf, String bizPath, String state, String cut) {
|
||||
|
||||
//处理文件大小,大于100M抛出异常
|
||||
long fileSize = mf.getSize() / 1024 / 1024;
|
||||
String originalFilename = mf.getOriginalFilename();
|
||||
if (fileSize >= 100) {
|
||||
if (cut.equals(CutEnum.CN.getValue())) {
|
||||
throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||
} else {
|
||||
throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||
}
|
||||
}
|
||||
// long fileSize = mf.getSize() / 1024 / 1024;
|
||||
// String originalFilename = mf.getOriginalFilename();
|
||||
// if (fileSize >= 100) {
|
||||
// if (cut.equals(CutEnum.CN.getValue())) {
|
||||
// throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||
// } else {
|
||||
// throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||
// }
|
||||
// }
|
||||
|
||||
OSSFile oSSFile = new OSSFile();
|
||||
try {
|
||||
@@ -146,7 +146,7 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
||||
if (cut.equals(CutEnum.CN.getValue())) {
|
||||
throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
|
||||
} else {
|
||||
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
|
||||
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re-select the file!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -191,15 +191,15 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
||||
public OSSFile uploadLocalOfCos(MultipartFile mf, String bizPath, String state, String cut) {
|
||||
|
||||
//处理文件大小,大于100M抛出异常
|
||||
long fileSize = mf.getSize() / 1024 / 1024;
|
||||
String originalFilename = mf.getOriginalFilename();
|
||||
if (fileSize >= 100) {
|
||||
if (cut.equals(CutEnum.CN.getValue())) {
|
||||
throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||
} else {
|
||||
throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||
}
|
||||
}
|
||||
// long fileSize = mf.getSize() / 1024 / 1024;
|
||||
// String originalFilename = mf.getOriginalFilename();
|
||||
// if (fileSize >= 100) {
|
||||
// if (cut.equals(CutEnum.CN.getValue())) {
|
||||
// throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||
// } else {
|
||||
// throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||
// }
|
||||
// }
|
||||
|
||||
OSSFile oSSFile = new OSSFile();
|
||||
String ctxPath = uploadCospath;
|
||||
@@ -265,7 +265,7 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
||||
if (cut.equals(CutEnum.CN.getValue())) {
|
||||
throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
|
||||
} else {
|
||||
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
|
||||
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re-select the file!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -296,15 +296,15 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
||||
public OSSFile uploadLocalForSplit(MultipartFile mf, String bizPath, String state, String cut) {
|
||||
|
||||
//处理文件大小,大于100M抛出异常
|
||||
long fileSize = mf.getSize() / 1024 / 1024;
|
||||
String originalFilename = mf.getOriginalFilename();
|
||||
if (fileSize >= 100) {
|
||||
if (cut.equals(CutEnum.CN.getValue())) {
|
||||
throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||
} else {
|
||||
throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||
}
|
||||
}
|
||||
// long fileSize = mf.getSize() / 1024 / 1024;
|
||||
// String originalFilename = mf.getOriginalFilename();
|
||||
// if (fileSize >= 100) {
|
||||
// if (cut.equals(CutEnum.CN.getValue())) {
|
||||
// throw new JeroBootException(originalFilename + "文件大小超出100MB, 请压缩或降低文件质量!");
|
||||
// } else {
|
||||
// throw new JeroBootException(originalFilename + "File size out 100MB, Please compress or reduce file quality!");
|
||||
// }
|
||||
// }
|
||||
|
||||
OSSFile oSSFile = new OSSFile();
|
||||
String ctxPath = uploadCospath;
|
||||
@@ -357,7 +357,7 @@ public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> impl
|
||||
if (cut.equals(CutEnum.CN.getValue())) {
|
||||
throw new JeroBootException("只能够上传pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
|
||||
} else {
|
||||
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/静态图片类型的文件。请重新选择文件!");
|
||||
throw new JeroBootException("Only upload pdf/word/excel/csv/ppt/txt/zip/rar/Static image type file. Please re-select the file!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ public class SysDepartController {
|
||||
@ApiOperation(value = "部门管理-查询树状结构")
|
||||
@RequiresPermissions("sys:depart:list")
|
||||
@RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
|
||||
public Result<List<SysDepartTreeModel>> queryTreeList() {
|
||||
public Result<List<SysDepartTreeModel>> queryTreeList(@RequestParam(name = "cut", required = false) String cut) {
|
||||
Result<List<SysDepartTreeModel>> result = new Result<>();
|
||||
try {
|
||||
// 从内存中读取
|
||||
@@ -108,7 +108,7 @@ public class SysDepartController {
|
||||
// if (CollectionUtils.isEmpty(list)) {
|
||||
// list = sysDepartService.queryTreeList();
|
||||
// }
|
||||
List<SysDepartTreeModel> list = sysDepartService.queryTreeList();
|
||||
List<SysDepartTreeModel> list = sysDepartService.queryTreeList(cut);
|
||||
result.setResult(list);
|
||||
result.setSuccess(true);
|
||||
} catch (Exception e) {
|
||||
@@ -272,7 +272,9 @@ public class SysDepartController {
|
||||
*/
|
||||
@RequiresPermissions("sys:depart:list")
|
||||
@RequestMapping(value = "/searchBy", method = RequestMethod.GET)
|
||||
public Result<List<SysDepartTreeModel>> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord,@RequestParam(name = "myDeptSearch", required = false) String myDeptSearch) {
|
||||
public Result<List<SysDepartTreeModel>> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord,
|
||||
@RequestParam(name = "myDeptSearch", required = false) String myDeptSearch,
|
||||
@RequestParam(name = "cut", required = false) String cut) {
|
||||
Result<List<SysDepartTreeModel>> result = new Result<List<SysDepartTreeModel>>();
|
||||
//部门查询,myDeptSearch为1时为我的部门查询,登录用户为上级时查只查负责部门下数据
|
||||
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
@@ -280,7 +282,7 @@ public class SysDepartController {
|
||||
if(oConvertUtils.isNotEmpty(user.getUserIdentity()) && user.getUserIdentity().equals( CommonConstant.USER_IDENTITY_2 )){
|
||||
departIds = user.getDepartIds();
|
||||
}
|
||||
List<SysDepartTreeModel> treeList = this.sysDepartService.searhBy(keyWord,myDeptSearch,departIds);
|
||||
List<SysDepartTreeModel> treeList = this.sysDepartService.searhBy(keyWord,myDeptSearch,departIds,cut);
|
||||
if (treeList == null || treeList.size() == 0) {
|
||||
result.setSuccess(false);
|
||||
result.setMessage("未查询匹配数据!");
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.PermissionData;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.util.JwtUtil;
|
||||
@@ -1486,7 +1487,7 @@ public class SysUserController {
|
||||
Result<List<SysDepartUserTreeModel>> result = new Result<>();
|
||||
|
||||
//获取当前组织下数据
|
||||
List<SysDepartTreeModel> departTreeModelList = sysDepartService.queryTreeListByDepartId(departId);
|
||||
List<SysDepartTreeModel> departTreeModelList = sysDepartService.queryTreeListByDepartId(departId, sysPushVO.getCut());
|
||||
if (StringUtils.isNotEmpty(departId)) {
|
||||
List<String> departIds = new ArrayList<>();
|
||||
departIds.add(departId);
|
||||
@@ -1537,7 +1538,7 @@ public class SysUserController {
|
||||
@AutoLog(value = "文档库推送部门和人员的模糊搜索")
|
||||
@ApiOperation(value="文档库推送部门和人员的模糊搜索", notes="文档库推送部门和人员的模糊搜索")
|
||||
@GetMapping(value = "/getUserAndDepart")
|
||||
public List<SysUserDepartVO> getUserAndDepart(String name){
|
||||
public List<SysUserDepartVO> getUserAndDepart(String name, String cut){
|
||||
if("%".equals(name)){
|
||||
name = "/%";
|
||||
}
|
||||
@@ -1546,7 +1547,11 @@ public class SysUserController {
|
||||
List<SysUser> sysUserList = sysUserService.list(lambdaQueryWrapper);
|
||||
|
||||
LambdaQueryWrapper<SysDepart> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.like(SysDepart::getDepartName,name);
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
wrapper.like(SysDepart::getDepartNameEn, name);
|
||||
} else {
|
||||
wrapper.like(SysDepart::getDepartName, name);
|
||||
}
|
||||
List<SysDepart> sysDepartList = sysDepartService.list(wrapper);
|
||||
|
||||
List<SysUserDepartVO> list = new LinkedList<>();
|
||||
@@ -1554,7 +1559,11 @@ public class SysUserController {
|
||||
for (SysDepart sysDepart : sysDepartList) {
|
||||
SysUserDepartVO sysUserDepartVO = new SysUserDepartVO();
|
||||
sysUserDepartVO.setKey(sysDepart.getId());
|
||||
sysUserDepartVO.setTitle(sysDepart.getDepartName());
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
sysUserDepartVO.setTitle(sysDepart.getDepartNameEn());
|
||||
} else {
|
||||
sysUserDepartVO.setTitle(sysDepart.getDepartName());
|
||||
}
|
||||
sysUserDepartVO.setFlag(UserOrDepartEnum.USER.getValue());
|
||||
list.add(sysUserDepartVO);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class PPEmployee {
|
||||
private String data_provider; // 第三方数据提供商
|
||||
private String extension_attribute1; // O365标签
|
||||
private String working_hour; // 工作制
|
||||
private String domain; // 账号所属域
|
||||
private String domain; // 账号所属域 美国-amer
|
||||
private String ad_failed; // 创建ad失败原账号
|
||||
private String have_employees; // 是否有下属员工
|
||||
private String id; // id ----id
|
||||
|
||||
@@ -27,9 +27,9 @@ public interface ISysDepartService extends IService<SysDepart>{
|
||||
* 查询所有部门信息,并分节点进行显示
|
||||
* @return
|
||||
*/
|
||||
List<SysDepartTreeModel> queryTreeList();
|
||||
List<SysDepartTreeModel> queryTreeList(String cut);
|
||||
|
||||
List<SysDepartTreeModel> queryTreeListByDepartId(String departId);
|
||||
List<SysDepartTreeModel> queryTreeListByDepartId(String departId, String cut);
|
||||
|
||||
/**
|
||||
* 查询所有部门DepartId信息,并分节点进行显示
|
||||
@@ -62,7 +62,7 @@ public interface ISysDepartService extends IService<SysDepart>{
|
||||
* @param keyWord
|
||||
* @return
|
||||
*/
|
||||
List<SysDepartTreeModel> searhBy(String keyWord,String myDeptSearch,String departIds);
|
||||
List<SysDepartTreeModel> searhBy(String keyWord,String myDeptSearch,String departIds,String cut);
|
||||
|
||||
/**
|
||||
* 根据部门id删除并删除其可能存在的子级部门
|
||||
|
||||
@@ -227,7 +227,7 @@ public class SyncDataServiceImpl implements ISyncDataService{
|
||||
JSONObject resultJsonEU = (JSONObject) myJsonEU.get("data");
|
||||
//将第一页的账户信息转换为本地dto集合
|
||||
List<JSONObject> userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class);
|
||||
List<PPEmployee> currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN");
|
||||
List<PPEmployee> currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EU");
|
||||
ppEmployeeList.addAll(currentPPEmployeeListEU);
|
||||
|
||||
//获取总记录数
|
||||
@@ -246,7 +246,7 @@ public class SyncDataServiceImpl implements ISyncDataService{
|
||||
log.debug("【欧洲】打印输出本次同步信息返回结果:"+myJsonEU.get("data").toString());
|
||||
resultJsonEU = (JSONObject) myJsonEU.get("data");
|
||||
userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class);
|
||||
currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN");
|
||||
currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EU");
|
||||
ppEmployeeList.addAll(currentPPEmployeeListEU);
|
||||
}
|
||||
}
|
||||
@@ -261,21 +261,22 @@ public class SyncDataServiceImpl implements ISyncDataService{
|
||||
for(PPEmployee ppEmployee:ppEmployeeList){
|
||||
try {
|
||||
PPEmployeeMap.put(ppEmployee.getWorker_user_id(), ppEmployee);
|
||||
//1.判断当前账号是否已添加到用户中
|
||||
if (!localUserMap.containsKey(ppEmployee.getWorker_user_id())) {
|
||||
//删除数据库中与该账户相同的数据
|
||||
if(StringUtils.isNotBlank(ppEmployee.getWorker_user_id())) {
|
||||
if (StringUtils.isNotBlank(ppEmployee.getWorker_user_id())) {
|
||||
ppEmployee.setWorker_user_id(ppEmployee.getWorker_user_id().toLowerCase()); // 转小写
|
||||
|
||||
//1.判断当前账号是否已添加到用户中
|
||||
if (!localUserMap.containsKey(ppEmployee.getWorker_user_id())) {
|
||||
//删除数据库中与该账户相同的数据
|
||||
// sysUserService.removeById(ppEmployee.getId()); // 这个为什么是逻辑删除
|
||||
log.info("需要新增的用户信息为:" + JSONObject.toJSONString(ppEmployee));
|
||||
SysUser newUser = sysUserService.addPPUserInfo(ppEmployee);
|
||||
localUserMap.put(ppEmployee.getWorker_user_id(), newUser);
|
||||
}
|
||||
|
||||
} else {
|
||||
SysUser userEO = localUserMap.get(ppEmployee.getWorker_user_id());
|
||||
log.info("需要更新的用户信息为:" + JSONObject.toJSONString(userEO) + " " + JSONObject.toJSONString(ppEmployee));
|
||||
if(userEO != null) {
|
||||
sysUserService.updatePPUserInfo(userEO, ppEmployee);
|
||||
}else {
|
||||
SysUser userEO = localUserMap.get(ppEmployee.getWorker_user_id());
|
||||
log.info("需要更新的用户信息为:" + JSONObject.toJSONString(userEO) + " " + JSONObject.toJSONString(ppEmployee));
|
||||
if (userEO != null) {
|
||||
sysUserService.updatePPUserInfo(userEO, ppEmployee);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.CacheConstant;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.FillRuleConstant;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.vo.SysDepartTreeModel;
|
||||
import com.jero.common.util.FillRuleUtil;
|
||||
import com.jero.common.util.YouBianCodeUtil;
|
||||
@@ -70,7 +71,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
}
|
||||
}
|
||||
// 调用wrapTreeDataToTreeList方法生成树状数据
|
||||
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listDepts);
|
||||
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listDepts, null);
|
||||
return listResult;
|
||||
}
|
||||
|
||||
@@ -79,20 +80,20 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
*/
|
||||
@Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE)
|
||||
@Override
|
||||
public List<SysDepartTreeModel> queryTreeList() {
|
||||
public List<SysDepartTreeModel> queryTreeList(String cut) {
|
||||
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
|
||||
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
|
||||
query.last("order by depart_order is null, depart_order asc");
|
||||
List<SysDepart> list = this.list(query);
|
||||
// 调用wrapTreeDataToTreeList方法生成树状数据
|
||||
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
|
||||
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list, cut);
|
||||
return listResult;
|
||||
}
|
||||
|
||||
|
||||
// @Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE)
|
||||
@Override
|
||||
public List<SysDepartTreeModel> queryTreeListByDepartId(String departId) {
|
||||
public List<SysDepartTreeModel> queryTreeListByDepartId(String departId, String cut) {
|
||||
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
|
||||
if (StringUtils.isBlank(departId)) {
|
||||
query.isNull(SysDepart::getParentId);
|
||||
@@ -108,7 +109,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
SysDepart depart = list.get(i);
|
||||
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
|
||||
// 将sysDepart转换为sysDepartTreeModel
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel);
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel, cut);
|
||||
listResult.add(sysDepartTreeModel);
|
||||
}
|
||||
return listResult;
|
||||
@@ -301,7 +302,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
* </p>
|
||||
*/
|
||||
@Override
|
||||
public List<SysDepartTreeModel> searhBy(String keyWord,String myDeptSearch,String departIds) {
|
||||
public List<SysDepartTreeModel> searhBy(String keyWord,String myDeptSearch,String departIds,String cut) {
|
||||
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
|
||||
List<SysDepartTreeModel> newList = new ArrayList<>();
|
||||
//myDeptSearch不为空时为我的部门搜索,只搜索所负责部门
|
||||
@@ -317,7 +318,12 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
}
|
||||
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
|
||||
}
|
||||
query.like(SysDepart::getDepartName, keyWord);
|
||||
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
query.like(SysDepart::getDepartNameEn, keyWord);
|
||||
} else {
|
||||
query.like(SysDepart::getDepartName, keyWord);
|
||||
}
|
||||
//update-begin--Author:huangzhilin Date:20140417 for:[bugfree号]组织机构搜索回显优化--------------------
|
||||
SysDepartTreeModel model = new SysDepartTreeModel();
|
||||
List<SysDepart> departList = this.list(query);
|
||||
@@ -325,7 +331,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
for(SysDepart depart : departList) {
|
||||
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
|
||||
// 将sysDepart转换为sysDepartTreeModel
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel);
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel, cut);
|
||||
model = sysDepartTreeModel;
|
||||
model.setChildren(null);
|
||||
//update-end--Author:huangzhilin Date:20140417 for:[bugfree号]组织机构搜索功回显优化----------------------
|
||||
@@ -473,7 +479,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
query.orderByAsc(SysDepart::getDepartOrder);
|
||||
List<SysDepart> list = this.list(query);
|
||||
// 调用wrapTreeDataToTreeList方法生成树状数据
|
||||
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
|
||||
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list, null);
|
||||
List<SysDepartTreeModel> treelist =new ArrayList<>();
|
||||
if(StringUtils.isNotBlank(keyWord)){
|
||||
this.getTreeByKeyWord(keyWord,listResult,treelist);
|
||||
@@ -519,7 +525,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
}
|
||||
Collections.reverse(list);
|
||||
// 调用wrapTreeDataToTreeList方法生成树状数据
|
||||
return FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
|
||||
return FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -547,7 +553,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
SysDepart sysDepartTemp = this.getById(id);
|
||||
listResult.add(sysDepartTemp);
|
||||
});
|
||||
List<SysDepartTreeModel> sysDepartTreeModels = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listResult);
|
||||
List<SysDepartTreeModel> sysDepartTreeModels = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listResult, null);
|
||||
realResult.addAll(sysDepartTreeModels);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.jero.modules.system.util;
|
||||
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.vo.SysDepartTreeModel;
|
||||
import com.jero.common.util.RedisUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.model.DepartIdModel;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -32,7 +30,7 @@ public class FindsDepartsChildrenUtil {
|
||||
* queryTreeList的子方法 ====1=====
|
||||
* 该方法是s将SysDepart类型的list集合转换成SysDepartTreeModel类型的集合
|
||||
*/
|
||||
public static List<SysDepartTreeModel> wrapTreeDataToTreeList(List<SysDepart> recordList) {
|
||||
public static List<SysDepartTreeModel> wrapTreeDataToTreeList(List<SysDepart> recordList, String cut) {
|
||||
// 在该方法每请求一次,都要对全局list集合进行一次清理
|
||||
//idList.clear();
|
||||
List<DepartIdModel> idList = new ArrayList<DepartIdModel>();
|
||||
@@ -41,7 +39,7 @@ public class FindsDepartsChildrenUtil {
|
||||
SysDepart depart = recordList.get(i);
|
||||
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
|
||||
// 将sysDepart转换为sysDepartTreeModel
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel);
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel, cut);
|
||||
records.add(sysDepartTreeModel);
|
||||
}
|
||||
List<SysDepartTreeModel> tree = findChildren(records, idList);
|
||||
@@ -63,7 +61,7 @@ public class FindsDepartsChildrenUtil {
|
||||
SysDepart depart = recordList.get(i);
|
||||
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
|
||||
// 将sysDepart转换为sysDepartTreeModel
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel);
|
||||
convertSysDepartToSysDepartTreeModel(depart, sysDepartTreeModel, null);
|
||||
records.add(sysDepartTreeModel);
|
||||
}
|
||||
findChildren(records, idList);
|
||||
@@ -144,10 +142,14 @@ public class FindsDepartsChildrenUtil {
|
||||
* @param sysDepartTreeModel 转换的结果对象
|
||||
* @return
|
||||
*/
|
||||
public static void convertSysDepartToSysDepartTreeModel(SysDepart sysDepart, SysDepartTreeModel sysDepartTreeModel){
|
||||
public static void convertSysDepartToSysDepartTreeModel(SysDepart sysDepart, SysDepartTreeModel sysDepartTreeModel, String cut){
|
||||
sysDepartTreeModel.setKey( sysDepart.getId());
|
||||
sysDepartTreeModel.setValue( sysDepart.getId());
|
||||
sysDepartTreeModel.setTitle(sysDepart.getDepartName());
|
||||
if (CutEnum.EN.getValue().equals(cut)) { // 部门名称中英文处理
|
||||
sysDepartTreeModel.setTitle(sysDepart.getDepartNameEn());
|
||||
} else {
|
||||
sysDepartTreeModel.setTitle(sysDepart.getDepartName());
|
||||
}
|
||||
sysDepartTreeModel.setId(sysDepart.getId());
|
||||
sysDepartTreeModel.setParentId(sysDepart.getParentId());
|
||||
sysDepartTreeModel.setDepartName(sysDepart.getDepartName());
|
||||
@@ -169,4 +171,5 @@ public class FindsDepartsChildrenUtil {
|
||||
sysDepartTreeModel.setUpdateBy(sysDepart.getUpdateBy());
|
||||
sysDepartTreeModel.setUpdateTime(sysDepart.getUpdateTime());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,14 +2,13 @@ package com.jero.modules.compare.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.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.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;
|
||||
@@ -17,6 +16,8 @@ import com.jero.modules.compare.entity.SarFileCompareDetailVO;
|
||||
import com.jero.modules.compare.entity.SarFileCompareInfo;
|
||||
import com.jero.modules.compare.service.ISarFileCompareInfoService;
|
||||
import com.jero.modules.docTranslation.enums.ReleaseConditionEnum;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.util.StringUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -50,22 +51,34 @@ public class SarFileCompareInfoController extends JeroController<SarFileCompareI
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @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,
|
||||
@RequestParam(name = "cut", defaultValue = "cn") String cut, HttpServletRequest req) {
|
||||
QueryWrapper<SarFileCompareInfo> queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareInfo, req.getParameterMap());
|
||||
public Result<?> queryPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
@RequestParam(name = "cut", defaultValue = "cn") String cut,
|
||||
@RequestParam(name = "serialNumber", defaultValue = "") String serialNumber,
|
||||
@RequestParam(name = "title", defaultValue = "") String title,
|
||||
@RequestParam(name = "releaseState", defaultValue = "") String releaseState,
|
||||
HttpServletRequest req) {
|
||||
LambdaQueryWrapper<SarFileCompareInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
queryWrapper.eq("create_by", sysUser.getUsername()).or().eq("release_state", ReleaseConditionEnum.DRAFT.getValue());
|
||||
Page<SarFileCompareInfo> page = new Page<SarFileCompareInfo>(pageNo, pageSize);
|
||||
queryWrapper.and(LambdaQueryWrapper -> LambdaQueryWrapper.eq(SarFileCompareInfo::getCreateBy, sysUser.getUsername()).or().eq(SarFileCompareInfo::getReleaseState, ReleaseConditionEnum.PUBLISHED.getValue()));
|
||||
if (StringUtils.isNotBlank(serialNumber)) {
|
||||
String finalSerialNumber = serialNumber.replace("%", "\\%");;
|
||||
queryWrapper.and(LambdaQueryWrapper -> LambdaQueryWrapper.like(SarFileCompareInfo::getSerialNumberLeft, finalSerialNumber).or().like(SarFileCompareInfo::getSerialNumberRight, finalSerialNumber));
|
||||
|
||||
}
|
||||
if (StringUtils.isNotBlank(title)) {
|
||||
String finalTitle = title.replace("%", "\\%");
|
||||
queryWrapper.and(i -> i.like(SarFileCompareInfo::getTitleLeft, finalTitle).or().like(SarFileCompareInfo::getTitleRight, finalTitle));
|
||||
}
|
||||
if (StringUtils.isNotBlank(releaseState)) {
|
||||
queryWrapper.and(LambdaQueryWrapper -> LambdaQueryWrapper.eq(SarFileCompareInfo::getReleaseState, releaseState));
|
||||
}
|
||||
queryWrapper.orderByDesc(SarFileCompareInfo::getCreateTime);
|
||||
Page<SarFileCompareInfo> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SarFileCompareInfo> pageList = sarFileCompareInfoService.page(page, queryWrapper);
|
||||
for (SarFileCompareInfo info : pageList.getRecords()) {
|
||||
info.setReleaseStateTitle(ReleaseConditionEnum.getTextByValue(info.getReleaseState(), cut));
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.compare.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.compare.entity.*;
|
||||
import com.jero.modules.compare.mapper.SarFileCompareInfoMapper;
|
||||
@@ -9,6 +10,7 @@ import com.jero.modules.compare.service.ISarFileCompareMenuService;
|
||||
import com.jero.modules.compare.utils.CompHanLPUtils;
|
||||
import com.jero.modules.compare.utils.CompareConst;
|
||||
import com.jero.modules.docTranslation.enums.ReleaseConditionEnum;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitItemsEO;
|
||||
import com.jero.modules.split.entity.SarFileSplitMenuEO;
|
||||
@@ -44,6 +46,9 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
|
||||
@Autowired
|
||||
private ISarFileCompareMenuService sarFileCompareMenuService;
|
||||
|
||||
@Autowired
|
||||
private IBussDocumentLibraryEOService bussDocumentLibraryEOService;
|
||||
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -228,15 +233,24 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl<SarFileCompareInf
|
||||
SarFileCompareInfo sarFileCompareInfo = new SarFileCompareInfo();
|
||||
String id = UUID.randomUUID().toString();
|
||||
sarFileCompareInfo.setId(id);
|
||||
sarFileCompareInfo.setFileIdLeft(leftInfo.getId());
|
||||
sarFileCompareInfo.setFileKeyLeft(leftInfo.getFileId());
|
||||
sarFileCompareInfo.setFileIdLeft(leftInfo.getFileId());
|
||||
// 处理文档库id字段 根据编号和标题查询
|
||||
List<Map<String, Object>> bussDocumentLibraryEOList = bussDocumentLibraryEOService.getListBySerialNumber(leftInfo.getSerialNumber());
|
||||
if (CollectionUtil.isNotEmpty(bussDocumentLibraryEOList)) {
|
||||
sarFileCompareInfo.setFileKeyLeft(bussDocumentLibraryEOList.get(0).get("id").toString());
|
||||
}
|
||||
sarFileCompareInfo.setFileNameLeft(leftInfo.getFileName());
|
||||
sarFileCompareInfo.setTitleLeft(leftInfo.getTitle());
|
||||
sarFileCompareInfo.setFileTypeLeft(leftInfo.getFileType());
|
||||
sarFileCompareInfo.setSerialNumberLeft(leftInfo.getSerialNumber());
|
||||
|
||||
sarFileCompareInfo.setFileIdRight(rightInfo.getId());
|
||||
sarFileCompareInfo.setFileKeyRight(rightInfo.getFileId());
|
||||
sarFileCompareInfo.setFileIdRight(rightInfo.getFileId());
|
||||
// 处理文档库id字段 根据编号和标题查询
|
||||
List<Map<String, Object>> bussDocumentLibraryEOList1 = bussDocumentLibraryEOService.getListBySerialNumber(rightInfo.getSerialNumber());
|
||||
if (CollectionUtil.isNotEmpty(bussDocumentLibraryEOList1)) {
|
||||
sarFileCompareInfo.setFileKeyRight(bussDocumentLibraryEOList1.get(0).get("id").toString());
|
||||
}
|
||||
sarFileCompareInfo.setFileKeyRight(rightInfo.getConnectId());
|
||||
sarFileCompareInfo.setFileNameRight(rightInfo.getFileName());
|
||||
sarFileCompareInfo.setFileTypeRight(rightInfo.getFileType());
|
||||
sarFileCompareInfo.setTitleRight(rightInfo.getTitle());
|
||||
|
||||
@@ -193,7 +193,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
// 创建头部
|
||||
String header = "";
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
header = "条款号,条款名称,条款内容,条款号,条款名称,条款内容,评论";
|
||||
header = "条款号,条款名称,条款内容,条款号,条款名称,条款内容,评论";
|
||||
} else {
|
||||
header = "Number,Title,Content,Number,Title,Content,Comment";
|
||||
}
|
||||
|
||||
@@ -293,7 +293,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
//文档动态信息添加
|
||||
if(StringUtils.isNotBlank(sbTemp)){
|
||||
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
||||
String msgContent = "The " + StringUtils.join(serialNumberListTemp,",") + " has been deleted from the document library.";
|
||||
String msgEndStr = " has been deleted from the document library.";
|
||||
if (serialNumberListTemp.size() > 1) {
|
||||
msgEndStr = " have been deleted from the document library.";
|
||||
}
|
||||
String msgContent = "The standard " + StringUtils.join(serialNumberListTemp,",") + msgEndStr;
|
||||
homeDocumentDynamicEO.setMsgContent(msgContent);
|
||||
homeDocumentDynamicEO.setMsgContentInfo(msgContent);
|
||||
homeDocumentDynamicEOService.save(homeDocumentDynamicEO);
|
||||
@@ -2143,8 +2147,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
//文档动态, 文档库中新增了标准XXXX homeDocumentDynamicEOService
|
||||
//The standard GB 7258-2017 Technical specifications has been added to the document library.
|
||||
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
||||
homeDocumentDynamicEO.setMsgContent("The " + category + " " + serialNumber + " " + titleEn + " has been added to the document library.");
|
||||
homeDocumentDynamicEO.setMsgContentInfo("The " + href + " has been added to the document library.");
|
||||
homeDocumentDynamicEO.setMsgContent("The standard " + category + " " + serialNumber + " " + titleEn + " has been added to the document library.");
|
||||
homeDocumentDynamicEO.setMsgContentInfo("The standard " + href + " has been added to the document library.");
|
||||
homeDocumentDynamicEOService.save(homeDocumentDynamicEO);
|
||||
|
||||
|
||||
@@ -2596,11 +2600,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
StringBuilder msgContentSb = new StringBuilder();
|
||||
StringBuilder msgContentInfoSb = new StringBuilder();
|
||||
//适用车型
|
||||
StringBuilder msgContentSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + serialNumber + " " + titleEn);
|
||||
StringBuilder msgContentInfoSbCarType = new StringBuilder("Vehicle Type of the " + category + " " + href);
|
||||
StringBuilder msgContentSbCarType = new StringBuilder("Vehicle Type of the standard " + category + " " + serialNumber + " " + titleEn);
|
||||
StringBuilder msgContentInfoSbCarType = new StringBuilder("Vehicle Type of the standard " + category + " " + href);
|
||||
//状态
|
||||
StringBuilder msgContentSbStatus = new StringBuilder("The Status of the " + category + " " + serialNumber + " " + titleEn);
|
||||
StringBuilder msgContentInfoSbStatus = new StringBuilder("The Status of the " + category + " " + href);
|
||||
StringBuilder msgContentSbStatus = new StringBuilder("The Status of the standard " + category + " " + serialNumber + " " + titleEn);
|
||||
StringBuilder msgContentInfoSbStatus = new StringBuilder("The Status of the standard " + category + " " + href);
|
||||
|
||||
|
||||
List<String> fileIdLIstTemp = new ArrayList<>();
|
||||
@@ -2634,8 +2638,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
//
|
||||
if(StringUtils.isBlank(value)){
|
||||
msgContentSbStatus.append(" has been modified to be null ,");
|
||||
msgContentInfoSbStatus.append(" has been modified to be null ,");
|
||||
msgContentSbStatus.append(" has been modified to be null,");
|
||||
msgContentInfoSbStatus.append(" has been modified to be null,");
|
||||
msgContentSb.append(msgContentSbStatus);
|
||||
msgContentInfoSb.append(msgContentInfoSbStatus);
|
||||
}else{
|
||||
@@ -2670,8 +2674,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
value = substring;
|
||||
}
|
||||
if(StringUtils.isBlank(value)){
|
||||
msgContentSbCarType.append(" has been modified to be null ,");
|
||||
msgContentInfoSbCarType.append(" has been modified to be null ,");
|
||||
msgContentSbCarType.append(" has been modified to be null,");
|
||||
msgContentInfoSbCarType.append(" has been modified to be null,");
|
||||
msgContentSb.append(msgContentSbCarType);
|
||||
msgContentInfoSb.append(msgContentInfoSbCarType);
|
||||
}else{
|
||||
@@ -2691,8 +2695,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
msgContentInfoSb.append(contentInfoFile);
|
||||
}
|
||||
if(count > 0){
|
||||
String msgContent = msgContentSb.substring(0, msgContentSb.length() - 1);
|
||||
String msgContentInfo = msgContentInfoSb.substring(0, msgContentInfoSb.length() - 1);
|
||||
String msgContent = msgContentSb.substring(0, msgContentSb.length() - 1) + ".";
|
||||
String msgContentInfo = msgContentInfoSb.substring(0, msgContentInfoSb.length() - 1) + ".";
|
||||
HomeDocumentDynamicEO homeDocumentDynamicEO = new HomeDocumentDynamicEO();
|
||||
homeDocumentDynamicEO.setMsgContent(msgContent);
|
||||
homeDocumentDynamicEO.setMsgContentInfo(msgContentInfo);
|
||||
@@ -4571,7 +4575,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
} else {
|
||||
//编号
|
||||
map1.put("db_field_name", "serial_number");//字段
|
||||
map1.put("db_field_txt", "Serial number");//字段中文名
|
||||
map1.put("db_field_txt", "Number");//字段中文名
|
||||
list.add(map1);
|
||||
//标题
|
||||
map2.put("db_field_name", "title_en");//字段
|
||||
@@ -4579,15 +4583,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
list.add(map2);
|
||||
//状态
|
||||
map3.put("db_field_name", "state");//字段
|
||||
map3.put("db_field_txt", "State");//字段中文名
|
||||
map3.put("db_field_txt", "Status");//字段中文名
|
||||
list.add(map3);
|
||||
//文件名称
|
||||
map4.put("db_field_name", "file_name");//字段
|
||||
map4.put("db_field_txt", "File name");//字段中文名
|
||||
map4.put("db_field_txt", "File Name");//字段中文名
|
||||
list.add(map4);
|
||||
//文件信息
|
||||
map5.put("db_field_name", "text_info");//字段
|
||||
map5.put("db_field_txt", "Text info");//字段中文名
|
||||
map5.put("db_field_txt", "Text Info");//字段中文名
|
||||
list.add(map5);
|
||||
}
|
||||
} else if ("condition".equals(flag)) {
|
||||
@@ -4607,7 +4611,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
} else {
|
||||
//编号
|
||||
map1.put("db_field_name", "serial_number");//字段
|
||||
map1.put("db_field_txt", "Serial number");//字段中文名
|
||||
map1.put("db_field_txt", "Number");//字段中文名
|
||||
map1.put("dict_field", "");//数据字典
|
||||
map1.put("field_show_type", "1");
|
||||
list.add(map1);
|
||||
@@ -4658,7 +4662,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
} else {
|
||||
//编号
|
||||
map1.put("db_field_name", "serial_number");//字段
|
||||
map1.put("db_field_txt", "Serial number");//字段中文名
|
||||
map1.put("db_field_txt", "Number");//字段中文名
|
||||
list.add(map1);
|
||||
//标题
|
||||
map2.put("db_field_name", "title_en");//字段
|
||||
@@ -4666,11 +4670,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
list.add(map2);
|
||||
//文件名称
|
||||
map3.put("db_field_name", "file_name");//字段
|
||||
map3.put("db_field_txt", "File name");//字段中文名
|
||||
map3.put("db_field_txt", "File Name");//字段中文名
|
||||
list.add(map3);
|
||||
//文件信息
|
||||
map4.put("db_field_name", "text_info");//字段
|
||||
map4.put("db_field_txt", "Text info");//字段中文名
|
||||
map4.put("db_field_txt", "Text Info");//字段中文名
|
||||
list.add(map4);
|
||||
}
|
||||
} else if ("condition".equals(flag)) {
|
||||
@@ -4690,13 +4694,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
} else {
|
||||
//编号
|
||||
map1.put("db_field_name", "serial_number");//字段
|
||||
map1.put("db_field_txt", "serial number");//字段中文名
|
||||
map1.put("db_field_txt", "Number");//字段中文名
|
||||
map1.put("dict_field", "");//数据字典
|
||||
map1.put("field_show_type", "1");
|
||||
list.add(map1);
|
||||
//标题
|
||||
map2.put("db_field_name", "title");//字段
|
||||
map2.put("db_field_txt", "title");//字段中文名
|
||||
map2.put("db_field_txt", "Title");//字段中文名
|
||||
map2.put("dict_field", "");//数据字典
|
||||
map2.put("field_show_type", "1");
|
||||
list.add(map2);
|
||||
|
||||
@@ -9,12 +9,10 @@ import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.oss.CosBootUtil;
|
||||
import com.jero.generater.modules.online.auth.entity.OnlAuthData;
|
||||
import com.jero.modules.extRepo.entity.ExtRepoData;
|
||||
import com.jero.modules.extRepo.entity.ExtRepoDataPage;
|
||||
import com.jero.modules.extRepo.service.IExtRepoDataService;
|
||||
import com.jero.modules.extRepo.service.IExtRepoFolderService;
|
||||
import com.jero.modules.split.entity.SarFileSplitInfoEO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -74,11 +72,13 @@ public class ExtRepoDataController extends JeroController<ExtRepoData, IExtRepoD
|
||||
// 文件名称模糊查询
|
||||
String fileName = req.getParameter("fileName");
|
||||
if (StringUtils.isNotBlank(fileName)) {
|
||||
fileName = fileName.replace("%", "\\%");
|
||||
queryWrapper.like(ExtRepoData::getFileName, fileName);
|
||||
}
|
||||
// 上传人模糊查询
|
||||
String createBy = req.getParameter("createBy");
|
||||
if (StringUtils.isNotBlank(createBy)) {
|
||||
createBy = createBy.replace("%", "\\%");
|
||||
queryWrapper.like(ExtRepoData::getCreateBy, createBy);
|
||||
}
|
||||
// 更新时间查询
|
||||
@@ -210,6 +210,7 @@ public class ExtRepoDataController extends JeroController<ExtRepoData, IExtRepoD
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.jero.modules.extRepo.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.ERFTreeDataVO;
|
||||
import com.jero.modules.extRepo.entity.ExtRepoData;
|
||||
import com.jero.modules.extRepo.entity.ExtRepoFolder;
|
||||
import com.jero.modules.extRepo.service.IExtRepoDataService;
|
||||
@@ -44,9 +45,11 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
|
||||
@AutoLog(value = "对外报告文件夹表-列表查询")
|
||||
@ApiOperation(value = "对外报告文件夹表-列表查询", notes = "对外报告文件夹表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ERFTreeData>> queryList() {
|
||||
List<ERFTreeData> list = extRepoFolderService.queryTreeList();
|
||||
return Result.OK(list);
|
||||
public Result<ERFTreeDataVO> queryList() {
|
||||
ERFTreeDataVO dataVO = new ERFTreeDataVO();
|
||||
dataVO.setManager(extRepoFolderService.isManager());
|
||||
dataVO.setList(extRepoFolderService.queryTreeList());
|
||||
return Result.OK(dataVO);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -61,6 +64,11 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
|
||||
public Result<?> add(@Validated @RequestBody ExtRepoFolder extRepoFolder) {
|
||||
Result<ExtRepoFolder> result = new Result();
|
||||
if (extRepoFolderService.haveManageAuth(extRepoFolder.getSupFolder())) {
|
||||
if (!extRepoFolder.isAddSub()) {
|
||||
//增加同级文件夹
|
||||
ExtRepoFolder folder = extRepoFolderService.queryById(extRepoFolder.getSupFolder());
|
||||
extRepoFolder.setSupFolder(folder.getSupFolder());
|
||||
}
|
||||
extRepoFolderService.add(extRepoFolder);
|
||||
if (CutEnum.CN.getValue().equals(extRepoFolder.getCut())) {
|
||||
result.success("添加成功!");
|
||||
@@ -120,15 +128,25 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
|
||||
if (extRepoFolderService.haveManageAuth(id)) {
|
||||
List<ExtRepoFolder> resList = extRepoFolderService.getListBySupFolder(id);
|
||||
if (resList.isEmpty()) {
|
||||
List<ExtRepoData> erdList = extRepoDataService.queryByFolder(id);
|
||||
for (ExtRepoData erd : erdList) {
|
||||
extRepoDataService.deleteById(erd.getId());
|
||||
}
|
||||
extRepoFolderService.deleteById(id);
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
result.success("删除成功!");
|
||||
ExtRepoFolder erf = extRepoFolderService.queryById(id);
|
||||
int count = getRootFolderCount();
|
||||
if (erf.getSupFolder().equals("root") && count <= 1) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
result.error500("此文件夹不可删除!");
|
||||
} else {
|
||||
result.error500("This folder cannot be deleted!");
|
||||
}
|
||||
} else {
|
||||
result.success("Data deletion successfully!");
|
||||
List<ExtRepoData> 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)) {
|
||||
@@ -147,6 +165,13 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private int getRootFolderCount() {
|
||||
LambdaQueryWrapper<ExtRepoFolder> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ExtRepoFolder::getSupFolder, "root");
|
||||
return extRepoFolderService.count(queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
|
||||
@@ -36,13 +36,6 @@ public class ERFTreeData implements Comparable<ERFTreeData> {
|
||||
*/
|
||||
private int orderId;
|
||||
|
||||
|
||||
/**
|
||||
* 是否显示
|
||||
*/
|
||||
private boolean display = false;
|
||||
|
||||
|
||||
/**
|
||||
* 查看权限人员
|
||||
*/
|
||||
@@ -119,14 +112,6 @@ public class ERFTreeData implements Comparable<ERFTreeData> {
|
||||
this.orderId = orderId;
|
||||
}
|
||||
|
||||
public boolean isDisplay() {
|
||||
return display;
|
||||
}
|
||||
|
||||
public void setDisplay(boolean display) {
|
||||
this.display = display;
|
||||
}
|
||||
|
||||
public String getFolderName() {
|
||||
return folderName;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.jero.modules.extRepo.entity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ERFTreeDataVO {
|
||||
boolean isManager;
|
||||
List<ERFTreeData> list;
|
||||
|
||||
public ERFTreeDataVO() {
|
||||
}
|
||||
|
||||
public boolean isManager() {
|
||||
return isManager;
|
||||
}
|
||||
|
||||
public void setManager(boolean manager) {
|
||||
isManager = manager;
|
||||
}
|
||||
|
||||
public List<ERFTreeData> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
public void setList(List<ERFTreeData> list) {
|
||||
this.list = list;
|
||||
}
|
||||
}
|
||||
@@ -96,4 +96,7 @@ public class ExtRepoFolder implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private String cut;
|
||||
|
||||
@TableField(exist = false)
|
||||
private boolean addSub;
|
||||
}
|
||||
|
||||
@@ -22,10 +22,7 @@ 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<ExtRepoFolderMapper, ExtRepoFolder> implements IExtRepoFolderService {
|
||||
@@ -38,9 +35,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param extRepoFolder
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ExtRepoFolder extRepoFolder) {
|
||||
@@ -52,9 +46,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
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);
|
||||
@@ -67,10 +58,8 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 同级文件夹,修改顺序号
|
||||
*
|
||||
* @param extRepoFolder
|
||||
*/
|
||||
private void editOrderId(ExtRepoFolder extRepoFolder) throws Exception {
|
||||
private void editOrderId(ExtRepoFolder extRepoFolder) {
|
||||
List<ExtRepoFolder> list = getListBySupFolder(extRepoFolder.getSupFolder());
|
||||
for (ExtRepoFolder erf : list) {
|
||||
if (erf.getOrderId() >= extRepoFolder.getOrderId() && !erf.getId().equals(extRepoFolder.getId())) {
|
||||
@@ -90,9 +79,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param extRepoFolder
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ExtRepoFolder extRepoFolder) {
|
||||
@@ -113,7 +99,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
/**
|
||||
* 修改所有关联文件夹的权限
|
||||
*/
|
||||
private void editAuth(ExtRepoFolder erf_orig, ExtRepoFolder erf_new) throws Exception {
|
||||
private void editAuth(ExtRepoFolder erf_orig, ExtRepoFolder erf_new) {
|
||||
//管理权限
|
||||
Map<String, String> authManage_orig = getAuthMap(erf_orig.getAuthManageIdsName(), erf_orig.getAuthManageIds());
|
||||
Map<String, String> authManage_new = getAuthMap(erf_new.getAuthManageIdsName(), erf_new.getAuthManageIds());
|
||||
@@ -132,20 +118,20 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
List<ExtRepoFolder> allSubFolder = getAllSubFolder(erf_orig.getId());
|
||||
//存储变化的对象
|
||||
List<ExtRepoFolder> updateFolder = new ArrayList<ExtRepoFolder>();
|
||||
List<ExtRepoFolder> updateFolder = new ArrayList<>();
|
||||
for (ExtRepoFolder erf : allSubFolder) {
|
||||
boolean isChange = false;
|
||||
Map<String, String> authManage_erf = getAuthMap(erf.getAuthManageIdsName(), erf.getAuthManageIds());
|
||||
Map<String, String> authView_erf = getAuthMap(erf.getAuthViewIdsName(), erf.getAuthViewIds());
|
||||
for (String add : addManageRole.keySet()) {
|
||||
if (!authManage_erf.keySet().contains(add)) {
|
||||
if (!authManage_erf.containsKey(add)) {
|
||||
authManage_erf.put(add, addManageRole.get(add));
|
||||
isChange = true;
|
||||
}
|
||||
}
|
||||
for (String del : delManageRole.keySet()) {
|
||||
//如果是创建人 不能删除管理权限
|
||||
if (authManage_erf.keySet().contains(del)) {
|
||||
if (authManage_erf.containsKey(del)) {
|
||||
if (!del.equals(erf_orig.getCreateBy())) {
|
||||
authManage_erf.remove(del);
|
||||
isChange = true;
|
||||
@@ -153,13 +139,13 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
}
|
||||
}
|
||||
for (String add : addViewRole.keySet()) {
|
||||
if (!authView_erf.keySet().contains(add)) {
|
||||
if (!authView_erf.containsKey(add)) {
|
||||
authView_erf.put(add, addViewRole.get(add));
|
||||
isChange = true;
|
||||
}
|
||||
}
|
||||
for (String del : delViewRole.keySet()) {
|
||||
if (authView_erf.keySet().contains(del)) {
|
||||
if (authView_erf.containsKey(del)) {
|
||||
authView_erf.remove(del);
|
||||
isChange = true;
|
||||
}
|
||||
@@ -179,15 +165,11 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 得到列表新增元素集合
|
||||
*
|
||||
* @param mapA
|
||||
* @param mapB
|
||||
* @return
|
||||
*/
|
||||
private Map<String, String> getDefMap(Map<String, String> mapA, Map<String, String> mapB) {
|
||||
Map<String, String> res = new HashMap<String, String>();
|
||||
Map<String, String> res = new HashMap<>();
|
||||
for (String s : mapA.keySet()) {
|
||||
if (StringUtils.isNotBlank(s) && !mapB.keySet().contains(s)) {
|
||||
if (StringUtils.isNotBlank(s) && !mapB.containsKey(s)) {
|
||||
res.put(s, mapA.get(s));
|
||||
}
|
||||
}
|
||||
@@ -196,7 +178,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
private List<ExtRepoFolder> getAllSubFolder(String folderId) {
|
||||
List<ExtRepoFolder> resList = getListBySupFolder(folderId);
|
||||
List<ExtRepoFolder> subList = new ArrayList<ExtRepoFolder>();
|
||||
List<ExtRepoFolder> subList = new ArrayList<>();
|
||||
for (ExtRepoFolder erf : resList) {
|
||||
subList.addAll(getAllSubFolder(erf.getId()));
|
||||
}
|
||||
@@ -206,9 +188,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
@@ -222,9 +201,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ExtRepoFolder queryById(String id) {
|
||||
@@ -233,8 +209,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ExtRepoFolder> queryList() {
|
||||
@@ -243,8 +217,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ERFTreeData> queryTreeList() {
|
||||
@@ -262,34 +234,31 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 查找子文件夹,生成树结构
|
||||
*
|
||||
* @param supId
|
||||
* @param list
|
||||
* @param level 前端需要知道当前文件夹在哪一层
|
||||
* @return
|
||||
*/
|
||||
private List<ERFTreeData> getSubFolder(String supId, List<ExtRepoFolder> list, int level) throws Exception {
|
||||
List<ERFTreeData> resList = new ArrayList<ERFTreeData>();
|
||||
private List<ERFTreeData> getSubFolder(String supId, List<ExtRepoFolder> list, int level) {
|
||||
List<ERFTreeData> 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);
|
||||
int childLevel = level + 1;
|
||||
if (haveViewAuth(erf.getId())) {
|
||||
ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId());
|
||||
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);
|
||||
} else {
|
||||
resList.addAll(getSubFolder(erf.getId(), list, childLevel));
|
||||
}
|
||||
}
|
||||
}
|
||||
return resList;
|
||||
}
|
||||
|
||||
private List<String> getStringList(String listStr) {
|
||||
List<String> res = new ArrayList<String>();
|
||||
List<String> res = new ArrayList<>();
|
||||
if (null != listStr) {
|
||||
res = Arrays.asList(listStr.split(","));
|
||||
}
|
||||
@@ -297,7 +266,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
}
|
||||
|
||||
private Map<String, String> getAuthMap(String strKey, String strValue) {
|
||||
Map<String, String> resMap = new HashMap<String, String>();
|
||||
Map<String, String> resMap = new HashMap<>();
|
||||
List<String> keyList = getStringList(strKey);
|
||||
List<String> valueList = getStringList(strValue);
|
||||
for (int i = 0; i < keyList.size(); i++) {
|
||||
@@ -308,19 +277,17 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 判断是否是文件夹管理员角色
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean isManager() {
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户
|
||||
// 查询当前登录用户角色
|
||||
List<SysUserRole> userRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, loginUser.getId())); // 查询用户所有角色
|
||||
List<String> userRoleIds = new ArrayList<>(); // 用户管理员/对外报告管理员
|
||||
List<String> userRoleIds; // 用户管理员/对外报告管理员
|
||||
if (CollectionUtil.isNotEmpty(userRoles)) {
|
||||
List<String> roleIdList = ExtRepoMamagerRoleIdEnum.getIdList();
|
||||
List<String> userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
|
||||
userRoleIds = roleIdList.stream().filter(e -> userRoleIdList.contains(e)).collect(Collectors.toList());
|
||||
userRoleIds = roleIdList.stream().filter(userRoleIdList::contains).collect(Collectors.toList());
|
||||
return !CollectionUtil.isEmpty(userRoleIds);
|
||||
}
|
||||
return false;
|
||||
@@ -328,13 +295,10 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 是否有管理权限
|
||||
*
|
||||
* @param folderId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean haveManageAuth(String folderId) {
|
||||
boolean res = false;
|
||||
boolean res;
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
res = isManager();
|
||||
ExtRepoFolder erf = queryById(folderId);
|
||||
@@ -346,12 +310,9 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 是否有查看权限
|
||||
*
|
||||
* @param folderId
|
||||
* @return
|
||||
*/
|
||||
public boolean haveViewAuth(String folderId) {
|
||||
boolean res = false;
|
||||
boolean res;
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
res = isManager();
|
||||
ExtRepoFolder erf = queryById(folderId);
|
||||
@@ -359,7 +320,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
res = res || getStringList(erf.getAuthManageIds()).contains(sysUser.getId())
|
||||
|| getStringList(erf.getAuthViewIds()).contains(sysUser.getId());
|
||||
}
|
||||
return false;
|
||||
return res;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,11 @@ public class LarkController {
|
||||
log.info("给"+employeeId+"用户推送知识库一级分类菜单:==========================================================");
|
||||
feishuService.sendKnowledgeBaseTypeCard(employeeId.split(","));
|
||||
}
|
||||
//判断用户发送的消息内容,如果包含"负责人" 那么给用户推送知识库分类负责人信息
|
||||
if(StringUtils.contains(text,"负责人")){
|
||||
log.info("给"+employeeId+"用户推送知识库负责人:==========================================================");
|
||||
feishuService.sendKnowledgeBaseTypeChargePersonCard(employeeId.split(","));
|
||||
}
|
||||
}
|
||||
}
|
||||
return decrypt;
|
||||
|
||||
@@ -56,4 +56,10 @@ public interface IFeishuService {
|
||||
* @param jsonObject
|
||||
*/
|
||||
void sendKnowledgeBaseInfoCard(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 发送知识库分类负责人卡片消息 (用户输入负责人的时候)
|
||||
* @param split
|
||||
*/
|
||||
void sendKnowledgeBaseTypeChargePersonCard(String[] split);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,29 @@
|
||||
package com.jero.modules.feishu.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.druid.support.json.JSONUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
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.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseClassifyEOService;
|
||||
import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOService;
|
||||
import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseUserEOService;
|
||||
import com.jero.modules.project.enums.JumpLinkEnum;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.util.HttpRequestUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -18,6 +32,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author: liyawei
|
||||
@@ -42,6 +57,17 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
@Value("${Feishu.translateTextUrl}")
|
||||
private String translateTextUrl;
|
||||
|
||||
@Value(value = "${jero.backUrl}")
|
||||
private String backUrl;
|
||||
@Autowired
|
||||
private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService;
|
||||
@Autowired
|
||||
private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService;
|
||||
@Autowired
|
||||
private IProblemKnowledgeBaseUserEOService problemKnowledgeBaseUserEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 获取token
|
||||
* @return
|
||||
@@ -187,6 +213,16 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
contentSb.append("}");
|
||||
contentSb.append("}");
|
||||
}
|
||||
if (StrUtil.isNotEmpty(feishuMsgVo.getAssignee())){
|
||||
contentSb.append(",");
|
||||
contentSb.append("{");
|
||||
contentSb.append("\"is_short\": false,");
|
||||
contentSb.append("\"text\": {");
|
||||
contentSb.append("\"content\": \"**Assignee:** " + feishuMsgVo.getAssignee() + "\",");
|
||||
contentSb.append("\"tag\": \"lark_md\"");
|
||||
contentSb.append("}");
|
||||
contentSb.append("}");
|
||||
}
|
||||
if (StrUtil.isNotEmpty(feishuMsgVo.getDueDate())){
|
||||
contentSb.append(",");
|
||||
contentSb.append("{");
|
||||
@@ -333,7 +369,8 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
" \"title\": {\n" +
|
||||
" \"tag\": \"plain_text\",\n" +
|
||||
" \"content\": \"点击下方的分类查看常见问题\"\n" +
|
||||
" }\n" +
|
||||
" },\n" +
|
||||
" \"template\": \"green\"\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
JSONObject jsonObject = JSONObject.parseObject(sendJson);
|
||||
@@ -342,56 +379,28 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
element.put("tag","action");
|
||||
element.put("layout","bisected");
|
||||
|
||||
JSONArray actions = new JSONArray();
|
||||
//组装推送过去的点击按钮
|
||||
for (int i=0; i<5; i++){
|
||||
//获取分类
|
||||
List<ProblemKnowledgeBaseClassifyEO> problemKnowledgeBaseClassifyEOList = this.problemKnowledgeBaseClassifyEOService.list();
|
||||
|
||||
JSONArray actions = new JSONArray();
|
||||
|
||||
//组装推送过去的点击按钮
|
||||
for (ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO : problemKnowledgeBaseClassifyEOList) {
|
||||
JSONObject buttonObject = new JSONObject();
|
||||
JSONObject text = new JSONObject();
|
||||
JSONObject value = new JSONObject();
|
||||
buttonObject.put("tag","button");
|
||||
|
||||
if(i==0){
|
||||
text.put("tag","plain_text");
|
||||
text.put("content","content1");
|
||||
text.put("tag","plain_text");
|
||||
text.put("content",problemKnowledgeBaseClassifyEO.getProblemLabel());
|
||||
value.put("chosen",problemKnowledgeBaseClassifyEO.getId());
|
||||
|
||||
value.put("chosen","chosen1");
|
||||
}
|
||||
if(i==1){
|
||||
text.put("tag","plain_text");
|
||||
text.put("content","content2");
|
||||
|
||||
value.put("chosen","chosen2");
|
||||
}
|
||||
if(i==2){
|
||||
text.put("tag","plain_text");
|
||||
text.put("content","content3");
|
||||
|
||||
value.put("chosen","chosen3");
|
||||
}
|
||||
if(i==3){
|
||||
text.put("tag","plain_text");
|
||||
text.put("content","content4");
|
||||
|
||||
value.put("chosen","chosen4");
|
||||
}
|
||||
if(i==4){
|
||||
text.put("tag","plain_text");
|
||||
text.put("content","content5");
|
||||
|
||||
value.put("chosen","chosen5");
|
||||
}
|
||||
if(i==5){
|
||||
text.put("tag","plain_text");
|
||||
text.put("content","content6");
|
||||
|
||||
value.put("chosen","chosen6");
|
||||
}
|
||||
buttonObject.put("text",text);
|
||||
buttonObject.put("type","primary");
|
||||
buttonObject.put("value",value);
|
||||
actions.add(buttonObject);
|
||||
}
|
||||
|
||||
element.put("actions",actions);
|
||||
|
||||
|
||||
@@ -423,12 +432,94 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
String clickStr = JSONObject.toJSONString(JSONObject.parseObject(JSONObject.toJSONString(jsonObject.get("action"))).get("value"));
|
||||
log.info("用户点击的数据: " + clickStr);
|
||||
|
||||
String sendJson = " ";
|
||||
String sendJsonStr = "{\n" +
|
||||
" \"config\": {\n" +
|
||||
" \"wide_screen_mode\": true\n" +
|
||||
" },\n" +
|
||||
" \"header\": {\n" +
|
||||
" \"title\": {\n" +
|
||||
" \"tag\": \"plain_text\",\n" +
|
||||
" \"content\": \"问题知识库信息,点击下方标题即可跳转至详情页查看\"\n" +
|
||||
" },\n" +
|
||||
" \"template\": \"green\"\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
|
||||
JSONObject sendJson = JSONObject.parseObject(sendJsonStr);
|
||||
JSONArray elements = new JSONArray();
|
||||
|
||||
//分隔行对象。
|
||||
JSONObject dividingLineJson = new JSONObject();
|
||||
dividingLineJson.put("tag","hr");
|
||||
|
||||
JSONObject clickJson = JSONObject.parseObject(clickStr);
|
||||
if(StringUtils.isNotEmpty(clickJson.getString("chosen"))){
|
||||
sendJson = clickJson.getString("chosen");
|
||||
String problemTypeId = clickJson.getString("chosen");
|
||||
String thirdId = userIds[0];
|
||||
SysUser currentOperatorUser = this.sysUserService.getBaseMapper().selectOne(
|
||||
new QueryWrapper<SysUser>().lambda().eq(SysUser::getThirdId, thirdId)
|
||||
);
|
||||
if(ObjectUtils.isNotEmpty(currentOperatorUser)){
|
||||
QueryWrapper<ProblemKnowledgeBaseUserEO> userPermissionQueryWrapper = new QueryWrapper<>();
|
||||
userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentOperatorUser.getId());
|
||||
List<ProblemKnowledgeBaseUserEO> problemKnowledgeBaseUserEOList = this.problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper);
|
||||
|
||||
List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<ProblemKnowledgeBaseEO> problemKnowledgeBaseEOQueryWrapper = new QueryWrapper<>();
|
||||
|
||||
problemKnowledgeBaseEOQueryWrapper.lambda().eq(ProblemKnowledgeBaseEO::getProblemType,problemTypeId);
|
||||
problemKnowledgeBaseEOQueryWrapper.lambda().and(query -> {
|
||||
query.eq(ProblemKnowledgeBaseEO::getShowPermissions, ShowPermissionsEnum.OPEN.getValue()).
|
||||
or(o -> {
|
||||
o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue());
|
||||
o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList);
|
||||
});
|
||||
});
|
||||
|
||||
//根据发布日期倒序 查询出(公开、私密且自己是权限用户)最新的五条数据
|
||||
problemKnowledgeBaseEOQueryWrapper.orderByDesc("release_time");
|
||||
Integer pageNo = 1;
|
||||
Integer pageSize = 5;
|
||||
Page<ProblemKnowledgeBaseEO> page = new Page<ProblemKnowledgeBaseEO>(pageNo, pageSize);
|
||||
IPage<ProblemKnowledgeBaseEO> pageList = problemKnowledgeBaseEOService.page(page, problemKnowledgeBaseEOQueryWrapper);
|
||||
List<ProblemKnowledgeBaseEO> records = pageList.getRecords();
|
||||
|
||||
JSONObject element = new JSONObject();
|
||||
JSONArray actions = new JSONArray();
|
||||
|
||||
for (ProblemKnowledgeBaseEO record : records) {
|
||||
String url = backUrl + JumpLinkEnum.PROBLEM_KNOWLEDGE_BASE_DETAIL.getLink() + "?id=" + record.getId();
|
||||
|
||||
JSONObject action = new JSONObject();
|
||||
JSONObject text = new JSONObject();
|
||||
action.put("tag","button");
|
||||
|
||||
text.put("tag","plain_text");
|
||||
text.put("content",record.getTitle());
|
||||
action.put("text",text);
|
||||
action.put("type","primary");
|
||||
action.put("url",url);
|
||||
actions.add(action);
|
||||
}
|
||||
|
||||
element.put("tag","action");
|
||||
element.put("actions",actions);
|
||||
elements.add(element);
|
||||
//添加一个分隔线。
|
||||
elements.add(dividingLineJson);
|
||||
}
|
||||
}
|
||||
JSONObject textFinally = new JSONObject();
|
||||
textFinally.put("tag","lark_md");
|
||||
textFinally.put("content","[以上都不是>>]("+backUrl + JumpLinkEnum.PROBLEM_KNOWLEDGE_BASE.getLink()+")");
|
||||
|
||||
JSONObject elementFinally = new JSONObject();
|
||||
elementFinally.put("tag","div");
|
||||
elementFinally.put("text",textFinally);
|
||||
elements.add(elementFinally);
|
||||
|
||||
sendJson.put("elements",elements);
|
||||
|
||||
String token = null;
|
||||
try {
|
||||
@@ -440,30 +531,92 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
Map<String, String> headerMap = new HashMap<>();
|
||||
headerMap.put("Authorization", "Bearer " + token);
|
||||
headerMap.put("Content-Type", "application/json; charset=utf-8");
|
||||
// 设置消息标题
|
||||
JSONObject zh_cn = new JSONObject();
|
||||
zh_cn.put("title", "title");
|
||||
// 设置消息内容
|
||||
// 第一行
|
||||
JSONObject contentOne = new JSONObject();
|
||||
contentOne.put("tag", "text");
|
||||
contentOne.put("text", sendJson);
|
||||
List<JSONObject> contentList = new ArrayList<>();
|
||||
contentList.add(contentOne);
|
||||
|
||||
List<List<JSONObject>> list = new ArrayList<>();
|
||||
list.add(contentList);
|
||||
zh_cn.put("content", list);
|
||||
|
||||
JSONObject post = new JSONObject();
|
||||
post.put("zh_cn", zh_cn);
|
||||
JSONObject contentObj = new JSONObject();
|
||||
contentObj.put("post", post);
|
||||
// 设置请求参数
|
||||
JSONObject paramsMap = new JSONObject();
|
||||
paramsMap.put("user_ids", userIds);
|
||||
paramsMap.put("msg_type", "post");
|
||||
paramsMap.put("content", contentObj);
|
||||
paramsMap.put("msg_type", "interactive");
|
||||
paramsMap.put("card", sendJson);
|
||||
|
||||
// 发送请求给飞书
|
||||
String response = null;
|
||||
try {
|
||||
response = HttpRequestUtil.getResponseOfPOST(batchSendMessageUrl, headerMap, paramsMap.toJSONString());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 获取返回结果
|
||||
JSONObject tokenJson = JSONObject.parseObject(response);
|
||||
if(!tokenJson.get("code").toString().equals("0")) {
|
||||
log.error("请求出现异常:" + tokenJson.get("msg") + " " + tokenJson);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendKnowledgeBaseTypeChargePersonCard(String[] userIds) {
|
||||
String token = null;
|
||||
try {
|
||||
token = getTenantAccessToken();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 设置请求头
|
||||
Map<String, String> headerMap = new HashMap<>();
|
||||
headerMap.put("Authorization", "Bearer " + token);
|
||||
headerMap.put("Content-Type", "application/json; charset=utf-8");
|
||||
|
||||
String sendJson = " {\n" +
|
||||
" \"config\": {\n" +
|
||||
" \"wide_screen_mode\": true\n" +
|
||||
" },\n" +
|
||||
" \"header\": {\n" +
|
||||
" \"title\": {\n" +
|
||||
" \"tag\": \"plain_text\",\n" +
|
||||
" \"content\": \"点击下方的分类查看常见问题\"\n" +
|
||||
" },\n" +
|
||||
" \"template\": \"green\"\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
JSONObject jsonObject = JSONObject.parseObject(sendJson);
|
||||
JSONArray elements = new JSONArray();
|
||||
JSONObject element = new JSONObject();
|
||||
element.put("tag","action");
|
||||
element.put("layout","bisected");
|
||||
|
||||
//获取分类
|
||||
List<ProblemKnowledgeBaseClassifyEO> problemKnowledgeBaseClassifyEOList = this.problemKnowledgeBaseClassifyEOService.list();
|
||||
this.problemKnowledgeBaseClassifyEOService.disposeData(problemKnowledgeBaseClassifyEOList);
|
||||
|
||||
JSONArray actions = new JSONArray();
|
||||
|
||||
//组装推送过去的点击按钮
|
||||
for (ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO : problemKnowledgeBaseClassifyEOList) {
|
||||
JSONObject buttonObject = new JSONObject();
|
||||
JSONObject text = new JSONObject();
|
||||
JSONObject value = new JSONObject();
|
||||
buttonObject.put("tag","button");
|
||||
|
||||
text.put("tag","plain_text");
|
||||
text.put("content",problemKnowledgeBaseClassifyEO.getProblemLabel() + " [" + problemKnowledgeBaseClassifyEO.getChargePersonIdName() + "]");
|
||||
value.put("chosen",problemKnowledgeBaseClassifyEO.getChargePersonId());
|
||||
|
||||
buttonObject.put("text",text);
|
||||
buttonObject.put("type","primary");
|
||||
buttonObject.put("value",value);
|
||||
actions.add(buttonObject);
|
||||
}
|
||||
|
||||
element.put("actions",actions);
|
||||
|
||||
|
||||
elements.add(element);
|
||||
jsonObject.put("elements",elements);
|
||||
// 设置请求参数
|
||||
JSONObject paramsMap = new JSONObject();
|
||||
paramsMap.put("user_ids", userIds);
|
||||
paramsMap.put("msg_type", "interactive");
|
||||
paramsMap.put("card", jsonObject);
|
||||
|
||||
// 发送请求给飞书
|
||||
String response = null;
|
||||
try {
|
||||
@@ -471,7 +624,6 @@ public class FeishuServiceImpl implements IFeishuService {
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 返回结果样例:{"code":0,"data":{"invalid_department_ids":[],"invalid_open_ids":[],"invalid_union_ids":[],"invalid_user_ids":[],"message_id":"bm-d595567e4f448fafe397bc916f0be646"},"msg":"ok"}
|
||||
// 获取返回结果
|
||||
JSONObject tokenJson = JSONObject.parseObject(response);
|
||||
if(!tokenJson.get("code").toString().equals("0")) {
|
||||
|
||||
@@ -24,5 +24,7 @@ public class FeishuMsgVo {
|
||||
|
||||
private String url; //回调的网址
|
||||
|
||||
private String assignee; //评估人 适用范围:责任人提交通知发起人(设计符合性,pre-homo符合性,验证符合性)
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -214,7 +214,11 @@ public class OcrRecordEOServiceImpl extends ServiceImpl<OcrRecordEOMapper, OcrRe
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
|
||||
} else {
|
||||
map.put("db_field_txt", onlCgformField.getDbFieldEnName());//字段英文名
|
||||
if("stand_name_en".equals(onlCgformField.getDbFieldName())) { // 英文标题字段特殊处理
|
||||
map.put("db_field_txt", "English Title");
|
||||
} else {
|
||||
map.put("db_field_txt", onlCgformField.getDbFieldEnName());//字段英文名
|
||||
}
|
||||
}
|
||||
if("文本状态".equals(onlCgformField.getDbFieldTxt())){
|
||||
// 查询文档库所有文件类型的字段名称
|
||||
|
||||
@@ -72,9 +72,11 @@ public class CountryCardManageReleaseEOController extends JeroController<Country
|
||||
@AutoLog(value = "问题知识库-country_card-管理发布表-列表查询")
|
||||
@ApiOperation(value="问题知识库-country_card-管理发布表-列表查询", notes="问题知识库-country_card-管理发布表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<CountryCardManageReleaseEO>> queryList() {
|
||||
List<CountryCardManageReleaseEO> list = countryCardManageReleaseEOService.queryList();
|
||||
return Result.OK(list);
|
||||
public Result<List<CountryCardManageReleaseEO>> queryList(CountryCardManageReleaseEO countryCardManageReleaseEO,
|
||||
HttpServletRequest req,
|
||||
@RequestParam(name="cut", defaultValue="cn") String cut) {
|
||||
List<CountryCardManageReleaseEO> list = countryCardManageReleaseEOService.queryList(countryCardManageReleaseEO,req,cut);
|
||||
return Result.OK(cut,list);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,8 +196,9 @@ public class CountryCardManageReleaseEOController extends JeroController<Country
|
||||
@AutoLog(value = "问题知识库-country_card-管理发布-获取适用市场下拉选")
|
||||
@ApiOperation(value="问题知识库-country_card-管理发布-获取适用市场下拉选", notes="问题知识库-country_card-管理发布-获取适用市场下拉选")
|
||||
@GetMapping(value = "/getApplyMarketList")
|
||||
public Result<List<DictModel>> getApplyMarketList(@RequestParam(name = "queryFlag",required=false) String queryFlag) {
|
||||
Result<List<DictModel>> result = this.countryCardManageReleaseEOService.getApplyMarketList(queryFlag);
|
||||
public Result<List<DictModel>> getApplyMarketList(@RequestParam(name = "queryFlag",required=false) String queryFlag,
|
||||
@RequestParam(name = "cut",required = true) String cut) {
|
||||
Result<List<DictModel>> result = this.countryCardManageReleaseEOService.getApplyMarketList(queryFlag,cut);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -208,7 +211,8 @@ public class CountryCardManageReleaseEOController extends JeroController<Country
|
||||
@ApiOperation(value="问题知识库-country_card-管理发布表-根据多个适用地区查询数据", notes="问题知识库-country_card-管理发布表-根据多个适用地区查询数据")
|
||||
@PostMapping(value = "/queryCountryCardManageReleaseByApplyMarkets")
|
||||
public Result<List<CountryCardManageReleaseEO>> queryCountryCardManageReleaseByApplyMarkets(@RequestBody JSONObject params) {
|
||||
String cut = params.getString("cut");
|
||||
List<CountryCardManageReleaseEO> list = countryCardManageReleaseEOService.queryCountryCardManageReleaseByApplyMarkets(params);
|
||||
return Result.OK(list);
|
||||
return Result.OK(cut,list);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,6 +84,10 @@ public class CountryCardManageReleaseDetailEO implements Serializable {
|
||||
@ApiModelProperty(value = "内容")
|
||||
private java.lang.String content;
|
||||
|
||||
/**如果是下拉选的话,把翻译后的值放到此字段中。*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String contentDropDownValue;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String cut;
|
||||
|
||||
|
||||
@@ -72,12 +72,19 @@ public class ProblemKnowledgeBaseEO implements Serializable {
|
||||
/**问题分类展示名称*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String problemTypeName;
|
||||
/**问题分类查询条件字段 多个*/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String problemTypes;
|
||||
|
||||
/**市场*/
|
||||
@Dict(dicCode = "region")
|
||||
|
||||
/**市场*/
|
||||
//@Dict(dicCode = "region")
|
||||
@Excel(name = "市场", width = 15)
|
||||
@ApiModelProperty(value = "市场")
|
||||
private java.lang.String targetMarket;
|
||||
/**市场展示字段**/
|
||||
@TableField(exist = false)
|
||||
private java.lang.String targetMarket_dicText;
|
||||
|
||||
/**文档库id*/
|
||||
@Excel(name = "文档库id", width = 15)
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -60,7 +61,9 @@ public interface ICountryCardManageReleaseEOService extends IService<CountryCard
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<CountryCardManageReleaseEO> queryList();
|
||||
List<CountryCardManageReleaseEO> queryList(CountryCardManageReleaseEO countryCardManageReleaseEO,
|
||||
HttpServletRequest req,
|
||||
String cut);
|
||||
|
||||
/**
|
||||
* 处理数据
|
||||
@@ -79,7 +82,7 @@ public interface ICountryCardManageReleaseEOService extends IService<CountryCard
|
||||
* 获取适用市场
|
||||
* @return
|
||||
*/
|
||||
Result<List<DictModel>> getApplyMarketList(String queryFlag);
|
||||
Result<List<DictModel>> getApplyMarketList(String queryFlag,String cut);
|
||||
|
||||
List<CountryCardManageReleaseEO> queryCountryCardManageReleaseByApplyMarkets(JSONObject params);
|
||||
}
|
||||
|
||||
@@ -148,6 +148,19 @@ public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl<Cou
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
data.setCountryCardTempItemEOList(collect);
|
||||
|
||||
if(StringUtils.isNotEmpty(data.getContent())){
|
||||
String contentDropDownValue = countryCardTempItemEOList.stream().filter(countryCardTempItemEO -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(data.getContent(), countryCardTempItemEO.getId())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(CountryCardTempItemEO::getItemText).collect(Collectors.joining(","));
|
||||
|
||||
//设置下拉框的value
|
||||
data.setContentDropDownValue(contentDropDownValue);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.jero.modules.problemKnowledgeBase.service.impl;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
|
||||
@@ -29,6 +31,8 @@ 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: 问题知识库-country_card-管理发布表
|
||||
* @Author: jero-boot
|
||||
@@ -123,8 +127,12 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<CountryCardManageReleaseEO> queryList() {
|
||||
return list();
|
||||
public List<CountryCardManageReleaseEO> queryList(CountryCardManageReleaseEO countryCardManageReleaseEO,
|
||||
HttpServletRequest req,
|
||||
String cut) {
|
||||
QueryWrapper<CountryCardManageReleaseEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseEO, req.getParameterMap());
|
||||
List<CountryCardManageReleaseEO> result = this.list(queryWrapper);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -199,7 +207,7 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<DictModel>> getApplyMarketList(String queryFlag) {
|
||||
public Result<List<DictModel>> getApplyMarketList(String queryFlag,String cut) {
|
||||
List<DictModel> result = new ArrayList<>();
|
||||
|
||||
//获取所有的适用地区
|
||||
@@ -235,7 +243,8 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
||||
for (DictModel dictModel : dictModelList) {
|
||||
boolean flag = false;
|
||||
for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) {
|
||||
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())){
|
||||
if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())
|
||||
&&StringUtils.equals(countryCardManageReleaseEO.getReleaseStatus(),ReleaseStatusEnum.HAVE_RELEASED.getValue())){
|
||||
flag = true;
|
||||
break;
|
||||
}
|
||||
@@ -248,6 +257,12 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.equals(cut, CutEnum.EN.getValue())){
|
||||
result.forEach(data -> {
|
||||
data.setText(data.getTextEn());
|
||||
});
|
||||
}
|
||||
|
||||
return Result.OK(result);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.problemKnowledgeBase.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
|
||||
@@ -70,6 +71,7 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
||||
CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO = new CountryCardManageReleaseDetailEO();
|
||||
countryCardManageReleaseDetailEO.setCountryCardTempId(countryCardTempEO.getId());
|
||||
countryCardManageReleaseDetailEO.setCountryCardManageReleaseId(manageReleaseEO.getId());
|
||||
releaseDetailEOList.add(countryCardManageReleaseDetailEO);
|
||||
});
|
||||
this.countryCardManageReleaseDetailEOService.saveBatch(releaseDetailEOList);
|
||||
}
|
||||
@@ -170,6 +172,12 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if(StringUtils.equals(cut, CutEnum.EN.getValue())){
|
||||
collect.forEach(tempItem -> {
|
||||
tempItem.setItemText(tempItem.getEnName());
|
||||
});
|
||||
}
|
||||
|
||||
countryCardTemp.setCountryCardTempItemEOList(collect);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.jero.modules.problemKnowledgeBase.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.*;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum;
|
||||
@@ -9,6 +11,8 @@ import com.jero.modules.problemKnowledgeBase.enums.PraiseStatusEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper;
|
||||
import com.jero.modules.problemKnowledgeBase.service.*;
|
||||
import com.jero.modules.system.enums.DicCodeEnum;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import com.jero.modules.system.util.StringUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
@@ -44,6 +48,8 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
private IProblemKnowledgeBaseBrowsingHistoryEOService problemKnowledgeBaseBrowsingHistoryEOService;
|
||||
@Autowired
|
||||
private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService;
|
||||
@Autowired
|
||||
private ISysDictService sysDictService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
@@ -209,6 +215,7 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
problemKnowledgeBaseClassifyEOList = this.problemKnowledgeBaseClassifyEOService.list(classifyEOQueryWrapper);
|
||||
}
|
||||
|
||||
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
|
||||
|
||||
List<ProblemKnowledgeBaseClassifyEO> finalProblemKnowledgeBaseClassifyEOList = problemKnowledgeBaseClassifyEOList;
|
||||
datas.forEach(data -> {
|
||||
@@ -298,6 +305,30 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
|
||||
data.setProblemTypeName(problemTypeName);
|
||||
}
|
||||
|
||||
String targetMarket = data.getTargetMarket();
|
||||
if(StringUtils.isNotEmpty(targetMarket) && CollectionUtils.isNotEmpty(regionList)){
|
||||
String targetMarket_dicText = "";
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
targetMarket_dicText = regionList.stream().filter(region -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(targetMarket, region.getValue())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(DictModel::getText).collect(Collectors.joining(","));
|
||||
}else if(StringUtils.equals(cut, CutEnum.EN.getValue())){
|
||||
targetMarket_dicText = regionList.stream().filter(region -> {
|
||||
boolean flag = false;
|
||||
if (StringUtils.equals(targetMarket, region.getValue())) {
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).map(DictModel::getTextEn).collect(Collectors.joining(","));
|
||||
}
|
||||
|
||||
data.setTargetMarket_dicText(targetMarket_dicText);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -335,5 +366,21 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
query.or().like(ProblemKnowledgeBaseEO::getContent,searchStr);
|
||||
});
|
||||
}
|
||||
|
||||
//根据分类查询 ,包含就查出来。
|
||||
String problemTypes = problemKnowledgeBaseEO.getProblemTypes();
|
||||
if(StringUtils.isNotEmpty(problemTypes)){
|
||||
List<String> problemTypeList = Arrays.asList(problemTypes.split(","));
|
||||
queryWrapper.and(query -> {
|
||||
query.lambda().like(ProblemKnowledgeBaseEO::getProblemType,problemTypes);
|
||||
if(CollectionUtils.isNotEmpty(problemTypeList)){
|
||||
problemTypeList.forEach(type -> {
|
||||
query.or(q -> {
|
||||
q.lambda().like(ProblemKnowledgeBaseEO::getProblemType,type);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,9 @@ public enum JumpLinkEnum {
|
||||
DESIGN_AFFIRM_LINK("设计符合性确认链接","4","/ProjectDetails?id=","&type=103"),
|
||||
TASK_AFFIRM_LINK("任务确认链接","2","/ProcessCenter",""),
|
||||
COMPLIANCE_PROCESS_DETAIL_LINK("符合性流程明细页路由","2","/taskListProcess",""),
|
||||
|
||||
PROBLEM_KNOWLEDGE_BASE_DETAIL("问题知识库,详情页","","/problemKnowledgeBaseView",""),
|
||||
PROBLEM_KNOWLEDGE_BASE("问题知识库,列表页","","/problemknowledgeBase",""),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package com.jero.modules.project.enums;
|
||||
|
||||
public enum ProjectTaskPlanningNameEnum {
|
||||
LIST_CONFIRMATION("清单确认"," Checklist confirmation"),
|
||||
LEGAL_TASK_CONFIRMATION("任务确认","Task confirmation"),
|
||||
DESIGN_DEADLINE("设计符合性","Design compliance"),
|
||||
LIST_CONFIRMATION("法规清单确认","Regulation List Confirmation"),
|
||||
LEGAL_TASK_CONFIRMATION("法规任务确认","Regulation Task Confirmation"),
|
||||
DESIGN_DEADLINE("设计符合性确认","Design Compliance Confirmation"),
|
||||
// PREHOMO_DEADLINE("Pre-Homo","Pre-Homo"),
|
||||
// ATTESTATION_START_TIME("认证开始","Certification begins"),
|
||||
// ATTESTATION_END_TIME("认证结束"," End of certification"),
|
||||
PREHOMO_DEADLINE("摸底试验结束","Pre-Homo Completion"), // name:Pre-Homo value:Pre-Homo
|
||||
ATTESTATION_START_TIME("认证试验结束","Homo Test Completion"),// name:认证开始 value:Certification begins
|
||||
ATTESTATION_END_TIME("认证批准","Type Approval"),// name:认证结束 value:End of certification
|
||||
VERIFY_DEADLINE("验证符合性","Verify compliance"),
|
||||
PREHOMO_DEADLINE("Pre-Homo确认","Pre-Homo Confirmation"), // name:Pre-Homo value:Pre-Homo
|
||||
ATTESTATION_START_TIME("认证结束","Homo Completion"),// name:认证开始 value:Certification begins
|
||||
ATTESTATION_END_TIME("认证开始","Homo KO"),// name:认证结束 value:End of certification
|
||||
VERIFY_DEADLINE("验证符合性确认","Validation Compliance Confirmation"),
|
||||
;
|
||||
String name;
|
||||
String value;
|
||||
|
||||
@@ -138,17 +138,17 @@ public class InventoryAffirmJob implements Job {
|
||||
|
||||
/*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务确认剩余处理时间还有3天,请及时查看处理";*/
|
||||
// XXX .
|
||||
String msgContentEN = "The remaining processing time for the regulation list confirmation for "
|
||||
String msgContentEN = "The remaining processing time for the regulation task confirmation for "
|
||||
+ projectNameInfoEO.getProjectName() + "-"
|
||||
+ projectYearNameInfoEO.getYearName()+ " "
|
||||
+ projectLibraryBase.getTargetMarket()
|
||||
+ " are 3 days. Please check and handle it in time.";
|
||||
+ " are 3 days. Please check and address it in a timely manner.";
|
||||
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a regulation list confirmation task to complete";
|
||||
+ ": You have a regulation task confirmation to complete";
|
||||
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner.");
|
||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||
feishuMsgVo.setTaskType("Regulation Task Confirmation");
|
||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||
|
||||
//飞书跳转链接
|
||||
@@ -172,22 +172,22 @@ public class InventoryAffirmJob implements Job {
|
||||
sendMessageMap.put("contentInfo",contentInfo);
|
||||
|
||||
//发送消息
|
||||
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, threeDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
|
||||
currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList());
|
||||
|
||||
/*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务今天即将结束,请及时查看处理*/
|
||||
String msgContentEN = "The regulation list confirmation for "
|
||||
String msgContentEN = "The regulation task confirmation for "
|
||||
+ projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ " will expire today. Please check and address it in a timely manner.";
|
||||
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a regulation list confirmation task to complete";
|
||||
+ ": You have a regulation task confirmation to complete";
|
||||
|
||||
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||
feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner.");
|
||||
feishuMsgVo.setTaskType("Regulation List Confirmation");
|
||||
feishuMsgVo.setTaskType("Regulation Task Confirmation");
|
||||
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
|
||||
|
||||
//飞书跳转链接
|
||||
@@ -210,7 +210,7 @@ public class InventoryAffirmJob implements Job {
|
||||
sendMessageMap.put("hrefFeishu",hrefFeishu);
|
||||
sendMessageMap.put("contentInfo",contentInfo);
|
||||
//发送消息
|
||||
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||
projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN, currentDaysUserIdList, projectLibraryBase.getId(), sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id )
|
||||
WHERE
|
||||
(
|
||||
bdl.id IN ( SELECT DISTINCT stand_id FROM laws_opinion_gather)
|
||||
OR bdl.id IN ( SELECT DISTINCT stand_id FROM laws_technology_evaluation)
|
||||
bdl.id IN ( SELECT DISTINCT stand_id FROM laws_opinion_gather where gather_result = #{params.gatherResult})
|
||||
OR bdl.id IN ( SELECT DISTINCT stand_id FROM laws_technology_evaluation where flow_status = #{params.flowStatus})
|
||||
or pti.design_p_id IS NOT NULL
|
||||
OR pti.prehomo_p_id IS NOT NULL
|
||||
OR pti.verify_p_id IS NOT NULL
|
||||
@@ -37,10 +37,13 @@
|
||||
pni.project_name as "projectName",
|
||||
pyni.year_name as "yearName",
|
||||
pti.design_status as "designStatus",
|
||||
pti.design_flow_task_status as "designFlowTaskStatus",
|
||||
pti.design_p_id as "designPId",
|
||||
pti.prehomo_status as "prehomoStatus",
|
||||
pti.prehomo_flow_task_status as "prehomoFlowTaskStatus",
|
||||
pti.prehomo_p_id as "prehomoPId",
|
||||
pti.verify_status as "verifyStatus",
|
||||
pti.verify_flow_task_status as "verifyFlowTaskStatus",
|
||||
pti.verify_p_id as "verifyPId",
|
||||
pli.duty_territory as "dutyTerritory"
|
||||
FROM
|
||||
|
||||
@@ -10,10 +10,12 @@ import com.jero.modules.document.enums.FieldTypeEnum;
|
||||
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
|
||||
import com.jero.modules.document.vo.QueryConditionVO;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum;
|
||||
import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
||||
import com.jero.modules.project.enums.DesignComplianceStatusEnum;
|
||||
import com.jero.modules.project.enums.ReviewResultEnum;
|
||||
import com.jero.modules.project.mapper.LawsComplianceBoardMapper;
|
||||
import com.jero.modules.project.service.ILawsComplianceBoardService;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
@@ -68,6 +70,9 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
//封装查询条件(包含高级搜索)
|
||||
String condition = this.getConditionStr(params);
|
||||
params.put("condition",condition);
|
||||
//只查询 法规技术评估流程状态、法规意见收集 收集结果 为已完成的数据
|
||||
params.put("flowStatus", GatherResultEnum.COMPLETED.getValue());
|
||||
params.put("gatherResult", GatherResultEnum.COMPLETED.getValue());
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage infoPage = this.lawsComplianceBoardMapper.queryPageList(page, params);
|
||||
List records = infoPage.getRecords();
|
||||
@@ -139,12 +144,14 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
//查询当前数据是否有法规意见收集流程数据
|
||||
QueryWrapper<LawsOpinionGatherEO> opinionGatherEOQueryWrapper = new QueryWrapper<>();
|
||||
opinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getStandId,id);
|
||||
opinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult,GatherResultEnum.COMPLETED.getValue());
|
||||
int opinionGatherCount = this.lawsOpinionGatherEOService.count(opinionGatherEOQueryWrapper);
|
||||
result.put("opinionGather",opinionGatherCount);
|
||||
|
||||
//查询当前数据是否有法规技术评估流程数据
|
||||
QueryWrapper<LawsTechnologyEvaluationEO> evaluationEOQueryWrapper = new QueryWrapper<>();
|
||||
evaluationEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getStandId,id);
|
||||
evaluationEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus,GatherResultEnum.COMPLETED.getValue());
|
||||
int evaluationCount = this.lawsTechnologyEvaluationEOService.count(evaluationEOQueryWrapper);
|
||||
result.put("technologyEvaluation",evaluationCount);
|
||||
return result;
|
||||
@@ -166,6 +173,20 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
String textByValue = DesignComplianceStatusEnum.getTextByValue(complianceResult.get("verifyStatus").toString(), cut);
|
||||
complianceResult.put("verifyStatus_dicText",textByValue);
|
||||
}
|
||||
|
||||
if (complianceResult.get("designFlowTaskStatus") != null) {
|
||||
String textByValue = ReviewResultEnum.getTextByValue(complianceResult.get("designFlowTaskStatus").toString(), cut);
|
||||
complianceResult.put("designFlowTaskStatus_dicText",textByValue);
|
||||
}
|
||||
if (complianceResult.get("prehomoFlowTaskStatus") != null && complianceResult.get("prehomoFlowTaskStatus") != "") {
|
||||
String textByValue = ReviewResultEnum.getTextByValue(complianceResult.get("prehomoFlowTaskStatus").toString(), cut);
|
||||
complianceResult.put("prehomoFlowTaskStatus_dicText",textByValue);
|
||||
}
|
||||
if (complianceResult.get("verifyFlowTaskStatus") != null) {
|
||||
String textByValue = ReviewResultEnum.getTextByValue(complianceResult.get("verifyFlowTaskStatus").toString(), cut);
|
||||
complianceResult.put("verifyFlowTaskStatus_dicText",textByValue);
|
||||
}
|
||||
|
||||
if (complianceResult.get("dutyTerritory") != null) {
|
||||
String dutyTerritory_dicText = "";
|
||||
if (CutEnum.EN.getValue().equals(cut)) {
|
||||
@@ -291,9 +312,9 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
dataRow.createCell(4).setCellValue(checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("dutyTerritory_dicText")));
|
||||
String projectName = checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("projectName")) + "-" + checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("yearName"));
|
||||
dataRow.createCell(5).setCellValue(projectName);
|
||||
dataRow.createCell(6).setCellValue(checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("designStatus_dicText")));
|
||||
dataRow.createCell(7).setCellValue(checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("prehomoStatus_dicText")));
|
||||
dataRow.createCell(8).setCellValue(checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("verifyStatus_dicText")));
|
||||
dataRow.createCell(6).setCellValue(checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("designFlowTaskStatus_dicText")));
|
||||
dataRow.createCell(7).setCellValue(checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("prehomoFlowTaskStatus_dicText")));
|
||||
dataRow.createCell(8).setCellValue(checkValueIsNotNull(byStandIdcomplianceResultList.get(i).get("verifyFlowTaskStatus_dicText")));
|
||||
if(byStandIdComlianceResultSize > 1 && i != (byStandIdComlianceResultSize - 1)){
|
||||
rowIndex ++;
|
||||
}
|
||||
@@ -383,9 +404,9 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
Row dataRow = sheet.createRow(rowIndex);
|
||||
dataRow.createCell(0).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("dutyTerritory_dicText")));
|
||||
dataRow.createCell(1).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("projectName")));
|
||||
dataRow.createCell(2).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("designStatus_dicText")));
|
||||
dataRow.createCell(3).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("prehomoStatus_dicText")));
|
||||
dataRow.createCell(4).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("verifyStatus_dicText")));
|
||||
dataRow.createCell(2).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("designFlowTaskStatus_dicText")));
|
||||
dataRow.createCell(3).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("prehomoFlowTaskStatus_dicText")));
|
||||
dataRow.createCell(4).setCellValue(checkValueIsNotNull(exportData.get(dataIndex).get("verifyFlowTaskStatus_dicText")));
|
||||
rowIndex ++;
|
||||
}
|
||||
}
|
||||
@@ -512,7 +533,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi
|
||||
}
|
||||
if(StringUtils.isNotEmpty(idStr)){
|
||||
idStr = idStr.substring(0,idStr.length()-1);
|
||||
conditionSb.append(" and id in("+idStr+")");
|
||||
conditionSb.append(" and bdl.id in("+idStr+")");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1350,7 +1350,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
//消息内容
|
||||
String msgContentEN = currentUser.getUsername() + " initiated the regulation list confirmation for "
|
||||
+ projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ". The due date is:" +inventoryAffirmDueDate+ " .Please check and address it in a timely manner.";
|
||||
+ ". The due date is " + inventoryAffirmDueDate+ ". Please check and address it in a timely manner.";
|
||||
String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a regulation list confirmation task to complete";
|
||||
|
||||
@@ -2117,11 +2117,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String taskType = "";
|
||||
String initiator = "";
|
||||
String initiatorLark = "";
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_START_MSG.getValue())) {
|
||||
userIdList.add(engineeringInterfacePerson);
|
||||
msgContentEN = sysUser.getUsername() + " initiated the regulation task confirmation of " + projectNameInfoEO.getProjectName()
|
||||
+ ".The due date is:" +taskAffirmDueDate+ " Please check and address it in a timely manner.";
|
||||
+ ". The due date is " + taskAffirmDueDate + ". Please check and address it in a timely manner.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a regulation task confirmation to complete";
|
||||
|
||||
@@ -2136,7 +2137,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String dreUserId = jsonObject.getString("dreUserId"); //dre用户id
|
||||
userIdList.add(dreUserId);
|
||||
msgContentEN = sysUser.getUsername() + " has assigned the regulation task confirmation of " + serialNumber + " in "+ projectNameInfoEO.getProjectName()
|
||||
+ ".to you. the due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
|
||||
+ " to you. The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a regulation task confirmation to complete";
|
||||
|
||||
@@ -2150,7 +2151,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())) {
|
||||
userIdList.add(engineeringInterfacePerson);
|
||||
msgContentEN = sysUser.getUsername() + " has rejected the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ ".The due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
|
||||
+ ". The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a regulation task confirmation to complete";
|
||||
|
||||
@@ -2164,7 +2165,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_ACCEPTED.getValue())) {
|
||||
userIdList.add(engineeringInterfacePerson);
|
||||
msgContentEN = sysUser.getUsername() + " has submitted the regulation task confirmation of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ ".The due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
|
||||
+ ". The due date is " +taskAffirmDueDate+ ". Please check and handle it in time.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a regulation task confirmation to complete";
|
||||
|
||||
@@ -2207,7 +2208,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
|
||||
userIdList.add(designDutyId);
|
||||
msgContentEN = "You recieved the design compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ ". The due date is XXXX. Please check and address it in a timely manner.";
|
||||
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getDesignDueDate()) + ". Please check and address it in a timely manner.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a design compliance task to complete";
|
||||
|
||||
@@ -2225,7 +2226,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id
|
||||
userIdList.add(prehomoDutyId);
|
||||
msgContentEN = "You recieved the Pre-Homo task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ ". The due date is XXXX. Please check and address it in a timely manner.";
|
||||
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()) + ". Please check and address it in a timely manner.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a Pre-Homo task to complete";
|
||||
|
||||
@@ -2244,7 +2245,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id
|
||||
userIdList.add(verifyDutyId);
|
||||
msgContentEN = "You recieved the validation compliance task of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ ". The due date is XXXX. Please check and address it in a timely manner.";
|
||||
+ ". The due date is " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()) + ". Please check and address it in a timely manner.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a validation compliance task to complete";
|
||||
|
||||
@@ -2272,10 +2273,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
taskType = "Design Compliance Confirmation";
|
||||
|
||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId())
|
||||
);
|
||||
initiatorLark = initiatorLarkInfo.getUsername();
|
||||
feishuMsgVo.setAssignee(sysUser.getUsername());
|
||||
// SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||
// new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId())
|
||||
// );
|
||||
// initiatorLark = initiatorLarkInfo.getUsername();
|
||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
||||
String prehomoInitiatorId = jsonObject.getString("prehomoInitiatorId"); //pre-Home发起人id
|
||||
userIdList.add(prehomoInitiatorId);
|
||||
@@ -2290,10 +2292,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
taskType = "Pre-Homo Confirmation";
|
||||
|
||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId())
|
||||
);
|
||||
initiatorLark = initiatorLarkInfo.getUsername();
|
||||
feishuMsgVo.setAssignee(sysUser.getUsername());
|
||||
// SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||
// new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId())
|
||||
// );
|
||||
// initiatorLark = initiatorLarkInfo.getUsername();
|
||||
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_CHARGE_PERSON_SUBMIT_MSG.getValue())){
|
||||
String verifyInitiatorId = jsonObject.getString("verifyInitiatorId"); //验证符合性发起人id
|
||||
userIdList.add(verifyInitiatorId);
|
||||
@@ -2308,15 +2311,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
taskType = "Validation Compliance Confirmation";
|
||||
|
||||
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
|
||||
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId())
|
||||
);
|
||||
initiatorLark = initiatorLarkInfo.getUsername();
|
||||
feishuMsgVo.setAssignee(sysUser.getUsername());
|
||||
// SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
|
||||
// new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId())
|
||||
// );
|
||||
// initiatorLark = initiatorLarkInfo.getUsername();
|
||||
}else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_INITIATOR_ACCEPTED_MSG.getValue())){
|
||||
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
|
||||
userIdList.add(designDutyId);
|
||||
msgContentEN = "The design compliance information of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ ". you sumitted has been approved.";
|
||||
+ " you submitted has been approved.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a design compliance task to complete";
|
||||
|
||||
@@ -2334,7 +2338,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id
|
||||
userIdList.add(prehomoDutyId);
|
||||
msgContentEN = "The Pre-Homo confirmation information of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ ". you sumitted has been approved.";
|
||||
+ " you submitted has been approved.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a Pre-Homo task to complete";
|
||||
|
||||
@@ -2352,7 +2356,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id
|
||||
userIdList.add(verifyDutyId);
|
||||
msgContentEN = "The validation compliance information of " + serialNumber +" in "+ projectNameInfoEO.getProjectName()
|
||||
+ "you sumitted has been approved.";
|
||||
+ " you submitted has been approved.";
|
||||
msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()
|
||||
+ ": You have a validation compliance task to complete";
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ 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.commons.lang.StringUtils;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
@@ -120,7 +121,8 @@ public class ExcelUtil {
|
||||
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"));
|
||||
String sheetName = "sheet" + (i+1); // xml下的表格名称 不是sheet页签名称
|
||||
WorksheetPart worksheetPart = (WorksheetPart) pkg.getParts().get(new PartName("/xl/worksheets/" + sheetName + ".xml"));
|
||||
partNameNum++;
|
||||
|
||||
//获得数据的总行数
|
||||
@@ -142,6 +144,10 @@ public class ExcelUtil {
|
||||
if(ObjectUtil.isNull(cell)) {
|
||||
continue;
|
||||
}
|
||||
// 判断单元格类型,非文本单元格不处理
|
||||
if(! (org.apache.poi.ss.usermodel.Cell.CELL_TYPE_STRING == cell.getCellType())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String cellValue = cell.getStringCellValue();
|
||||
|
||||
@@ -149,7 +155,7 @@ public class ExcelUtil {
|
||||
String key = (String) imgMap.get("key");
|
||||
String text = (String) imgMap.get("text");
|
||||
byte[] bytes = (byte[]) imgMap.get("bytes");
|
||||
if (("${" + key + "}").equals(cellValue)) {
|
||||
if (StringUtils.isNotEmpty(cellValue) && cellValue.contains("${" + key + "}")) {
|
||||
|
||||
// 根据图片大小调整行高
|
||||
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
|
||||
@@ -161,7 +167,7 @@ public class ExcelUtil {
|
||||
}
|
||||
|
||||
// 插入图片到表格
|
||||
putImagePOI(worksheetPart, pkg, cell, bytes, sheet.getSheetName().toLowerCase(), String.valueOf(partNameNum));
|
||||
putImagePOI(worksheetPart, pkg, cell, bytes, sheetName, String.valueOf(partNameNum));
|
||||
}
|
||||
}
|
||||
j++; // 单元格非空才++
|
||||
|
||||
@@ -162,7 +162,9 @@ public class LawsMonthlyReportWriteEO implements Serializable {
|
||||
/**法规联系人*/
|
||||
@Excel(name = "法规联系人", width = 15)
|
||||
@ApiModelProperty(value = "法规联系人")
|
||||
private java.lang.String lawsContact;
|
||||
private java.lang.String lawsContact;//存id
|
||||
@TableField(exist = false)
|
||||
private java.lang.String lawsContactName;//存用户名
|
||||
|
||||
/**链接*/
|
||||
@Excel(name = "链接", width = 15)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.report.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aliyuncs.utils.IOUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -139,6 +140,9 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
iNewOpinionTemplateEOService.remove(wrapper);
|
||||
//新增
|
||||
List<NewOpinionTemplateEO> newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList();
|
||||
for (NewOpinionTemplateEO newOpinionTemplateEO : newOpinionTemplateEOList) {
|
||||
newOpinionTemplateEO.setLawsMonthlyReportWriteId(lawsMonthlyReportWriteEO.getId());
|
||||
}
|
||||
iNewOpinionTemplateEOService.saveBatch(newOpinionTemplateEOList);
|
||||
|
||||
}else if (ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
|
||||
@@ -149,6 +153,9 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
iNewStandardTemplateEOService.remove(lambdaQueryWrapper);
|
||||
//新增
|
||||
List<NewStandardTemplateEO> newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList();
|
||||
for (NewStandardTemplateEO newStandardTemplateEO : newStandardTemplateEOList) {
|
||||
newStandardTemplateEO.setLawsMonthlyReportWriteId(lawsMonthlyReportWriteEO.getId());
|
||||
}
|
||||
iNewStandardTemplateEOService.saveBatch(newStandardTemplateEOList);
|
||||
}
|
||||
|
||||
@@ -289,6 +296,24 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
|
||||
//法规月报id
|
||||
List<String> lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
|
||||
List<String> userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
|
||||
List<String> userIds = new ArrayList<>();
|
||||
for (String s : userIdList) {
|
||||
if(StringUtils.isNotBlank(s)){
|
||||
if(s.contains(",")){
|
||||
userIds.addAll(Arrays.asList(s.split(",")));
|
||||
}else{
|
||||
userIds.add(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
List<JSONObject> jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ","));
|
||||
List<LoginUser> userList = new ArrayList<>();
|
||||
for (JSONObject jsonObject : jsonObjects) {
|
||||
LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class);
|
||||
userList.add(loginUser);
|
||||
}
|
||||
|
||||
//获取章节目录
|
||||
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list();
|
||||
|
||||
@@ -311,6 +336,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
|
||||
|
||||
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) {
|
||||
//处理法规联系人
|
||||
lawsContact(userList, lawsMonthlyReportWriteEO);
|
||||
//处理章节目录
|
||||
if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){
|
||||
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream()
|
||||
@@ -356,6 +383,24 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
private void lawsContact(List<LoginUser> userList, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) {
|
||||
String lawsContact = lawsMonthlyReportWriteEO.getLawsContact();
|
||||
if(StringUtils.isNotBlank(lawsContact)){
|
||||
List<LoginUser> collect = userList.stream().filter(e -> lawsContact.contains(e.getId())).collect(Collectors.toList());
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String s : lawsContact.split(",")) {
|
||||
List<LoginUser> loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList());
|
||||
if(loginUserList.size() != 0){
|
||||
sb.append(loginUserList.get(0).getUsername()+",");
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(sb)){
|
||||
String substring = sb.substring(0, sb.length() - 1);
|
||||
lawsMonthlyReportWriteEO.setLawsContactName(substring);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exportMonthlyReport(HttpServletResponse response,
|
||||
HttpServletRequest request,
|
||||
@@ -411,8 +456,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOService.list();
|
||||
lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOS.stream()
|
||||
.filter(e -> memoriesChapterList.contains(e.getId())).collect(Collectors.toList());
|
||||
|
||||
String path = uploadpath + "/tempZip";
|
||||
long l = System.currentTimeMillis();
|
||||
String path = uploadpath + "/tempZip"+l;
|
||||
File fileTemp = new File(path);
|
||||
if (fileTemp.exists()) {
|
||||
fileTemp.delete();
|
||||
@@ -432,16 +477,34 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
os.write(len);
|
||||
}
|
||||
os.flush();
|
||||
os.close();
|
||||
fis.close();
|
||||
} catch (Exception e) {
|
||||
|
||||
}finally {
|
||||
IOUtils.closeQuietly(os);
|
||||
File file = new File(uploadpath + "/tempZip");
|
||||
File file = new File(uploadpath + "/tempZip"+l);
|
||||
FileUtil.deleteContents(file);
|
||||
File fileTem = new File(uploadpath + "/tempZip.zip");
|
||||
File fileTem = new File(uploadpath + "/tempZip"+l+".zip");
|
||||
FileUtil.deleteContents(fileTem);
|
||||
}
|
||||
|
||||
//导出月报后修改列表状态
|
||||
List<LawsMonthlyReportWriteEO> list = new ArrayList<>();
|
||||
if(StringUtils.isBlank(lawsMonthlyReportWriteEO.getIds())){
|
||||
//导出全部
|
||||
list = this.list();
|
||||
}else{
|
||||
//导出部分
|
||||
LambdaQueryWrapper<LawsMonthlyReportWriteEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(LawsMonthlyReportWriteEO::getId,Arrays.asList(lawsMonthlyReportWriteEO.getIds().split(",")));
|
||||
list = this.list(lambdaQueryWrapper);
|
||||
}
|
||||
for (LawsMonthlyReportWriteEO monthlyReportWriteEO : list) {
|
||||
monthlyReportWriteEO.setExportState(ExportStateEnum.HAS_BEEN_EXPORT.getValue());
|
||||
}
|
||||
if(list.size() != 0){
|
||||
this.updateBatchById(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -461,10 +524,12 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
List<LawsMonthlyReportTitleTemplateEO> 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 memoriesChapterCN = path + File.separator +"蔚来汽车法规月报-" + lawsMonthlyReportWriteEOS.get(0).getMonth()+"-主页面-CN.docx";
|
||||
String memoriesChapterEN = path + File.separator +"蔚来汽车法规月报-" + lawsMonthlyReportWriteEOS.get(0).getMonth()+"-主页面-EN.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 +"蔚来汽车法规月报-" + lawsMonthlyReportWriteEOS.get(0).getMonth()+"-EN.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();
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.jero.modules.report.util;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.modules.project.service.impl.ProjectLawsInventoryEOServiceImpl;
|
||||
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
|
||||
import com.jero.modules.report.entity.NewOpinionTemplateEO;
|
||||
import com.jero.modules.report.entity.NewStandardTemplateEO;
|
||||
@@ -173,7 +174,8 @@ public class WordUtil {
|
||||
XWPFRun run = logo.createRun();
|
||||
|
||||
String imgFile = logoFilePath;
|
||||
InputStream is = new FileInputStream(imgFile);
|
||||
InputStream is = WordUtil.class.getClassLoader().getResourceAsStream("static/home/weilai.png");
|
||||
// InputStream is = new FileInputStream(imgFile);
|
||||
XWPFPicture picture = run.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(95), Units.toEMU(35));
|
||||
String blipID = "";
|
||||
for(XWPFPictureData picturedata : header.getAllPackagePictures()) { //这段必须有,不然打开的logo图片不显示
|
||||
@@ -251,6 +253,10 @@ public class WordUtil {
|
||||
paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
XWPFRun run = paragraph.createRun();
|
||||
run.setText("NIO Internal");
|
||||
run.setFontSize(18);
|
||||
run.setFontFamily("Blue Sky Standard Regular");
|
||||
// run.setFontFamily("Blue Sky Noto Regular");
|
||||
run.setBold(true);
|
||||
|
||||
|
||||
CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||
|
||||
@@ -66,6 +66,9 @@ public class SarFileSplitInfoController extends JeroController<SarFileSplitInfoE
|
||||
if(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getTitle())){
|
||||
sarFileSplitInfoEOPage.setTitle(sarFileSplitInfoEOPage.getTitle().replace("%","\\%"));
|
||||
}
|
||||
if(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getFileId())){//判断是不是以及传回文档库
|
||||
queryWrapper.isNotNull(SarFileSplitInfoEO::getFileId);
|
||||
}
|
||||
queryWrapper.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getSerialNumber()), SarFileSplitInfoEO::getSerialNumber, sarFileSplitInfoEOPage.getSerialNumber())
|
||||
.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getTitle()) && CutEnum.CN.getValue().equals(sarFileSplitInfoEOPage.getCut()), SarFileSplitInfoEO::getTitle, sarFileSplitInfoEOPage.getTitle())
|
||||
.like(StringUtils.isNotEmpty(sarFileSplitInfoEOPage.getTitle()) && CutEnum.EN.getValue().equals(sarFileSplitInfoEOPage.getCut()), SarFileSplitInfoEO::getTitleEn, sarFileSplitInfoEOPage.getTitle())
|
||||
|
||||
@@ -16,10 +16,8 @@ import com.jero.modules.split.service.IFileSplitItemsEOService;
|
||||
import com.jero.modules.split.service.ISarFileSplitItemsValEOService;
|
||||
import com.jero.modules.split.util.FileSplitUtils;
|
||||
import com.jero.modules.split.util.ReadWordTable;
|
||||
import com.qcloud.cos.utils.IOUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.pdfbox.cos.COSBase;
|
||||
import org.apache.poi.xwpf.usermodel.*;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.xmlbeans.XmlCursor;
|
||||
@@ -36,11 +34,9 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import sun.misc.BASE64Encoder;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.InetAddress;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -411,9 +407,9 @@ public class FileSpiltService {
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General Catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setName("General Catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
@@ -627,9 +623,9 @@ public class FileSpiltService {
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General Catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setName("General Catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
@@ -809,9 +805,9 @@ public class FileSpiltService {
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General Catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setName("General Catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
@@ -998,9 +994,9 @@ public class FileSpiltService {
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General Catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setName("General Catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
@@ -1185,9 +1181,9 @@ public class FileSpiltService {
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General Catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setName("General Catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
@@ -1362,9 +1358,9 @@ public class FileSpiltService {
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General Catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setName("General Catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
@@ -1546,9 +1542,9 @@ public class FileSpiltService {
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General Catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setName("General Catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
|
||||
@@ -214,4 +214,11 @@ public class workFlowController {
|
||||
public Result startTaskToConfirmProcess(@RequestBody JSONObject jsonObject){
|
||||
return workFlowFeignClient.startTaskToConfirmProcess(jsonObject);
|
||||
}
|
||||
|
||||
@AutoLog(value = "根据taskId删除流程")
|
||||
@ApiOperation(value="根据taskId删除流程", notes="根据taskId删除流程")
|
||||
@GetMapping("/deleteProcessInstanceByTaskId")
|
||||
public Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){
|
||||
return workFlowFeignClient.deleteProcessInstance(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,4 +156,12 @@ public interface WorkFlowFeignClient {
|
||||
|
||||
@RequestMapping(value = "/bat-wkflow/task/completeLawsTechnologyEvaluationTaskByPids",method = RequestMethod.GET)
|
||||
Result<String> completeLawsTechnologyEvaluationTaskByPids(@RequestParam("actiProcInstIds") String actiProcInstIds);
|
||||
|
||||
/**
|
||||
* 根据待办id删除流程
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByTaskId",method = RequestMethod.GET)
|
||||
Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId") String taskId);
|
||||
}
|
||||
|
||||
@@ -177,4 +177,13 @@ public class WorkFlowFeignClientImpl{
|
||||
Result<String> stringWrapper = workFlowFeignClient.startTaskToConfirmProcess(jsonObject.toString());
|
||||
return Result.OK(stringWrapper.getResult());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据待办id删除流程
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
public Result<String> deleteProcessInstanceByTaskId(@RequestParam("taskId")String taskId){
|
||||
return workFlowFeignClient.deleteProcessInstance(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ spring:
|
||||
mvc:
|
||||
static-path-pattern: /**
|
||||
resource:
|
||||
static-locations: classpath:/static/,classpath:/public/,classpath:/home/
|
||||
static-locations: classpath:/static/,classpath:/public/,classpath:/home,/classpath:/nationalFlag/
|
||||
autoconfigure:
|
||||
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
|
||||
datasource:
|
||||
|
||||
|
After Width: | Height: | Size: 153 KiB |
|
After Width: | Height: | Size: 305 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 127 KiB |
@@ -211,7 +211,7 @@ module.exports = {
|
||||
DataLogManagementPage: 'Data Log Management Page',
|
||||
VersionNumber: 'Version',
|
||||
DataContent: 'Data Content',
|
||||
creator: 'Creator',
|
||||
creator: 'Created By',
|
||||
selectTwoPiecesData: 'Please select two pieces of data',
|
||||
selectSameDatabase: 'Please select the same database table and data ID for comparison',
|
||||
DataComparison: 'Data Comparison',
|
||||
@@ -355,7 +355,7 @@ module.exports = {
|
||||
templateDownload: 'Download Template',
|
||||
textInformation: 'Document Files',
|
||||
relatedInformation: 'Relevant Information',
|
||||
RetrieveFiles: 'Retrieve Library File',
|
||||
RetrieveFiles: 'Select Stored File',
|
||||
SplitText: 'Split Library File',
|
||||
ImportResults: 'Import Split Results',
|
||||
copy: 'Copy',
|
||||
@@ -475,7 +475,7 @@ module.exports = {
|
||||
away: 'Collapse',
|
||||
toDoProcess: 'To Do',
|
||||
processDone: 'Completed',
|
||||
sentProcess: 'Create',
|
||||
sentProcess: 'Initiated',
|
||||
monitoringProcess: 'Monitor',
|
||||
ConfirmDeployment: 'Confirm Deployment?',
|
||||
terminationProcess: 'Termination Process',
|
||||
@@ -589,7 +589,7 @@ module.exports = {
|
||||
withdraw: 'Withdraw',
|
||||
maintenanceList: 'Maintain',
|
||||
instructionForUse: 'Instruction',
|
||||
subtitle: 'Sub-Title',
|
||||
subtitle: 'Sub-title',
|
||||
scopeOfApplication: 'Scope',
|
||||
correspondingStandard: 'Compare EU/CN',
|
||||
implementationCategory: 'Usage',
|
||||
@@ -610,7 +610,7 @@ module.exports = {
|
||||
deliverableTemplate: 'Deliverable Template',
|
||||
entryName: 'Project Name',
|
||||
targetMarket: 'Target Market',
|
||||
projectStatus: 'Development',
|
||||
projectStatus: 'Project Status',
|
||||
StudioEngineer: 'R&H Studio',
|
||||
CertificationTime: 'Certification Time',
|
||||
NTplatform: 'NT Platform',
|
||||
@@ -702,7 +702,7 @@ module.exports = {
|
||||
pleaseEnterTheCorrectWebAddress: 'Please enter the correct web address',
|
||||
updateTime: 'Update Time',
|
||||
comment: 'Comment',
|
||||
historicalVersion: 'Historical Version',
|
||||
historicalVersion: 'History Version',
|
||||
versionName: 'Version Name',
|
||||
finalizationTime: 'Finalization Time',
|
||||
setting: 'Setting',
|
||||
@@ -1049,24 +1049,24 @@ module.exports = {
|
||||
NNNiONumber: 'Number',
|
||||
NNiONumber: 'NIO Number',
|
||||
ParameterNo: 'Number',
|
||||
NRequired: 'Is Must',
|
||||
NRequired: 'Required',
|
||||
NParameterName: 'Para Name',
|
||||
NtechnicalField: 'Tech field',
|
||||
NparameterBatch: 'Params Batch',
|
||||
NareaOfResponsibility: 'Responsible Field',
|
||||
NParameterDescription: 'Description',
|
||||
NcertificationCategory: 'Cert',
|
||||
NcontrolType: 'Control Type',
|
||||
NcontrolVerification: 'Control Verify',
|
||||
NcontrolAlternatives: 'Control Values',
|
||||
NcertificationCategory: 'Cert Category',
|
||||
NcontrolType: 'Control Componet',
|
||||
NcontrolVerification: 'Validate Componet',
|
||||
NcontrolAlternatives: 'Componet Value',
|
||||
DefaultValue: 'Default Value',
|
||||
NattachmentTemplate: 'File Template',
|
||||
Ntext: 'Text',
|
||||
NDropdownradio: 'Pull Single',
|
||||
NDropdownmultipleselection: 'Pull More',
|
||||
NDropdownradio: 'Pull single',
|
||||
NDropdownmultipleselection: 'Pull more',
|
||||
Nenclosure: 'File',
|
||||
Atext: 'Text+Pull Single',
|
||||
Btext: 'Text+Pull More',
|
||||
Atext: 'Text+Pull single',
|
||||
Btext: 'Text+Pull more',
|
||||
Ctext: 'Text+File',
|
||||
Dtext: 'Pull single+File',
|
||||
Etext: 'Pull more+File',
|
||||
@@ -1115,26 +1115,26 @@ module.exports = {
|
||||
RegulationTaskConfirmationNotification: 'Regulation Task Confirmation Notification',
|
||||
evaluationMethod: 'Evaluation method',
|
||||
uploadRelevantMaterials: 'Upload relevant materials',
|
||||
processBackground: 'Process background',
|
||||
selectedStandard: 'Selected standard',
|
||||
processBackground: 'Process Background',
|
||||
selectedStandard: 'Selected Standard',
|
||||
standardDecompositionDocument: 'Standard decomposition document',
|
||||
pleaseSelectStandardFirst: 'Please select a standard first',
|
||||
RelevantMaterials: 'RelevantMaterials',
|
||||
evaluatorFeedback: 'Evaluator feedback',
|
||||
evaluatorFeedback: 'Evaluator Feedback',
|
||||
nameTechnicalDocument: 'Name of technical document',
|
||||
chapter: 'chapter',
|
||||
problemDescription: 'Problem description',
|
||||
problemDescription: 'Problem Description',
|
||||
filingExternalOpinions: 'Filing of external opinions',
|
||||
regulatoryTechnicalEvaluationResults: 'Regulatory technical evaluation results',
|
||||
initiateProcessForCurrentStandard: 'Initiate process for current standard',
|
||||
engineerFeedbackResults: 'Engineer feedback results',
|
||||
fileExport: 'File export',
|
||||
feedbackTime: 'Feedback time',
|
||||
fileExport: 'File Export',
|
||||
feedbackTime: 'Feedback Time',
|
||||
regulatoryTechnologyAssessmentProcess: 'Regulatory technology assessment process',
|
||||
feedbackEvaluation: 'Feedback evaluation',
|
||||
clauseEvaluation: 'Clause evaluation',
|
||||
standardDocuments: 'Standard documents',
|
||||
pleaseCompleteTheEvaluationMethodorEvaluator: 'Please complete the evaluation method or evaluator in the list',
|
||||
feedbackEvaluation: 'Feedback Evaluation',
|
||||
clauseEvaluation: 'Clause Evaluation',
|
||||
standardDocuments: 'Standard Documents',
|
||||
pleaseCompleteTheEvaluationMethodorEvaluator: 'Please complete the evaluator in the list',
|
||||
reviewComments: 'Review comments',
|
||||
PleaseCompleteList: 'Please complete the compliance results in the list',
|
||||
sponsorFeedback: 'Sponsor feedback',
|
||||
@@ -1213,7 +1213,7 @@ module.exports = {
|
||||
displayPermission: 'Display permission',
|
||||
authorizedUser: 'Authorized user',
|
||||
problemClassification: 'Problem classification',
|
||||
market: 'market',
|
||||
market: 'Market',
|
||||
documentNumber: 'Document Number',
|
||||
documentTitle: 'Document Title',
|
||||
bringInDocumentInformation: 'Bring in document information',
|
||||
@@ -1252,8 +1252,13 @@ module.exports = {
|
||||
optionDropDownBox:'Option drop - down box',
|
||||
attachmentUpload:'file',
|
||||
textInput:'Text Input',
|
||||
deleteNode:'If any file information exists, it will be deleted',
|
||||
deleteNode:'If there is any file information, the file will be deleted. Are you sure to delete this data?',
|
||||
HaveReleased:'Have released',
|
||||
forward:'Forward',
|
||||
areResponsibilityAreaInformationBatch:'Are you sure you want to modify the responsibility area information in batch',
|
||||
issuedBy:'Issued by',
|
||||
pleaseDecompositionStandardOrder:'Please import or bring in at least one decomposition standard order',
|
||||
currentlyTheFirstOneThatCannotMovedUp:'Currently the first one that cannot be moved up',
|
||||
currentlyTheLastOneCannotmovedDown:'Currently the last one cannot be moved down',
|
||||
weilaiRegulationMonthlyReport:'Weilai Regulation Monthly Report',
|
||||
}
|
||||
@@ -495,7 +495,7 @@ module.exports = {
|
||||
toBeConfirmed: '待确认',
|
||||
Operator: '操作人',
|
||||
role: '角色',
|
||||
operationContent: '操作内容',
|
||||
OperationContent: '操作内容',
|
||||
operationTime: '操作时间',
|
||||
toDoProcess: '待办流程',
|
||||
processDone: '已办流程',
|
||||
@@ -1139,7 +1139,6 @@ module.exports = {
|
||||
feedbackEvaluation: '反馈评估',
|
||||
clauseEvaluation: '条款评估',
|
||||
standardDocuments: '标准文件',
|
||||
pleaseCompleteTheEvaluationMethodorEvaluator: '请补全列表中评估方式或评估人',
|
||||
reviewComments: '审核意见',
|
||||
PleaseCompleteList: '请补全列表中符合性结果',
|
||||
sponsorFeedback: '发起人反馈',
|
||||
@@ -1240,7 +1239,7 @@ module.exports = {
|
||||
feedbackEvaluation: '反馈评估',
|
||||
clauseEvaluation: '条款评估',
|
||||
standardDocuments: '标准文件',
|
||||
pleaseCompleteTheEvaluationMethodorEvaluator: '请补全列表中评估方式或评估人',
|
||||
pleaseCompleteTheEvaluationMethodorEvaluator: '请补全列表中评估人',
|
||||
reviewComments: '审核意见',
|
||||
PleaseCompleteList: '请补全列表中符合性结果',
|
||||
sponsorFeedback: '发起人反馈',
|
||||
@@ -1355,8 +1354,13 @@ module.exports = {
|
||||
Paraname: '参数名称',
|
||||
Parabatch: '参数批次',
|
||||
freeze:'请选择冻结配置',
|
||||
deleteNode:'若有文件信息将同步删除',
|
||||
deleteNode:'若有文件信息将同步删除,确认删除该条数据?',
|
||||
HaveReleased:'已发布',
|
||||
forward:'转发',
|
||||
areResponsibilityAreaInformationBatch:'确实是否批量修改责任领域信息',
|
||||
issuedBy:'发布人',
|
||||
pleaseDecompositionStandardOrder:'请导入或带入至少一条分解标准单',
|
||||
currentlyTheFirstOneThatCannotMovedUp:'当前已是第一个无法进行上移',
|
||||
currentlyTheLastOneCannotmovedDown:'当前已是最后一个无法进行下移',
|
||||
weilaiRegulationMonthlyReport:'蔚来法规月报',
|
||||
}
|
||||
@@ -124,7 +124,7 @@
|
||||
} else {
|
||||
eventBUs.$emit('searchReset')
|
||||
}
|
||||
this.$message.success(info.file.response.message || `${info.file.name} 文件导入成功`)
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
}
|
||||
this.spinning = false
|
||||
} else {
|
||||
@@ -187,7 +187,7 @@
|
||||
}
|
||||
this.spinning = false
|
||||
} else {
|
||||
this.$message.error(`文件导入失败: ${info.file.msg} `)
|
||||
this.$message.error(this.$t('operationFailed'))
|
||||
this.spinning = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,14 +150,14 @@
|
||||
if (res.success) {
|
||||
var jsonHead = res.result
|
||||
this.columns = []
|
||||
this.columns.push(
|
||||
{
|
||||
title: this.$t('serialNumber'),
|
||||
dataIndex: 'index',
|
||||
key: 'index',
|
||||
align: 'center',
|
||||
customRender: (text, record, index) => `${index + 1}`
|
||||
})
|
||||
// this.columns.push(
|
||||
// {
|
||||
// title: this.$t('serialNumber'),
|
||||
// dataIndex: 'index',
|
||||
// key: 'index',
|
||||
// align: 'center',
|
||||
// customRender: (text, record, index) => `${index + 1}`
|
||||
// })
|
||||
jsonHead.forEach((res, index) => {
|
||||
this.columns.push({
|
||||
title: res.db_field_txt,
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
:dataSource='areaTable'
|
||||
:pagination='false'
|
||||
:loading='loading'
|
||||
:scroll="{x: '100%',y:'calc(100vh - 130px)'}"
|
||||
:scroll="{x: '100%',y:370}"
|
||||
:rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
|
||||
@change='handleTableChange'>
|
||||
|
||||
|
||||
@@ -712,4 +712,7 @@
|
||||
/deep/ .ant-calendar-picker{
|
||||
display: block;
|
||||
}
|
||||
::v-deep .ant-modal-body{
|
||||
overflow-y: visible!important;
|
||||
}
|
||||
</style>
|
||||
@@ -69,7 +69,7 @@
|
||||
methods: {
|
||||
onSelect(obj) {
|
||||
this.$emit('menuSelect', obj)
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -201,5 +201,14 @@
|
||||
left: 0 !important;
|
||||
right: inherit !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style scoped>
|
||||
::v-deep .ant-menu-item a {
|
||||
overflow: hidden !important;
|
||||
white-space: nowrap!important;
|
||||
text-overflow: ellipsis!important;
|
||||
-o-text-overflow: ellipsis!important;
|
||||
}
|
||||
</style>
|
||||
<!-- update_end author:sunjianlei date:20190530 for: 选中首页的时候不显示背景颜色 -->
|
||||
|
||||
@@ -109,7 +109,7 @@ export default {
|
||||
props = { to: { path: menu.path } }
|
||||
}
|
||||
|
||||
const attrs = { href: menu.path, target: menu.meta.target }
|
||||
const attrs = { href: menu.path, target: menu.meta.target , title:menu.meta.title }
|
||||
|
||||
if (menu.children && menu.alwaysShow) {
|
||||
// 把有子菜单的 并且 父菜单是要隐藏子菜单的
|
||||
@@ -162,7 +162,7 @@ export default {
|
||||
span
|
||||
slot = 'title' >
|
||||
{ this.renderIcon(menu.meta.icon) }
|
||||
< span > { menu.meta.title } < /span>
|
||||
< span title={menu.meta.title}> { menu.meta.title } < /span>
|
||||
< /span>
|
||||
{
|
||||
itemArr
|
||||
|
||||
@@ -147,12 +147,12 @@
|
||||
key: 'role',
|
||||
},
|
||||
{
|
||||
title: this.$t('operationContent'),
|
||||
title: this.$t('OperationContent'),
|
||||
dataIndex: 'content',
|
||||
key: 'content',
|
||||
},
|
||||
{
|
||||
title: this.$t('operationTime'),
|
||||
title: this.$t('OperationTime'),
|
||||
dataIndex: 'time',
|
||||
key: 'time',
|
||||
},
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
},
|
||||
searchQueryList: {
|
||||
type: Array,
|
||||
default: ()=>{
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
@@ -195,7 +195,7 @@
|
||||
this.queryParam = {}
|
||||
if (this.isDefault) {
|
||||
let startTime = moment(new Date()).format('YYYY-MM-DD')
|
||||
let endTime = this.getNewDate('after', 6)
|
||||
let endTime = this.haflYear()
|
||||
this.queryParam['WarnTime'] = [startTime, endTime]
|
||||
this.queryParam = { ...this.queryParam }
|
||||
}
|
||||
@@ -217,68 +217,26 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
getNewDate(flag, many) {
|
||||
|
||||
const thirtyDays = [4, 6, 9, 11] // 30天的月份
|
||||
|
||||
const thirtyOneDays = [1, 3, 5, 7, 8, 10, 12] // 31天的月份
|
||||
|
||||
const currDate = new Date() // 今天日期
|
||||
|
||||
const year = currDate.getFullYear()
|
||||
|
||||
let month = currDate.getMonth() + 1
|
||||
|
||||
let targetDateMilli = 0
|
||||
|
||||
let GMTDate = '' // 中国标准时间
|
||||
|
||||
let targetYear = '' // 年
|
||||
|
||||
let targetMonth = '' // 月
|
||||
|
||||
let targetDate = '' // 日
|
||||
|
||||
let dealTargetDays = '' // 目标日期
|
||||
|
||||
const isLeapYear = !!((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) // 是否是闰年
|
||||
|
||||
let countDays = 0 // 累计天数
|
||||
|
||||
for (let i = 0; i < many; i++) {
|
||||
|
||||
if (flag === 'before') {
|
||||
|
||||
month = month - 1 <= 0 ? 12 : month - 1
|
||||
|
||||
} else {
|
||||
|
||||
month = month + 1 > 12 ? 1 : month + 1
|
||||
|
||||
}
|
||||
|
||||
thirtyDays.includes(month) ? (countDays += 30) : thirtyOneDays.includes(month) ? (countDays += 31) : isLeapYear ? (countDays += 29) : (countDays += 28)
|
||||
haflYear() {
|
||||
// 先获取当前时间
|
||||
var curDate = (new Date()).getTime()
|
||||
// 将半年的时间单位换算成毫秒
|
||||
var halfYear = 365 / 2 * 24 * 3600 * 1000
|
||||
// 半年前的时间(毫秒单位)
|
||||
var pastResult = curDate + halfYear
|
||||
// 日期函数,定义起点为半年前
|
||||
var pastDate = new Date(pastResult)
|
||||
var pastYear = pastDate.getFullYear()
|
||||
var pastMonth = pastDate.getMonth() + 1
|
||||
var pastDay = pastDate.getDate()
|
||||
if (pastMonth >= 1 && pastMonth <= 9) {
|
||||
pastMonth = '0' + pastMonth
|
||||
}
|
||||
|
||||
targetDateMilli = currDate.setDate(
|
||||
currDate.getDate() - (flag === 'before' ? countDays : countDays * -1)
|
||||
)
|
||||
|
||||
GMTDate = new Date(targetDateMilli)
|
||||
|
||||
targetYear = GMTDate.getFullYear()
|
||||
|
||||
targetMonth = GMTDate.getMonth() + 1
|
||||
|
||||
targetDate = GMTDate.getDate()
|
||||
|
||||
targetMonth = targetMonth.toString().padStart(2, '0')
|
||||
|
||||
targetDate = targetDate.toString().padStart(2, '0')
|
||||
|
||||
dealTargetDays = `${targetYear}-${targetMonth}-${targetDate}`
|
||||
|
||||
return dealTargetDays
|
||||
if (pastDay >= 0 && pastDay <= 9) {
|
||||
pastDay = '0' + pastDay
|
||||
}
|
||||
var endDate = pastYear + '-' + pastMonth + '-' + (pastDay + 1)
|
||||
return endDate
|
||||
},
|
||||
dateChange(item) {
|
||||
this.queryParam[item] = moment(this.queryParam[item]).format('YYYY-MM-DD')
|
||||
|
||||
@@ -350,13 +350,25 @@
|
||||
}
|
||||
postAction('/workFlow/startProcess', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.completeTask(value, res.result)
|
||||
this.completeTask(value, res.result, true)
|
||||
} else {
|
||||
this.JLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
completeTask(value, taskId) {
|
||||
deleteProcessInstanceByTask(taskId) {
|
||||
getAction('/workFlow/deleteProcessInstanceByTaskId', { taskId: taskId }).then((res) => {
|
||||
})
|
||||
},
|
||||
completeTask(value, taskId, isTrue) {
|
||||
let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
|
||||
value.handlingTime = handlingTime
|
||||
Object.keys(value).forEach(res => {
|
||||
if (value[res] && value[res] instanceof String) {
|
||||
value[res] = value[res].replace(/\"/g, '“')
|
||||
value[res] = value[res].replace(/\'/g, '‘')
|
||||
}
|
||||
})
|
||||
let query = {
|
||||
userid: this.userInfo().id,
|
||||
taskId: taskId,
|
||||
@@ -375,6 +387,9 @@
|
||||
} else {
|
||||
this.JLoading = false
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
if (isTrue) {
|
||||
this.deleteProcessInstanceByTask(taskId)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="table-operator">
|
||||
<div @click="initiatingProcessClick" class="operator-text">
|
||||
<div @click="initiatingProcessClick" v-has="'regulatoryComments:initiationProcess'" class="operator-text">
|
||||
<a-icon type="apartment"/>
|
||||
{{$t('initiatingProcess')}}
|
||||
</div>
|
||||
@@ -86,7 +86,7 @@
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%'}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 160px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
@@ -232,6 +232,7 @@
|
||||
searchReset() {
|
||||
this.queryParam = {}
|
||||
this.$route.query.serialNumber = ''
|
||||
this.$route.query.gatherResult = ''
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
@@ -255,6 +256,7 @@
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
serialNumber: this.$route.query.serialNumber ? this.$route.query.serialNumber : '',
|
||||
gatherResult: this.$route.query.gatherResult ? this.$route.query.gatherResult : '',
|
||||
...queryParam
|
||||
}
|
||||
this.loading = true
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="problemLabel">
|
||||
<a-input class="box-input"
|
||||
v-model="formInline.problemLabel"
|
||||
v-model.trim="formInline.problemLabel"
|
||||
:placeholder="$t('PleaseEnter')+$t('problemLabel')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -34,6 +34,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="chargePersonIdName">
|
||||
<PersonnelSelection
|
||||
:isSingleChoice="true"
|
||||
:query="{db_field_name:'chargePersonId',db_field_txt:$t('personCharge')}"
|
||||
:personneQuery="formInline"
|
||||
@change="PersonnelSelectionChange"
|
||||
@@ -75,8 +76,8 @@
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 100,
|
||||
message: this.$t('problemLabel') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
|
||||
max: 200,
|
||||
message: this.$t('problemLabel') + this.$t('cannotExceed') + 200 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.$emit('classificationMaintenanceModelForm')
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
|
||||
@@ -37,55 +37,27 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-box">
|
||||
<div class="content-box-box" @click="contentClick()">
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<div class="content-box-box" v-for="(item,index) in conList" :key="index" @click="contentClick(item)">
|
||||
<img :src="item.countryNationalFlag" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
{{item.applyMarket_dictText}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="content-box-box">
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
</span>
|
||||
</div>
|
||||
<div class="content-box-box">
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
</span>
|
||||
</div>
|
||||
<div class="content-box-box">
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
</span>
|
||||
</div>
|
||||
<div class="content-box-box">
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
</span>
|
||||
</div>
|
||||
<div class="content-box-box">
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
</span>
|
||||
</div>
|
||||
<div class="page">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
:pageSizeOptions="['12','24','36','48','60']"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -99,13 +71,18 @@
|
||||
queryParam: {},
|
||||
conList: [],
|
||||
applyMarketList: [],
|
||||
pageSize: 10,
|
||||
pageSize: 12,
|
||||
total: 0,
|
||||
pageNo: 1
|
||||
pageNo: 1,
|
||||
loading: false,
|
||||
url: {
|
||||
getInfoList: '/problemKnowledgeBase/countryCardManageReleaseEO/page'
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getApplyMarketList()
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getApplyMarketList() {
|
||||
@@ -118,10 +95,15 @@
|
||||
})
|
||||
},
|
||||
searchQuery() {
|
||||
|
||||
this.pageNo = 1
|
||||
this.getApplyMarketList()
|
||||
this.getList()
|
||||
},
|
||||
searchReset() {
|
||||
|
||||
this.pageNo = 1
|
||||
this.getApplyMarketList()
|
||||
this.queryParam = {}
|
||||
this.getList()
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
@@ -135,14 +117,19 @@
|
||||
getList() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize
|
||||
pageSize: this.pageSize,
|
||||
releaseStatus: 'Have released',
|
||||
...this.queryParam
|
||||
}
|
||||
postAction(this.url.getInfoList, query).then((res) => {
|
||||
this.loading = true
|
||||
getAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.conList = []
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -153,10 +140,13 @@
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
contentClick() {
|
||||
contentClick(row) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/countryCardView',
|
||||
query: {}
|
||||
query: {
|
||||
applyMarket: row.applyMarket,
|
||||
id: row.id
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
@@ -208,6 +198,7 @@
|
||||
|
||||
.content-box {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.content-box-box {
|
||||
@@ -226,14 +217,14 @@
|
||||
}
|
||||
|
||||
.content-box-box-img {
|
||||
width: 70%;
|
||||
width: 238px;
|
||||
height: 100%;
|
||||
border-right: 1px #d9d9d9 solid;
|
||||
}
|
||||
|
||||
.content-box-box-text {
|
||||
width: calc(100% - 238px);
|
||||
display: inline-block;
|
||||
width: 30%;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
@@ -244,6 +235,7 @@
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.operator-text {
|
||||
|
||||
@@ -19,10 +19,18 @@
|
||||
<div class="title-text" :title="$t('applicableMarket')">
|
||||
<span>{{$t('applicableMarket')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.applyMarket"
|
||||
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
<a-select class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
style="width: 100%"
|
||||
v-model="queryParam.applyMarket">
|
||||
<a-select-option v-for="(item, key) in applyMarketList"
|
||||
:key="key"
|
||||
:value="item.value">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.title ">
|
||||
{{ item.title}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="8">
|
||||
@@ -150,6 +158,7 @@
|
||||
deleteBatch: '/problemKnowledgeBase/countryCardManageReleaseEO/deleteBatch'
|
||||
},
|
||||
userInfoQuery: {},
|
||||
applyMarketList: [],
|
||||
selectedRowKeys: [],
|
||||
columns: [
|
||||
{
|
||||
@@ -177,10 +186,20 @@
|
||||
mounted() {
|
||||
document.title = 'Country Card-' + this.$t('managePublishing')
|
||||
this.getList()
|
||||
this.getApplyMarketList()
|
||||
this.userInfoQuery = this.userInfo()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
getApplyMarketList() {
|
||||
getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: '1' }).then((res) => {
|
||||
if (res.success) {
|
||||
this.applyMarketList = res.result || []
|
||||
} else {
|
||||
this.applyMarketList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
searchQuery() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
@@ -200,6 +219,7 @@
|
||||
this.getList()
|
||||
},
|
||||
countryCardReleaseAddForm() {
|
||||
this.getApplyMarketList()
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
@@ -256,6 +276,7 @@
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.selectedRowKeys = []
|
||||
_this.getList()
|
||||
_this.getApplyMarketList()
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
@@ -298,10 +319,13 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
viewClick() {
|
||||
viewClick(row) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/countryCardView',
|
||||
query: {}
|
||||
query: {
|
||||
applyMarket: row.applyMarket,
|
||||
id: row.id
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
},
|
||||
@@ -314,6 +338,7 @@
|
||||
if (res.success) {
|
||||
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||
_this.getList()
|
||||
_this.getApplyMarketList()
|
||||
} else {
|
||||
_this.$message.warning(res.message)
|
||||
}
|
||||
|
||||
@@ -62,7 +62,8 @@
|
||||
<span slot="content" slot-scope="text,record,index">
|
||||
<a-input class="box-input"
|
||||
v-if="record.lableType == 8"
|
||||
v-model="record.content"
|
||||
v-model.trim="record.content"
|
||||
:maxLength="300"
|
||||
:placeholder="$t('PleaseEnter')"/>
|
||||
<a-select :placeholder="$t('PleaseSelect')"
|
||||
style="width: 100%"
|
||||
@@ -126,7 +127,7 @@
|
||||
},
|
||||
visible: false,
|
||||
selectedRowKeys: [],
|
||||
dataList: [{}],
|
||||
dataList: [],
|
||||
loading: false,
|
||||
confirmLoading: false,
|
||||
index: '',
|
||||
@@ -234,7 +235,7 @@
|
||||
url = this.url.edit
|
||||
this.dataList.forEach(res => {
|
||||
content.push({
|
||||
countryCardTempId: res.id,
|
||||
countryCardTempId: res.countryCardTempId,
|
||||
description: res.description,
|
||||
content: res.content,
|
||||
id: res.id
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<a-form-model-item class="itemModel" prop="lableName">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.lableName"
|
||||
v-model.trim="formInline.lableName"
|
||||
:placeholder="$t('PleaseEnter')+$t('LabelName')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -77,6 +77,8 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="orderNum">
|
||||
<a-input-number class="box-input"
|
||||
:max="9999"
|
||||
:min="0"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.orderNum"
|
||||
:placeholder="$t('PleaseEnter')+$t('DisplayOrder')"/>
|
||||
@@ -94,7 +96,7 @@
|
||||
<a-form-model-item class="itemModel" prop="relevantUrl">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.relevantUrl"
|
||||
v-model.trim="formInline.relevantUrl"
|
||||
:placeholder="$t('PleaseEnter')+$t('associatedWebsite')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -111,7 +113,7 @@
|
||||
<a-textarea
|
||||
:placeholder="$t('PleaseEnter')+$t('describe')"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.description" :rows="4"/>
|
||||
v-model.trim="formInline.description" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -190,8 +192,8 @@
|
||||
],
|
||||
description: [
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('describe') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
max: 500,
|
||||
message: this.$t('describe') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<span style="line-height: 66px;display: inline-block;float: left">
|
||||
<a-icon type="arrow-left" style="margin-right: 6px;"/>
|
||||
</span>
|
||||
{{$t('See')}}
|
||||
{{header_text}}
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding-top: 68px;background: #fff">
|
||||
@@ -23,19 +23,50 @@
|
||||
</div>
|
||||
<div style="overflow: auto;height: calc(100vh - 160px);">
|
||||
<div class="content-box" :style="{'width':clientWidth}" v-if="isTrue">
|
||||
<div style="width: 100%" v-for="(item1,index) in 14" class="content-box-top">
|
||||
<div v-for="(item2,index2) in 16" style="width: 340px;display: inline-block" class="content-box-left">
|
||||
<div class="content-box-box-top" v-if="index == 0">
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
</span>
|
||||
<div style="width: 100%" v-for="(item1,index) in contentList" class="content-box-top">
|
||||
<div v-for="(item2,index2) in item1.list" style="width: 340px;display: inline-block"
|
||||
class="content-box-left">
|
||||
<div class="content-box-box-top" style="cursor: default" v-if="index == 0">
|
||||
<img class="content-box-box-img" style="display: inline-block;width: auto" v-if="index2 == 0">
|
||||
<img :src="item2.img" v-else class="content-box-box-img" alt="">
|
||||
<span v-if="index2 == 0" class="content-box-box-text"></span>
|
||||
<span v-else class="content-box-box-text">
|
||||
{{item2.applyMarket_dictText}}
|
||||
</span>
|
||||
|
||||
</div>
|
||||
<div class="content-box-box" v-else>
|
||||
<img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">
|
||||
<span class="content-box-box-text">
|
||||
中国
|
||||
</span>
|
||||
<a v-if="index2 == 0 && item2.relevantUrl"
|
||||
style="color: rgb(33, 201, 204)"
|
||||
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"
|
||||
class="content-box-box-text content-box-box-text-index"
|
||||
:href="item2.relevantUrl" target="_blank">{{item2.lableName}}</a>
|
||||
<span style="color: #21c9cc"
|
||||
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"
|
||||
class="content-box-box-text content-box-box-text-index"
|
||||
@click="viewFileClick(item2.lableName)"
|
||||
v-else-if="item2.lableType == 7 && item2.lableName && index2 != 0">
|
||||
{{$t('viewFile')}}
|
||||
</span>
|
||||
<span class="content-box-box-text content-box-box-text-index"
|
||||
v-else-if="item2.lableType != 7 && !item2.lableName && index2 != 0"
|
||||
style="cursor: default"
|
||||
:title="item2.lableName"
|
||||
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}">
|
||||
{{item2.lableName}}
|
||||
</span>
|
||||
<span class="content-box-box-text content-box-box-text-index"
|
||||
v-else
|
||||
style="cursor: default"
|
||||
:title="item2.lableName"
|
||||
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}">
|
||||
{{item2.lableName}}
|
||||
</span>
|
||||
|
||||
<!-- <img src="../../../../assets/mobileHome.png" class="content-box-box-img" alt="">-->
|
||||
<!-- <span class="content-box-box-text">-->
|
||||
<!-- 中国-->
|
||||
<!-- </span>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,8 +75,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<displayInformationModel ref="displayInformationModelRef"/>
|
||||
<displayInformationModel ref="displayInformationModelRef"
|
||||
@displayInformationModelForm="displayInformationModelForm"/>
|
||||
<countryCardViewAdd ref="countryCardViewAddRef" @countryCardViewAddForm="countryCardViewAddForm"/>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
<viewFileModel ref="viewFileModelRef"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -53,35 +87,172 @@
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import displayInformationModel from './displayInformationModel'
|
||||
import countryCardViewAdd from './countryCardViewAdd'
|
||||
import viewFileModel from '@/components/viewFileModel/index'
|
||||
|
||||
export default {
|
||||
name: 'countryCardView',
|
||||
components: {
|
||||
displayInformationModel,
|
||||
countryCardViewAdd
|
||||
countryCardViewAdd,
|
||||
viewFileModel
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
clientWidth: '',
|
||||
isTrue: false
|
||||
isTrue: false,
|
||||
loading: false,
|
||||
dataList: [],
|
||||
contentList: [],
|
||||
displayList: [],
|
||||
queryCountryList: [],
|
||||
countryCardViewList: [],
|
||||
applyMarkets: '',
|
||||
header_text: '',
|
||||
url: {
|
||||
list: '/problemKnowledgeBase/countryCardTempEO/list',
|
||||
deleteOne: ''
|
||||
},
|
||||
list: '/problemKnowledgeBase/countryCardManageReleaseEO/queryCountryCardManageReleaseByApplyMarkets'
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.isTrue = false
|
||||
this.$nextTick(() => {
|
||||
this.clientWidth = 340 * 14 + 'px'
|
||||
this.isTrue = true
|
||||
this.queryCountry(() => {
|
||||
this.replacePage()
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
displayInformationClick() {
|
||||
this.$refs.displayInformationModelRef.getData()
|
||||
this.$refs.displayInformationModelRef.getData(JSON.parse(JSON.stringify(this.displayList)))
|
||||
},
|
||||
displayInformationModelForm(data) {
|
||||
this.displayList = data
|
||||
this.displayList = [...this.displayList]
|
||||
this.consolidateData()
|
||||
},
|
||||
newlyAddedClick() {
|
||||
this.$refs.countryCardViewAddRef.add()
|
||||
this.$refs.countryCardViewAddRef.add(this.countryCardViewList)
|
||||
},
|
||||
countryCardViewAddForm() {
|
||||
|
||||
countryCardViewAddForm(val) {
|
||||
this.countryCardViewList = JSON.parse(JSON.stringify(val))
|
||||
let content = []
|
||||
if (val && val.length > 0) {
|
||||
val.forEach(res => {
|
||||
if (res.applyMarket) {
|
||||
content.push(res.applyMarket)
|
||||
}
|
||||
})
|
||||
}
|
||||
this.applyMarkets = content.join(',')
|
||||
this.queryCountry()
|
||||
},
|
||||
replacePage() {
|
||||
getAction(this.url.list, {}).then((res) => {
|
||||
if (res.success) {
|
||||
this.displayList = res.result || []
|
||||
this.displayList.forEach(val => {
|
||||
val.showOrNot = true
|
||||
})
|
||||
this.$nextTick(() => {
|
||||
this.$refs.displayInformationModelRef.dataListOne = JSON.parse(JSON.stringify(this.displayList))
|
||||
})
|
||||
this.consolidateData()
|
||||
this.loading = false
|
||||
} else {
|
||||
this.displayList = []
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
consolidateData() {
|
||||
let content = []
|
||||
this.contentList = []
|
||||
this.contentList.push({})
|
||||
if (this.displayList && this.displayList.length > 0) {
|
||||
this.displayList.forEach(res => {
|
||||
if (res.showOrNot) {
|
||||
content.push(res)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (this.queryCountryList && this.queryCountryList.length > 0) {
|
||||
this.contentList[0].list = []
|
||||
this.contentList[0].list.push({})
|
||||
this.queryCountryList.forEach(val => {
|
||||
this.contentList[0].name = 'tou'
|
||||
this.contentList[0].list.push({
|
||||
applyMarket_dictText: val.applyMarket_dictText,
|
||||
img: val.countryNationalFlag
|
||||
})
|
||||
})
|
||||
}
|
||||
if (content && content.length > 0) {
|
||||
console.log(content)
|
||||
content.forEach((res, index) => {
|
||||
this.contentList[index + 1] = { name: res.lableName }
|
||||
this.contentList[index + 1].list = []
|
||||
this.contentList[index + 1].list.push({
|
||||
lableName: res.lableName,
|
||||
lableType: res.lableType,
|
||||
relevantUrl: res.relevantUrl
|
||||
})
|
||||
})
|
||||
}
|
||||
this.queryCountryList.forEach((res, index) => {
|
||||
res.countryCardManageReleaseDetailEOList.forEach((val, index1) => {
|
||||
this.contentList.forEach(res1 => {
|
||||
if (res1.name == val.lableName) {
|
||||
if (val.lableType == 3) {
|
||||
res1.list.push({
|
||||
lableName: val.contentDropDownValue,
|
||||
lableType: val.lableType
|
||||
})
|
||||
} else {
|
||||
res1.list.push({
|
||||
lableName: val.content,
|
||||
lableType: val.lableType
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
queryCountry(callback) {
|
||||
this.loading = true
|
||||
let applyMarkets = this.$route.query.applyMarket
|
||||
if (this.applyMarkets) {
|
||||
applyMarkets = applyMarkets + ',' + this.applyMarkets
|
||||
}
|
||||
let query = {
|
||||
applyMarkets: applyMarkets
|
||||
}
|
||||
postAction(this.list, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.queryCountryList = res.result || []
|
||||
this.isTrue = false
|
||||
this.$nextTick(() => {
|
||||
this.clientWidth = 340 * (this.queryCountryList.length + 1) + 'px'
|
||||
this.isTrue = true
|
||||
})
|
||||
let content = []
|
||||
this.queryCountryList.forEach(val => {
|
||||
content.push(val.applyMarket_dictText)
|
||||
})
|
||||
this.header_text = content.join('-')
|
||||
callback && callback()
|
||||
if (!callback) {
|
||||
this.consolidateData()
|
||||
this.loading = false
|
||||
}
|
||||
} else {
|
||||
callback && callback()
|
||||
this.contentList = []
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
viewFileClick(item) {
|
||||
this.$refs.viewFileModelRef.clickButtonToUpload(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -201,6 +372,8 @@
|
||||
width: 340px;
|
||||
display: inline-block;
|
||||
height: 80px;
|
||||
line-height: 80px;
|
||||
text-align: center;
|
||||
background: #fff;
|
||||
border-right: 1px #d9d9d9 solid;
|
||||
border-bottom: 1px #d9d9d9 solid;
|
||||
@@ -232,10 +405,28 @@
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.content-box-top {
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.content-box-top:first-child {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
height: 160px;
|
||||
z-index: 111;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.content-box-box-text-index {
|
||||
width: 100% !important;
|
||||
padding: 0 12px;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.content-box-box-text-admin {
|
||||
height: 80px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -14,14 +14,15 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('applicableMarket')">{{$t('applicableMarket')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="applicableMarket">
|
||||
<a-input class="box-input"
|
||||
v-model="formInline.applicableMarket"
|
||||
:placeholder="$t('PleaseEnter')+$t('applicableMarket')"/>
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.applyMarket"
|
||||
:disabled="true"
|
||||
:placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -30,19 +31,27 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text" :title="$t('comparisonMarket')+(index+1)">{{$t('comparisonMarket')+(index+1)}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" style="width: calc(100% - 220px)" prop="comparisonMarket">
|
||||
<a-input class="box-input"
|
||||
v-model="formInline.comparisonMarket"
|
||||
:placeholder="$t('PleaseEnter')+$t('comparisonMarket')"/>
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('applicableMarket')"
|
||||
:disabled="false"
|
||||
@change="applyMarketChange"
|
||||
v-model="item.applyMarket">
|
||||
<a-select-option v-for="(item, key) in item.applyMarketList"
|
||||
:key="key"
|
||||
:value="item.applyMarket">
|
||||
<span style="display: inline-block;width: 100%" :title=" item.applyMarket_dictText ">
|
||||
{{ item.applyMarket_dictText}}
|
||||
</span>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
|
||||
<a-icon class="icon-size"
|
||||
style="margin-left: 8px"
|
||||
@click="addData"
|
||||
v-if="(formInline.dataList.length-1) == index"
|
||||
v-if="(formInline.dataList.length-1) == index && formInline.dataList.length < 5"
|
||||
type="plus-circle"/>
|
||||
<a-icon class="icon-size"
|
||||
@click="deleteData"
|
||||
@@ -65,6 +74,10 @@
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
formInline: {},
|
||||
applyMarketList: [],
|
||||
url: {
|
||||
getInfoList: '/problemKnowledgeBase/countryCardManageReleaseEO/list'
|
||||
},
|
||||
rules: {
|
||||
personChargeName: [
|
||||
{
|
||||
@@ -97,13 +110,20 @@
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
add() {
|
||||
add(data) {
|
||||
this.visible = true
|
||||
console.log(data)
|
||||
this.$nextTick(() => {
|
||||
this.formInline = {}
|
||||
this.formInline.dataList = [{
|
||||
relatedSection: ''
|
||||
}]
|
||||
this.formInline.applyMarket = this.$route.query.applyMarket
|
||||
if (data && data.length > 0) {
|
||||
this.formInline.dataList = JSON.parse(JSON.stringify(data))
|
||||
} else {
|
||||
this.formInline.dataList = [{
|
||||
applyMarket: ''
|
||||
}]
|
||||
}
|
||||
this.getList()
|
||||
this.formInline = { ...this.formInline }
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
})
|
||||
@@ -113,29 +133,77 @@
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
handleOk() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
|
||||
}
|
||||
})
|
||||
this.$emit('countryCardViewAddForm', JSON.parse(JSON.stringify(this.formInline.dataList)))
|
||||
this.visible = false
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
addData() {
|
||||
this.formInline.dataList.push({
|
||||
relatedSection: ''
|
||||
applyMarket: ''
|
||||
})
|
||||
this.consolidateData()
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
deleteData() {
|
||||
this.formInline.dataList.pop()
|
||||
this.consolidateData()
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
getList() {
|
||||
let query = {
|
||||
releaseStatus: 'Have released'
|
||||
}
|
||||
getAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.applyMarketList = res.result
|
||||
this.consolidateData()
|
||||
} else {
|
||||
this.applyMarketList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
consolidateData() {
|
||||
let content = []
|
||||
content.push(this.$route.query.applyMarket)
|
||||
content = content.join(',')
|
||||
this.applyMarketList = this.applyMarketList.filter(res => {
|
||||
return !content.includes(res.applyMarket)
|
||||
})
|
||||
let contentIndex = []
|
||||
if (this.formInline.dataList && this.formInline.dataList.length > 0) {
|
||||
this.formInline.dataList.forEach(res => {
|
||||
contentIndex.push(res.applyMarket)
|
||||
res.applyMarketList = []
|
||||
this.applyMarketList.forEach(val => {
|
||||
res.applyMarketList.push(val)
|
||||
})
|
||||
})
|
||||
}
|
||||
contentIndex = contentIndex.join(',')
|
||||
for (let i = 0; i < this.formInline.dataList.length; i++) {
|
||||
for (let j = 0; j < this.formInline.dataList[i].applyMarketList.length; j++) {
|
||||
if (contentIndex.includes(this.formInline.dataList[i].applyMarketList[j].applyMarket)
|
||||
&& this.formInline.dataList[i].applyMarket != this.formInline.dataList[i].applyMarketList[j].applyMarket) {
|
||||
this.formInline.dataList[i].applyMarketList.splice(j, 1)
|
||||
j--
|
||||
}
|
||||
}
|
||||
}
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
applyMarketChange() {
|
||||
this.consolidateData()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.ant-select-disabled {
|
||||
color: rgba(0, 0, 0, 0.65) !important;
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
|
||||
@@ -9,29 +9,40 @@
|
||||
@close="handleCancel"
|
||||
:visible="visible"
|
||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8" style="line-height: 48px">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('LabelName')">
|
||||
<span>{{$t('LabelName')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('LabelName')"
|
||||
v-model="queryParam.labelName"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<div style="margin-bottom: 60px">
|
||||
<a-table
|
||||
v-if="this.visible"
|
||||
:key="'id'"
|
||||
:columns="columns"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 200px)'}"
|
||||
:data-source="dataList"
|
||||
:pagination="false"
|
||||
:loading="loading">
|
||||
<span slot="showOrNot" slot-scope="text,record">
|
||||
<a-checkbox :value="text"></a-checkbox>
|
||||
<span slot="showOrNot" slot-scope="text,record,index">
|
||||
<a-checkbox :checked="record.showOrNot" @change="onCheckAllChange(index)"></a-checkbox>
|
||||
</span>
|
||||
</a-table>
|
||||
<div class="page" v-if="dataList.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+`${total}`+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="onChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="drawer-bootom-button">
|
||||
<a-button style="margin-right: .8rem" @click="handleCancel">{{$t('cancel')}}</a-button>
|
||||
@@ -49,21 +60,20 @@
|
||||
data() {
|
||||
return {
|
||||
url: {
|
||||
list: '',
|
||||
list: '/problemKnowledgeBase/countryCardTempEO/list',
|
||||
deleteOne: ''
|
||||
},
|
||||
queryParam: {},
|
||||
visible: false,
|
||||
selectedRowKeys: [],
|
||||
dataList: [{}],
|
||||
dataList: [],
|
||||
dataListOne: [],
|
||||
loading: false,
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
confirmLoading:false,
|
||||
total: 0,
|
||||
confirmLoading: false,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('LabelName'),
|
||||
dataIndex: 'LabelName',
|
||||
dataIndex: 'lableName',
|
||||
align: 'center',
|
||||
ellipsis: true
|
||||
},
|
||||
@@ -80,39 +90,39 @@
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
searchQuery() {
|
||||
if (this.queryParam.labelName) {
|
||||
this.dataList = this.dataList.filter(res => {
|
||||
return res.lableName.includes(this.queryParam.labelName)
|
||||
})
|
||||
this.dataList = [...this.dataList]
|
||||
}
|
||||
},
|
||||
searchReset() {
|
||||
this.queryParam = {}
|
||||
this.dataList = JSON.parse(JSON.stringify(this.dataListOne))
|
||||
this.dataList = [...this.dataList]
|
||||
},
|
||||
getData(data) {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.queryParam = {}
|
||||
this.dataList = JSON.parse(JSON.stringify(data))
|
||||
this.dataList = [...this.dataList]
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit(){
|
||||
|
||||
handleSubmit() {
|
||||
this.$emit('displayInformationModelForm', this.dataListOne)
|
||||
this.visible = false
|
||||
},
|
||||
onChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.replacePage()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.replacePage()
|
||||
},
|
||||
replacePage() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize
|
||||
}
|
||||
this.loading = true
|
||||
postAction(this.url.list, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataList = res.result.records || []
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.total = 0
|
||||
this.loading = false
|
||||
onCheckAllChange(index) {
|
||||
this.dataList[index].showOrNot = !this.dataList[index].showOrNot
|
||||
this.dataListOne.forEach(res => {
|
||||
if (res.id == this.dataList[index].id) {
|
||||
res.showOrNot = !res.showOrNot
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -139,18 +149,41 @@
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
|
||||
.box-title {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-bottom: 20px;
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.operator-text {
|
||||
cursor: pointer;
|
||||
margin-right: 13px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
.title-text {
|
||||
width: 20%;
|
||||
min-width: 110px;
|
||||
color: #000F16;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
margin-top: 3px;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
height: 38px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
/*margin-top: 2px;*/
|
||||
}
|
||||
|
||||
.text-operation {
|
||||
margin-right: 8px;
|
||||
}
|
||||
</style>
|
||||
@@ -59,7 +59,7 @@
|
||||
<a-form-model-item class="itemModel" prop="title">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="formInline.title"
|
||||
v-model.trim="formInline.title"
|
||||
:placeholder="$t('PleaseEnter')+$t('title')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -92,12 +92,11 @@
|
||||
<span class="title-text-text" :title="$t('market')">{{$t('market')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="targetMarket">
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.targetMarket"
|
||||
:disabled="disabled"
|
||||
@input="handleInput('targetMarket')"
|
||||
:placeholder="$t('PleaseSelect')+$t('market')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.targetMarket"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('PleaseSelect')+$t('market')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'region'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -110,6 +109,7 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="standNumber">
|
||||
<a-input class="box-input"
|
||||
:title="formInline.standNumber"
|
||||
:disabled="true"
|
||||
v-model="formInline.standNumber"
|
||||
:placeholder="$t('PleaseEnter')+$t('standardNo')"/>
|
||||
@@ -133,11 +133,13 @@
|
||||
<div class="title-text">
|
||||
<span class="title-text-text">{{$t('content')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="vehiclePlatform">
|
||||
<a-form-model-item style="height: 357px" class="itemModel itemModel-explain" prop="content">
|
||||
<quill-editor
|
||||
v-model="formInline.content"
|
||||
style="height: 300px"
|
||||
:content="formInline.content"
|
||||
:options="editorOption"
|
||||
@blur="quilleditorBlur"
|
||||
@change="onEditorChange($event)"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
@@ -239,6 +241,13 @@
|
||||
message: this.$t('market') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
content: [
|
||||
{
|
||||
max: 5000,
|
||||
message: this.$t('content') + this.$t('cannotExceed') + 5000 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
url: {
|
||||
@@ -276,6 +285,9 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
quilleditorBlur() {
|
||||
this.$refs.ruleForm.validateField('content')
|
||||
},
|
||||
getBase() {
|
||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
|
||||
if (res.success) {
|
||||
@@ -340,7 +352,6 @@
|
||||
}
|
||||
,
|
||||
onEditorChange({ quill, html, text }) {
|
||||
console.log('editor change!', quill, html, text)
|
||||
this.formInline.content = html
|
||||
}
|
||||
,
|
||||
@@ -562,6 +573,7 @@
|
||||
|
||||
.box-button {
|
||||
height: 38px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.submit-button {
|
||||
@@ -572,4 +584,10 @@
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
::v-deep .itemModel-explain .ant-form-explain {
|
||||
margin-top: 60px
|
||||
}
|
||||
::v-deep .ql-tooltip {
|
||||
z-index: 10 !important;
|
||||
}
|
||||
</style>
|
||||
@@ -1,25 +1,29 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="search-detail-wrap">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('searchContent')">
|
||||
<span>{{$t('searchContent')}}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="onSearch">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('searchContent')">
|
||||
<span>{{$t('searchContent')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||
v-model="searchStr"></a-input>
|
||||
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||
v-model="searchStr"></a-input>
|
||||
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="box-content">
|
||||
<div class="box-content-left">
|
||||
<span class="box-content-left-text">{{$t('recentHotSpots')}}</span>
|
||||
<span class="box-content-left-text">{{$t('disseminationMaterials')}}</span>
|
||||
<span class="box-content-left-text">{{$t('informationSafety')}}</span>
|
||||
<span class="box-content-left-text">{{$t('blueBook')}}</span>
|
||||
<span class="box-content-left-text">{{$t('invoiceCollection')}}</span>
|
||||
<span class="box-content-left-text">{{$t('productHighlights')}}</span>
|
||||
<span class="box-content-left-text">{{$t('financialReimbursement')}}</span>
|
||||
<template v-for="tag in tagList">
|
||||
<a-checkable-tag
|
||||
:key="tag.id"
|
||||
:checked="selectedTags.indexOf(tag.id) > -1"
|
||||
@change="checked => handleChange(tag.id, checked)"
|
||||
>
|
||||
{{ tag.problemLabel }}
|
||||
</a-checkable-tag>
|
||||
</template>
|
||||
</div>
|
||||
<div class="box-content-right">
|
||||
<div @click="classificationClick" class="operator-text" v-has="'virtual:set:creater'">
|
||||
@@ -50,14 +54,15 @@
|
||||
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div class="text-content" v-html="item.content">
|
||||
</div>
|
||||
<div class="text-content">
|
||||
{{item.contentOne}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
<div class="noData" v-else>
|
||||
暂无数据
|
||||
{{$t('noData')}}
|
||||
</div>
|
||||
<div class="page" v-if="conList.length > 0">
|
||||
<a-pagination
|
||||
@@ -72,7 +77,8 @@
|
||||
/>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
<classificationMaintenanceModel ref="classificationMaintenanceModelRef"/>
|
||||
<classificationMaintenanceModel @classificationMaintenanceModelForm="classificationMaintenanceModelForm"
|
||||
ref="classificationMaintenanceModelRef"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -90,9 +96,12 @@
|
||||
searchContent: '',
|
||||
checkboxText: [],
|
||||
conList: [],
|
||||
searchStr: '',
|
||||
total: 0,
|
||||
selectedTags: [],
|
||||
loading: false,
|
||||
pageSize: 10,
|
||||
tagList: [],
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
url: {
|
||||
@@ -102,14 +111,36 @@
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
this.replacePage()
|
||||
},
|
||||
methods: {
|
||||
replacePage() {
|
||||
getAction('/problemKnowledgeBase/problemKnowledgeBaseClassifyEO/list', {}).then((res) => {
|
||||
if (res.success) {
|
||||
this.tagList = res.result
|
||||
} else {
|
||||
this.tagList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
classificationMaintenanceModelForm() {
|
||||
this.replacePage()
|
||||
},
|
||||
onSearch() {
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
handleChange(tag, checked) {
|
||||
const { selectedTags } = this
|
||||
const nextSelectedTags = checked
|
||||
? [...selectedTags, tag]
|
||||
: selectedTags.filter(t => t !== tag)
|
||||
this.selectedTags = nextSelectedTags
|
||||
this.getList()
|
||||
},
|
||||
ResetSearch() {
|
||||
this.searchStr = ''
|
||||
this.selectedTags = []
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
@@ -127,11 +158,6 @@
|
||||
this.$router.push({
|
||||
path: '/problemKnowledgeBaseAdd'
|
||||
})
|
||||
// let newUrl = this.$router.resolve({
|
||||
// path: '/problemKnowledgeBaseAdd',
|
||||
// query: {}
|
||||
// })
|
||||
// window.open(newUrl.href, '_blank')
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
@@ -142,16 +168,29 @@
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
getText(str) {
|
||||
let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签
|
||||
return words.replace(/\s/g, '') //这里是去除空格
|
||||
},
|
||||
getList() {
|
||||
let selectedTags = JSON.parse(JSON.stringify(this.selectedTags))
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
searchStr: this.searchStr
|
||||
searchStr: this.searchStr,
|
||||
problemTypes: selectedTags.join(',')
|
||||
}
|
||||
this.loading = true
|
||||
getAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
if (this.conList && this.conList.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
if (val.content) {
|
||||
val.contentOne = this.getText(val.content)
|
||||
}
|
||||
})
|
||||
}
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
@@ -308,6 +347,8 @@
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
opacity: 0.7;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.page {
|
||||
@@ -320,4 +361,31 @@
|
||||
text-align: center;
|
||||
line-height: 10;
|
||||
}
|
||||
|
||||
::v-deep .ant-tag {
|
||||
padding: 2px 4px;
|
||||
background: #9B9DA9;
|
||||
color: #fff!important;
|
||||
}
|
||||
::v-deep .ant-tag-checkable:not(.ant-tag-checkable-checked):hover{
|
||||
color: #fff!important;
|
||||
}
|
||||
::v-deep .ant-tag-checkable-checked{
|
||||
background: #21c9cc;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.box-content-left .ant-tag {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
}
|
||||
|
||||
.box-content-left .ant-tag-checkable {
|
||||
padding: 3px 8px;
|
||||
}
|
||||
|
||||
.box-content-left .ant-tag-checkable-checked {
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="doc-detail-wrap">
|
||||
<div class="doc-detail-header" style="position: fixed;top: 0">
|
||||
<div class="doc-detail-title">
|
||||
<span style="line-height: 66px;display: inline-block;float: left">
|
||||
<span style="line-height: 66px;display: inline-block;float: left" @click="backClick">
|
||||
<a-icon type="arrow-left" style="margin-right: 6px;"/>
|
||||
</span>
|
||||
{{$t('managePublishing')}}
|
||||
@@ -12,17 +12,19 @@
|
||||
<div style="padding-top: 68px;background: #fff">
|
||||
<div class="detail-content" style="padding: 30px">
|
||||
<div class="search-detail-wrap">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('searchContent')">
|
||||
<span>{{$t('searchContent')}}</span>
|
||||
<a-form layout="inline" @keyup.enter.native="onSearch">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('searchContent')">
|
||||
<span>{{$t('searchContent')}}</span>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||
v-model="searchStr"></a-input>
|
||||
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||
</div>
|
||||
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('searchContent')"
|
||||
v-model="searchStr"></a-input>
|
||||
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
|
||||
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</div>
|
||||
<div v-if="conList.length > 0" style="height: calc(100vh - 180px);overflow:auto;">
|
||||
<div v-if="conList.length > 0" style="height: calc(100vh - 240px);overflow:auto;">
|
||||
<div v-for="(item,index) in conList" :key="item.id">
|
||||
<div style="margin-bottom: 10px;position: relative;overflow: hidden">
|
||||
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
|
||||
@@ -36,7 +38,8 @@
|
||||
<span class="text-header-text" style="cursor: pointer" v-html="item.title"></span>
|
||||
</a-tooltip>
|
||||
</div>
|
||||
<div class="text-content" v-html="item.content">
|
||||
<div class="text-content">
|
||||
{{item.contentOne}}
|
||||
</div>
|
||||
<div class="text-text-right-text">
|
||||
<a style="margin-right: 10px" @click="edit(item)">{{$t('edit')}}</a>
|
||||
@@ -46,26 +49,26 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="noData" v-else>
|
||||
暂无数据
|
||||
</div>
|
||||
<div class="page" v-if="conList.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="noData" v-else>
|
||||
{{$t('noData')}}
|
||||
</div>
|
||||
<div class="page" v-if="conList.length > 0">
|
||||
<a-pagination
|
||||
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||
show-quick-jumper
|
||||
show-size-changer
|
||||
:page-size.sync="pageSize"
|
||||
:total="total"
|
||||
:current="pageNo"
|
||||
@change="pageOnChange"
|
||||
@showSizeChange="SizeChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -113,6 +116,10 @@
|
||||
this.pageNo = 1
|
||||
this.getList()
|
||||
},
|
||||
getText(str) {
|
||||
let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签
|
||||
return words.replace(/\s/g, '') //这里是去除空格
|
||||
},
|
||||
getList() {
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
@@ -124,6 +131,13 @@
|
||||
getAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
if (this.conList && this.conList.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
if (val.content) {
|
||||
val.contentOne = this.getText(val.content)
|
||||
}
|
||||
})
|
||||
}
|
||||
this.total = res.result.total
|
||||
this.loading = false
|
||||
} else {
|
||||
@@ -132,13 +146,16 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
backClick() {
|
||||
this.$router.push({
|
||||
path: '/problemknowledgeBase'
|
||||
})
|
||||
},
|
||||
titleClick(item) {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
path: '/problemKnowledgeBaseView',
|
||||
query: {
|
||||
id: item.id.slice(0, 32),
|
||||
title: item.title,
|
||||
serial_number: item.serial_number
|
||||
id: item.id
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
|
||||
@@ -17,6 +17,14 @@
|
||||
</div>
|
||||
<div style="padding-top: 68px;background: #fff">
|
||||
<div class="detail-content" style="padding: 24px">
|
||||
<div class="content-text-top">
|
||||
<span style="margin-right: 10px">
|
||||
{{$t('issuedBy')}}:{{this.queryForm.createBy}}
|
||||
</span>
|
||||
<span>
|
||||
{{$t('releaseDate')}}:{{this.queryForm.createTime?this.queryForm.createTime.slice(0,11):''}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="content-text">
|
||||
<div class="text-field" v-for="(item,index) in standardContentList" :key="index">
|
||||
<span class="text-field-left" :title="item.title">{{item.title}}</span>
|
||||
@@ -104,11 +112,11 @@
|
||||
standardContentList: [
|
||||
{
|
||||
title: this.$t('problemClassification'),
|
||||
value: 'problemType'
|
||||
value: 'problemTypeName'
|
||||
},
|
||||
{
|
||||
title: this.$t('market'),
|
||||
value: 'targetMarket'
|
||||
value: 'targetMarket_dicText'
|
||||
},
|
||||
{
|
||||
title: this.$t('standardNo'),
|
||||
@@ -246,21 +254,26 @@
|
||||
this.$message.warning(this.$t('pleaseEnter'))
|
||||
return
|
||||
}
|
||||
let query = {
|
||||
problemKnowledgeBaseId: this.$route.query.id,
|
||||
commentContent: this.formInline.commentContent,
|
||||
commentUserId: this.userInfo().id
|
||||
}
|
||||
this.loading = true
|
||||
postAction('/problemKnowledgeBase/problemKnowledgeBaseCommentEO/add', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.releaseData()
|
||||
this.formInline = {}
|
||||
this.loading = false
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.loading = false
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let query = {
|
||||
problemKnowledgeBaseId: this.$route.query.id,
|
||||
commentContent: this.formInline.commentContent,
|
||||
commentUserId: this.userInfo().id
|
||||
}
|
||||
this.loading = true
|
||||
postAction('/problemKnowledgeBase/problemKnowledgeBaseCommentEO/add', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.$refs.ruleForm.clearValidate()
|
||||
this.releaseData()
|
||||
this.formInline = {}
|
||||
this.loading = false
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -390,6 +403,7 @@
|
||||
font-size: 16px;
|
||||
color: #040B29;
|
||||
font-weight: 400;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.content-icon {
|
||||
@@ -493,4 +507,14 @@
|
||||
overflow: hidden;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.content-text-top {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
color: #040B29;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -109,12 +109,14 @@
|
||||
title: this.$t('chapterContents'),
|
||||
align: 'center',
|
||||
dataIndex: 'memoriesChapterName',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('chineseTitle'),
|
||||
align: 'center',
|
||||
dataIndex: 'titleCn',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
@@ -129,7 +131,7 @@
|
||||
align: 'center',
|
||||
width: 170,
|
||||
ellipsis: true,
|
||||
dataIndex: 'lawsContact'
|
||||
dataIndex: 'lawsContactName'
|
||||
},
|
||||
{
|
||||
title: this.$t('completedBy'),
|
||||
@@ -185,7 +187,7 @@
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page,pageSize) {
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
@@ -225,10 +227,11 @@
|
||||
ids: selectedRowKeys.join(','),
|
||||
...this.queryParam
|
||||
}
|
||||
downloadFile(this.url.exportData, this.$t('monthlyReportRegulations') + '.zip', query, this.Deselect)
|
||||
downloadFile(this.url.exportData, this.$t('weilaiRegulationMonthlyReport') + '-' + this.queryParam.month + '.zip', query, this.Deselect)
|
||||
},
|
||||
Deselect() {
|
||||
this.selectedRowKeys = []
|
||||
this.getList()
|
||||
},
|
||||
addContentClick() {
|
||||
this.$refs.fillAddRef.add()
|
||||
|
||||
@@ -391,8 +391,8 @@
|
||||
this.formInline = { ...this.formInline }
|
||||
} else {
|
||||
this.formInline = {}
|
||||
this.formInline.lawsContact = this.userInfo().username
|
||||
this.formInline.lawsContactName = this.userInfo().id
|
||||
this.formInline.lawsContact = this.userInfo().id
|
||||
this.formInline.lawsContactName = this.userInfo().username
|
||||
this.formInline = { ...this.formInline }
|
||||
}
|
||||
})
|
||||
|
||||
@@ -384,4 +384,21 @@
|
||||
height: 38px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
::v-deep .ant-select-tree-treenode-switcher-close {
|
||||
width: 255px;
|
||||
}
|
||||
|
||||
::v-deep .ant-select-tree-node-content-wrapper {
|
||||
float: right;
|
||||
margin-top: -2px!important;
|
||||
}
|
||||
|
||||
::v-deep .ant-select-tree-title {
|
||||
width: 100%;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
@@ -84,12 +84,13 @@
|
||||
title: this.$t('chineseTitle'),
|
||||
align: 'center',
|
||||
dataIndex: 'titleCn',
|
||||
width: 210
|
||||
ellipsis: true,
|
||||
width: 320
|
||||
},
|
||||
{
|
||||
title: this.$t('englishTitle'),
|
||||
align: 'center',
|
||||
width: 210,
|
||||
width: 320,
|
||||
ellipsis: true,
|
||||
dataIndex: 'titleEn'
|
||||
},
|
||||
@@ -162,7 +163,11 @@
|
||||
this.sortList.push(this.dataSource[index - 1])
|
||||
}
|
||||
}
|
||||
this.move()
|
||||
if (this.sortList.length > 1) {
|
||||
this.move()
|
||||
} else {
|
||||
this.$message.warning(this.$t('currentlyTheFirstOneThatCannotMovedUp'))
|
||||
}
|
||||
},
|
||||
moveDownClick(row, index) {
|
||||
this.sortList = []
|
||||
@@ -179,7 +184,11 @@
|
||||
this.sortList.push(this.dataSource[index + 1])
|
||||
}
|
||||
}
|
||||
this.move()
|
||||
if (this.sortList.length > 1) {
|
||||
this.move()
|
||||
} else {
|
||||
this.$message.warning(this.$t('currentlyTheLastOneCannotmovedDown'))
|
||||
}
|
||||
},
|
||||
move() {
|
||||
postAction('/report/lawsMonthlyReportTitleTemplateEO/move', { lawsMonthlyReportTitleTemplateEOS: this.sortList }).then((res) => {
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
<a-select :placeholder="$t('PleaseSelect')+$t('ParentName')"
|
||||
class="box-input"
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
:popper-append-to-body="false"
|
||||
allowClear
|
||||
:disabled="isParentId"
|
||||
v-model="formInline.parentId">
|
||||
|
||||
@@ -164,16 +164,22 @@
|
||||
},
|
||||
submitData(callback) {
|
||||
let dataList = JSON.parse(JSON.stringify(this.dataList))
|
||||
for (let i = 0; i < dataList.length; i++) {
|
||||
if (dataList[i].evaluationMethods && dataList[i].evaluationMethods instanceof Array) {
|
||||
dataList[i].evaluationMethods = dataList[i].evaluationMethods.join(',')
|
||||
}
|
||||
dataList[i].lawsTechnologyEvaluationId = this.$route.query.lawsTechnologyEvaluationId || this.getUUID
|
||||
if (!dataList[i].evaluationMethods || !dataList[i].evaluatorIds) {
|
||||
this.$message.warning(this.$t('pleaseCompleteTheEvaluationMethodorEvaluator'))
|
||||
return
|
||||
if (dataList && dataList.length > 0) {
|
||||
for (let i = 0; i < dataList.length; i++) {
|
||||
if (dataList[i].evaluationMethods && dataList[i].evaluationMethods instanceof Array) {
|
||||
dataList[i].evaluationMethods = dataList[i].evaluationMethods.join(',')
|
||||
}
|
||||
dataList[i].lawsTechnologyEvaluationId = this.$route.query.lawsTechnologyEvaluationId || this.getUUID
|
||||
if (!dataList[i].evaluatorIds) {
|
||||
this.$message.warning(this.$t('pleaseCompleteTheEvaluationMethodorEvaluator'))
|
||||
return
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.warning(this.$t('pleaseDecompositionStandardOrder'))
|
||||
return
|
||||
}
|
||||
|
||||
callback && callback(dataList)
|
||||
},
|
||||
handleModule() {
|
||||
@@ -202,4 +208,23 @@
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
|
||||
::v-deep .ant-select-tree-treenode-switcher-close {
|
||||
width: 255px;
|
||||
}
|
||||
|
||||
::v-deep .ant-select-tree-node-content-wrapper {
|
||||
text-align: left;
|
||||
float: right;
|
||||
margin-top: -2px !important;
|
||||
}
|
||||
|
||||
::v-deep .ant-select-tree-title {
|
||||
width: 100%;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -75,13 +75,13 @@
|
||||
{{$t('fileExport')}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div style="margin-bottom: 20px">
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
:pagination="false"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 100px)'}"
|
||||
:scroll="{x: '100%',y:'calc(100vh - 260px)'}"
|
||||
rowKey="id"
|
||||
:data-source="dataSource"
|
||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||
|
||||