diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index d3b171032..4fa0f81cf 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -726,3 +726,147 @@ CREATE TABLE `laws_weilai`.`country_card_manage_release_detail` ( `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库-country_card-管理发布明细表' ROW_FORMAT = Dynamic; + + +-- 文档对比信息表 2022-08-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`) +) 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`) +) 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`) +) 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`) +) 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`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- 法规技术评估-条款信息评估结果表 字段增加长度 2022-08-08 +ALTER TABLE `laws_weilai`.`laws_technology_evaluation_item_result` + MODIFY COLUMN `technical_file_name` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '技术文件名称' AFTER `evaluation_methods`, + MODIFY COLUMN `section` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '章节' AFTER `technical_file_name`; +-- 问题知识库 字段长度修改 2022-08-08 +ALTER TABLE `laws_weilai`.`problem_knowledge_base` + MODIFY COLUMN `buss_document_library_id` varchar(4000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文档库id' AFTER `target_market`, + MODIFY COLUMN `stand_number` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准编号' AFTER `buss_document_library_id`, + MODIFY COLUMN `stand_title` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标准标题' AFTER `stand_number`; + +-- 问题知识库 字段类型修改 2022-08-09 +ALTER TABLE `laws_weilai`.`problem_knowledge_base` + MODIFY COLUMN `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内容(正文)' AFTER `stand_title`; + +-- 国家与国旗关系表 2022-08-09 +CREATE TABLE `laws_weilai`.`country_national_flag` ( + `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + `create_time` datetime NULL DEFAULT NULL COMMENT '创建日期', + `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + `update_time` datetime NULL DEFAULT NULL COMMENT '更新日期', + `sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门', + `country_name_cn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家名称中文', + `country_name_en` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国家名称英文', + `national_flag_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '国旗文件id', + `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'); +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'); + diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java index 56c2952d6..54db7a793 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java @@ -28,7 +28,7 @@ import com.jero.common.util.oConvertUtils; public class JwtUtil { // Token过期时间30分钟(用户登录过期时间是此时间的两倍,以token在reids缓存时间为准) - public static final long EXPIRE_TIME = 30 * 60 * 1000; + public static final long EXPIRE_TIME = 240 * 60 * 1000; /** * 校验token是否正确 diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java index c797b78a3..349d8ced7 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsCollectManifestEOController.java @@ -530,6 +530,20 @@ public class ParamsCollectManifestEOController extends JeroController> updateBatchDutyTerritory(@RequestBody ParamsCollectManifestVO paramsCollectManifestVO) { + List msgList = paramsCollectManifestEOService.updateBatchDutyTerritory(paramsCollectManifestVO); + return Result.OK(msgList); + } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index fac103ab5..8904cd11c 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -161,4 +161,7 @@ public interface IParamsCollectManifestEOService extends IService updateBatchDutyTerritory(ParamsCollectManifestVO paramsCollectManifestVO); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 9efca35d4..a54eedb2b 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -72,6 +72,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import org.yaml.snakeyaml.util.UriEncoder; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -1532,7 +1533,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl getMsgOfIssueCollection(List> msgMapList, String cut) { + private List getMsgOfIssueCollection(List> msgMapList, String cut, String operation) { List msgList = new ArrayList<>(); Map collectManifestStateEnumMap = CollectManifestStateEnum.toMap(cut); @@ -1698,9 +1699,17 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImplHomologation Engineer can operate when data state is 'Wait Collect'、'Sdt Back' or 'Change'"); + if ("1".equals(operation)) { + msgList.add("Homologation Engineer can operate when data state is 'Wait Collect','Sdt Back' or 'Change'."); + } else if("2".equals(operation)) { + msgList.add("Homologation Engineer can operate when data state is 'Wait Collect','Sdt Back'."); + } } else { - msgList.add("认证工程师数据状态为 '待发起收集'、'工程接口人退回'或'变更' 时,才有权限操作此按钮。"); + if ("1".equals(operation)) { + msgList.add("认证工程师数据状态为 '待发起收集'、'工程接口人退回'或'变更' 时,才有权限操作此按钮。"); + } else if("2".equals(operation)) { + msgList.add("认证工程师数据状态为 '待发起收集'、'工程接口人退回 时,才有权限操作此按钮。"); + } } } return msgList; @@ -2228,6 +2237,69 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl updateBatchDutyTerritory(ParamsCollectManifestVO paramsCollectManifestVO) { + if (StringUtils.isEmpty(paramsCollectManifestVO.getIds()) + || StringUtils.isEmpty(paramsCollectManifestVO.getParamsManifestId()) + || StringUtils.isEmpty(paramsCollectManifestVO.getDutyTerritory())) { + throw new JeroBootException("参数不能为空!"); + } + List paramsCollectManifestIdList = Arrays.asList(paramsCollectManifestVO.getIds().split(",")); + String dutyTerritory = paramsCollectManifestVO.getDutyTerritory(); + String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); + String projectId = paramsCollectManifestVO.getProjectId(); + String cut = paramsCollectManifestVO.getCut(); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ParamsCollectManifestEO::getId, paramsCollectManifestIdList); + List paramsCollectManifestEOList = paramsCollectManifestEOMapper.selectList(queryWrapper); + + List updateEOList = new ArrayList<>(); + List> msgMapList = new ArrayList<>(); + paramsCollectManifestEOList.forEach(paramsCollectManifestEO -> { + if (CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(paramsCollectManifestEO.getState()) + || CollectManifestStateEnum.SDT_BACK.getValue().equals(paramsCollectManifestEO.getState())) { + + ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO(); + updateEO.setId(paramsCollectManifestEO.getId()); + updateEO.setDutyTerritory(dutyTerritory); + + // 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段 + ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(projectId, dutyTerritory); + if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) { + String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson(); + if (org.apache.commons.lang.StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段 + SysUser sysUser = sysUserService.getById(sdtId); + if (ObjectUtil.isNotEmpty(sysUser)) { + updateEO.setSdt(sysUser.getUsername()); // 设置工程接口人 + } else { + updateEO.setSdt(""); // 设置工程接口人 + } + } else { + updateEO.setSdt(""); // 设置工程接口人 + } + } else { + updateEO.setSdt(""); // 设置工程接口人 + } + + updateEOList.add(updateEO); + + } else { + Map msgMap = new HashMap<>(); + msgMap.put("nioNumber", paramsCollectManifestEO.getNioNumber()); + msgMap.put("state", paramsCollectManifestEO.getState()); + msgMap.put("type", "2"); + msgMapList.add(msgMap); + } + }); + + // 修改责任领域及工程接口人 + updateBatchById(updateEOList); + + // 返回不符合参数项的提示信息 + return getMsgOfIssueCollection(msgMapList, cut, "2"); + } + private String[] getWorkbookTitleForExport(ParamsCollectManifestVO paramsCollectManifestVO) { String cut = paramsCollectManifestVO.getCut(); String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); @@ -2580,7 +2652,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl allRelevFileList = (List) allParamsInfoList.get(2).get("fileListAll"); - if (allRelevFileList != null && !allRelevFileList.isEmpty()) { - allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList()); - String exportFile = "导出文件"; - if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) { - exportFile = "Export file"; - } - downLoadFileList(allRelevFileList,fileNowPath + File.separator + exportFile); - } // 拿取模板 String repFileName = fileName.replaceAll("/","_"); @@ -743,6 +733,35 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl> fileListAll = (List>) allParamsInfoList.get(2).get("fileListAll"); + + if (fileListAll != null && !fileListAll.isEmpty()) { + Map paramsAfterFilter = WordUtil.filterParams(wordMLPackage, params); + if (CollectionUtil.isNotEmpty(paramsAfterFilter)) { + List nioNumberList = paramsAfterFilter.keySet().stream().collect(Collectors.toList()); + List allRelevFileList = new ArrayList<>(); + for (Map fileMap : fileListAll) { + for (Map.Entry map : fileMap.entrySet()) { + String key = (String) map.getKey(); + List fileList = (List) map.getValue(); + if (nioNumberList.contains(key)) { + allRelevFileList.addAll(fileList); + } + } + } + if (CollectionUtil.isNotEmpty(allRelevFileList)) { + String exportFile = "导出文件"; + if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) { + exportFile = "Export file"; + } + + downLoadFileList(allRelevFileList, fileNowPath + File.separator + exportFile); + } + } + } + // 替换占位符内容 WordUtil.replacePictureBatch(wordMLPackage, imgListAll); WordUtil.replaceVariable(wordMLPackage, params); @@ -837,29 +856,47 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl allRelevFileList = (List) allParamsInfoList.get(2).get("fileListAll"); - if (allRelevFileList != null && !allRelevFileList.isEmpty()) { - allRelevFileList = allRelevFileList.stream().distinct().collect(Collectors.toList()); - String exportFile = "导出文件"; - if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) { - exportFile = "Export file"; - } - downLoadFileList(allRelevFileList,fileNowPath + File.separator + exportFile); - } - // 拿取模板 String repFileName = fileName.replaceAll("/","_"); wordOS = new FileOutputStream(fileNowPath + File.separator + repFileName); if (CosBootUtil.doesObjectExist(templateUrl)) { - InputStream wordTemplate = CosBootUtil.download(templateUrl); + InputStream exceltemplateForDocx4j = CosBootUtil.download(templateUrl); // com.qcloud.cos.utils.IOUtils.copy(wordTemplate, wordOS); + InputStream excelTemplateForPoi = CosBootUtil.download(templateUrl); + + SpreadsheetMLPackage pkg = SpreadsheetMLPackage.load(exceltemplateForDocx4j); + + //下载关联文件内容 + List> fileListAll = (List>) allParamsInfoList.get(2).get("fileListAll"); + + if (fileListAll != null && !fileListAll.isEmpty()) { + Map paramsAfterFilter = ExcelUtil.filterParams(pkg, params); + if (CollectionUtil.isNotEmpty(paramsAfterFilter)) { + List nioNumberList = paramsAfterFilter.keySet().stream().collect(Collectors.toList()); + List allRelevFileList = new ArrayList<>(); + for (Map fileMap : fileListAll) { + for (Map.Entry map : fileMap.entrySet()) { + String key = (String) map.getKey(); + List fileList = (List) map.getValue(); + if (nioNumberList.contains(key)) { + allRelevFileList.addAll(fileList); + } + } + } + if (CollectionUtil.isNotEmpty(allRelevFileList)) { + String exportFile = "导出文件"; + if (CutEnum.EN.getValue().equals(paramsReportDetailVO.getCut())) { + exportFile = "Export file"; + } + + downLoadFileList(allRelevFileList, fileNowPath + File.separator + exportFile); + } + } + } // 替换占位符内容 // docx4j方式 - InputStream excelTemplate = CosBootUtil.download(templateUrl); - SpreadsheetMLPackage pkg = SpreadsheetMLPackage.load(wordTemplate); - Workbook workbook = WorkbookFactory.create(excelTemplate); + Workbook workbook = WorkbookFactory.create(excelTemplateForPoi); ExcelUtil.replacePictureBatchPOI(workbook, pkg, imgListAll, params); ExcelUtil.variableReplace(pkg, params); pkg.save(wordOS); @@ -1092,7 +1129,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl resultMap = new HashMap<>(); List> imgListAll = new ArrayList<>(); // 存放图片信息 - List fileListAll = new ArrayList<>(); // 存放文件 + List> fileListAll = new ArrayList<>(); // 存放文件 String fileTypeStr = ".png,.PNG,.jfif,.JFIF,.pjpeg,.PJPEG,.jpeg,.JPEG,.pjp,.PJP,.jpg,.JPG"; // 查询配置列数据 for (Map record1 : dataList) { @@ -1125,13 +1162,16 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl fileMap = new HashMap<>(); + fileMap.put(nioNumber, ossFileList); + fileListAll.add(fileMap); } else { imgFileList.addAll(ossFileList); } } } } - fileListAll.addAll(fileList); StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据 if ((ControlTypeEnum.FILE.getValue().equals(controlType) diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/controller/ParamsInfoEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/controller/ParamsInfoEOController.java index ab39e0243..7723c44be 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/controller/ParamsInfoEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/controller/ParamsInfoEOController.java @@ -10,6 +10,7 @@ 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.cert.template.entity.ParamsInfoEO; +import com.jero.modules.cert.template.enums.ControlTypeEnum; import com.jero.modules.cert.template.service.IParamsInfoEOService; import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; import com.jero.modules.cert.template.vo.ParamsInfoVO; @@ -136,7 +137,8 @@ public class ParamsInfoEOController extends JeroController add(@Validated @RequestBody ParamsInfoEO paramsInfoEO) { - if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())) { + if (StringUtils.isEmpty(paramsInfoEO.getCertCategory()) + && !ControlTypeEnum.Title.getValue().equals(paramsInfoEO.getControlType())) { return Result.error("认证类别不能为空!"); } boolean isSuccess = paramsInfoEOService.add(paramsInfoEO); @@ -158,7 +160,8 @@ public class ParamsInfoEOController extends JeroController edit(@Validated @RequestBody ParamsInfoEO paramsInfoEO) { - if (StringUtils.isEmpty(paramsInfoEO.getCertCategory())) { + if (StringUtils.isEmpty(paramsInfoEO.getCertCategory()) + && !ControlTypeEnum.Title.getValue().equals(paramsInfoEO.getControlType())) { return Result.error("认证类别不能为空!"); } boolean isSuccess = paramsInfoEOService.editById(paramsInfoEO); diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java index 8648bb5b7..8316dee8e 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java @@ -35,7 +35,8 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.aspectj.util.FileUtil; import org.jeecgframework.poi.excel.ExcelExportUtil; @@ -245,6 +246,39 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl Long.parseLong("15")) { + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("编号不能超过15个字符"); + } else { + throw new JeroBootException("Number can not exceed 15 chars"); + } + } + } + + if (StringUtils.isNotBlank(paramsName)) { + if (paramsName.length() > Long.parseLong("100")) { + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("参数名称不能超过100个字符"); + } else { + throw new JeroBootException("Params Name can not exceed 100 chars"); + } + } + } + + } + /** * 通过id删除 * @@ -398,6 +432,63 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl result = ExcelImportUtil.importExcelMore(excelfile, ParamsInfoCnImport.class, params); paramsInfoEOList = result.getList(); } + } else { // 认证类别参数表 if (certCategoryMap.containsKey(sheetName)) { List list = new ArrayList<>(); @@ -872,6 +964,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl message = importParamsInfoData(paramsInfoEOList,certCategoryParamsInfoEOListMap,unzipfilepath,paramsTemplateId,cut); //删除原上传文件 FileUnZip.deleteDir(saveDirectory); @@ -1108,7 +1204,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl stringMessage = new ArrayList<>(); List nioNumberImport = new ArrayList<>(); // 记录导入的nio编号 - int i = 1; //记录行号 + int i = 2; //记录行号 //循环验证数据 for (ParamsInfoCnImport dto : paramsInfoEOList) { //判断此行数据是否全部为空,是则不读取 @@ -1215,13 +1311,6 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl ccNioNumberImport = new ArrayList<>(); // 记录导入的nio编号 - int j = 1; + int j = 2; for (CertCategoryParamsInfoCnImport ccDto : ccDtoList) { //判断此行数据是否全部为空,是则不读取 if (checkObjAllFieldsIsNull(ccDto)) { diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/DicCodeEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/DicCodeEnum.java new file mode 100644 index 000000000..d109cf276 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/DicCodeEnum.java @@ -0,0 +1,52 @@ +package com.jero.modules.system.enums; + +/** + * 数据字典code枚举类 + */ +public enum DicCodeEnum { + REGION("适用地区","0","region"), + ; + + String name; + String value; + String code; + + private DicCodeEnum(String name, String value, String code) { + this.name = name; + this.value = value; + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public static String getTextByValue(String value) { + DicCodeEnum[] values = values(); + for (DicCodeEnum dicCodeEnum : values) { + if (dicCodeEnum.value.equals(value)) { + return dicCodeEnum.name; + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java index d207015c4..a50b39aab 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java @@ -44,6 +44,15 @@ public class SyncDataServiceImpl implements ISyncDataService{ @Value("${people.secret}") private String secret; + @Value("${people.appIdEU}") + private String appIdEU; + + @Value("${people.hostEU}") + private String hostEU; + + @Value("${people.secretEU}") + private String secretEU; + @Autowired private ISysUserService sysUserService; @Autowired @@ -163,22 +172,26 @@ public class SyncDataServiceImpl implements ISyncDataService{ List sysUserList = sysUserService.getPPEmployeeList(); // log.info("查询到的用户信息结果集为:"+JSONObject.toJSONString(userEOList)); for(SysUser user:sysUserList){ - localUserMap.put(user.getThirdId(),user); + if (StringUtils.isNotBlank(user.getThirdId())) { + localUserMap.put(user.getThirdId().toLowerCase(), user); + } } + List ppEmployeeList = new ArrayList<>(); + // 获取people 国内 用户信息 String path = "/people/v1/employee/all-info"; String queryStr = "app_id=" + appId + "&hash_type=sha256&offset=0&limit=100"; String response = getResultDataOfGet(path, queryStr); JSONObject myJson = JSONObject.parseObject(response); log.debug(myJson.toJSONString()); if(!myJson.get("result_code").toString().equals("success")){ - log.error("请求出现异常:"+myJson.get("message")+" "+myJson); + log.error("【国内】请求国内用户数据出现异常:"+myJson.get("message")+" "+myJson); }else{ - log.debug("打印输出本次同步信息返回结果:"+myJson.get("data").toString()); + log.debug("【国内】打印输出本次同步信息返回结果:"+myJson.get("data").toString()); JSONObject resultJson = (JSONObject) myJson.get("data"); //将第一页的账户信息转换为本地dto集合 List userList = JSONObject.parseArray(resultJson.get("list").toString(), JSONObject.class); - List ppEmployeeList = getPPEmployeeList(userList); + ppEmployeeList = getPPEmployeeList(userList, "CN"); //获取总记录数 int total = (int) resultJson.get("amount"); @@ -193,13 +206,52 @@ public class SyncDataServiceImpl implements ISyncDataService{ queryStr = "app_id=" + appId + "&hash_type=sha256&limit=100&offset=" + (page*100); response = getResultDataOfGet(path, queryStr); myJson = JSONObject.parseObject(response); - log.debug("打印输出本次同步信息返回结果:"+myJson.get("data").toString()); + log.debug("【国内】打印输出本次同步信息返回结果:"+myJson.get("data").toString()); resultJson = (JSONObject) myJson.get("data"); userList = JSONObject.parseArray(resultJson.get("list").toString(), JSONObject.class); - List currentPPEmployeeList = getPPEmployeeList(userList); + List currentPPEmployeeList = getPPEmployeeList(userList, "CN"); ppEmployeeList.addAll(currentPPEmployeeList); } } + + // 获取people 欧洲 用户信息 + path = "/people/v1/employee/all-info"; + String queryStrEU = "app_id=" + appIdEU + "&hash_type=sha256&offset=0&limit=100"; + String responseEU = getResultDataOfGetEU(path, queryStrEU); + JSONObject myJsonEU = JSONObject.parseObject(responseEU); + log.debug(myJsonEU.toJSONString()); + if(!myJsonEU.get("result_code").toString().equals("success")){ + log.error("【欧洲】请求欧洲用户数据出现异常:"+myJsonEU.get("message")+" "+myJsonEU); + }else{ + log.debug("【欧洲】打印输出本次同步信息返回结果:"+myJsonEU.get("data").toString()); + JSONObject resultJsonEU = (JSONObject) myJsonEU.get("data"); + //将第一页的账户信息转换为本地dto集合 + List userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class); + List currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN"); + ppEmployeeList.addAll(currentPPEmployeeListEU); + + //获取总记录数 + int totalEU = (int) resultJsonEU.get("amount"); + if(totalEU > 100){ + int pageSumEU = totalEU / 100; // 总页数 + if((totalEU % 100) > 0){ + pageSumEU += 1; + } + //循环查询统一认证系统所有账户信息(从第二页开始) + for(int page = 1; page < pageSumEU; page++){ + path = "/people/v1/employee/all-info"; + queryStrEU = "app_id=" + appIdEU + "&hash_type=sha256&limit=100&offset=" + (page*100); + responseEU = getResultDataOfGetEU(path, queryStrEU); + myJsonEU = JSONObject.parseObject(responseEU); + log.debug("【欧洲】打印输出本次同步信息返回结果:"+myJsonEU.get("data").toString()); + resultJsonEU = (JSONObject) myJsonEU.get("data"); + userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class); + currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN"); + ppEmployeeList.addAll(currentPPEmployeeListEU); + } + } + } + // 处理同步过来的数据id不同,username相同的情况 creation_time不能为空 // ppEmployeeList.sort(Comparator.comparing(PPEmployee::getCreation_time).reversed()); ppEmployeeList = ppEmployeeList.stream().distinct().collect(Collectors.toList()); // 去重 @@ -249,10 +301,14 @@ public class SyncDataServiceImpl implements ISyncDataService{ } - private static List getPPEmployeeList(List userList) { + private static List getPPEmployeeList(List userList, String region) { List ppEmployeeList = new ArrayList<>(); for (JSONObject user : userList) { PPEmployee userMainInfo = JSONObject.parseObject(user.get("people_info").toString(), PPEmployee.class); + if ("EU".equals(region)) { + String newId = "EU" + userMainInfo.getId(); + userMainInfo.setId(newId); + } List userJobInfoList = JSONObject.parseArray(user.get("people_job_info").toString(), PPEmployee.class); if (CollectionUtil.isNotEmpty(userJobInfoList)) { @@ -315,6 +371,41 @@ public class SyncDataServiceImpl implements ISyncDataService{ // return myJson.get("data").toString(); } + /** + * 发送请求,获取同步数据-欧洲 + * @param uri + * @param queryString + * @return + * @throws IOException + * @throws NoSuchAlgorithmException + * @throws InvalidKeyException + */ + private String getResultDataOfGetEU(String uri, String queryString) throws IOException, NoSuchAlgorithmException, InvalidKeyException { + // 获取签名 + String method ="GET"; + String path = uri; + String queryStr = queryString; + Map header = new HashMap<>(); + String timestamp = HmacSignUtil.getSecondTimestamp(new Date()); + queryStr += "×tamp=" + timestamp; + String sign = HmacSignUtil.getSign(secretEU,method,path,queryStr,header); + String url = hostEU; + url += path + "?"; + url += queryStr; + url += "&sign=" + sign; + Map headerMap = new HashMap<>(); + String response = HttpRequestUtil.getResponseOfGET(url, headerMap); + JSONObject myJson = JSONObject.parseObject(response); + + return myJson.toJSONString(); +// log.debug(myJson.toJSONString()); +// if(!myJson.get("result_code").toString().equals("success")) { +// log.error("请求出现异常:" + myJson.get("result_code") + " " + myJson); +// } +// log.debug("打印输出本次同步信息返回结果:"+myJson.get("data").toString()); +// return myJson.get("data").toString(); + } + public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException { String path = "/people/v1/employee/all-info"; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 304aa6215..3f4c2adcb 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -459,7 +459,11 @@ public class SysUserServiceImpl extends ServiceImpl impl userIdList = userIdList.stream().distinct().collect(Collectors.toList()); QueryWrapper sysUserQueryWrapper = new QueryWrapper<>(); sysUserQueryWrapper.lambda().in(SysUser::getId,userIdList); - List sysUsers = this.baseMapper.selectList(sysUserQueryWrapper); + List sysUsers = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(userIdList)){ + sysUsers = this.baseMapper.selectList(sysUserQueryWrapper); + } + return sysUsers; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java index e25f54deb..90b5f1dd9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareInfoController.java @@ -1,28 +1,35 @@ package com.jero.modules.compare.controller; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; -import com.jero.common.api.vo.Result; -import com.jero.common.system.query.QueryGenerator; -import com.jero.modules.compare.entity.SarFileCompareInfo; -import com.jero.modules.compare.service.ISarFileCompareInfoService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; +import com.jero.common.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; +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 io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.jero.common.aspect.annotation.AutoLog; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; /** @@ -38,6 +45,8 @@ import com.jero.common.aspect.annotation.AutoLog; public class SarFileCompareInfoController extends JeroController { @Autowired private ISarFileCompareInfoService sarFileCompareInfoService; + @Autowired + private OnlCgformFieldServiceImpl onlCgformFieldService; /** * 分页列表查询 @@ -51,16 +60,34 @@ public class SarFileCompareInfoController extends JeroController queryPageList(SarFileCompareInfo sarFileCompareInfo, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { + 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 queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareInfo, req.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + queryWrapper.eq("create_by", sysUser.getUsername()).or().eq("release_state", ReleaseConditionEnum.DRAFT.getValue()); Page page = new Page(pageNo, pageSize); IPage pageList = sarFileCompareInfoService.page(page, queryWrapper); + for (SarFileCompareInfo info : pageList.getRecords()) { + info.setReleaseStateTitle(ReleaseConditionEnum.getTextByValue(info.getReleaseState(), cut)); + info.setFileTypeLeft(getFileTypeText(info.getFileTypeLeft(), cut)); + info.setFileTypeRight(getFileTypeText(info.getFileTypeRight(), cut)); + } return Result.OK(pageList); } + private String getFileTypeText(String fileType, String cut) { + OnlCgformField fileTypeField = this.onlCgformFieldService.queryById(fileType); + if (ObjectUtil.isNotEmpty(fileTypeField)) { + if (CutEnum.CN.getValue().equals(cut)) { + return fileTypeField.getDbFieldTxt(); + } else { + return fileTypeField.getDbFieldEnName(); + } + } + return ""; + } + + /** * 列表查询 * @@ -174,13 +201,11 @@ public class SarFileCompareInfoController extends JeroController fullTextComparison(@RequestBody JSONObject json) { try { @@ -190,12 +215,55 @@ public class SarFileCompareInfoController extends JeroController resMap = sarFileCompareInfoService.fullTextComparison(leftStandard, rightStandard, remark); - return Result.OK(resMap); + String InfoId = sarFileCompareInfoService.fullTextComparison(leftStandard, rightStandard, remark); + return Result.OK(InfoId); } catch (Exception ex) { log.error("发起文档对比失败:" + ex.getMessage()); return Result.OK("发起文档对比失败!"); } } + /** + * 更改发布状态 + * + * @param sarFileCompareInfo + * @return + */ + @AutoLog(value = "文档对比信息表-更改发布状态") + @ApiOperation(value = "文档对比信息表-更改发布状态", notes = "文档对比信息表-更改发布状态") + @RequestMapping(value = "/changeState", method = RequestMethod.POST) + public Result changeState(@Validated @RequestBody SarFileCompareInfo sarFileCompareInfo) { + SarFileCompareInfo info = sarFileCompareInfoService.queryById(sarFileCompareInfo.getId()); + if (ReleaseConditionEnum.DRAFT.getValue().equals(sarFileCompareInfo.getReleaseState())) { + info.setReleaseState(ReleaseConditionEnum.PUBLISHED.getValue()); + } else { + info.setReleaseState(ReleaseConditionEnum.DRAFT.getValue()); + } + sarFileCompareInfoService.editById(info); + return Result.OK("更改成功!"); + } + + /** + * 求对比详情 + * + * @return + */ + @AutoLog(value = "文档对比信息表-请求对比详情") + @ApiOperation(value = "文档对比信息表-请求对比详情", notes = "文档对比信息表-请求对比详情") + @RequestMapping(value = "/getComparisonDetail", method = RequestMethod.POST) + public Result getComparisonDetail(@RequestBody JSONObject json) { + SarFileCompareDetailVO sarFileCompareDetailVO = sarFileCompareInfoService.getComparisonDetail(json.get("id").toString()); + return Result.OK(sarFileCompareDetailVO); + } + + @AutoLog(value = "文档对比信息表-编辑全文评论") + @ApiOperation(value = "文档对比信息表-编辑全文评论", notes = "文档对比信息表-编辑全文评论") + @PutMapping(value = "/editComments") + public Result editComments(@Validated @RequestBody SarFileCompareInfo sarFileCompareInfo) { + SarFileCompareInfo info = sarFileCompareInfoService.getById(sarFileCompareInfo.getId()); + info.setComments(sarFileCompareInfo.getComments()); + sarFileCompareInfoService.editById(info); + return Result.OK("编辑评论成功!"); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemCommentController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemCommentController.java new file mode 100644 index 000000000..651006e93 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareItemCommentController.java @@ -0,0 +1,173 @@ +package com.jero.modules.compare.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.compare.entity.SarFileCompareItemComment; +import com.jero.modules.compare.entity.SarFileCompareResultVO; +import com.jero.modules.compare.service.ISarFileCompareItemCommentService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + + +/** + * @Description: 文档对比信息条款评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +@Api(tags = "文档对比信息条款评论表") +@RestController +@RequestMapping("/compare/sarFileCompareItemComment") +@Slf4j +public class SarFileCompareItemCommentController extends JeroController { + @Autowired + private ISarFileCompareItemCommentService sarFileCompareItemCommentService; + + /** + * 分页列表查询 + * + * @param sarFileCompareItemComment + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-分页列表查询") + @ApiOperation(value = "文档对比信息条款评论表-分页列表查询", notes = "文档对比信息条款评论表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(SarFileCompareItemComment sarFileCompareItemComment, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareItemComment, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = sarFileCompareItemCommentService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-列表查询") + @ApiOperation(value = "文档对比信息条款评论表-列表查询", notes = "文档对比信息条款评论表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = sarFileCompareItemCommentService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param sarFileCompareItemComment + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-添加") + @ApiOperation(value = "文档对比信息条款评论表-添加", notes = "文档对比信息条款评论表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody SarFileCompareItemComment sarFileCompareItemComment) { + sarFileCompareItemCommentService.add(sarFileCompareItemComment); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param sarFileCompareItemComment + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-编辑") + @ApiOperation(value = "文档对比信息条款评论表-编辑", notes = "文档对比信息条款评论表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody SarFileCompareItemComment sarFileCompareItemComment) { + sarFileCompareItemCommentService.editById(sarFileCompareItemComment); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-通过id删除") + @ApiOperation(value = "文档对比信息条款评论表-通过id删除", notes = "文档对比信息条款评论表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + sarFileCompareItemCommentService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-批量删除") + @ApiOperation(value = "文档对比信息条款评论表-批量删除", notes = "文档对比信息条款评论表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.sarFileCompareItemCommentService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-通过id查询") + @ApiOperation(value = "文档对比信息条款评论表-通过id查询", notes = "文档对比信息条款评论表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + SarFileCompareItemComment sarFileCompareItemComment = sarFileCompareItemCommentService.queryById(id); + if (sarFileCompareItemComment == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(sarFileCompareItemComment); + } + + /** + * 查询对比结果 + * + * @return + */ + @AutoLog(value = "文档对比信息条款评论表-查询对比结果") + @ApiOperation(value = "文档对比信息条款评论表-查询对比结果", notes = "文档对比信息条款评论表-查询对比结果") + @GetMapping(value = "/queryCompareResult") + public Result queryCompareResult(@RequestParam(name = "infoId", required = true) String infoId) { + SarFileCompareResultVO res = sarFileCompareItemCommentService.queryCompareResult(infoId); + return Result.OK(res); + } + + @AutoLog(value = "文档对比信息条款评论表-导出结果") + @ApiOperation(value = "文档对比信息条款评论表-导出结果", notes = "文档对比信息条款评论表-导出结果") + @GetMapping(value = "/exportResXls") + public Result exportResXls(@RequestParam(name = "infoId", required = true) String infoId, + @RequestParam(name = "selectIds", required = true) String selectIds, + @RequestParam(name = "includeComments", required = true) boolean includeComments, + @RequestParam(name = "cut", required = true) String cut, + HttpServletResponse response) { + sarFileCompareItemCommentService.exportResXls(response, infoId, selectIds, includeComments, cut); + return Result.OK(); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareMenuController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareMenuController.java new file mode 100644 index 000000000..e398c5727 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareMenuController.java @@ -0,0 +1,170 @@ +package com.jero.modules.compare.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.compare.entity.SarFileCompareMenu; +import com.jero.modules.compare.service.ISarFileCompareMenuService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 文档对比信息目录表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Api(tags="文档对比信息目录表") +@RestController +@RequestMapping("/compare/sarFileCompareMenu") +@Slf4j +public class SarFileCompareMenuController extends JeroController { + @Autowired + private ISarFileCompareMenuService sarFileCompareMenuService; + + /** + * 分页列表查询 + * + * @param sarFileCompareMenu + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "文档对比信息目录表-分页列表查询") + @ApiOperation(value="文档对比信息目录表-分页列表查询", notes="文档对比信息目录表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(SarFileCompareMenu sarFileCompareMenu, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareMenu, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = sarFileCompareMenuService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "文档对比信息目录表-列表查询") + @ApiOperation(value="文档对比信息目录表-列表查询", notes="文档对比信息目录表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = sarFileCompareMenuService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param sarFileCompareMenu + * @return + */ + @AutoLog(value = "文档对比信息目录表-添加") + @ApiOperation(value="文档对比信息目录表-添加", notes="文档对比信息目录表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody SarFileCompareMenu sarFileCompareMenu) { + sarFileCompareMenuService.add(sarFileCompareMenu); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param sarFileCompareMenu + * @return + */ + @AutoLog(value = "文档对比信息目录表-编辑") + @ApiOperation(value="文档对比信息目录表-编辑", notes="文档对比信息目录表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody SarFileCompareMenu sarFileCompareMenu) { + sarFileCompareMenuService.editById(sarFileCompareMenu); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息目录表-通过id删除") + @ApiOperation(value="文档对比信息目录表-通过id删除", notes="文档对比信息目录表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + sarFileCompareMenuService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "文档对比信息目录表-批量删除") + @ApiOperation(value="文档对比信息目录表-批量删除", notes="文档对比信息目录表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.sarFileCompareMenuService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息目录表-通过id查询") + @ApiOperation(value="文档对比信息目录表-通过id查询", notes="文档对比信息目录表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + SarFileCompareMenu sarFileCompareMenu = sarFileCompareMenuService.queryById(id); + if(sarFileCompareMenu==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(sarFileCompareMenu); + } + + /** + * 导出excel + * + * @param request + * @param sarFileCompareMenu + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, SarFileCompareMenu sarFileCompareMenu) { + return super.exportXls(request, sarFileCompareMenu, SarFileCompareMenu.class, "文档对比信息目录表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, SarFileCompareMenu.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareResCommentController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareResCommentController.java new file mode 100644 index 000000000..963a4442c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/controller/SarFileCompareResCommentController.java @@ -0,0 +1,186 @@ +package com.jero.modules.compare.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.compare.entity.SarFileCompareResComVO; +import com.jero.modules.compare.entity.SarFileCompareResComment; +import com.jero.modules.compare.service.ISarFileCompareResCommentService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; + + +/** + * @Description: 文档对比信息结果评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +@Api(tags = "文档对比信息结果评论表") +@RestController +@RequestMapping("/compare/sarFileCompareResComment") +@Slf4j +public class SarFileCompareResCommentController extends JeroController { + @Autowired + private ISarFileCompareResCommentService sarFileCompareResCommentService; + + /** + * 分页列表查询 + * + * @param sarFileCompareResComment + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-分页列表查询") + @ApiOperation(value = "文档对比信息结果评论表-分页列表查询", notes = "文档对比信息结果评论表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(SarFileCompareResComment sarFileCompareResComment, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sarFileCompareResComment, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = sarFileCompareResCommentService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-列表查询") + @ApiOperation(value = "文档对比信息结果评论表-列表查询", notes = "文档对比信息结果评论表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = sarFileCompareResCommentService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param sarFileCompareResComment + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-添加") + @ApiOperation(value = "文档对比信息结果评论表-添加", notes = "文档对比信息结果评论表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody SarFileCompareResComment sarFileCompareResComment) { + sarFileCompareResCommentService.add(sarFileCompareResComment); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param sarFileCompareResComment + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-编辑") + @ApiOperation(value = "文档对比信息结果评论表-编辑", notes = "文档对比信息结果评论表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody SarFileCompareResComment sarFileCompareResComment) { + sarFileCompareResCommentService.editById(sarFileCompareResComment); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-通过id删除") + @ApiOperation(value = "文档对比信息结果评论表-通过id删除", notes = "文档对比信息结果评论表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + sarFileCompareResCommentService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-批量删除") + @ApiOperation(value = "文档对比信息结果评论表-批量删除", notes = "文档对比信息结果评论表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.sarFileCompareResCommentService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-通过id查询") + @ApiOperation(value = "文档对比信息结果评论表-通过id查询", notes = "文档对比信息结果评论表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + SarFileCompareResComment sarFileCompareResComment = sarFileCompareResCommentService.queryById(id); + if (sarFileCompareResComment == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(sarFileCompareResComment); + } + + /** + * 导出excel + * + * @param request + * @param sarFileCompareResComment + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, SarFileCompareResComment sarFileCompareResComment) { + return super.exportXls(request, sarFileCompareResComment, SarFileCompareResComment.class, "文档对比信息结果评论表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, SarFileCompareResComment.class); + } + + /** + * 根据infoId查询列表 + * + * @return + */ + @AutoLog(value = "文档对比信息结果评论表-根据infoId查询列表") + @ApiOperation(value = "文档对比信息结果评论表-根据infoId查询列表", notes = "文档对比信息结果评论表-根据infoId查询列表") + @GetMapping(value = "/queryListByInfoId") + public Result> queryListByInfoId(@RequestParam(name = "id", required = true) String id, + @RequestParam(name = "str") String str) { + List list = sarFileCompareResCommentService.queryListByInfoId(id, str); + return Result.OK(list); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareDetailVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareDetailVO.java new file mode 100644 index 000000000..f5508600c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareDetailVO.java @@ -0,0 +1,135 @@ +package com.jero.modules.compare.entity; + +import java.util.ArrayList; +import java.util.List; + +public class SarFileCompareDetailVO { + + private String InfoId; + private String serialNumberLeft; + private String fileNameLeft; + private String serialNumberRight; + private String fileNameRight; + private String remark; + private String comments; + private List menuLeft; + private List textLeft; + private List menuRight; + private List textRight; + + public String getInfoId() { + return InfoId; + } + + public void setInfoId(String infoId) { + InfoId = infoId; + } + + public String getSerialNumberLeft() { + return serialNumberLeft; + } + + public void setSerialNumberLeft(String serialNumberLeft) { + this.serialNumberLeft = serialNumberLeft; + } + + public String getFileNameLeft() { + return fileNameLeft; + } + + public void setFileNameLeft(String fileNameLeft) { + this.fileNameLeft = fileNameLeft; + } + + public String getSerialNumberRight() { + return serialNumberRight; + } + + public void setSerialNumberRight(String serialNumberRight) { + this.serialNumberRight = serialNumberRight; + } + + public String getFileNameRight() { + return fileNameRight; + } + + public void setFileNameRight(String fileNameRight) { + this.fileNameRight = fileNameRight; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getComments() { + return comments; + } + + public void setComments(String comments) { + this.comments = comments; + } + + public List getTextLeft() { + return textLeft; + } + + public void setTextLeft(List textLeft) { + this.textLeft = textLeft; + } + + public void addTextLeft(SarFileCompareItem text) { + if (this.textLeft == null) { + this.textLeft = new ArrayList<>(); + } + this.textLeft.add(text); + } + + public List getTextRight() { + return textRight; + } + + public void setTextRight(List textRight) { + this.textRight = textRight; + } + + public void addTextRight(SarFileCompareItem text) { + if (this.textRight == null) { + this.textRight = new ArrayList<>(); + } + this.textRight.add(text); + } + + public List getMenuLeft() { + return menuLeft; + } + + public void setMenuLeft(List menuLeft) { + this.menuLeft = menuLeft; + } + + public void addMenuLeft(SarFileCompareMenuVo menu) { + if (this.menuLeft == null) { + this.menuLeft = new ArrayList<>(); + } + this.menuLeft.add(menu); + } + + public List getMenuRight() { + return menuRight; + } + + public void setMenuRight(List menuRight) { + this.menuRight = menuRight; + } + + public void addMenuRight(SarFileCompareMenuVo menu) { + if (this.menuRight == null) { + this.menuRight = new ArrayList<>(); + } + this.menuRight.add(menu); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java index fec7f0f57..81f9d00e2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareInfo.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -21,7 +22,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; /** * @Description: 文档对比信息表 * @Author: jero-boot - * @Date: 2022-08-02 + * @Date: 2022-08-04 * @Version: V1.0 */ @Data @@ -66,6 +67,11 @@ public class SarFileCompareInfo implements Serializable { @ApiModelProperty(value = "文档1") private String fileIdLeft; + /**文档key1*/ + @Excel(name = "文档key1", width = 15) + @ApiModelProperty(value = "文档key1") + private String fileKeyLeft; + /**编号1*/ @Excel(name = "编号1", width = 15) @ApiModelProperty(value = "编号1") @@ -91,6 +97,11 @@ public class SarFileCompareInfo implements Serializable { @ApiModelProperty(value = "文档2") private String fileIdRight; + /**文档key2*/ + @Excel(name = "文档key2", width = 15) + @ApiModelProperty(value = "文档key2") + private String fileKeyRight; + /**编号2*/ @Excel(name = "编号2", width = 15) @ApiModelProperty(value = "编号2") @@ -116,6 +127,10 @@ public class SarFileCompareInfo implements Serializable { @ApiModelProperty(value = "发布状态") private String releaseState; + /**发布状态-翻译后*/ + @TableField(exist = false) + private String releaseStateTitle; + /**备注*/ @Excel(name = "备注", width = 15) @ApiModelProperty(value = "备注") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java index 10717e093..fb388dca4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItem.java @@ -21,7 +21,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; /** * @Description: 文档对比信息条款表 * @Author: jero-boot - * @Date: 2022-08-02 + * @Date: 2022-08-06 * @Version: V1.0 */ @Data @@ -66,10 +66,10 @@ public class SarFileCompareItem implements Serializable { @ApiModelProperty(value = "文档对比信息id") private String infoId; - /**条款id*/ - @Excel(name = "条款id", width = 15) - @ApiModelProperty(value = "条款id") - private String itemsId; + /**目录id*/ + @Excel(name = "目录id", width = 15) + @ApiModelProperty(value = "目录id") + private String menuId; /**条款名称*/ @Excel(name = "条款名称", width = 15) @@ -91,9 +91,9 @@ public class SarFileCompareItem implements Serializable { @ApiModelProperty(value = "条款展示编号") private Integer itemsDisplayNum; - /**目标位置*/ - @Excel(name = "目标位置", width = 15) - @ApiModelProperty(value = "目标位置") + /**对应相似条目*/ + @Excel(name = "对应相似条目", width = 15) + @ApiModelProperty(value = "对应相似条目") private Integer targetStand; /**条款位置*/ @@ -101,9 +101,9 @@ public class SarFileCompareItem implements Serializable { @ApiModelProperty(value = "条款位置") private String leftOrRight; - /**备注*/ - @Excel(name = "备注", width = 15) - @ApiModelProperty(value = "备注") - private String remark; + /**是否被评论(0或1)*/ + @Excel(name = "是否被评论(0或1)", width = 15) + @ApiModelProperty(value = "是否被评论(0或1)") + private Integer reviewed; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItemComVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItemComVO.java new file mode 100644 index 000000000..faa1aa17c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItemComVO.java @@ -0,0 +1,83 @@ +package com.jero.modules.compare.entity; + +/** + * 对比条目评论信息展示 + */ +public class SarFileCompareItemComVO { + private String id; + private String itemsNameLeft; + private String itemsNumLeft; + private String itemsTextLeft; + private String itemsNameRight; + private String itemsNumRight; + private String itemsTextRight; + private java.lang.String comment; + + public SarFileCompareItemComVO() { + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getItemsNameLeft() { + return itemsNameLeft; + } + + public void setItemsNameLeft(String itemsNameLeft) { + this.itemsNameLeft = itemsNameLeft; + } + + public String getItemsNumLeft() { + return itemsNumLeft; + } + + public void setItemsNumLeft(String itemsNumLeft) { + this.itemsNumLeft = itemsNumLeft; + } + + public String getItemsTextLeft() { + return itemsTextLeft; + } + + public void setItemsTextLeft(String itemsTextLeft) { + this.itemsTextLeft = itemsTextLeft; + } + + public String getItemsNameRight() { + return itemsNameRight; + } + + public void setItemsNameRight(String itemsNameRight) { + this.itemsNameRight = itemsNameRight; + } + + public String getItemsNumRight() { + return itemsNumRight; + } + + public void setItemsNumRight(String itemsNumRight) { + this.itemsNumRight = itemsNumRight; + } + + public String getItemsTextRight() { + return itemsTextRight; + } + + public void setItemsTextRight(String itemsTextRight) { + this.itemsTextRight = itemsTextRight; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItemComment.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItemComment.java new file mode 100644 index 000000000..23815ce7c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareItemComment.java @@ -0,0 +1,84 @@ +package com.jero.modules.compare.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 文档对比信息条款评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +@Data +@TableName("sar_file_compare_item_comment") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="sar_file_compare_item_comment对象", description="文档对比信息条款评论表") +public class SarFileCompareItemComment implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**文档对比信息id*/ + @Excel(name = "文档对比信息id", width = 15) + @ApiModelProperty(value = "文档对比信息id") + private java.lang.String infoId; + + /**条款id左*/ + @Excel(name = "条款id左", width = 15) + @ApiModelProperty(value = "条款id左") + private java.lang.String itemsIdLeft; + + /**条款id右*/ + @Excel(name = "条款id右", width = 15) + @ApiModelProperty(value = "条款id右") + private java.lang.String itemsIdRight; + + /**评论*/ + @Excel(name = "评论", width = 15) + @ApiModelProperty(value = "评论") + private java.lang.String comment; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenu.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenu.java new file mode 100644 index 000000000..754f85899 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenu.java @@ -0,0 +1,126 @@ +package com.jero.modules.compare.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 文档对比信息目录表 + * @Author: jero-boot + * @Date: 2022-08-04 + * @Version: V1.0 + */ +@Data +@TableName("sar_file_compare_menu") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="sar_file_compare_menu对象", description="文档对比信息目录表") +public class SarFileCompareMenu implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; + + /**目录ID*/ + @Excel(name = "目录ID", width = 15) + @ApiModelProperty(value = "目录ID") + private String menuId; + + /**信息ID*/ + @Excel(name = "信息ID", width = 15) + @ApiModelProperty(value = "信息ID") + private String infoId; + + /**目录名称*/ + @Excel(name = "目录名称", width = 15) + @ApiModelProperty(value = "目录名称") + private String name; + + /**父级目录ID*/ + @Excel(name = "父级目录ID", width = 15) + @ApiModelProperty(value = "父级目录ID") + private String parentId; + + /**排序序号*/ + @Excel(name = "排序序号", width = 15) + @ApiModelProperty(value = "排序序号") + private Integer displaySeq; + + /**目录位置*/ + @Excel(name = "目录位置", width = 15) + @ApiModelProperty(value = "目录位置") + private String leftOrRight; + + /**条款名称*/ + @Excel(name = "条款名称", width = 15) + @ApiModelProperty(value = "条款名称") + private String itemName; + + /**备注*/ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private String remarks; + + public SarFileCompareMenu(String id, String createBy, Date createTime, String updateBy, Date updateTime, String sysOrgCode, String menuId, String infoId, String name, String parentId, Integer displaySeq, String leftOrRight, String itemName, String remarks) { + this.id = id; + this.createBy = createBy; + this.createTime = createTime; + this.updateBy = updateBy; + this.updateTime = updateTime; + this.sysOrgCode = sysOrgCode; + this.menuId = menuId; + this.infoId = infoId; + this.name = name; + this.parentId = parentId; + this.displaySeq = displaySeq; + this.leftOrRight = leftOrRight; + this.itemName = itemName; + this.remarks = remarks; + } + + public SarFileCompareMenu() { + + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenuVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenuVo.java new file mode 100644 index 000000000..989d8c554 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareMenuVo.java @@ -0,0 +1,62 @@ +package com.jero.modules.compare.entity; + +import java.util.ArrayList; +import java.util.List; + +public class SarFileCompareMenuVo extends SarFileCompareMenu { + private String key; + private String title; + + private List children; + + public SarFileCompareMenuVo(SarFileCompareMenu menu) { + super(); + this.setId(menu.getId()); + this.setCreateBy(menu.getCreateBy()); + this.setCreateTime(menu.getCreateTime()); + this.setUpdateBy(menu.getUpdateBy()); + this.setUpdateTime(menu.getUpdateTime()); + this.setSysOrgCode(menu.getSysOrgCode()); + this.setMenuId(menu.getMenuId()); + this.setInfoId(menu.getInfoId()); + this.setName(menu.getName()); + this.setParentId(menu.getParentId()); + this.setDisplaySeq(menu.getDisplaySeq()); + this.setLeftOrRight(menu.getLeftOrRight()); + this.setItemName(menu.getItemName()); + this.setKey(menu.getId()); + this.setTitle(menu.getName() + menu.getItemName()); + this.setRemarks(menu.getRemarks()); + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public void addChild(SarFileCompareMenuVo child) { + if (null == this.children) { + this.children = new ArrayList<>(); + } + children.add(child); + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResComVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResComVO.java new file mode 100644 index 000000000..f46fb8cc7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResComVO.java @@ -0,0 +1,59 @@ +package com.jero.modules.compare.entity; + +import java.util.ArrayList; +import java.util.List; + +public class SarFileCompareResComVO { + private String id; + private String name; + private String createTime; + private String content; + private List resComVoList; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public List getResComVoList() { + return resComVoList; + } + + public void setResComVoList(List resComVoList) { + this.resComVoList = resComVoList; + } + + public void addResComVo(SarFileCompareResComVO resComVo) { + if (null == this.resComVoList) { + this.resComVoList = new ArrayList<>(); + } + this.resComVoList.add(resComVo); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResComment.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResComment.java new file mode 100644 index 000000000..249ce4d27 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResComment.java @@ -0,0 +1,79 @@ +package com.jero.modules.compare.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 文档对比信息结果评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +@Data +@TableName("sar_file_compare_res_comment") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="sar_file_compare_res_comment对象", description="文档对比信息结果评论表") +public class SarFileCompareResComment implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**文档对比信息id*/ + @Excel(name = "文档对比信息id", width = 15) + @ApiModelProperty(value = "文档对比信息id") + private java.lang.String infoId; + + /**回复评论ID*/ + @Excel(name = "回复评论ID", width = 15) + @ApiModelProperty(value = "回复评论ID") + private java.lang.String parentId; + + /**评论*/ + @Excel(name = "评论", width = 15) + @ApiModelProperty(value = "评论") + private java.lang.String comment; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResultVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResultVO.java new file mode 100644 index 000000000..9236eebf8 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/entity/SarFileCompareResultVO.java @@ -0,0 +1,81 @@ +package com.jero.modules.compare.entity; + +import java.util.ArrayList; +import java.util.List; + +public class SarFileCompareResultVO { + + private String infoId; + private String serialNumberLeft; + private String fileNameLeft; + private String serialNumberRight; + private String fileNameRight; + private List resList; + private String comments; + + public SarFileCompareResultVO() { + } + + public String getInfoId() { + return infoId; + } + + public void setInfoId(String infoId) { + this.infoId = infoId; + } + + public String getSerialNumberLeft() { + return serialNumberLeft; + } + + public void setSerialNumberLeft(String serialNumberLeft) { + this.serialNumberLeft = serialNumberLeft; + } + + public String getFileNameLeft() { + return fileNameLeft; + } + + public void setFileNameLeft(String fileNameLeft) { + this.fileNameLeft = fileNameLeft; + } + + public String getSerialNumberRight() { + return serialNumberRight; + } + + public void setSerialNumberRight(String serialNumberRight) { + this.serialNumberRight = serialNumberRight; + } + + public String getFileNameRight() { + return fileNameRight; + } + + public void setFileNameRight(String fileNameRight) { + this.fileNameRight = fileNameRight; + } + + public List getResList() { + return resList; + } + + public void setResList(List resList) { + this.resList = resList; + } + + public void addRes(SarFileCompareItemComVO item) { + if (this.resList == null) { + this.resList = new ArrayList<>(); + } + this.resList.add(item); + } + + public String getComments() { + return comments; + } + + public void setComments(String comments) { + this.comments = comments; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ValidFlagEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ValidFlagEnum.java deleted file mode 100644 index e807ead1a..000000000 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/enums/ValidFlagEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.jero.modules.compare.enums; - -public enum ValidFlagEnum { - VALID_TRUE(0, "有效"), VALID_FALSE(1, "无效"); - - private int value; - private String lable; - - private ValidFlagEnum(int value, String lable) { - this.value = value; - this.lable = lable; - } - - public int getValue() { - return value; - } - - public String getLable() { - return lable; - } - -} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java index fa41936d1..113090c39 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareInfoMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 文档对比信息表 * @Author: jero-boot - * @Date: 2022-08-02 + * @Date: 2022-08-04 * @Version: V1.0 */ public interface SarFileCompareInfoMapper extends BaseMapper { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemCommentMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemCommentMapper.java new file mode 100644 index 000000000..ebf1d4d72 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemCommentMapper.java @@ -0,0 +1,18 @@ +package com.jero.modules.compare.mapper; + +import java.util.List; + +import com.jero.modules.compare.entity.SarFileCompareItemComVO; +import org.apache.ibatis.annotations.Param; +import com.jero.modules.compare.entity.SarFileCompareItemComment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 文档对比信息条款评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +public interface SarFileCompareItemCommentMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java index 2fabfcce3..4bbf387b1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareItemMapper.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 文档对比信息条款表 * @Author: jero-boot - * @Date: 2022-08-02 + * @Date: 2022-08-04 * @Version: V1.0 */ public interface SarFileCompareItemMapper extends BaseMapper { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareMenuMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareMenuMapper.java new file mode 100644 index 000000000..fe457fd5f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareMenuMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.compare.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.compare.entity.SarFileCompareMenu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 文档对比信息目录表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface SarFileCompareMenuMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareResCommentMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareResCommentMapper.java new file mode 100644 index 000000000..7284b4e27 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/SarFileCompareResCommentMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.compare.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.compare.entity.SarFileCompareResComment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 文档对比信息结果评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +public interface SarFileCompareResCommentMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml index 829a862dd..4b2c440cd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareInfoMapper.xml @@ -9,11 +9,13 @@ + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemCommentMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemCommentMapper.xml new file mode 100644 index 000000000..0dd23ae97 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemCommentMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml index fc42d5309..c04f04e9f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareItemMapper.xml @@ -9,7 +9,7 @@ - + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareMenuMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareMenuMapper.xml new file mode 100644 index 000000000..6d0130b4a --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareMenuMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareResCommentMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareResCommentMapper.xml new file mode 100644 index 000000000..729c2314d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/mapper/xml/SarFileCompareResCommentMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java index ba26736d9..5dc0688fe 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareInfoService.java @@ -1,5 +1,6 @@ package com.jero.modules.compare.service; +import com.jero.modules.compare.entity.SarFileCompareDetailVO; import com.jero.modules.compare.entity.SarFileCompareInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -69,5 +70,13 @@ public interface ISarFileCompareInfoService extends IService * @param remark * @return */ - Map fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception; + String fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception; + + /** + * 求对比详情 + * + * @param id + * @return + */ + SarFileCompareDetailVO getComparisonDetail(String id); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemCommentService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemCommentService.java new file mode 100644 index 000000000..ab20bcc9c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemCommentService.java @@ -0,0 +1,71 @@ +package com.jero.modules.compare.service; + +import com.jero.modules.compare.entity.SarFileCompareItemComment; +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.compare.entity.SarFileCompareResultVO; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** + * @Description: 文档对比信息条款评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +public interface ISarFileCompareItemCommentService extends IService { + + /** + * 保存 + * + * @param sarFileCompareItemComment + * @return + */ + void add(SarFileCompareItemComment sarFileCompareItemComment); + + /** + * 更新 + * + * @param sarFileCompareItemComment + * @return + */ + void editById(SarFileCompareItemComment sarFileCompareItemComment); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + SarFileCompareItemComment queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + SarFileCompareResultVO queryCompareResult(String infoId); + + void exportResXls(HttpServletResponse response, String infoId, String selectIds, boolean includeComments, String cut); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java index a925f9f33..fcb412cc1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareItemService.java @@ -1,61 +1,75 @@ package com.jero.modules.compare.service; -import com.jero.modules.compare.entity.SarFileCompareItem; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.compare.entity.SarFileCompareItem; +import com.jero.modules.compare.utils.CompareConst; +import com.jero.modules.system.util.StringUtils; + import java.util.List; +import java.util.Map; /** * @Description: 文档对比信息条款表 * @Author: jero-boot - * @Date: 2022-08-02 + * @Date: 2022-08-02 * @Version: V1.0 */ public interface ISarFileCompareItemService extends IService { - /** - * 保存 - * - * @param sarFileCompareItem - * @return - */ + /** + * 保存 + * + * @param sarFileCompareItem + * @return + */ void add(SarFileCompareItem sarFileCompareItem); - /** - * 更新 - * - * @param sarFileCompareItem - * @return - */ + /** + * 更新 + * + * @param sarFileCompareItem + * @return + */ void editById(SarFileCompareItem sarFileCompareItem); - /** - * 通过id删除 - * - * @param id - * @return - */ + /** + * 标记被评论过 + * @param id + */ + void updateReviewedById(String id); + + /** + * 通过id删除 + * + * @param id + * @return + */ void deleteById(String id); - /** - * 批量删除 - * - * @param ids - * @return - */ + /** + * 批量删除 + * + * @param ids + * @return + */ void deleteByIds(List ids); - /** - * 通过id查询 - * - * @param id - * @return - */ + /** + * 通过id查询 + * + * @param id + * @return + */ SarFileCompareItem queryById(String id); /** - * 列表查询 - * - * @return - */ + * 列表查询 + * + * @return + */ List queryList(); + + List queryListByInfoId(String infoId); + + Map queryMapByInfoId(String infoId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareMenuService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareMenuService.java new file mode 100644 index 000000000..d8d4fc63f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareMenuService.java @@ -0,0 +1,64 @@ +package com.jero.modules.compare.service; + +import com.jero.modules.compare.entity.SarFileCompareMenu; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 文档对比信息目录表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +public interface ISarFileCompareMenuService extends IService { + + /** + * 保存 + * + * @param sarFileCompareMenu + * @return + */ + void add(SarFileCompareMenu sarFileCompareMenu); + + /** + * 更新 + * + * @param sarFileCompareMenu + * @return + */ + void editById(SarFileCompareMenu sarFileCompareMenu); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + SarFileCompareMenu queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + + List queryListByInfoId(String infoId); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareResCommentService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareResCommentService.java new file mode 100644 index 000000000..4d7bfa41c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/ISarFileCompareResCommentService.java @@ -0,0 +1,65 @@ +package com.jero.modules.compare.service; + +import com.jero.modules.compare.entity.SarFileCompareResComVO; +import com.jero.modules.compare.entity.SarFileCompareResComment; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 文档对比信息结果评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +public interface ISarFileCompareResCommentService extends IService { + + /** + * 保存 + * + * @param sarFileCompareResComment + * @return + */ + void add(SarFileCompareResComment sarFileCompareResComment); + + /** + * 更新 + * + * @param sarFileCompareResComment + * @return + */ + void editById(SarFileCompareResComment sarFileCompareResComment); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + SarFileCompareResComment queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + List queryListByInfoId(String id, String str); + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java index 2ce5214e4..e0dfcc381 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareInfoServiceImpl.java @@ -1,35 +1,25 @@ package com.jero.modules.compare.service.impl; -import com.jero.modules.compare.entity.SarFileCompareInfo; -import com.jero.modules.compare.entity.SarFileCompareItem; -import com.jero.modules.compare.enums.ValidFlagEnum; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.modules.compare.entity.*; import com.jero.modules.compare.mapper.SarFileCompareInfoMapper; import com.jero.modules.compare.service.ISarFileCompareInfoService; import com.jero.modules.compare.service.ISarFileCompareItemService; +import com.jero.modules.compare.service.ISarFileCompareMenuService; import com.jero.modules.compare.utils.CompHanLPUtils; -import com.jero.modules.compare.utils.treeTool.Tree; -import com.jero.modules.compare.utils.treeTool.TreeNode; +import com.jero.modules.compare.utils.CompareConst; import com.jero.modules.docTranslation.enums.ReleaseConditionEnum; -import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.entity.SarFileSplitItemsEO; -import com.jero.modules.split.entity.SarFileSplitItemsValEO; import com.jero.modules.split.entity.SarFileSplitMenuEO; -import com.jero.modules.split.page.SarFileSplitItemsEOPage; -import com.jero.modules.split.page.SarFileSplitItemsValEOPage; -import com.jero.modules.split.page.SarFileSplitMenuEOPage; import com.jero.modules.split.service.IFileSplitItemsEOService; import com.jero.modules.split.service.ISarFileSplitInfoService; -import com.jero.modules.split.service.ISarFileSplitItemsValEOService; import com.jero.modules.split.service.ISarFileSplitMenuEOService; -import com.jero.modules.system.util.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - /** * @Description: 文档对比信息表 * @Author: jero-boot @@ -45,16 +35,15 @@ public class SarFileCompareInfoServiceImpl extends ServiceImpl fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception { - Map resultMap = new HashMap(); - List> leftMapList = fullTextComparePackageData(leftStandard); - List> rightMapList = fullTextComparePackageData(rightStandard); - List> resLeftMapList = null; - List> resRightMapList = null; - if (leftMapList != null && !leftMapList.isEmpty() && rightMapList != null && !rightMapList.isEmpty()) { + public String fullTextComparison(String leftStandard, String rightStandard, String remark) throws Exception { + SarFileCompareInfo sfcInfo = addStandCompareHis(leftStandard, rightStandard, remark); + + List leftMenuEOList = sarFileSplitMenuEOService.queryByInfoId(leftStandard); + Map leftMenuMap = wrapperMenuMap(leftMenuEOList, sfcInfo.getId(), CompareConst.POS_LEFT); + sarFileCompareMenuService.saveBatch(leftMenuMap.values()); + List rightMenuEOList = sarFileSplitMenuEOService.queryByInfoId(rightStandard); + Map rightMenuMap = wrapperMenuMap(rightMenuEOList, sfcInfo.getId(), CompareConst.POS_RIGHT); + sarFileCompareMenuService.saveBatch(rightMenuMap.values()); + + List leftItemEOList = sarFileSplitItemsEOService.selectByInfoId(leftStandard); + List leftItemList = wrapperItemList(leftItemEOList, sfcInfo.getId(), leftMenuMap, CompareConst.POS_LEFT); + List rightItemEOList = sarFileSplitItemsEOService.selectByInfoId(rightStandard); + List rightItemList = wrapperItemList(rightItemEOList, sfcInfo.getId(), rightMenuMap, CompareConst.POS_RIGHT); + + if (!leftItemList.isEmpty() && !rightItemList.isEmpty()) { //双重循环找到相似度最高的条款做关联 - for (int i = 0; i < leftMapList.size(); i++) { - String leftTxt = leftMapList.get(i).get("itemsText").toString(); + for (int i = 0; i < leftItemList.size(); i++) { + String leftTxt = leftItemList.get(i).getItemsText(); + //初始化 假设未找到相似条目 + leftItemList.get(i).setTargetStand(-1); //定义初始化的相似度 double compareSimilarity = 0.0; - if (!leftTxt.isEmpty()) { - for (int j = 0; j < rightMapList.size(); j++) { - String rightTxt = rightMapList.get(j).get("itemsText").toString(); - double similarity = CompHanLPUtils.findSimilarity(leftTxt.trim(), rightTxt.trim()); - //如果相似度超过0.6 并且该相似度比之前的相似度还高,那么该条款目前相似度最高 - if (similarity >= 0.6 && compareSimilarity < similarity) { - compareSimilarity = similarity; - leftMapList.get(i).put("targetStand", j); - if (rightMapList.get(j).get("targetStand") == null) { - rightMapList.get(j).put("targetStand", i); + if (null != leftTxt && !leftTxt.isEmpty()) { + for (int j = 0; j < rightItemList.size(); j++) { + String rightTxt = rightItemList.get(j).getItemsText(); + if (null != rightTxt && !rightTxt.isEmpty()) { + double similarity = CompHanLPUtils.findSimilarity(leftTxt.trim(), rightTxt.trim()); + //如果相似度超过0.6 并且该相似度比之前的相似度还高,那么该条款目前相似度最高 + if (similarity >= 0.6 && compareSimilarity < similarity) { + compareSimilarity = similarity; + leftItemList.get(i).setTargetStand(j); + } + } + if (j >= rightItemList.size() - 1) { + int ts = leftItemList.get(i).getTargetStand(); + if (ts > -1) { + rightItemList.get(ts).setTargetStand(i); } } } } } - //循环对比结束,开始填充html代码 - resLeftMapList = writeResultHtml(leftMapList); - resultMap.put("resLeftMapList", resLeftMapList); - resRightMapList = writeResultHtml(rightMapList); - resultMap.put("resRightMapList", resRightMapList); } - //往全文比对历史表中添加数据 - addStandCompareHis(leftStandard, rightStandard, remark, resLeftMapList, resRightMapList); - return resultMap; + sarFileCompareItemService.saveBatch(leftItemList); + sarFileCompareItemService.saveBatch(rightItemList); + return sfcInfo.getId(); } - /** - * 组装条款数据 - * - * @param standardId - * @return - * @throws Exception - */ - public List> fullTextComparePackageData(String standardId) throws Exception { - List> mapList = new ArrayList>(); - //调用查询条款接口 - SarFileSplitItemsEOPage sarFileSplitItemsEOPage = new SarFileSplitItemsEOPage(); - sarFileSplitItemsEOPage.setInfoId(standardId); - sarFileSplitItemsEOPage.setValidFlag(String.valueOf(ValidFlagEnum.VALID_TRUE.getValue())); - sarFileSplitItemsEOPage.setOrderBy("SAR_FILE_SPLIT_MENU.display_seq asc"); - if (StringUtils.isNotEmpty(sarFileSplitItemsEOPage.getMenuId())) { - List sarFileSplitMenuEOList = sarFileSplitMenuEOService.queryByList(new SarFileSplitMenuEOPage()); - Tree tree = new Tree<>(sarFileSplitMenuEOList); - TreeNode treeNode = tree.getTreeNode(sarFileSplitItemsEOPage.getMenuId()); - - List menuIds = new ArrayList<>(); - menuIds.add(treeNode.getNodeId()); - for (TreeNode node : treeNode.getAllChildren()) { - menuIds.add(node.getNodeId()); - } - sarFileSplitItemsEOPage.setMenuIdList(menuIds); + private Map wrapperMenuMap(List list, String infoId, String leftOrRight) { + Map resMap = new HashMap<>(); + for (SarFileSplitMenuEO meo : list) { + SarFileCompareMenu sfcMenu = new SarFileCompareMenu(); + sfcMenu.setInfoId(infoId); + sfcMenu.setMenuId(meo.getId()); + sfcMenu.setName(meo.getName()); + sfcMenu.setItemName(meo.getItemName()); + sfcMenu.setParentId(meo.getPId()); + sfcMenu.setDisplaySeq(meo.getDisplaySeq().intValue()); + sfcMenu.setRemarks(meo.getRemarks()); + sfcMenu.setLeftOrRight(leftOrRight); + resMap.put(sfcMenu.getMenuId(), sfcMenu); } - - - List itemList = sarFileSplitItemsEOService.queryByList(sarFileSplitItemsEOPage); - if (itemList != null && !itemList.isEmpty()) { - for (SarFileSplitItemsEO sarFileSplitItemsEO : itemList) { - Map map = new HashMap(); - map.put("itemsNum", sarFileSplitItemsEO.getItemsNum()); - map.put("itemsName", sarFileSplitItemsEO.getItemsName()); - map.put("itemsId", sarFileSplitItemsEO.getId()); - //(内容1\n内容2\n格式) - String txt = ""; - //调用条款内容详情表查询条款内容 - SarFileSplitItemsValEOPage sarFileSplitItemsValEOPage = new SarFileSplitItemsValEOPage(); - sarFileSplitItemsValEOPage.setItemId(sarFileSplitItemsEO.getId()); - sarFileSplitItemsValEOPage.setValidFlag(String.valueOf(ValidFlagEnum.VALID_TRUE.getValue())); - sarFileSplitItemsValEOPage.setType("TEXT"); - List leftValList = sarFileSplitItemsValEOService.queryByList(sarFileSplitItemsValEOPage); - if (leftValList != null && !leftValList.isEmpty()) { - for (SarFileSplitItemsValEO sarFileSplitItemsValEO : leftValList) { - txt += "

" + sarFileSplitItemsValEO.getItemContent() + "

"; - } - } - map.put("itemsText", txt); - map.put("targetStand", null); - map.put("menuId", sarFileSplitItemsEO.getMenuId()); - mapList.add(map); - } - } - return mapList; + return resMap; } - /** - * 填充html代码,返回结果 - * - * @param resMapList - * @return - */ - public List> writeResultHtml(List> resMapList) throws Exception { - List> resultMapList = new ArrayList<>(); - for (Map resMap : resMapList) { - Map map = new HashMap<>(); - StringBuilder stringBuilder = new StringBuilder(); - Object itemsNum = resMap.get("itemsNum"); - if (null != itemsNum) { - stringBuilder.append(itemsNum.toString()); - } else { - stringBuilder.append("undefined"); + private List wrapperItemList(List list, String infoId, Map menuMap, String leftOrRight) { + List resList = new ArrayList<>(); + for (SarFileSplitItemsEO itemsEO : list) { + SarFileCompareItem item = new SarFileCompareItem(); + item.setInfoId(infoId); + item.setItemsName(itemsEO.getItemsName()); + item.setMenuId(itemsEO.getMenuId()); + item.setItemsNum(itemsEO.getItemsNum()); + item.setItemsText(itemsEO.getItermsConditions()); + SarFileCompareMenu menu = menuMap.get(itemsEO.getMenuId()); + if (menu != null) { + item.setItemsDisplayNum(menu.getDisplaySeq()); } - stringBuilder.append(" "); - Object itemsName = resMap.get("itemsName"); - if (null != itemsName) { - stringBuilder.append(itemsName.toString()); - } else { - stringBuilder.append("undefined"); - } - stringBuilder.append("
"); - - Object itemsTxt = resMap.get("itemsTxt"); - if (null != itemsTxt) { - stringBuilder.append(itemsTxt.toString()); - } - stringBuilder.append("
"); - map.put("resultHtml", stringBuilder.toString()); - Object targetStand = resMap.get("targetStand"); - int targetStandInt = 0; - if (null != targetStand) { - targetStand = (Integer) targetStand; - } - map.put("targetStand", targetStand); - Object itemsId = resMap.get("itemsId"); - String itemsIdStr = "undefined"; - if (null != itemsId) { - itemsIdStr = itemsId.toString(); - } - map.put("itemsId", itemsIdStr); - resultMapList.add(map); + item.setLeftOrRight(leftOrRight); + item.setReviewed(CompareConst.NO_REVIEWED); + resList.add(item); } - return resMapList; + Collections.sort(resList, Comparator.comparingInt(SarFileCompareItem::getItemsDisplayNum)); + return resList; } + /** * 保存比对历史 * * @param leftStandId * @param rightStandId * @param remark - * @param resLeftMapList - * @param resRightMapList * @throws Exception */ - public void addStandCompareHis(String leftStandId, String rightStandId, String remark, List> resLeftMapList, List> resRightMapList) throws Exception { + public SarFileCompareInfo addStandCompareHis(String leftStandId, String rightStandId, String remark) throws Exception { SarFileSplitInfoEO leftInfo = sarFileSplitInfoEOService.queryById(leftStandId); SarFileSplitInfoEO rightInfo = sarFileSplitInfoEOService.queryById(rightStandId); //保存标准比对历史表数据 SarFileCompareInfo sarFileCompareInfo = new SarFileCompareInfo(); - sarFileCompareInfo.setId(UUID.randomUUID().toString()); - sarFileCompareInfo.setFileIdLeft(leftInfo.getFileId()); + String id = UUID.randomUUID().toString(); + sarFileCompareInfo.setId(id); + sarFileCompareInfo.setFileIdLeft(leftInfo.getId()); + sarFileCompareInfo.setFileKeyLeft(leftInfo.getFileId()); sarFileCompareInfo.setFileNameLeft(leftInfo.getFileName()); + sarFileCompareInfo.setTitleLeft(leftInfo.getTitle()); sarFileCompareInfo.setFileTypeLeft(leftInfo.getFileType()); sarFileCompareInfo.setSerialNumberLeft(leftInfo.getSerialNumber()); - sarFileCompareInfo.setFileIdRight(rightInfo.getFileId()); + sarFileCompareInfo.setFileIdRight(rightInfo.getId()); + sarFileCompareInfo.setFileKeyRight(rightInfo.getFileId()); sarFileCompareInfo.setFileNameRight(rightInfo.getFileName()); sarFileCompareInfo.setFileTypeRight(rightInfo.getFileType()); + sarFileCompareInfo.setTitleRight(rightInfo.getTitle()); sarFileCompareInfo.setSerialNumberRight(rightInfo.getSerialNumber()); sarFileCompareInfo.setReleaseState(ReleaseConditionEnum.DRAFT.getValue()); sarFileCompareInfo.setRemark(remark); this.add(sarFileCompareInfo); - //保存标准的所有条款比对的历史数据 - if (resLeftMapList != null && !resLeftMapList.isEmpty()) { - setStandCompareHisEO(resLeftMapList, sarFileCompareInfo.getId(), "LEFT"); - } - if (resRightMapList != null && !resRightMapList.isEmpty()) { - setStandCompareHisEO(resRightMapList, sarFileCompareInfo.getId(), "RIGHT"); - } + return sarFileCompareInfo; } - public void setStandCompareHisEO(List> mapList, String id, String leftOrRight) throws Exception { - for (int i = 0; i < mapList.size(); i++) { - SarFileCompareItem sarFileCompareItem = new SarFileCompareItem(); - sarFileCompareItem.setItemsId(id); - sarFileCompareItem.setItemsDisplayNum(i); - sarFileCompareItem.setLeftOrRight(leftOrRight); - Object itemsId = mapList.get(i).get("itemsId"); - if (null != itemsId) { - sarFileCompareItem.setItemsId(itemsId.toString()); + + public SarFileCompareDetailVO getComparisonDetail(String id) { + SarFileCompareDetailVO sfVo = new SarFileCompareDetailVO(); + SarFileCompareInfo sfcInfo = this.queryById(id); + sfVo.setInfoId(id); + sfVo.setFileNameLeft(sfcInfo.getFileNameLeft()); + sfVo.setFileNameRight(sfcInfo.getFileNameRight()); + sfVo.setSerialNumberLeft(sfcInfo.getSerialNumberLeft()); + sfVo.setSerialNumberRight(sfcInfo.getSerialNumberRight()); + sfVo.setRemark(sfcInfo.getRemark()); + sfVo.setComments(sfcInfo.getComments()); + List menuList = sarFileCompareMenuService.queryListByInfoId(id); + for (SarFileCompareMenu menu : menuList) { + if ("General catalogue".equals(menu.getName())) { + if (menu.getLeftOrRight().equals(CompareConst.POS_LEFT)) { + SarFileCompareMenuVo menuLeft = new SarFileCompareMenuVo(menu); + menuLeft.setChildren(getMenuChildren(menuList, CompareConst.POS_LEFT, menuLeft.getMenuId())); + sfVo.addMenuLeft(menuLeft); + } else if (menu.getLeftOrRight().equals(CompareConst.POS_RIGHT)) { + SarFileCompareMenuVo menuRight = new SarFileCompareMenuVo(menu); + menuRight.setChildren(getMenuChildren(menuList, CompareConst.POS_RIGHT, menuRight.getMenuId())); + sfVo.addMenuRight(menuRight); + } } - Object itemsName = mapList.get(i).get("itemsName"); - if (null != itemsName) { - sarFileCompareItem.setItemsName(itemsName.toString()); + if (sfVo.getMenuRight() != null && sfVo.getMenuRight().size() > 0 && sfVo.getMenuLeft() != null && sfVo.getMenuLeft().size() > 0) { + break; } - Object itemsNum = mapList.get(i).get("itemsNum"); - if (null != itemsNum) { - sarFileCompareItem.setItemsNum(itemsNum.toString()); - } - Object itemsText = mapList.get(i).get("itemsText"); - if (null != itemsText) { - sarFileCompareItem.setItemsText(itemsText.toString()); - } - Object targetStand = mapList.get(i).get("targetStand"); - if (targetStand != null) { - sarFileCompareItem.setTargetStand((int) targetStand); - } - sarFileCompareItemService.add(sarFileCompareItem); } + List itemList = sarFileCompareItemService.queryListByInfoId(id); + for (SarFileCompareItem item : itemList) { + if (item.getLeftOrRight().equals(CompareConst.POS_LEFT)) { + sfVo.addTextLeft(item); + } else if (item.getLeftOrRight().equals(CompareConst.POS_RIGHT)) { + sfVo.addTextRight(item); + } + } + return sfVo; } + private List getMenuChildren(List menuList, String leftOrRight, String pid) { + List list = new ArrayList<>(); + for (SarFileCompareMenu menu : menuList) { + if (menu.getLeftOrRight().equals(leftOrRight) && menu.getParentId() != null && menu.getParentId().equals(pid)) { + SarFileCompareMenuVo menuVO = new SarFileCompareMenuVo(menu); + menuVO.setChildren(getMenuChildren(menuList, leftOrRight, menuVO.getMenuId())); + list.add(menuVO); + } + } + return list; + } + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java new file mode 100644 index 000000000..2b4646201 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java @@ -0,0 +1,267 @@ +package com.jero.modules.compare.service.impl; + +import com.aliyuncs.utils.IOUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.exception.JeroBootException; +import com.jero.modules.compare.entity.*; +import com.jero.modules.compare.mapper.SarFileCompareItemCommentMapper; +import com.jero.modules.compare.service.ISarFileCompareInfoService; +import com.jero.modules.compare.service.ISarFileCompareItemCommentService; +import com.jero.modules.compare.service.ISarFileCompareItemService; +import com.jero.modules.system.util.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @Description: 文档对比信息条款评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +@Service +public class SarFileCompareItemCommentServiceImpl extends ServiceImpl implements ISarFileCompareItemCommentService { + + @Autowired + private ISarFileCompareInfoService sarFileCompareInfoServiceImpl; + + @Autowired + private ISarFileCompareItemService SarFileCompareItemServiceImpl; + + + /** + * 保存 + * + * @param sarFileCompareItemComment + * @return + */ + @Override + public void add(SarFileCompareItemComment sarFileCompareItemComment) { + Date now = new Date(); + sarFileCompareItemComment.setCreateTime(now); + sarFileCompareItemComment.setUpdateTime(now); + save(sarFileCompareItemComment); + String itemIdLeft = sarFileCompareItemComment.getItemsIdLeft(); + SarFileCompareItemServiceImpl.updateReviewedById(sarFileCompareItemComment.getItemsIdLeft()); + SarFileCompareItemServiceImpl.updateReviewedById(sarFileCompareItemComment.getItemsIdRight()); + } + + /** + * 更新 + * + * @param sarFileCompareItemComment + * @return + */ + @Override + public void editById(SarFileCompareItemComment sarFileCompareItemComment) { + SarFileCompareItemComment ic = queryById(sarFileCompareItemComment.getId()); + Date now = new Date(); + ic.setUpdateTime(now); + ic.setComment(sarFileCompareItemComment.getComment()); + saveOrUpdate(ic); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public SarFileCompareItemComment queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + @Override + public SarFileCompareResultVO queryCompareResult(String infoId) { + SarFileCompareResultVO resultVO = new SarFileCompareResultVO(); + SarFileCompareInfo sfcInfo = sarFileCompareInfoServiceImpl.queryById(infoId); + resultVO.setInfoId(infoId); + resultVO.setSerialNumberLeft(sfcInfo.getSerialNumberLeft()); + resultVO.setFileNameLeft(sfcInfo.getFileNameLeft()); + resultVO.setSerialNumberRight(sfcInfo.getSerialNumberRight()); + resultVO.setFileNameRight(sfcInfo.getFileNameRight()); + resultVO.setComments(sfcInfo.getComments()); + + List list = queryListByInfoId(infoId); + Map sfcItemMap = SarFileCompareItemServiceImpl.queryMapByInfoId(infoId); + for (SarFileCompareItemComment sfcItemCom : list) { + SarFileCompareItemComVO itemComVO = new SarFileCompareItemComVO(); + itemComVO.setId(sfcItemCom.getId()); + itemComVO.setComment(sfcItemCom.getComment()); + String itemIdLeft = sfcItemCom.getItemsIdLeft(); + if (!StringUtils.isEmpty(itemIdLeft)) { + SarFileCompareItem sfcItem = sfcItemMap.get(itemIdLeft); + if (null != sfcItem) { + itemComVO.setItemsNameLeft(sfcItem.getItemsName()); + itemComVO.setItemsNumLeft(sfcItem.getItemsNum()); + itemComVO.setItemsTextLeft(sfcItem.getItemsText()); + } + } + String itemIdRight = sfcItemCom.getItemsIdRight(); + if (!StringUtils.isEmpty(itemIdRight)) { + SarFileCompareItem sfcItem = sfcItemMap.get(itemIdRight); + if (null != sfcItem) { + itemComVO.setItemsNameRight(sfcItem.getItemsName()); + itemComVO.setItemsNumRight(sfcItem.getItemsNum()); + itemComVO.setItemsTextRight(sfcItem.getItemsText()); + } + } + resultVO.addRes(itemComVO); + } + return resultVO; + + } + + public List queryListByInfoId(String infoId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareItemComment::getInfoId, infoId); + queryWrapper.orderBy(true, true, SarFileCompareItemComment::getCreateTime); + List list = this.list(queryWrapper); + return list; + } + + @Override + public void exportResXls(HttpServletResponse response, String infoId, String selectIds, boolean includeComments, String cut) { + List list = null; + if (includeComments && StringUtils.isEmpty(selectIds)) { + //只导出全文评论的情况 + list = new ArrayList<>(); + } else { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareItemComment::getInfoId, infoId); + if (!StringUtils.isEmpty(selectIds)) { + queryWrapper.in(SarFileCompareItemComment::getId, Arrays.asList(selectIds.split(","))); + } + queryWrapper.orderBy(true, true, SarFileCompareItemComment::getCreateTime); + list = this.list(queryWrapper); + } + Map sfcItemMap = SarFileCompareItemServiceImpl.queryMapByInfoId(infoId); + + OutputStream os = null; + Workbook workbook = new XSSFWorkbook(); + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String fileName = "导出对比结果 " + sdf.format(new Date()) + ".xlsx"; + response.setHeader("Content-Disposition", "attachment; filename=" + fileName); + response.setContentType("application/force-download"); + //创建工作表对象 + Sheet sheet = workbook.createSheet("对比结果"); + + // 创建头部 + String header = ""; + if (CutEnum.CN.getValue().equals(cut)) { + header = "条款号,条款名称,条款内容,条款号,条款名称,条款内容,评论"; + } else { + header = "Number,Title,Content,Number,Title,Content,Comment"; + } + CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + cellStyle.setWrapText(true); + Row rowHeader = sheet.createRow(0);//开始创建标题行 + if (StringUtils.isNotBlank(header)) { + String[] headerArr = header.split(","); + for (int i = 0; i < headerArr.length; i++) { + rowHeader.createCell(i).setCellValue(headerArr[i]); + } + } + int i = 1; + for (SarFileCompareItemComment itemComment : list) { + Row row = sheet.createRow(i); + String itemIdLeft = itemComment.getItemsIdLeft(); + if (!StringUtils.isEmpty(itemIdLeft)) { + SarFileCompareItem itemLeft = sfcItemMap.get(itemIdLeft); + if (null != itemLeft) { + row.createCell(0).setCellValue(itemLeft.getItemsNum()); + row.createCell(1).setCellValue(itemLeft.getItemsName()); + String text = itemLeft.getItemsText(); + text = text.replace("

", "").replace("

", "\r\n"); + row.createCell(2).setCellValue(text); + } + } + String itemIdRight = itemComment.getItemsIdRight(); + SarFileCompareItem itemRight = sfcItemMap.get(itemIdRight); + if (null != itemRight) { + row.createCell(3).setCellValue(itemRight.getItemsNum()); + row.createCell(4).setCellValue(itemRight.getItemsName()); + String text = itemRight.getItemsText(); + text = text.replace("

", "").replace("

", "\r\n"); + row.createCell(5).setCellValue(text); + } + row.createCell(6).setCellValue(itemComment.getComment()); + i++; + } + if (includeComments || StringUtils.isEmpty(selectIds)) { + Row row = sheet.createRow(i); + if (CutEnum.CN.getValue().equals(cut)) { + row.createCell(0).setCellValue("全文评论"); + } else { + row.createCell(0).setCellValue("The full text comments"); + } + //合并单元格 + CellRangeAddress rangeAddress = new CellRangeAddress(row.getRowNum(), row.getRowNum(), 1, 6); + sheet.addMergedRegion(rangeAddress); + SarFileCompareInfo compareInfo = sarFileCompareInfoServiceImpl.queryById(infoId); + row.createCell(1).setCellValue(compareInfo.getComments()); + } + for (int j = 0; j < 7; j++) { + sheet.autoSizeColumn(j, true);//设置列宽 + } + os = response.getOutputStream(); +// File file = new File("C://work/ee.xlsx"); +// os = new FileOutputStream(file); + workbook.write(os); + os.flush(); + } catch (IOException e) { + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("下载文件失败"); + } else { + throw new JeroBootException("Failed to download file"); + } + } finally { + IOUtils.closeQuietly(os); + } + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java index 3373dfce7..ea36ff75e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemServiceImpl.java @@ -1,29 +1,35 @@ package com.jero.modules.compare.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.modules.compare.entity.SarFileCompareItem; import com.jero.modules.compare.mapper.SarFileCompareItemMapper; import com.jero.modules.compare.service.ISarFileCompareItemService; +import com.jero.modules.compare.utils.CompareConst; +import com.jero.modules.system.util.StringUtils; import org.springframework.stereotype.Service; -import java.util.List; + import java.util.Date; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description: 文档对比信息条款表 * @Author: jero-boot - * @Date: 2022-08-02 + * @Date: 2022-08-02 * @Version: V1.0 */ @Service public class SarFileCompareItemServiceImpl extends ServiceImpl implements ISarFileCompareItemService { - /** - * 保存 - * - * @param sarFileCompareItem - * @return - */ - @Override + /** + * 保存 + * + * @param sarFileCompareItem + * @return + */ + @Override public void add(SarFileCompareItem sarFileCompareItem) { Date now = new Date(); sarFileCompareItem.setCreateTime(now); @@ -31,59 +37,89 @@ public class SarFileCompareItemServiceImpl extends ServiceImpl ids) { removeByIds(ids); } - /** - * 通过id查询 - * - * @param id - * @return - */ - @Override + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override public SarFileCompareItem queryById(String id) { return getById(id); } /** - * 列表查询 - * - * @return - */ - @Override + * 列表查询 + * + * @return + */ + @Override public List queryList() { return list(); } + + @Override + public List queryListByInfoId(String infoId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareItem::getInfoId, infoId); + queryWrapper.orderBy(true, true, SarFileCompareItem::getItemsDisplayNum); + List list = this.list(queryWrapper); + return list; + } + + @Override + public Map queryMapByInfoId(String infoId) { + Map resMap = new HashMap(); + List list = queryListByInfoId(infoId); + for (SarFileCompareItem item : list) { + resMap.put(item.getId(), item); + } + return resMap; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareMenuServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareMenuServiceImpl.java new file mode 100644 index 000000000..7a9a80f06 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareMenuServiceImpl.java @@ -0,0 +1,101 @@ +package com.jero.modules.compare.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.modules.compare.entity.SarFileCompareMenu; +import com.jero.modules.compare.mapper.SarFileCompareMenuMapper; +import com.jero.modules.compare.service.ISarFileCompareMenuService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * @Description: 文档对比信息目录表 + * @Author: jero-boot + * @Date: 2022-08-03 + * @Version: V1.0 + */ +@Service +public class SarFileCompareMenuServiceImpl extends ServiceImpl implements ISarFileCompareMenuService { + + /** + * 保存 + * + * @param sarFileCompareMenu + * @return + */ + @Override + public void add(SarFileCompareMenu sarFileCompareMenu) { + Date now = new Date(); + sarFileCompareMenu.setCreateTime(now); + sarFileCompareMenu.setUpdateTime(now); + save(sarFileCompareMenu); + } + + /** + * 更新 + * + * @param sarFileCompareMenu + * @return + */ + @Override + public void editById(SarFileCompareMenu sarFileCompareMenu) { + Date now = new Date(); + sarFileCompareMenu.setUpdateTime(now); + saveOrUpdate(sarFileCompareMenu); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public SarFileCompareMenu queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + + @Override + public List queryListByInfoId(String infoId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareMenu::getInfoId, infoId); + queryWrapper.orderBy(true,true,SarFileCompareMenu::getDisplaySeq); + List list = this.list(queryWrapper); + return list; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareResCommentServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareResCommentServiceImpl.java new file mode 100644 index 000000000..10c6e15e4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareResCommentServiceImpl.java @@ -0,0 +1,159 @@ +package com.jero.modules.compare.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import com.jero.modules.compare.entity.SarFileCompareResComVO; +import com.jero.modules.compare.entity.SarFileCompareResComment; +import com.jero.modules.compare.mapper.SarFileCompareResCommentMapper; +import com.jero.modules.compare.service.ISarFileCompareResCommentService; +import com.jero.modules.system.util.StringUtils; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @Description: 文档对比信息结果评论表 + * @Author: jero-boot + * @Date: 2022-08-05 + * @Version: V1.0 + */ +@Service +public class SarFileCompareResCommentServiceImpl extends ServiceImpl implements ISarFileCompareResCommentService { + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + /** + * 保存 + * + * @param sarFileCompareResComment + * @return + */ + @Override + public void add(SarFileCompareResComment sarFileCompareResComment) { + Date now = new Date(); + sarFileCompareResComment.setCreateTime(now); + sarFileCompareResComment.setUpdateTime(now); + save(sarFileCompareResComment); + } + + /** + * 更新 + * + * @param sarFileCompareResComment + * @return + */ + @Override + public void editById(SarFileCompareResComment sarFileCompareResComment) { + Date now = new Date(); + sarFileCompareResComment.setUpdateTime(now); + saveOrUpdate(sarFileCompareResComment); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public SarFileCompareResComment queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + public List queryListByInfoId(String id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareResComment::getInfoId, id); + queryWrapper.orderBy(true, true, SarFileCompareResComment::getCreateTime); + List resList = new ArrayList<>(); + List list = this.list(queryWrapper); + for (SarFileCompareResComment rc : list) { + if (StringUtils.isEmpty(rc.getParentId())) { + SarFileCompareResComVO resComVO = wrapperSarFileCompareResComVO(rc); + for (SarFileCompareResComment rc1 : list) { + if (!StringUtils.isEmpty(rc1.getParentId()) && rc1.getParentId().equals(resComVO.getId())) { + resComVO.addResComVo(wrapperSarFileCompareResComVO(rc1)); + } + } + resList.add(resComVO); + } + } + return resList; + } + + private SarFileCompareResComVO wrapperSarFileCompareResComVO(SarFileCompareResComment rc) { + SarFileCompareResComVO resComVO = new SarFileCompareResComVO(); + resComVO.setId(rc.getId()); + resComVO.setName(rc.getCreateBy()); + resComVO.setCreateTime(sdf.format(rc.getCreateTime())); + resComVO.setContent(rc.getComment()); + return resComVO; + } + + @Override + public List queryListByInfoId(String id, String str) { + if (StringUtils.isBlank(str)) { + return queryListByInfoId(id); + } + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SarFileCompareResComment::getInfoId, id); + queryWrapper.like(SarFileCompareResComment::getComment, str); + queryWrapper.orderBy(true, true, SarFileCompareResComment::getCreateTime); + List list = this.list(queryWrapper); + Map resCommentMap = new HashMap<>(); + List subList = new ArrayList<>(); + //先找到一级评论 + for (SarFileCompareResComment rc : list) { + if (StringUtils.isEmpty(rc.getParentId())) { + resCommentMap.put(rc.getId(), wrapperSarFileCompareResComVO(rc)); + } else { + subList.add(rc); + } + } + //把回复评论放进一级评论下,没有一级评论要查出来放上 + for (SarFileCompareResComment rc : subList) { + if (resCommentMap.keySet().contains(rc.getParentId())) { + resCommentMap.get(rc.getParentId()).addResComVo(wrapperSarFileCompareResComVO(rc)); + } else { + SarFileCompareResComment prc = this.queryById(rc.getParentId()); + SarFileCompareResComVO prcVo = wrapperSarFileCompareResComVO(prc); + prcVo.addResComVo(wrapperSarFileCompareResComVO(rc)); + resCommentMap.put(prcVo.getId(), prcVo); + } + } + return Lists.newArrayList(resCommentMap.values()); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/CompareConst.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/CompareConst.java new file mode 100644 index 000000000..c151bee77 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/utils/CompareConst.java @@ -0,0 +1,21 @@ +package com.jero.modules.compare.utils; + +public class CompareConst { + /** + * 在对比列表左侧 + */ + public static String POS_LEFT = "LEFT"; + /** + * 在对比列表右侧 + */ + public static String POS_RIGHT = "RIGHT"; + + /** + * 对比条目没有被评论 + */ + public static int NO_REVIEWED = 0; + /** + * 对比条目已被评论 + */ + public static int REVIEWED = 1; +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoDataServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoDataServiceImpl.java index a50adc802..f4a81a94b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoDataServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoDataServiceImpl.java @@ -130,12 +130,12 @@ public class ExtRepoDataServiceImpl extends ServiceImpl queryByFolder(String folserId) { + public List queryByFolder(String folderId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ExtRepoData::getSupFolder, folserId); + queryWrapper.eq(ExtRepoData::getSupFolder, folderId); List list = this.list(queryWrapper); return list; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java index b6dffeed7..824106d33 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/extRepo/service/impl/ExtRepoFolderServiceImpl.java @@ -269,7 +269,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl getSubFolder(String supId, List list, int level) throws Exception { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); List resList = new ArrayList(); for (ExtRepoFolder erf : list) { if (supId.equals(erf.getSupFolder())) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java index 0c1c4b174..4b67a1d10 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java @@ -56,6 +56,7 @@ public class LawsOpinionGatherEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(lawsOpinionGatherEO, req.getParameterMap()); + queryWrapper.orderByDesc("start_time"); Page page = new Page(pageNo, pageSize); IPage pageList = lawsOpinionGatherEOService.page(page, queryWrapper); this.lawsOpinionGatherEOService.disposeData(pageList.getRecords(),cut); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java index 5ffbd090c..7ab5d17ce 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java @@ -59,6 +59,7 @@ public class LawsTechnologyEvaluationEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationEO, req.getParameterMap()); + queryWrapper.orderByDesc("start_time"); Page page = new Page(pageNo, pageSize); IPage pageList = lawsTechnologyEvaluationEOService.page(page, queryWrapper); this.lawsTechnologyEvaluationEOService.disposeData(pageList.getRecords(),cut); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java index 685e49453..493c97a09 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java @@ -1,9 +1,13 @@ package com.jero.modules.problemKnowledgeBase.controller; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO; @@ -35,7 +39,7 @@ import com.jero.common.aspect.annotation.AutoLog; public class CountryCardManageReleaseDetailEOController extends JeroController { @Autowired private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService; - + /** * 分页列表查询 * @@ -55,6 +59,7 @@ public class CountryCardManageReleaseDetailEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseDetailEO, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList = countryCardManageReleaseDetailEOService.page(page, queryWrapper); + this.countryCardManageReleaseDetailEOService.disposeData(pageList.getRecords(),countryCardManageReleaseDetailEO.getCut()); return Result.OK(pageList); } @@ -66,9 +71,10 @@ public class CountryCardManageReleaseDetailEOController extends JeroController> queryList() { - List list = countryCardManageReleaseDetailEOService.queryList(); - return Result.OK(list); + public Result> queryList(CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO,HttpServletRequest req) { + List result = countryCardManageReleaseDetailEOService.queryList(countryCardManageReleaseDetailEO,req); + this.countryCardManageReleaseDetailEOService.disposeData(result,countryCardManageReleaseDetailEO.getCut()); + return Result.OK(result); } /** @@ -167,4 +173,25 @@ public class CountryCardManageReleaseDetailEOController extends JeroController editBatch(@RequestBody JSONObject json) { + JSONArray countryCardManageReleaseDetailEOList = json.getJSONArray("countryCardManageReleaseDetailEOList"); + List releaseDetailEOList = new ArrayList<>(); + CountryCardManageReleaseDetailEO releaseDetailEO = null; + for (Object releaseDetail : countryCardManageReleaseDetailEOList) { + releaseDetailEO = JSONObject.parseObject(JSONObject.toJSONString(releaseDetail),CountryCardManageReleaseDetailEO.class); + releaseDetailEOList.add(releaseDetailEO); + } + + this.countryCardManageReleaseDetailEOService.updateBatchById(releaseDetailEOList); + return Result.OK("编辑成功!"); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java index 7504e7c33..4a36ca982 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java @@ -4,8 +4,11 @@ import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.DictModel; import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO; import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -35,7 +38,7 @@ import com.jero.common.aspect.annotation.AutoLog; public class CountryCardManageReleaseEOController extends JeroController { @Autowired private ICountryCardManageReleaseEOService countryCardManageReleaseEOService; - + /** * 分页列表查询 * @@ -51,11 +54,14 @@ public class CountryCardManageReleaseEOController extends JeroController queryPageList(CountryCardManageReleaseEO countryCardManageReleaseEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + @RequestParam(name="cut", defaultValue="cn") String cut, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = countryCardManageReleaseEOService.page(page, queryWrapper); - return Result.OK(pageList); + this.countryCardManageReleaseEOService.disposeData(pageList.getRecords(),cut); + return Result.OK(cut,pageList); } /** @@ -167,4 +173,42 @@ public class CountryCardManageReleaseEOController extends JeroController batchUpdateReleaseStatus(@RequestBody JSONObject json) { + this.countryCardManageReleaseEOService.batchUpdateReleaseStatus(json); + return Result.OK("批量更新发布状态成功!"); + } + + /** + * 管理发布查询适用市场下拉选,只获取管理发布中没有的适用市场。 + * @return + */ + @AutoLog(value = "问题知识库-country_card-管理发布-获取适用市场下拉选") + @ApiOperation(value="问题知识库-country_card-管理发布-获取适用市场下拉选", notes="问题知识库-country_card-管理发布-获取适用市场下拉选") + @GetMapping(value = "/getApplyMarketList") + public Result> getApplyMarketList(@RequestParam(name = "queryFlag",required=false) String queryFlag) { + Result> result = this.countryCardManageReleaseEOService.getApplyMarketList(queryFlag); + return result; + } + + /** + * 根据多个适用地区查询数据 + * + * @return + */ + @AutoLog(value = "问题知识库-country_card-管理发布表-根据多个适用地区查询数据") + @ApiOperation(value="问题知识库-country_card-管理发布表-根据多个适用地区查询数据", notes="问题知识库-country_card-管理发布表-根据多个适用地区查询数据") + @PostMapping(value = "/queryCountryCardManageReleaseByApplyMarkets") + public Result> queryCountryCardManageReleaseByApplyMarkets(@RequestBody JSONObject params) { + List list = countryCardManageReleaseEOService.queryCountryCardManageReleaseByApplyMarkets(params); + return Result.OK(list); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempEOController.java index 9c56a1552..c90019735 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempEOController.java @@ -54,6 +54,7 @@ public class CountryCardTempEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(countryCardTempEO, req.getParameterMap()); + queryWrapper.orderByAsc("order_num"); Page page = new Page(pageNo, pageSize); IPage pageList = countryCardTempEOService.page(page, queryWrapper); this.countryCardTempEOService.disposeData(pageList.getRecords(),countryCardTempEO.getCut()); @@ -96,7 +97,7 @@ public class CountryCardTempEOController extends JeroController edit(@Validated @RequestBody CountryCardTempEO countryCardTempEO) { countryCardTempEOService.editById(countryCardTempEO); return Result.OK("编辑成功!"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempItemEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempItemEOController.java index ce1d9a4e4..08c335414 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempItemEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardTempItemEOController.java @@ -167,4 +167,14 @@ public class CountryCardTempItemEOController extends JeroController deleteByCountryCardTempId(@RequestParam(name="countryCardTempId",required=true) String countryCardTempId) { + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.lambda().eq(CountryCardTempItemEO::getCountryCardTempId,countryCardTempId); + this.countryCardTempItemEOService.remove(deleteWrapper); + return Result.OK("删除成功!"); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryNationalFlagEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryNationalFlagEOController.java new file mode 100644 index 000000000..fad5645b7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryNationalFlagEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.problemKnowledgeBase.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO; +import com.jero.modules.problemKnowledgeBase.service.ICountryNationalFlagEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 国家与国旗中间表 + * @Author: jero-boot + * @Date: 2022-08-09 + * @Version: V1.0 + */ +@Api(tags="国家与国旗中间表") +@RestController +@RequestMapping("/problemKnowledgeBase/countryNationalFlagEO") +@Slf4j +public class CountryNationalFlagEOController extends JeroController { + @Autowired + private ICountryNationalFlagEOService countryNationalFlagEOService; + + /** + * 分页列表查询 + * + * @param countryNationalFlagEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "国家与国旗中间表-分页列表查询") + @ApiOperation(value="国家与国旗中间表-分页列表查询", notes="国家与国旗中间表-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(CountryNationalFlagEO countryNationalFlagEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(countryNationalFlagEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = countryNationalFlagEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "国家与国旗中间表-列表查询") + @ApiOperation(value="国家与国旗中间表-列表查询", notes="国家与国旗中间表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = countryNationalFlagEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param countryNationalFlagEO + * @return + */ + @AutoLog(value = "国家与国旗中间表-添加") + @ApiOperation(value="国家与国旗中间表-添加", notes="国家与国旗中间表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody CountryNationalFlagEO countryNationalFlagEO) { + countryNationalFlagEOService.add(countryNationalFlagEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param countryNationalFlagEO + * @return + */ + @AutoLog(value = "国家与国旗中间表-编辑") + @ApiOperation(value="国家与国旗中间表-编辑", notes="国家与国旗中间表-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody CountryNationalFlagEO countryNationalFlagEO) { + countryNationalFlagEOService.editById(countryNationalFlagEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "国家与国旗中间表-通过id删除") + @ApiOperation(value="国家与国旗中间表-通过id删除", notes="国家与国旗中间表-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + countryNationalFlagEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "国家与国旗中间表-批量删除") + @ApiOperation(value="国家与国旗中间表-批量删除", notes="国家与国旗中间表-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.countryNationalFlagEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "国家与国旗中间表-通过id查询") + @ApiOperation(value="国家与国旗中间表-通过id查询", notes="国家与国旗中间表-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + CountryNationalFlagEO countryNationalFlagEO = countryNationalFlagEOService.queryById(id); + if(countryNationalFlagEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(countryNationalFlagEO); + } + + /** + * 导出excel + * + * @param request + * @param countryNationalFlagEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, CountryNationalFlagEO countryNationalFlagEO) { + return super.exportXls(request, countryNationalFlagEO, CountryNationalFlagEO.class, "国家与国旗中间表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, CountryNationalFlagEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseClassifyEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseClassifyEOController.java index 3e9f5c700..842aaafe4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseClassifyEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseClassifyEOController.java @@ -35,7 +35,7 @@ import com.jero.common.aspect.annotation.AutoLog; public class ProblemKnowledgeBaseClassifyEOController extends JeroController { @Autowired private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService; - + /** * 分页列表查询 * @@ -53,8 +53,10 @@ public class ProblemKnowledgeBaseClassifyEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseClassifyEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = problemKnowledgeBaseClassifyEOService.page(page, queryWrapper); + this.problemKnowledgeBaseClassifyEOService.disposeData(pageList.getRecords()); return Result.OK(pageList); } @@ -68,6 +70,7 @@ public class ProblemKnowledgeBaseClassifyEOController extends JeroController> queryList() { List list = problemKnowledgeBaseClassifyEOService.queryList(); + this.problemKnowledgeBaseClassifyEOService.disposeData(list); return Result.OK(list); } @@ -93,7 +96,7 @@ public class ProblemKnowledgeBaseClassifyEOController extends JeroController edit(@Validated @RequestBody ProblemKnowledgeBaseClassifyEO problemKnowledgeBaseClassifyEO) { problemKnowledgeBaseClassifyEOService.editById(problemKnowledgeBaseClassifyEO); return Result.OK("编辑成功!"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java index f3b4b1d01..761643473 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseCommentEOController.java @@ -35,7 +35,7 @@ import com.jero.common.aspect.annotation.AutoLog; public class ProblemKnowledgeBaseCommentEOController extends JeroController { @Autowired private IProblemKnowledgeBaseCommentEOService problemKnowledgeBaseCommentEOService; - + /** * 分页列表查询 * @@ -53,6 +53,7 @@ public class ProblemKnowledgeBaseCommentEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseCommentEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = problemKnowledgeBaseCommentEOService.page(page, queryWrapper); return Result.OK(pageList); @@ -66,8 +67,8 @@ public class ProblemKnowledgeBaseCommentEOController extends JeroController> queryList() { - List list = problemKnowledgeBaseCommentEOService.queryList(); + public Result> queryList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO,HttpServletRequest req) { + List list = problemKnowledgeBaseCommentEOService.queryList(problemKnowledgeBaseCommentEO,req); return Result.OK(list); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java index 09bbe185d..41b5dcb78 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/ProblemKnowledgeBaseEOController.java @@ -35,7 +35,7 @@ import com.jero.common.aspect.annotation.AutoLog; public class ProblemKnowledgeBaseEOController extends JeroController { @Autowired private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService; - + /** * 分页列表查询 * @@ -53,8 +53,11 @@ public class ProblemKnowledgeBaseEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseEO, req.getParameterMap()); + this.problemKnowledgeBaseEOService.createQueryPermission(queryWrapper,problemKnowledgeBaseEO); + queryWrapper.orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = problemKnowledgeBaseEOService.page(page, queryWrapper); + this.problemKnowledgeBaseEOService.disposeData(pageList.getRecords(),problemKnowledgeBaseEO.getCut()); return Result.OK(pageList); } @@ -66,8 +69,9 @@ public class ProblemKnowledgeBaseEOController extends JeroController> queryList() { - List list = problemKnowledgeBaseEOService.queryList(); + public Result> queryList(ProblemKnowledgeBaseEO problemKnowledgeBaseEO, + HttpServletRequest req) { + List list = problemKnowledgeBaseEOService.queryList(problemKnowledgeBaseEO,req); return Result.OK(list); } @@ -136,8 +140,9 @@ public class ProblemKnowledgeBaseEOController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { - ProblemKnowledgeBaseEO problemKnowledgeBaseEO = problemKnowledgeBaseEOService.queryById(id); + public Result queryById(@RequestParam(name="id",required=true) String id, + @RequestParam(name="cut",required=true) String cut) { + ProblemKnowledgeBaseEO problemKnowledgeBaseEO = problemKnowledgeBaseEOService.queryById(id,cut); if(problemKnowledgeBaseEO==null) { return Result.error("未找到对应数据"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseDetailEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseDetailEO.java index 6df383189..9f53f8850 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseDetailEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseDetailEO.java @@ -1,21 +1,20 @@ package com.jero.modules.problemKnowledgeBase.entity; import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; +import java.util.List; + import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; /** @@ -70,6 +69,10 @@ public class CountryCardManageReleaseDetailEO implements Serializable { @Excel(name = "模板表id", width = 15) @ApiModelProperty(value = "模板表id") private java.lang.String countryCardTempId; + /**标签名称**/ + @TableField(exist = false) + @ApiModelProperty(value = "标签名称") + private java.lang.String lableName; /**描述*/ @Excel(name = "描述", width = 15) @@ -81,4 +84,15 @@ public class CountryCardManageReleaseDetailEO implements Serializable { @ApiModelProperty(value = "内容") private java.lang.String content; + @TableField(exist = false) + private String cut; + + /**标签类型**/ + @TableField(exist = false) + @ApiModelProperty(value = "标签类型") + private String lableType; + + /**Country Card模板维护-字典项实体*/ + @TableField(exist = false) + private List countryCardTempItemEOList; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java index 03b247fc6..f406faeca 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java @@ -3,7 +3,10 @@ package com.jero.modules.problemKnowledgeBase.entity; import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; +import java.util.List; + import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -64,6 +67,7 @@ public class CountryCardManageReleaseEO implements Serializable { /**适用市场*/ @Excel(name = "适用市场", width = 15) @ApiModelProperty(value = "适用市场") + @Dict(dicCode = "region") private java.lang.String applyMarket; /**发布状态*/ @@ -71,4 +75,16 @@ public class CountryCardManageReleaseEO implements Serializable { @ApiModelProperty(value = "发布状态") private java.lang.String releaseStatus; + /**发布状态展示字段**/ + @TableField(exist = false) + private String releaseStatus_dictText; + + /**问题知识库-country_card-管理发布明细数组**/ + @TableField(exist = false) + private List countryCardManageReleaseDetailEOList; + + /**国旗**/ + @TableField(exist = false) + private java.lang.String countryNationalFlag; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempEO.java index 8bf7c2d28..39556fd61 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardTempEO.java @@ -73,6 +73,8 @@ public class CountryCardTempEO implements Serializable { @Excel(name = "标签类型", width = 15) @ApiModelProperty(value = "标签类型") private java.lang.String lableType; + @TableField(exist = false) + private java.lang.String lableType_dicText; /**展示顺序*/ @Excel(name = "展示顺序", width = 15) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryNationalFlagEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryNationalFlagEO.java new file mode 100644 index 000000000..3cb39d207 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryNationalFlagEO.java @@ -0,0 +1,84 @@ +package com.jero.modules.problemKnowledgeBase.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 国家与国旗中间表 + * @Author: jero-boot + * @Date: 2022-08-09 + * @Version: V1.0 + */ +@Data +@TableName("country_national_flag") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="country_national_flag对象", description="国家与国旗中间表") +public class CountryNationalFlagEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**国家名称*/ + @Excel(name = "国家名称中文", width = 15) + @ApiModelProperty(value = "国家名称中文") + private java.lang.String countryNameCn; + + /**国家名称*/ + @Excel(name = "国家名称英文", width = 15) + @ApiModelProperty(value = "国家名称英文") + private java.lang.String countryNameEn; + + /**国旗文件id*/ + @Excel(name = "国旗文件id", width = 15) + @ApiModelProperty(value = "国旗文件id") + private java.lang.String nationalFlagId; + + /**国旗文件url*/ + @Excel(name = "国旗文件url", width = 15) + @ApiModelProperty(value = "国旗文件url") + private java.lang.String nationalFlagUrl; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseClassifyEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseClassifyEO.java index 2ce96532e..994abea87 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseClassifyEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseClassifyEO.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -70,5 +71,7 @@ public class ProblemKnowledgeBaseClassifyEO implements Serializable { @Excel(name = "负责人id", width = 15) @ApiModelProperty(value = "负责人id") private java.lang.String chargePersonId; + @TableField(exist = false) + private java.lang.String chargePersonIdName; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java index ac34b78ff..7287306a9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java @@ -1,9 +1,10 @@ package com.jero.modules.problemKnowledgeBase.entity; import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; +import java.util.List; + import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -15,8 +16,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - /** * @Description: 问题知识库表 @@ -70,8 +69,12 @@ public class ProblemKnowledgeBaseEO implements Serializable { @Excel(name = "问题分类", width = 15) @ApiModelProperty(value = "问题分类") private java.lang.String problemType; + /**问题分类展示名称*/ + @TableField(exist = false) + private java.lang.String problemTypeName; /**市场*/ + @Dict(dicCode = "region") @Excel(name = "市场", width = 15) @ApiModelProperty(value = "市场") private java.lang.String targetMarket; @@ -93,9 +96,9 @@ public class ProblemKnowledgeBaseEO implements Serializable { /**内容(正文)*/ @Excel(name = "内容(正文)", width = 15) - private transient java.lang.String contentString; + private java.lang.String content; - private byte[] content; + /*private byte[] content; public byte[] getContent(){ if(contentString==null){ @@ -119,7 +122,7 @@ public class ProblemKnowledgeBaseEO implements Serializable { e.printStackTrace(); } return ""; - } + }*/ /**附件*/ @Excel(name = "附件", width = 15) @ApiModelProperty(value = "附件") @@ -129,6 +132,13 @@ public class ProblemKnowledgeBaseEO implements Serializable { @Excel(name = "展示权限", width = 15) @ApiModelProperty(value = "展示权限") private java.lang.String showPermissions; + /**展示权限翻译*/ + @TableField(exist = false) + private java.lang.String showPermissions_dicText; + + /**允许的用户列表*/ + @TableField(exist = false) + private List permissionUserList; /**发布人id*/ @Excel(name = "展示权限", width = 15) @@ -140,4 +150,29 @@ public class ProblemKnowledgeBaseEO implements Serializable { @ApiModelProperty(value = "发布日期") private java.lang.String releaseTime; + /**点赞总数量*/ + @TableField(exist = false) + private long praiseCount; + /**自己的点赞信息*/ + @TableField(exist = false) + private ProblemKnowledgeBasePraiseEO praiseEO; + + /**收藏总数量*/ + @TableField(exist = false) + private long collectCount; + /**自己的收藏信息*/ + @TableField(exist = false) + private ProblemKnowledgeBaseCollectEO collectEO; + + /**浏览总数量*/ + @TableField(exist = false) + private long browsingHistoryCount; + + /**中英文切换*/ + @TableField(exist = false) + private String cut; + + /**模糊搜索全部输入字段条件*/ + @TableField(exist = false) + private String searchStr; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseUserEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseUserEO.java index 4865c5bdd..0faa4094e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseUserEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseUserEO.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -70,5 +71,8 @@ public class ProblemKnowledgeBaseUserEO implements Serializable { @Excel(name = "用户id", width = 15) @ApiModelProperty(value = "用户id") private java.lang.String userId; + /**用户姓名*/ + @TableField(exist = false) + private String userName; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/CollectStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/CollectStatusEnum.java new file mode 100644 index 000000000..6185dfa67 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/CollectStatusEnum.java @@ -0,0 +1,46 @@ +package com.jero.modules.problemKnowledgeBase.enums; + +import com.jero.common.constant.enums.CutEnum; +import org.apache.commons.lang3.StringUtils; + +/** + * 问题知识库-收藏状态枚举类 + */ +public enum CollectStatusEnum { + + COLLECT("收藏","Collect","Collect"), + CANCEL_COLLECT("取消收藏","Cancel collect","Cancel collect"), + ; + + String cnName; + String enName; + String value; + + private CollectStatusEnum(String cnName, String enName, String value) { + this.cnName = cnName; + this.enName = enName; + this.value = value; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public static String getTextByValue(String value,String cut) { + CollectStatusEnum[] values = values(); + for (CollectStatusEnum collectStatusEnum : values) { + if (collectStatusEnum.value.equals(value)) { + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + return collectStatusEnum.cnName; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + return collectStatusEnum.enName; + } + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java index ff422ef83..4643efeb8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java @@ -35,12 +35,12 @@ public enum LableTypeEnum { public static String getTextByValue(String value,String cut) { LableTypeEnum[] values = values(); - for (LableTypeEnum taskStatusEnum : values) { - if (taskStatusEnum.value.equals(value)) { + for (LableTypeEnum lableTypeEnum : values) { + if (lableTypeEnum.value.equals(value)) { if(StringUtils.equals(cut, CutEnum.CN.getValue())){ - return taskStatusEnum.cnName; + return lableTypeEnum.cnName; }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ - return taskStatusEnum.enName; + return lableTypeEnum.enName; } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/PraiseStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/PraiseStatusEnum.java new file mode 100644 index 000000000..f8dd21f30 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/PraiseStatusEnum.java @@ -0,0 +1,46 @@ +package com.jero.modules.problemKnowledgeBase.enums; + +import com.jero.common.constant.enums.CutEnum; +import org.apache.commons.lang3.StringUtils; + +/** + * 问题知识库-点赞状态枚举类 + */ +public enum PraiseStatusEnum { + + PRAISE("点赞","Praise","Praise"), + CANCEL_PRAISE("取消点赞","Cancel praise","Cancel praise"), + ; + + String cnName; + String enName; + String value; + + private PraiseStatusEnum(String cnName, String enName, String value) { + this.cnName = cnName; + this.enName = enName; + this.value = value; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public static String getTextByValue(String value,String cut) { + PraiseStatusEnum[] values = values(); + for (PraiseStatusEnum praiseStatusEnum : values) { + if (praiseStatusEnum.value.equals(value)) { + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + return praiseStatusEnum.cnName; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + return praiseStatusEnum.enName; + } + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ReleaseStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ReleaseStatusEnum.java new file mode 100644 index 000000000..bf1ecd1f2 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ReleaseStatusEnum.java @@ -0,0 +1,47 @@ +package com.jero.modules.problemKnowledgeBase.enums; + +import com.jero.common.constant.enums.CutEnum; +import org.apache.commons.lang3.StringUtils; + +/** + * 发布状态枚举类 + */ +public enum ReleaseStatusEnum { + + HAVE_RELEASED("已发布","Have released","Have released"), + DRAFT("草稿","Draft","Draft"), + ; + + + String cnName; + String enName; + String value; + + private ReleaseStatusEnum(String cnName, String enName, String value) { + this.cnName = cnName; + this.enName = enName; + this.value = value; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public static String getTextByValue(String value,String cut) { + ReleaseStatusEnum[] values = values(); + for (ReleaseStatusEnum releaseStatusEnum : values) { + if (releaseStatusEnum.value.equals(value)) { + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + return releaseStatusEnum.cnName; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + return releaseStatusEnum.enName; + } + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ShowPermissionsEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ShowPermissionsEnum.java new file mode 100644 index 000000000..c12138f66 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ShowPermissionsEnum.java @@ -0,0 +1,46 @@ +package com.jero.modules.problemKnowledgeBase.enums; + +import com.jero.common.constant.enums.CutEnum; +import org.apache.commons.lang3.StringUtils; + +/** + * 问题知识库-展示权限枚举类 + */ +public enum ShowPermissionsEnum { + + OPEN("公开","Open","Open"), + PRIVACY("私密","Privacy","Privacy"), + ; + + String cnName; + String enName; + String value; + + private ShowPermissionsEnum(String cnName, String enName, String value) { + this.cnName = cnName; + this.enName = enName; + this.value = value; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public static String getTextByValue(String value,String cut) { + ShowPermissionsEnum[] values = values(); + for (ShowPermissionsEnum showPermissionsEnum : values) { + if (showPermissionsEnum.value.equals(value)) { + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + return showPermissionsEnum.cnName; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + return showPermissionsEnum.enName; + } + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryNationalFlagEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryNationalFlagEOMapper.java new file mode 100644 index 000000000..710a51dd4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/CountryNationalFlagEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.problemKnowledgeBase.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 国家与国旗中间表 + * @Author: jero-boot + * @Date: 2022-08-09 + * @Version: V1.0 + */ +public interface CountryNationalFlagEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryNationalFlagEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryNationalFlagEOMapper.xml new file mode 100644 index 000000000..89f13c516 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/mapper/xml/CountryNationalFlagEOMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseDetailEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseDetailEOService.java index 9d078df1b..11c5f9efc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseDetailEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseDetailEOService.java @@ -2,6 +2,8 @@ package com.jero.modules.problemKnowledgeBase.service; import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO; import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -57,5 +59,12 @@ public interface ICountryCardManageReleaseDetailEOService extends IService queryList(); + List queryList(CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO, HttpServletRequest req); + + /** + * 处理数据 + * @param datas + * @param cut + */ + void disposeData(List datas, String cut); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java index e5958d1e2..392c7e437 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java @@ -1,5 +1,8 @@ package com.jero.modules.problemKnowledgeBase.service; +import com.alibaba.fastjson.JSONObject; +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 java.util.List; @@ -58,4 +61,25 @@ public interface ICountryCardManageReleaseEOService extends IService queryList(); + + /** + * 处理数据 + * @param datas + * @param cut + */ + void disposeData(List datas, String cut); + + /** + * 批量更新发布状态 + * @param json + */ + void batchUpdateReleaseStatus(JSONObject json); + + /** + * 获取适用市场 + * @return + */ + Result> getApplyMarketList(String queryFlag); + + List queryCountryCardManageReleaseByApplyMarkets(JSONObject params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java index 4e10be53d..2fafd7125 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java @@ -67,4 +67,16 @@ public interface ICountryCardTempEOService extends IService { * @param cut */ void disposeData(List datas, String cut); + + /** + * 设置编辑时排序号 + * @param countryCardTempEO + */ + void setEditOrderNum(CountryCardTempEO countryCardTempEO); + + /** + * 设置新增时的排序号 + * @param countryCardTempEO + */ + void setAddOrderNum(CountryCardTempEO countryCardTempEO); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryNationalFlagEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryNationalFlagEOService.java new file mode 100644 index 000000000..2ef332bb1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryNationalFlagEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.problemKnowledgeBase.service; + +import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 国家与国旗中间表 + * @Author: jero-boot + * @Date: 2022-08-09 + * @Version: V1.0 + */ +public interface ICountryNationalFlagEOService extends IService { + + /** + * 保存 + * + * @param countryNationalFlagEO + * @return + */ + void add(CountryNationalFlagEO countryNationalFlagEO); + + /** + * 更新 + * + * @param countryNationalFlagEO + * @return + */ + void editById(CountryNationalFlagEO countryNationalFlagEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + CountryNationalFlagEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseClassifyEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseClassifyEOService.java index 486f3ea5e..00564d0f1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseClassifyEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseClassifyEOService.java @@ -58,4 +58,10 @@ public interface IProblemKnowledgeBaseClassifyEOService extends IService queryList(); + + /** + * 处理数据 + * @param datas + */ + void disposeData(List datas); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java index a3b779b5f..d8933714c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseCommentEOService.java @@ -2,6 +2,8 @@ package com.jero.modules.problemKnowledgeBase.service; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -57,5 +59,5 @@ public interface IProblemKnowledgeBaseCommentEOService extends IService queryList(); + List queryList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO, HttpServletRequest req); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java index 426a968f0..4b538190c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseEOService.java @@ -1,7 +1,10 @@ package com.jero.modules.problemKnowledgeBase.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -50,12 +53,26 @@ public interface IProblemKnowledgeBaseEOService extends IService queryList(); + List queryList(ProblemKnowledgeBaseEO problemKnowledgeBaseEO, + HttpServletRequest req); + + /** + * 处理数据 + * @param datas + * @param cut + */ + void disposeData(List datas,String cut); + + /** + * 创建查询权限 + * @param queryWrapper + */ + void createQueryPermission(QueryWrapper queryWrapper,ProblemKnowledgeBaseEO problemKnowledgeBaseEO); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseUserEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseUserEOService.java index 6a1521524..a3086262e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseUserEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/IProblemKnowledgeBaseUserEOService.java @@ -58,4 +58,11 @@ public interface IProblemKnowledgeBaseUserEOService extends IService queryList(); + + /** + * 处理数据 + * @param datas + * @param cut + */ + void disposeData(List datas,String cut); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseDetailEOServiceImpl.java index 949ec4682..54fe486fd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseDetailEOServiceImpl.java @@ -1,15 +1,29 @@ package com.jero.modules.problemKnowledgeBase.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.system.query.QueryGenerator; import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO; +import com.jero.modules.problemKnowledgeBase.enums.LableTypeEnum; import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseDetailEOMapper; import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Date; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 问题知识库-country_card-管理发布明细表 * @Author: jero-boot @@ -20,6 +34,11 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl implements ICountryCardManageReleaseDetailEOService { + @Autowired + private ICountryCardTempEOService countryCardTempEOService; + @Autowired + private ICountryCardTempItemEOService countryCardTempItemEOService; + /** * 保存 * @@ -86,7 +105,52 @@ public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl queryList() { - return list(); + public List queryList(CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseDetailEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); + List result = this.list(queryWrapper); + return result; } + + @Override + public void disposeData(List datas, String cut) { + if (CollectionUtils.isNotEmpty(datas)) { + //获取模板 + List countryCardTempEOList = this.countryCardTempEOService.list(); + + List countroCardTempIdList = countryCardTempEOList.stream().map(CountryCardTempEO::getId).distinct().collect(Collectors.toList()); + QueryWrapper tempItemEOQueryWrapper = new QueryWrapper<>(); + tempItemEOQueryWrapper.lambda().in(CountryCardTempItemEO::getCountryCardTempId,countroCardTempIdList); + List countryCardTempItemEOList = this.countryCardTempItemEOService.list(tempItemEOQueryWrapper); + + datas.forEach(data -> { + List countryCardTemp = countryCardTempEOList.stream().filter(countryCardTempEO -> { + boolean flag = false; + if (StringUtils.equals(data.getCountryCardTempId(), countryCardTempEO.getId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(countryCardTemp)){ + data.setLableName(countryCardTemp.get(0).getLableName()); + data.setLableType(countryCardTemp.get(0).getLableType()); + } + + //如果该条数据的标签类型是下拉选项 + if(CollectionUtils.isNotEmpty(countryCardTempItemEOList) && StringUtils.equals(data.getLableType(), LableTypeEnum.PULL_SINGLE.getValue())){ + //把这条模板的下拉选项设置进去 + List collect = countryCardTempItemEOList.stream().filter(countryCardTempItemEO -> { + boolean flag = false; + if (StringUtils.equals(data.getCountryCardTempId(), countryCardTempItemEO.getCountryCardTempId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + data.setCountryCardTempItemEOList(collect); + } + }); + + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java index cec8bb911..0345c59cc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java @@ -1,11 +1,30 @@ 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.system.vo.DictModel; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO; import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO; +import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO; +import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum; import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseEOMapper; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService; import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService; +import com.jero.modules.problemKnowledgeBase.service.ICountryNationalFlagEOService; +import com.jero.modules.system.enums.DicCodeEnum; +import com.jero.modules.system.service.ISysDictService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Date; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +39,13 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl implements ICountryCardManageReleaseEOService { + @Autowired + private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService; + @Autowired + private ISysDictService sysDictService; + @Autowired + private ICountryNationalFlagEOService countryNationalFlagEOService; + /** * 保存 * @@ -31,7 +57,15 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl releaseDetailEOList = countryCardManageReleaseEO.getCountryCardManageReleaseDetailEOList(); + if(CollectionUtils.isNotEmpty(releaseDetailEOList)){ + releaseDetailEOList.forEach(releaseDetailEO -> { + releaseDetailEO.setCountryCardManageReleaseId(countryCardManageReleaseEO.getId()); + }); + this.countryCardManageReleaseDetailEOService.saveBatch(releaseDetailEOList); + } } /** @@ -67,6 +101,9 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl ids) { removeByIds(ids); + QueryWrapper manageReleaseDetailEODeleteWrapper = new QueryWrapper<>(); + manageReleaseDetailEODeleteWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardManageReleaseId,ids); + this.countryCardManageReleaseDetailEOService.remove(manageReleaseDetailEODeleteWrapper); } /** @@ -89,4 +126,140 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl queryList() { return list(); } + + @Override + public void disposeData(List datas, String cut) { + if (CollectionUtils.isNotEmpty(datas)) { + List CountryCardManageReleaseEOId = datas.stream().map(CountryCardManageReleaseEO::getId).collect(Collectors.toList()); + + //查询出来管理发布列表中数据的明细信息 + QueryWrapper releaseDetailEOQueryWrapper = new QueryWrapper<>(); + releaseDetailEOQueryWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardManageReleaseId,CountryCardManageReleaseEOId); + List releaseDetailEOList = this.countryCardManageReleaseDetailEOService.list(releaseDetailEOQueryWrapper); + this.countryCardManageReleaseDetailEOService.disposeData(releaseDetailEOList,cut); + + List dictModelList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); + + //获取国旗 + List countryNationalFlagList = countryNationalFlagEOService.list(); + + datas.forEach(data -> { + if (StringUtils.isNotEmpty(data.getReleaseStatus())) { + data.setReleaseStatus_dictText(ReleaseStatusEnum.getTextByValue(data.getReleaseStatus(),cut)); + } + + if(CollectionUtils.isNotEmpty(releaseDetailEOList)){ + List collect = releaseDetailEOList.stream().filter(releaseDetailEO -> { + boolean flag = false; + if(StringUtils.equals(data.getId(),releaseDetailEO.getCountryCardManageReleaseId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + data.setCountryCardManageReleaseDetailEOList(collect); + } + + List regionList = dictModelList.stream().filter(region -> { + boolean flag = false; + if (StringUtils.equals(region.getValue(), data.getApplyMarket())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(regionList)){ + DictModel dictModel = regionList.get(0); + + String collect = countryNationalFlagList.stream().filter(nationalFlag -> { + boolean flag = false; + if(StringUtils.equals(nationalFlag.getCountryNameCn(),dictModel.getText())){ + flag = true; + } + return flag; + }).map(CountryNationalFlagEO::getNationalFlagUrl).collect(Collectors.joining(",")); + data.setCountryNationalFlag(collect); + } + }); + } + } + + @Override + public void batchUpdateReleaseStatus(JSONObject json) { + String ids = json.getString("ids"); + String releaseStatus = json.getString("releaseStatus"); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().in(CountryCardManageReleaseEO::getId,Arrays.asList(ids.split(","))); + List countryCardManageReleaseEOList = this.list(queryWrapper); + countryCardManageReleaseEOList.forEach(countryCardManageReleaseEO -> { + countryCardManageReleaseEO.setReleaseStatus(releaseStatus); + }); + + this.updateBatchById(countryCardManageReleaseEOList); + } + + @Override + public Result> getApplyMarketList(String queryFlag) { + List result = new ArrayList<>(); + + //获取所有的适用地区 + List dictModelList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); + + //获取已经创建了country Card的适用地区,该接口只返回,在country Card里面没有的适用地区。 + List countryCardManageReleaseEOList = this.list(); + + //如果查询标识是空,则是在countryCard管理发布页面新增数据时使用:管理发布页新增查询的是,所有未创建countryCard的适用市场。 + //如果查询标识不是空,则是在CountryCard的首页使用:首页查询的是 所有已创建了countryCard的适用市场。 + if (StringUtils.isEmpty(queryFlag)) { + if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){ + result = dictModelList; + }else { + for (DictModel dictModel : dictModelList) { + boolean flag = true; + for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) { + if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())){ + flag = false; + break; + } + } + + if(flag){ + result.add(dictModel); + } + } + } + }else { + if(CollectionUtils.isEmpty(countryCardManageReleaseEOList)){ + result = null; + }else { + for (DictModel dictModel : dictModelList) { + boolean flag = false; + for (CountryCardManageReleaseEO countryCardManageReleaseEO : countryCardManageReleaseEOList) { + if(StringUtils.equals(dictModel.getValue(),countryCardManageReleaseEO.getApplyMarket())){ + flag = true; + break; + } + } + + if(flag){ + result.add(dictModel); + } + } + } + } + + return Result.OK(result); + } + + @Override + public List queryCountryCardManageReleaseByApplyMarkets(JSONObject params) { + String applyMarkets = params.getString("applyMarkets"); + String cut = params.getString("cut"); + List applyMarketList = Arrays.asList(applyMarkets.split(",")); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().in(CountryCardManageReleaseEO::getApplyMarket,applyMarketList); + List result = this.list(queryWrapper); + this.disposeData(result,cut); + return result; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java index 143ab8369..8bb1d4c49 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java @@ -2,10 +2,14 @@ package com.jero.modules.problemKnowledgeBase.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO; +import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO; import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempEO; import com.jero.modules.problemKnowledgeBase.entity.CountryCardTempItemEO; import com.jero.modules.problemKnowledgeBase.enums.LableTypeEnum; import com.jero.modules.problemKnowledgeBase.mapper.CountryCardTempEOMapper; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService; +import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService; import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempEOService; import com.jero.modules.problemKnowledgeBase.service.ICountryCardTempItemEOService; import org.apache.commons.collections4.CollectionUtils; @@ -36,6 +40,10 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl countryCardManageReleaseEOList = this.countryCardManageReleaseEOService.list(); + if(CollectionUtils.isNotEmpty(countryCardManageReleaseEOList)){ + List releaseDetailEOList = new ArrayList<>(); + countryCardManageReleaseEOList.forEach(manageReleaseEO -> { + CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO = new CountryCardManageReleaseDetailEO(); + countryCardManageReleaseDetailEO.setCountryCardTempId(countryCardTempEO.getId()); + countryCardManageReleaseDetailEO.setCountryCardManageReleaseId(manageReleaseEO.getId()); + }); + this.countryCardManageReleaseDetailEOService.saveBatch(releaseDetailEOList); } - } + } /** * 更新 @@ -63,13 +83,14 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl manageReleaseDetailDeleteWrapper = new QueryWrapper<>(); + manageReleaseDetailDeleteWrapper.lambda().eq(CountryCardManageReleaseDetailEO::getCountryCardTempId,id); + this.countryCardManageReleaseDetailEOService.remove(manageReleaseDetailDeleteWrapper); } /** @@ -92,6 +116,14 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl ids) { removeByIds(ids); + + QueryWrapper itemDeleteWrapper = new QueryWrapper<>(); + itemDeleteWrapper.lambda().in(CountryCardTempItemEO::getCountryCardTempId,ids); + this.countryCardTempItemEOService.remove(itemDeleteWrapper); + + QueryWrapper manageReleaseDetailDeleteWrapper = new QueryWrapper<>(); + manageReleaseDetailDeleteWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardTempId,ids); + this.countryCardManageReleaseDetailEOService.remove(manageReleaseDetailDeleteWrapper); } /** @@ -113,6 +145,7 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl queryList(CountryCardTempEO countryCardTempEO, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(countryCardTempEO, req.getParameterMap()); + queryWrapper.orderByAsc("order_num"); List result = this.list(queryWrapper); return result; } @@ -139,7 +172,90 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByAsc("order_num"); + List countryCardTempEOList = this.list(queryWrapper); + + if(CollectionUtils.isNotEmpty(countryCardTempEOList)){ + Integer orderNumData = countryCardTempEOList.stream().filter(e -> e.getId().equals(countryCardTempEO.getId())) + .map(e -> e.getOrderNum()).collect(Collectors.toList()).get(0); + + queryWrapper.eq("order_num", inputOrderNum); + Integer orderNumCount = this.baseMapper.selectCount(queryWrapper); + //有重复展示顺序的,后面的号全+1 + if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) { + + //设置排序 + QueryWrapper orderNumQueryWrapper = new QueryWrapper<>(); + orderNumQueryWrapper.ge("order_num", inputOrderNum) + .orderByAsc("order_num"); + List geOrderNumList = this.list(orderNumQueryWrapper); + + //判断相邻的序号,去掉不邻的 + for (int i = 0; i < geOrderNumList.size(); i++) { + if (geOrderNumList.size() == 1) { + break; + } else if(i+1 >= geOrderNumList.size()){ + break; + }else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) { + int deleteStart = geOrderNumList.get(i + 1).getOrderNum(); + geOrderNumList = geOrderNumList.stream().filter(e -> e.getOrderNum() < deleteStart).collect(Collectors.toList()); + break; + } + } + + geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1)); + saveOrUpdateBatch(geOrderNumList); + } + } + } + } + + @Override + public void setAddOrderNum(CountryCardTempEO countryCardTempEO) { + Integer inputOrderNum = countryCardTempEO.getOrderNum(); + if(inputOrderNum != null) { + //查询展示顺序相同的 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByAsc("order_num"); + queryWrapper.eq("order_num", inputOrderNum); + Integer orderNumCount = this.baseMapper.selectCount(queryWrapper); + //有重复展示顺序的,后面的号全+1 + if (orderNumCount > 0) { + //设置排序 + QueryWrapper orderNumQueryWrapper = new QueryWrapper<>(); + orderNumQueryWrapper.ge("order_num", inputOrderNum) + .orderByAsc("order_num"); + List geOrderNumList = list(orderNumQueryWrapper); + + //判断相邻的序号,去掉不邻的 + for (int i = 0; i < geOrderNumList.size(); i++) { + if (geOrderNumList.size() == 1) { + break; + }else if(i+1 >= geOrderNumList.size()){ + break; + } else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) { + int deleteStart = geOrderNumList.get(i + 1).getOrderNum(); + geOrderNumList = geOrderNumList.stream().filter(e -> e.getOrderNum() < deleteStart).collect(Collectors.toList()); + break; + } + } + + geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1)); + saveOrUpdateBatch(geOrderNumList); + } + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryNationalFlagEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryNationalFlagEOServiceImpl.java new file mode 100644 index 000000000..1380152b7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryNationalFlagEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.problemKnowledgeBase.service.impl; + +import com.jero.modules.problemKnowledgeBase.entity.CountryNationalFlagEO; +import com.jero.modules.problemKnowledgeBase.mapper.CountryNationalFlagEOMapper; +import com.jero.modules.problemKnowledgeBase.service.ICountryNationalFlagEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 国家与国旗中间表 + * @Author: jero-boot + * @Date: 2022-08-09 + * @Version: V1.0 + */ +@Service +public class CountryNationalFlagEOServiceImpl extends ServiceImpl implements ICountryNationalFlagEOService { + + /** + * 保存 + * + * @param countryNationalFlagEO + * @return + */ + @Override + public void add(CountryNationalFlagEO countryNationalFlagEO) { + Date now = new Date(); + countryNationalFlagEO.setCreateTime(now); + countryNationalFlagEO.setUpdateTime(now); + save(countryNationalFlagEO); + } + + /** + * 更新 + * + * @param countryNationalFlagEO + * @return + */ + @Override + public void editById(CountryNationalFlagEO countryNationalFlagEO) { + Date now = new Date(); + countryNationalFlagEO.setUpdateTime(now); + saveOrUpdate(countryNationalFlagEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public CountryNationalFlagEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseClassifyEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseClassifyEOServiceImpl.java index 1c473bc11..c8359bbdc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseClassifyEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseClassifyEOServiceImpl.java @@ -3,9 +3,19 @@ package com.jero.modules.problemKnowledgeBase.service.impl; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseClassifyEO; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseClassifyEOMapper; import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseClassifyEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.system.util.StringUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Date; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -19,6 +29,8 @@ import org.springframework.transaction.annotation.Transactional; @Service @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseClassifyEOService { + @Autowired + private ISysUserService sysUserService; /** * 保存 @@ -89,4 +101,40 @@ public class ProblemKnowledgeBaseClassifyEOServiceImpl extends ServiceImpl queryList() { return list(); } + + @Override + public void disposeData(List datas) { + if (CollectionUtils.isNotEmpty(datas)) { + + StringBuffer userIdSb = new StringBuffer(); + for (ProblemKnowledgeBaseClassifyEO data : datas) { + userIdSb.append(data.getChargePersonId() + ","); + } + List userIdList = new ArrayList<>(); + if(StringUtils.isNotEmpty(userIdSb.toString())){ + userIdList = Arrays.asList(userIdSb.toString().substring(0,userIdSb.length()-1).split(",")); + } + + List userList = this.sysUserService.querySysUserListByIdList(userIdList); + + datas.forEach(data -> { + if(CollectionUtils.isNotEmpty(userList)){ + String chargePersonId = data.getChargePersonId(); + if(StringUtils.isNotEmpty(chargePersonId)){ + String[] chargePersonIdArr = chargePersonId.split(","); + String chargePersonIdName = userList.stream().filter(user -> { + boolean flag = false; + for (String chargePerson : chargePersonIdArr) { + if(StringUtils.equals(user.getId(),chargePerson)){ + flag = true; + } + } + return flag; + }).map(SysUser::getUsername).collect(Collectors.joining(",")); + data.setChargePersonIdName(chargePersonIdName); + } + } + }); + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java index 4414a118e..51e63c3ed 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java @@ -1,5 +1,7 @@ package com.jero.modules.problemKnowledgeBase.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.system.query.QueryGenerator; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseCommentEO; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseCommentEOMapper; import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseCommentEOService; @@ -10,6 +12,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: 问题知识库评论表 * @Author: jero-boot @@ -86,7 +90,10 @@ public class ProblemKnowledgeBaseCommentEOServiceImpl extends ServiceImpl queryList() { - return list(); + public List queryList(ProblemKnowledgeBaseCommentEO problemKnowledgeBaseCommentEO, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseCommentEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); + List result = this.list(queryWrapper); + return result; } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index a32d7ac4e..0455d852a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -1,15 +1,29 @@ package com.jero.modules.problemKnowledgeBase.service.impl; -import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseEO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; +import com.jero.modules.problemKnowledgeBase.entity.*; +import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum; +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.IProblemKnowledgeBaseEOService; +import com.jero.modules.problemKnowledgeBase.service.*; +import com.jero.modules.system.util.StringUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Date; + +import java.util.*; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; + /** * @Description: 问题知识库表 * @Author: jero-boot @@ -20,6 +34,17 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseEOService { + @Autowired + private IProblemKnowledgeBaseUserEOService problemKnowledgeBaseUserEOService; + @Autowired + private IProblemKnowledgeBasePraiseEOService problemKnowledgeBasePraiseEOService; + @Autowired + private IProblemKnowledgeBaseCollectEOService problemKnowledgeBaseCollectEOService; + @Autowired + private IProblemKnowledgeBaseBrowsingHistoryEOService problemKnowledgeBaseBrowsingHistoryEOService; + @Autowired + private IProblemKnowledgeBaseClassifyEOService problemKnowledgeBaseClassifyEOService; + /** * 保存 * @@ -32,6 +57,11 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl problemKnowledgeBaseEOList = new ArrayList<>(); + problemKnowledgeBaseEOList.add(problemKnowledgeBaseEO); + this.disposeData(problemKnowledgeBaseEOList,cut); + if (CollectionUtils.isNotEmpty(problemKnowledgeBaseEOList)) { + problemKnowledgeBaseEO = problemKnowledgeBaseEOList.get(0); + } + return problemKnowledgeBaseEO; } /** @@ -86,7 +128,212 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl queryList() { - return list(); + public List queryList(ProblemKnowledgeBaseEO problemKnowledgeBaseEO, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseEO, req.getParameterMap()); + this.createQueryPermission(queryWrapper,problemKnowledgeBaseEO); + queryWrapper.orderByDesc("create_time"); + List result = this.list(queryWrapper); + this.disposeData(result,problemKnowledgeBaseEO.getCut()); + return result; } + + /** + * 批量添加问题知识库展示权限表数据。 + */ + public void batchInsertProblemKnowledgeBaseUserEO(ProblemKnowledgeBaseEO problemKnowledgeBaseEO){ + //1.把当前问题知识库所有的权限删掉。 + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId,problemKnowledgeBaseEO.getId()); + this.problemKnowledgeBaseUserEOService.remove(deleteWrapper); + + List permissionUserList = problemKnowledgeBaseEO.getPermissionUserList(); + + //2.获取当前登录用户信息,把当前登录用户组成一条数据添加进权限表 + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + ProblemKnowledgeBaseUserEO currentUserPermission = new ProblemKnowledgeBaseUserEO(); + currentUserPermission.setUserId(currentUser.getId()); + + permissionUserList.add(currentUserPermission); + + permissionUserList.forEach(permissionUser -> { + permissionUser.setProblemKnowledgeBaseId(problemKnowledgeBaseEO.getId()); + }); + + //根据用户id去重。 + permissionUserList = permissionUserList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(o -> o.getUserId()))), + ArrayList::new)); + + //3.把允许的用户添加进权限表。 + this.problemKnowledgeBaseUserEOService.saveOrUpdateBatch(permissionUserList); + } + + @Override + public void disposeData(List datas,String cut){ + if (CollectionUtils.isNotEmpty(datas)) { + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + StringBuffer problemTypeSb = new StringBuffer(); + for (ProblemKnowledgeBaseEO data : datas) { + problemTypeSb.append(data.getProblemType() + ","); + } + + List probleKnowledgeBaseIdList = datas.stream().map(ProblemKnowledgeBaseEO::getId).distinct().collect(Collectors.toList()); + //查询出数据的所有点赞数量 + QueryWrapper praiseQueryWrapper = new QueryWrapper<>(); + praiseQueryWrapper.lambda().in(ProblemKnowledgeBasePraiseEO::getProblemKnowledgeBaseId,probleKnowledgeBaseIdList); + List praiseEOList = this.problemKnowledgeBasePraiseEOService.list(praiseQueryWrapper); + + //查询出数据的所有的浏览数量 + QueryWrapper browsingHistoryQueryWrapper = new QueryWrapper<>(); + browsingHistoryQueryWrapper.lambda().in(ProblemKnowledgeBaseBrowsingHistoryEO::getProblemKnowledgeBaseId,probleKnowledgeBaseIdList); + List browsingHistoryEOList = this.problemKnowledgeBaseBrowsingHistoryEOService.list(browsingHistoryQueryWrapper); + + //查询出数据的所有的收藏数量 + QueryWrapper collectQueryWrapper = new QueryWrapper<>(); + collectQueryWrapper.lambda().in(ProblemKnowledgeBaseCollectEO::getProblemKnowledgeBaseId,probleKnowledgeBaseIdList); + List collectEOList = this.problemKnowledgeBaseCollectEOService.list(collectQueryWrapper); + + //查询出数据的所有的权限用户 + QueryWrapper permissionUserQueryWrapper = new QueryWrapper<>(); + permissionUserQueryWrapper.lambda().in(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId,probleKnowledgeBaseIdList); + List permissionUserEOList = this.problemKnowledgeBaseUserEOService.list(permissionUserQueryWrapper); + this.problemKnowledgeBaseUserEOService.disposeData(permissionUserEOList,cut); + + List problemKnowledgeBaseClassifyEOList = new ArrayList<>(); + if(StringUtils.isNotEmpty(problemTypeSb.toString())){ + List problemTypeList = Arrays.asList(problemTypeSb.toString().substring(0, problemTypeSb.toString().length() - 1).split(",")).stream().distinct().collect(Collectors.toList()); + QueryWrapper classifyEOQueryWrapper = new QueryWrapper<>(); + classifyEOQueryWrapper.lambda().in(ProblemKnowledgeBaseClassifyEO::getId,problemTypeList); + problemKnowledgeBaseClassifyEOList = this.problemKnowledgeBaseClassifyEOService.list(classifyEOQueryWrapper); + } + + + List finalProblemKnowledgeBaseClassifyEOList = problemKnowledgeBaseClassifyEOList; + datas.forEach(data -> { + if(StringUtils.isNotEmpty(data.getShowPermissions())){ + data.setShowPermissions_dicText(ShowPermissionsEnum.getTextByValue(data.getShowPermissions(),cut)); + } + + long praiseCount = praiseEOList.stream().filter(praiseEO -> { + boolean flag = false; + if(StringUtils.equals(data.getId(),praiseEO.getProblemKnowledgeBaseId()) + &&StringUtils.equals(praiseEO.getPraiseStatus(), PraiseStatusEnum.PRAISE.getValue())){ + flag = true; + } + return flag; + }).count(); + data.setPraiseCount(praiseCount); + + List poblemKnowledgeBasePraiseEOS = praiseEOList.stream().filter(praiseEO -> { + boolean flag = false; + if(StringUtils.equals(data.getId(),praiseEO.getProblemKnowledgeBaseId()) + && StringUtils.equals(praiseEO.getPraiseUserId(),currentUser.getId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(poblemKnowledgeBasePraiseEOS)){ + data.setPraiseEO(poblemKnowledgeBasePraiseEOS.get(0)); + } + + long browsingHistoryCount = browsingHistoryEOList.stream().filter(baseBrowsingHistoryEO -> { + boolean flag = false; + if(StringUtils.equals(data.getId(),baseBrowsingHistoryEO.getProblemKnowledgeBaseId())){ + flag = true; + } + return flag; + }).count(); + data.setBrowsingHistoryCount(browsingHistoryCount); + + long collectCount = collectEOList.stream().filter(collectEO -> { + boolean flag = false; + if(StringUtils.equals(data.getId(),collectEO.getProblemKnowledgeBaseId()) + && StringUtils.equals(collectEO.getCollectStatus(), CollectStatusEnum.COLLECT.getValue())){ + flag = true; + } + return flag; + }).count(); + data.setCollectCount(collectCount); + + List problemKnowledgeBaseCollectEOS = collectEOList.stream().filter(collectEO -> { + boolean flag = false; + if(StringUtils.equals(data.getId(),collectEO.getProblemKnowledgeBaseId()) + && StringUtils.equals(collectEO.getCollectUserId(),currentUser.getId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(problemKnowledgeBaseCollectEOS)){ + data.setCollectEO(problemKnowledgeBaseCollectEOS.get(0)); + } + + List permissionUserEOS = permissionUserEOList.stream().filter(permissionUserEO -> { + boolean flag = false; + if (StringUtils.equals(data.getId(), permissionUserEO.getProblemKnowledgeBaseId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(permissionUserEOS)){ + data.setPermissionUserList(permissionUserEOS); + } + + String problemType = data.getProblemType(); + if(StringUtils.isNotEmpty(problemType)){ + String[] problemTypeArr = problemType.split(","); + String problemTypeName = finalProblemKnowledgeBaseClassifyEOList.stream().filter(problemKnowledgeBaseClassifyEO -> { + boolean flag = false; + for (String type : problemTypeArr) { + if (StringUtils.equals(type, problemKnowledgeBaseClassifyEO.getId())) { + flag = true; + } + } + return flag; + }).map(ProblemKnowledgeBaseClassifyEO::getProblemLabel).collect(Collectors.joining(",")); + + data.setProblemTypeName(problemTypeName); + } + }); + } + } + + @Override + public void createQueryPermission(QueryWrapper queryWrapper,ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { + /** + * 查询权限 + * 公开:所有人都可以看到。 + * 私密:只有配置了的权限用户可以看到。 + */ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper userPermissionQueryWrapper = new QueryWrapper<>(); + userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId()); + List problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper); + + List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); + + queryWrapper.lambda().and(query -> { + query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue()). + or(o -> { + o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue()); + o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList); + }); + }); + + String searchStr = problemKnowledgeBaseEO.getSearchStr(); + if(StringUtils.isNotEmpty(searchStr)){ + queryWrapper.lambda().and(query -> { + query.like(ProblemKnowledgeBaseEO::getTitle,searchStr); + query.or().like(ProblemKnowledgeBaseEO::getProblemType,searchStr); + query.or().like(ProblemKnowledgeBaseEO::getTargetMarket,searchStr); + query.or().like(ProblemKnowledgeBaseEO::getStandNumber,searchStr); + query.or().like(ProblemKnowledgeBaseEO::getStandTitle,searchStr); + query.or().like(ProblemKnowledgeBaseEO::getContent,searchStr); + }); + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseUserEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseUserEOServiceImpl.java index f5f56bd8e..4f3679dcf 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseUserEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseUserEOServiceImpl.java @@ -3,9 +3,16 @@ package com.jero.modules.problemKnowledgeBase.service.impl; import com.jero.modules.problemKnowledgeBase.entity.ProblemKnowledgeBaseUserEO; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseUserEOMapper; import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseUserEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Date; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +27,9 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) public class ProblemKnowledgeBaseUserEOServiceImpl extends ServiceImpl implements IProblemKnowledgeBaseUserEOService { + @Autowired + private ISysUserService sysUserService; + /** * 保存 * @@ -89,4 +99,30 @@ public class ProblemKnowledgeBaseUserEOServiceImpl extends ServiceImpl queryList() { return list(); } + + @Override + public void disposeData(List datas, String cut) { + if(CollectionUtils.isNotEmpty(datas)){ + List userIdList = datas.stream().map(ProblemKnowledgeBaseUserEO::getUserId).distinct().collect(Collectors.toList()); + + List userList = sysUserService.querySysUserListByIdList(userIdList); + + datas.forEach(data -> { + if(CollectionUtils.isNotEmpty(userList)){ + String userName = ""; + for (SysUser user : userList) { + if (StringUtils.equals(data.getUserId(), user.getId())) { + userName = user.getUsername(); + break; + } + } + + if(StringUtils.isNotEmpty(userName)){ + data.setUserName(userName); + } + } + }); + + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml index 8c097fef3..107fe1a72 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml @@ -60,13 +60,12 @@ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index 8f2136160..12b491960 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -34,14 +34,7 @@ import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.ss.usermodel.HorizontalAlignment; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.VerticalAlignment; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -475,8 +468,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl idList = Arrays.asList(id.split(",")); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in("id",idList); + queryWrapper.lambda().in(ProjectRelatedPersonnel::getId, idList); records = list(queryWrapper); + disposeData(records); } else {//1个id records = queryById(id); @@ -486,8 +480,12 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl records,String cut) { //查标签内容里的责任领域数据 List sysDictItemValueList = sysDictItemMapper.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue()); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java index 25cd437e8..544412b38 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/ExcelUtil.java @@ -1,5 +1,6 @@ package com.jero.modules.project.util; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; @@ -40,6 +41,7 @@ import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; @Slf4j public class ExcelUtil { @@ -70,6 +72,33 @@ public class ExcelUtil { System.out.println("mmmmmmm"); } + /** + * 过滤出需要导出的 + * @param pkg + * @param params + * @return + * @throws Exception + */ + public static Map filterParams(SpreadsheetMLPackage pkg, Map params) throws Exception { + JaxbSmlPart smlPart = (JaxbSmlPart)pkg.getParts().get(new PartName("/xl/sharedStrings.xml")); // 获取所有sheet中的文本 + String wmlTemplateString = getWmlTemplateString(smlPart); + List placeholderList = new ArrayList<>(); + getAllPlaceholderElementFromObject(wmlTemplateString, 0, placeholderList); // 获取文档中所有占位符 + + Map paramsAfterFilter = new HashMap<>(); + List textValueList = placeholderList.stream().distinct().collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(textValueList)) { + for (Map.Entry map : params.entrySet()) { + String value = "${" + map.getKey() + "}"; + if (textValueList.contains(value)) { + paramsAfterFilter.put(map.getKey(), map.getValue()); + } + } + } + + return paramsAfterFilter; + } + public static void setRowHeight(WorksheetPart worksheetPart, int rIndex, double height, int cIndex, String text) { SheetData sheetData = worksheetPart.getJaxbElement().getSheetData(); @@ -370,8 +399,8 @@ public class ExcelUtil { // This seems to be about 5% faster than the Scanner approach wmlTemplateString = IOUtils.toString(is, "UTF-8"); - List placeholderList = new ArrayList<>(); - getAllPlaceholderElementFromObject(wmlTemplateString, 0, placeholderList); +// List placeholderList = new ArrayList<>(); +// getAllPlaceholderElementFromObject(wmlTemplateString, 0, placeholderList); } } catch (Exception e) { log.error(e.getMessage(), e); @@ -381,18 +410,18 @@ public class ExcelUtil { } } - private static List getAllPlaceholderElementFromObject(String wmlTemplateString, int offset, List placeholderList) { + private static void getAllPlaceholderElementFromObject(String wmlTemplateString, int offset, List placeholderList) { int startKey = wmlTemplateString.indexOf("${", offset); if (startKey == -1) - return null; + return; else { int keyEnd = wmlTemplateString.indexOf('}', startKey); String placeHolder = wmlTemplateString.substring(startKey, keyEnd + 1); if (isPlaceholder(placeHolder)) { placeholderList.add(placeHolder); } - return getAllPlaceholderElementFromObject(wmlTemplateString, keyEnd + 1, placeholderList); + getAllPlaceholderElementFromObject(wmlTemplateString, keyEnd + 1, placeholderList); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/WordUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/WordUtil.java index f6945d179..4d66e753e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/WordUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/util/WordUtil.java @@ -1,5 +1,6 @@ package com.jero.modules.project.util; +import cn.hutool.core.collection.CollectionUtil; import org.docx4j.Docx4J; import org.docx4j.TraversalUtil; import org.docx4j.XmlUtils; @@ -28,6 +29,7 @@ import java.io.OutputStream; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; public class WordUtil { private static final Logger log = LoggerFactory.getLogger(WordUtil.class); @@ -230,6 +232,34 @@ public class WordUtil { } + /** + * 过滤出需要导出的 + * @param wordMLPackage + * @param params + * @return + * @throws Exception + */ + public static Map filterParams(WordprocessingMLPackage wordMLPackage, Map params) throws Exception { + MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart(); + Docx4jUtils.cleanDocumentPart(mainDocumentPart); + Document wmlDoc = (Document)mainDocumentPart.getJaxbElement(); + Body body = wmlDoc.getBody(); + List textList = getAllPlaceholderElementFromObject(body); // 获取文档中所有占位符 + + Map paramsAfterFilter = new HashMap<>(); + List textValueList = textList.stream().map(Text::getValue).distinct().collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(textValueList)) { + for (Map.Entry map : params.entrySet()) { + String value = "${" + map.getKey() + "}"; + if (textValueList.contains(value)) { + paramsAfterFilter.put(map.getKey(), map.getValue()); + } + } + } + + return paramsAfterFilter; + } + /** * 发现docx文档包含占位符的文本节点 * 未解决问题:两个连着的相同占位符会识别成一个。如 原文:${key1}${key1} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index 4401d668d..e57924d30 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -132,14 +132,24 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportWriteEO.getId()); + iNewOpinionTemplateEOService.remove(wrapper); + //新增 List newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList(); - iNewOpinionTemplateEOService.updateBatchById(newOpinionTemplateEOList); + iNewOpinionTemplateEOService.saveBatch(newOpinionTemplateEOList); }else if (ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ - //新发布标准清单模板 + //新发布标准清单模板(先删除在新增) + //删除 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportWriteEO.getId()); + iNewStandardTemplateEOService.remove(lambdaQueryWrapper); + //新增 List newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList(); - iNewStandardTemplateEOService.updateBatchById(newStandardTemplateEOList); + iNewStandardTemplateEOService.saveBatch(newStandardTemplateEOList); } } @@ -536,10 +546,12 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl categoryList = sysCategoryService.list(); - String content = ""; - if(CutEnum.CN.getValue().equals(cut)){ - content = "主要内容"; - }else{ - content = "Content"; - } - WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 12, false, true, "Microsoft YaHei UI"); - //单独设置每页右侧的时间 - WordUtil.exportWordMonth(document, lawsMonthlyReportWriteEOS.get(0).getMonth(), null, ParagraphAlignment.RIGHT, 0, 12, false, true, "Microsoft YaHei UI"); -// WordUtil.exportWord(document, content, null, ParagraphAlignment.LEFT, 0, 12, false, true, "Microsoft YaHei UI"); + String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月"; + //生成页眉页脚 + WordUtil.exportHeardAndFoot(document,moth); + //生成标题 + WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18, false, true, "Blue Sky Noto Regular"); int oneCount = 1; for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : reportTitleOneList) { @@ -629,7 +636,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl新征求意见清单模板, 新发布标准清单模板 @@ -676,7 +683,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl int insertForeach(List list); - List queryByList(SarFileSplitItemsEOPage page); + List selectByInfoId(String value); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml index 29a65a59f..6512e6f1e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/mapper/xml/FileSplitItemsEOMapper.xml @@ -117,22 +117,10 @@ ) - - + select * + from sar_file_split_items + where info_id = #{value} - diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java index b16caa11d..5dc2bacf4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java @@ -84,5 +84,5 @@ public interface IFileSplitItemsEOService extends IService List> getHeader(String flag, String cut); - List queryByList(SarFileSplitItemsEOPage page); + List selectByInfoId(String infoId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java index fac750ad5..361e46e32 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/ISarFileSplitMenuEOService.java @@ -41,4 +41,7 @@ public interface ISarFileSplitMenuEOService extends IService int queryByCount(SarFileSplitMenuEOPage page); List queryByPage(SarFileSplitMenuEOPage page); + + + List queryByInfoId(String infoId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 132bc2a02..757e76a96 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -72,6 +72,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.mock.web.MockMultipartFile; @@ -3734,12 +3735,11 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl queryByList(SarFileSplitItemsEOPage page){ - return dao.queryByList(page); + public List selectByInfoId(String infoId){ + return dao.selectByInfoId(infoId); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java index b252a40fb..660eb7c95 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.split.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper; @@ -141,4 +142,11 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl queryByInfoId(String infoId) { + SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage(); + page.setInfoId(infoId); + return dao.queryByList(page); + } + } diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml index d8af54a19..512e14819 100644 --- a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -407,6 +407,11 @@ people: # appSecret CN PROD版 secret: 7C3F03170E3ea489df04Ce8DEC7Df4f7 cronJobIsOpen: false + + # appSecret EU PROD版 + appIdEU: 1000233 + secretEU: 32172576EB3a6fd4d483de11C6f60828 + hostEU: http://napoleon-eu.nioint.com ## Feishu Feishu: # 测试 diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/static/home/weilai.png b/jero-boot/jero-boot-single-startup/src/main/resources/static/home/weilai.png new file mode 100644 index 000000000..a94eaf653 Binary files /dev/null and b/jero-boot/jero-boot-single-startup/src/main/resources/static/home/weilai.png differ diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index b1946fe76..591446f6f 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -13,7 +13,7 @@ module.exports = { userStatues: 'User Status', normal: 'Normal', frozen: 'Frozen', - reset: 'Reset', + reset: 'Clear', putAway: 'Put Away', open: 'More', addUser: 'Add User', @@ -89,13 +89,13 @@ module.exports = { VersionNotSupported: 'Version Not Supported', SaveQueryCriteria: 'Save Search Conditions', roleName: 'Role Name', - newRole: 'New Role', + newRole: 'Create New Role', RoleManagement: 'Role Management', toGrantAuthorization: 'Authorized', newUser: 'New User', ExistingUsers: 'Existing Users', total: 'Total', - strip: 'Data', + strip: 'Items', RoleCode: 'Role Code', createTime: 'Creation Time', userName: 'User Name', @@ -276,7 +276,7 @@ module.exports = { AggregateRouting: 'Aggregated Route', OpenMode: 'Open Mode', external: 'External', - inside: 'Inside', + inside: 'Internal', enterMenuTitle: 'Please enter the menu title', enterAuthorizationPolicy: 'Please enter authorization policy', AuthorizationIDExists: 'Authorization ID already exists', @@ -355,7 +355,7 @@ module.exports = { templateDownload: 'Download Template', textInformation: 'Document Files', relatedInformation: 'Relevant Information', - RetrieveFiles: 'Select Stored File', + RetrieveFiles: 'Retrieve Library File', SplitText: 'Split Library File', ImportResults: 'Import Split Results', copy: 'Copy', @@ -368,7 +368,7 @@ module.exports = { clickUpload: 'Click To Upload', viewUploadedFiles: 'View Uploaded Files', standardSelection: 'Standard Selection', - Collection: 'Add To Collection', + Collection: 'Collect', CancelCollection: 'Delete Collection', deleteLib: 'Delete', subscribe: 'Subscribe', @@ -404,12 +404,12 @@ module.exports = { LabelContentManagement: 'Tag Content Management', InputBoxType: 'Input Box Type', DropDownType: 'Drop Down Type', - ExhibitionAreaManagement: 'Display Area Management', + ExhibitionAreaManagement: 'Display Management', NewLabelItem: 'Newly Added Tag Item', editLabelItem: 'Edit Tag Item', NodeQuickLookup: 'Node Quick Lookup', - AreAllLabelsRead: 'Are All Labels Read', - AllLabelsRead: 'Labels Read', + AreAllLabelsRead: 'Are All Mark as Read', + AllLabelsRead: 'Mark as Read', SubscriptionNotification: 'Subscription Notification', warningInformation: 'Warning Information', ForwardPush: 'Forward Push', @@ -471,11 +471,11 @@ module.exports = { charactersLength1to300: '1 - 300 characters in length', OnlyOneSelected: 'Only one piece of data can be selected', OnlyPDF: 'Only PDF files can be imported', - open: 'More', - away: 'Less', + open: 'Expand', + away: 'Collapse', toDoProcess: 'To Do', processDone: 'Completed', - sentProcess: 'Initiated', + sentProcess: 'Create', monitoringProcess: 'Monitor', ConfirmDeployment: 'Confirm Deployment?', terminationProcess: 'Termination Process', @@ -501,10 +501,10 @@ module.exports = { ProcessType: 'Process Type', AddProcess: 'Add Process', RelatedItems: 'Relevant Project', - Sponsor: 'Initiator', + Sponsor: 'Creator', CurrentProcessor: 'Current Processor', LastProcessor: 'Last Processor', - ProcessingTime: 'Operation Time', + ProcessingTime: 'Complete Date', cutoffTime: 'Due Date', ProcessStatus: 'Process Status', CompletionTime: 'Completion Time', @@ -603,14 +603,14 @@ module.exports = { verificationAndConformityconfirmation: 'Validation Compliance Check', StandardImplementationDate: 'New Type Execution Date', regulatoryEngineer: 'Regulation Engineer', - certifiedEngineer: 'Homologation Engineer', + certifiedEngineer: 'Homo Engineer', regulatoryEngineerOrcertifiedEngineer: 'Regulation Engineer Or Homologation Engineer', - engineeringInterfacePerson: 'Engineering Interface', + engineeringInterfacePerson: 'Eng. Interface', typeOfDeliverables: 'Deliverable Type', deliverableTemplate: 'Deliverable Template', - entryName: 'Project', + entryName: 'Project Name', targetMarket: 'Target Market', - projectStatus: 'Status', + projectStatus: 'Development', StudioEngineer: 'R&H Studio', CertificationTime: 'Certification Time', NTplatform: 'NT Platform', @@ -671,7 +671,7 @@ module.exports = { standardName: 'Standard Name', initiateListConfirmation: 'Initiate List Confirmation', initiateTaskConfirmation: 'Initiate Task Confirmation', - alteration: 'Change', + alteration: 'Modify', fixedPlate: 'Fix the version ', taskAffirmStatus: 'Task Confirmation Status', taskAffirm: 'Task Confirmation', @@ -686,12 +686,12 @@ module.exports = { confirmOverrule: 'Confirm Overrule', The: 'The', submitted: 'Data has been submitted and cannot be submitted again', - basicInformationOfParameters: 'Project Basic Information', + basicInformationOfParameters: 'General Info', regulatoryCertificationTaskPlan: 'Regulation/Homologation Task Plan', bringInRelevantPersonnel: 'Bring In Relevant Personnel', confirmBringInRelevantPersonnel: 'Confirm Bring in relevant personnel', problemType: 'Issue Type', - projectDetails: 'Project Info', + projectDetails: 'Project Details', listOfRegulations: 'Regulation List', taskList: 'Task List', TaskParameterCollection: 'Task Parameter Collection', @@ -725,7 +725,7 @@ module.exports = { timeOperation: 'You have permission to operate this button.', NiOnumberis: 'NiO number is', NoOperationPermissionForthisbutton: 'No Operation permission for this button', - Attentionfreeze: 'Note: after freezing, the frozen configuration content cannot be edited.', + Attentionfreeze: 'Note: Note: The item can no longer be configured after its frozen. ', Filledperson: 'The project contact person has not been filled in. Please fill in the project contact person before issuing and collecting.', Datastatusis: 'Datastatusis', Dropdownradio: 'Drop Down Radio', @@ -734,7 +734,7 @@ module.exports = { positiveInteger: 'Positive Integer', // 参数收集开始 MaintainConfigureInfo: 'Maintain Configuration Information', - ParameteItemCollectionList: 'Parameter item collection list', + ParameteItemCollectionList: 'Parameter Collection List', ParameterViewPage: 'Parameter View Page', Areyousureparameteritems: 'Are you sure to submit the selected parameter items?', Theselectedconfiguration: 'The configuration can only be added when the parameter items in the parameter list are to be collected or changed', @@ -766,27 +766,27 @@ module.exports = { operatethisbutton: 'You do not have permission to operate this button', ParameterLibrary: 'Parameter Library', referenceparameter: 'Reference Parameter', - tempSave: 'Temp Save', - Assignedby: 'Assignedby', - CompulsoryWithdrawal: 'CompulsoryWithdrawal', - SynchronousReportLibrary: 'Synchronous Report Library', + tempSave: 'Save', + Assignedby: 'Assign', + CompulsoryWithdrawal: 'Revoke', + SynchronousReportLibrary: 'Sync to the Library', FreezeConfiguration: 'Freeze Configuration', - distributionAndCollection: 'Distribution And Collection', + distributionAndCollection: 'Distribute & Collect', OneclickCollection: 'One-click Collection', deleteConfiguration: 'Delete Configuration', addConfiguration: 'Add Configuration', - electricMachinery: 'ElectricMachinery', + electricMachinery: 'E-motor', Battery: 'Battery', Model: 'Model', configurationName: 'Configuration Name', historicalVersion: 'Historical Version', - configure: 'Configure', + configure: 'Configuration', parameter: 'Parameter', changeExtension: 'Change Extension', addDetailList: 'Add', detailedList: 'DetailedList', copyParamDetailList: 'Copy Parameter List', - collectionCompletionTime: 'Collection Completion Time', + collectionCompletionTime: 'Collection Completed', parameterTemplateName: 'Parameter Template Name', onlyThree: 'enter only letters, numbers, hyphens (-), left slashes, and Spaces', templateName: 'Template Name', @@ -794,14 +794,14 @@ module.exports = { templateCopy: 'Template Copy', NiOnumberalreadyexists: 'NiO number already exists, please replace NiO number', attachmentTemplate: 'Attachment Template', - controlAlternatives: 'Control Alternatives', - controlVerification: 'Control Verification', - controlType: 'Control Type', + controlAlternatives: 'Control Component', + controlVerification: 'Validate Component', + controlType: 'Control Component', certificationCategory: 'Certification Category', parameterBatch: 'Parameter Batch', releaseVersion: 'Release Version', parameterTemplate: 'Parameter Template', - contentDescription: 'Content Description', + contentDescription: 'Description', WhetherMergeParameters: 'Whether to merge parameters', merge: 'Merge', nonjoinder: 'Nonjoinder', @@ -819,10 +819,10 @@ module.exports = { OperationNode: 'Operation Node', taskDataConfirmation: 'Please select the data whose list confirmation status is accepted and task confirmation status is not initiated or rejected, and the regulatory engineer and certification engineer are not empty', selectInquiry: 'Select Inquiry', - sendBack: 'Send Back', + sendBack: 'Reject', taskConfirmationProcess: 'Task confirmation process', - notFinished: 'To be completed', - Finished: 'Completed', + notFinished: 'Assigned', + Finished: 'Complete', theRequirementst: 'The engineering interface person confirms the compliance requirements', dataLoading: 'Data loading...', Submitting: 'Submitting', @@ -843,7 +843,7 @@ module.exports = { technicalEvaluationResults: 'Technical Evaluation Results', engineeringConfirmation: 'Engineering Deliverables', feedbackFromTheEngineer: 'Engineer Comment', - completedBy: 'SdtPeople', + completedBy: 'Filled by', completedTime: 'Completed Time', replyFromProjectContactPerson: 'Assignee Reply', answer: 'Answer', @@ -884,10 +884,10 @@ module.exports = { toTrack: 'To be tracked', Launch: 'Launch', maintainProgress: 'Maintain', - redSchedule: 'Red: not in conformity, and there is no acceptable scheme and schedule', - yellowSchedule: 'Yellow: non conformance / to be tracked, with acceptable scheme and schedule', - greenRequirements: 'Green: confirm that it meets or meets the current requirements', - blueUndeterminedState: 'Blue: undetermined state', + redSchedule: 'Red: unqualified without available solutions or timeline. ', + yellowSchedule: 'Yellow: unqualified and with available solutions and timeline. ', + greenRequirements: 'Green: qualified and confirmed.', + blueUndeterminedState: 'Blue: pending', authenticationMessage: 'Homo Parameter Task', taskRegulationComplianceTask: 'Regulation Compliance Task', accept: 'Accept', @@ -957,14 +957,14 @@ module.exports = { reportNotUploaded: 'Report not uploaded', position: 'Position', // 认证权限状态 - CollectionInitiated: 'Wait Collect', - handledInterface: 'Wait Sdt', - ReturnedPerson: 'Sdt Back', - completed: 'Wait Fill', - Filledreturn: 'Dre Back', - Submitted: 'Submit', - ReturnedEngineer: 'Cert Back', - SynchronizedLibrary: 'Sync Report', + CollectionInitiated: 'To be collected', + handledInterface: 'To be processed by eng. interface', + ReturnedPerson: 'Rejected by eng. interface', + completed: 'To be filled', + Filledreturn: 'Rejected by the applicant', + Submitted: 'Submitted', + ReturnedEngineer: 'Rejected by homo engineer', + SynchronizedLibrary: 'Synced to library', Statusis: 'Statusis', toHavePermission: 'To Have Permission', and: 'And', @@ -1050,12 +1050,12 @@ module.exports = { NNiONumber: 'NIO Number', ParameterNo: 'Number', NRequired: 'Is Must', - NParameterName: 'Params Name', + NParameterName: 'Para Name', NtechnicalField: 'Tech field', NparameterBatch: 'Params Batch', - NareaOfResponsibility: 'Duty Territory', + NareaOfResponsibility: 'Responsible Field', NParameterDescription: 'Description', - NcertificationCategory: 'Cert Category', + NcertificationCategory: 'Cert', NcontrolType: 'Control Type', NcontrolVerification: 'Control Verify', NcontrolAlternatives: 'Control Values', @@ -1092,7 +1092,7 @@ module.exports = { pleaseSelectinitiatedOrRejected: 'Please select the data whose list confirmation status is not initiated or rejected', TheEngineerAndCertification: 'The regulatory engineer and Certification Engineer of cannot be empty', theResponsiblePersonAndDeadlineClank: 'The responsible person and deadline of cannot be blank', - bringInTheProjectInterface: 'Bring in the project interface', + bringInTheProjectInterface: 'Assign to Owner', theCurrentListSaved: 'The current list data has been submitted and cannot be temporarily saved', defaultTemplate: 'Default Template', newRequestCommentListTemplate: 'New request for comment list template', @@ -1218,8 +1218,8 @@ module.exports = { documentTitle: 'Document Title', bringInDocumentInformation: 'Bring in document information', thereWhichCannotDeleted: 'There are sub headings under this title, which cannot be deleted', - sdt: 'sdt', - dre: 'dre', + sdt: 'Sdt', + dre: 'Dre', applicableInstructionsMarketList: 'Applicable instructions of market list', pleaseSelectTheDataCompared: 'Please select the data to be compared', problemLabel: 'Problem label', @@ -1235,7 +1235,24 @@ module.exports = { addComparison: 'Add comparison', showOrNot: 'Show or not', comparisonMarket: 'Comparison Market', - share: 'share', + share: 'Share', simplifiedChinese:'Simplified Chinese', uploadOnly:'Upload only', + turnOnAutoMatch:'Turn on auto match', + Adjustareasofresponsibility:'Adjust areas of responsibility', + regulatoryTechnicalAssessment:'Regulatory Technical Assessment', + punctuationmark:'You can only enter English punctuation marks except the # sign and commas', + created: 'Created', + updated:'Updated', + OpenOne:'Open', + Privacy:'Privacy', + Paraname: 'Para Name', + Parabatch: 'Para Batch', + freeze:'Please select the configuration you want to freeze', + optionDropDownBox:'Option drop - down box', + attachmentUpload:'file', + textInput:'Text Input', + deleteNode:'If any file information exists, it will be deleted', + HaveReleased:'Have released', + forward:'Forward', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 85ff24ea2..6cdb9acde 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1341,4 +1341,21 @@ module.exports = { share:'分享', simplifiedChinese:'简体中文', uploadOnly:'只能上传', + turnOnAutoMatch:'打开自动匹配', + Adjustareasofresponsibility:'调整责任领域', + regulatoryTechnicalAssessment:'法规技术评估', + OpenOne:'公开', + Privacy:'私密', + punctuationmark:'只能输入除#号和逗号外的英文标点符号', + created: '创建时间', + updated:'更新时间', + optionDropDownBox:'下拉选择', + attachmentUpload:'附件上传', + textInput:'文本输入', + Paraname: '参数名称', + Parabatch: '参数批次', + freeze:'请选择冻结配置', + deleteNode:'若有文件信息将同步删除', + HaveReleased:'已发布', + forward:'转发', } \ No newline at end of file diff --git a/jero-web/src/components/AdjustareaSofrespon/index.vue b/jero-web/src/components/AdjustareaSofrespon/index.vue new file mode 100644 index 000000000..f88517b41 --- /dev/null +++ b/jero-web/src/components/AdjustareaSofrespon/index.vue @@ -0,0 +1,300 @@ + + + + + + + \ No newline at end of file diff --git a/jero-web/src/components/CollectionTypeDisabled/index.vue b/jero-web/src/components/CollectionTypeDisabled/index.vue index 2404a2e38..f5852220f 100644 --- a/jero-web/src/components/CollectionTypeDisabled/index.vue +++ b/jero-web/src/components/CollectionTypeDisabled/index.vue @@ -650,6 +650,7 @@ item.dataValue = r.target.value } }) + console.log(this.detailDate) }, uploadSuccess(data) { let attIdList = [] @@ -672,6 +673,7 @@ item.dataValue = attIdList.join(',') } }) + this.$emit('update:detailDate', this.detailDate); }, clickButtonToUpload(item) { // if (item.isLock == '1') { @@ -690,9 +692,9 @@ } }, watch: { - detailDate(newold, oldold) { - console.log(newold, oldold, 'll') - }, + // detailDate(newold, oldold) { + // console.log(newold, oldold, 'll') + // }, formInline: { handler(newOld, oldval) { console.log(newOld, oldval, 'll') diff --git a/jero-web/src/components/SelectedBy/index.vue b/jero-web/src/components/SelectedBy/index.vue new file mode 100644 index 000000000..7ef8d1da8 --- /dev/null +++ b/jero-web/src/components/SelectedBy/index.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/jero-web/src/components/TaskCutOffTime/index.vue b/jero-web/src/components/TaskCutOffTime/index.vue index 30a85b887..691d36603 100644 --- a/jero-web/src/components/TaskCutOffTime/index.vue +++ b/jero-web/src/components/TaskCutOffTime/index.vue @@ -17,9 +17,8 @@ {{$t('cutoffTime')}} - + \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseModel.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseModel.vue index 986380fcd..9f4811cac 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseModel.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseModel.vue @@ -24,7 +24,12 @@ :loading="loading"> {{$t('edit')}} - {{$t('delete')}} + {{$t('delete')}} + + + {{$t('optionDropDownBox')}} + {{$t('attachmentUpload')}} + {{$t('textInput')}}
@@ -51,7 +56,7 @@ + + \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenance.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenance.vue index 5b00c4acc..7fbd25f11 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenance.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenance.vue @@ -24,7 +24,7 @@ :loading="loading"> {{$t('edit')}} - {{$t('delete')}} + {{$t('delete')}}
@@ -46,7 +46,7 @@
+ @optionMaintenanceAddForm="optionMaintenanceAddForm"/>
@@ -62,8 +62,8 @@ data() { return { url: { - list: '', - deleteOne: '' + list: '/problemKnowledgeBase/countryCardTempItemEO/page', + deleteOne: '/problemKnowledgeBase/countryCardTempItemEO/deleteBatch' }, visible: false, selectedRowKeys: [], @@ -72,23 +72,27 @@ pageNo: 1, pageSize: 10, total: 0, + dataId: '', columns: [ { title: this.$t('name'), - dataIndex: 'name', + dataIndex: 'itemText', align: 'center', + width: 200, ellipsis: true }, { title: this.$t('enName'), dataIndex: 'enName', align: 'center', + width: 200, ellipsis: true }, { title: this.$t('describe'), - dataIndex: 'describe', + dataIndex: 'description', align: 'center', + width: 260, ellipsis: true }, { @@ -104,8 +108,11 @@ mounted() { }, methods: { - getData() { + getData(id) { + this.dataId = id + this.pageNo = 1 this.visible = true + this.replacePage() }, handleCancel() { this.visible = false @@ -115,9 +122,10 @@ this.replacePage() }, addLabelClick() { - this.$refs.optionMaintenanceAddRef.add() + this.$refs.optionMaintenanceAddRef.add(this.dataId) }, edit(val) { + val.dataId = this.dataId this.$refs.optionMaintenanceAddRef.edit(JSON.parse(JSON.stringify(val))) }, deleteData(val) { @@ -125,10 +133,10 @@ this.$confirm({ content: _this.$t('ConfirmDelete'), onOk() { - deleteAction(_this.url.deleteOne, { id: val.id }).then((res) => { + deleteAction(_this.url.deleteOne, { ids: val.id }).then((res) => { if (res.success) { _this.$message.success(_this.$t('OperationSuccessful')) - _this.getList() + _this.replacePage() } else { _this.$message.warning(_this.$t('operationFailed')) } @@ -148,10 +156,11 @@ replacePage() { let query = { pageNo: this.pageNo, - pageSize: this.pageSize + pageSize: this.pageSize, + countryCardTempId: this.dataId } this.loading = true - postAction(this.url.list, query).then((res) => { + getAction(this.url.list, query).then((res) => { if (res.success) { this.dataList = res.result.records || [] this.total = res.result.total diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenanceAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenanceAdd.vue index 8b6f1d610..64bdf5967 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenanceAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/optionMaintenanceAdd.vue @@ -17,9 +17,9 @@ {{$t('name')}} - + @@ -35,28 +35,28 @@ - - -
-
- * - {{$t('DisplayOrder')}} -
- - - -
-
-
+ + + + + + + + + + + + + + + +
@@ -64,11 +64,11 @@ {{$t('describe')}}
- + + v-model.trim="formInline.description" :rows="4"/>
@@ -78,7 +78,7 @@ @@ -381,4 +563,13 @@ .box-button { height: 38px; } + + .submit-button { + width: 100%; + margin-top: 20px; + text-align: right; + padding: 0 32px; + box-sizing: border-box; + } + \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue index 6036c6576..8c2c3ff7c 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue @@ -6,7 +6,7 @@ {{$t('searchContent')}} + v-model="searchStr"> {{$t('query')}} {{$t('reset')}} @@ -36,7 +36,7 @@ -
+
  • @@ -50,13 +50,8 @@
    - -
    -
  • @@ -76,6 +71,7 @@ @showSizeChange="SizeChange" /> + {{$t('dataLoading')}} @@ -95,11 +91,12 @@ checkboxText: [], conList: [], total: 0, + loading: false, pageSize: 10, downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download', pageNo: 1, url: { - getInfoList: 'search/document/getFullTextInfoList' + getInfoList: '/problemKnowledgeBase/problemKnowledgeBaseEO/page' } } }, @@ -108,10 +105,13 @@ }, methods: { onSearch() { - + this.pageNo = 1 + this.getList() }, ResetSearch() { - + this.searchStr = '' + this.pageNo = 1 + this.getList() }, classificationClick() { this.$refs.classificationMaintenanceModelRef.getData() @@ -124,11 +124,14 @@ window.open(newUrl.href, '_blank') }, newlyAddedClick() { - let newUrl = this.$router.resolve({ - path: '/problemKnowledgeBaseAdd', - query: {} + this.$router.push({ + path: '/problemKnowledgeBaseAdd' }) - window.open(newUrl.href, '_blank') + // let newUrl = this.$router.resolve({ + // path: '/problemKnowledgeBaseAdd', + // query: {} + // }) + // window.open(newUrl.href, '_blank') }, pageOnChange(page, pageSize) { this.pageNo = page @@ -142,21 +145,27 @@ getList() { let query = { pageNo: this.pageNo, - pageSize: this.pageSize + pageSize: this.pageSize, + searchStr: this.searchStr } - 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 } }) }, titleClick(item) { let newUrl = this.$router.resolve({ path: '/problemKnowledgeBaseView', - query: {} + query: { + id: item.id + } }) window.open(newUrl.href, '_blank') } @@ -207,8 +216,7 @@ } .box-content-left { - width: 60%; - float: left; + width: 100%; font-size: 14px; font-weight: 400; color: #040B29; @@ -216,8 +224,7 @@ } .box-content-right { - width: 40%; - float: left; + width: 100%; display: inline-block; text-align: right; margin-top: 20px; diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue index 628bdec05..0a170f8d7 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue @@ -11,6 +11,17 @@
    +
    +
    +
    + {{$t('searchContent')}} +
    + + {{$t('query')}} + {{$t('reset')}} +
    +
    @@ -25,44 +36,41 @@
    - - -
    -
    -
    -
    -
    -
    - 暂无数据 -
    -
    - +
    + 暂无数据 +
    +
    + +
    + {{$t('dataLoading')}} -