diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index 656fbb24f..4fa0f81cf 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -840,3 +840,33 @@ ALTER TABLE `laws_weilai`.`problem_knowledge_base` -- 问题知识库 字段类型修改 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-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java index 5dffa3509..fd2ac0176 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportDetailEOServiceImpl.java @@ -726,16 +726,6 @@ 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("/","_"); @@ -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/service/impl/ParamsInfoEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/impl/ParamsInfoEOServiceImpl.java index 176b3acdd..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 @@ -246,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删除 * 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 cf51a5f4f..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 @@ -201,7 +201,7 @@ public class SyncDataServiceImpl implements ISyncDataService{ pageSum += 1; } //循环查询统一认证系统所有账户信息(从第二页开始) - for(int page = 1; page < 2; page++){ + for(int page = 1; page < pageSum; page++){ path = "/people/v1/employee/all-info"; queryStr = "app_id=" + appId + "&hash_type=sha256&limit=100&offset=" + (page*100); response = getResultDataOfGet(path, queryStr); 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 851025236..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 @@ -194,8 +194,21 @@ public class CountryCardManageReleaseEOController extends JeroController> getApplyMarketList() { - Result> result = this.countryCardManageReleaseEOService.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/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/entity/CountryCardManageReleaseDetailEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseDetailEO.java index f8ceb17fd..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,6 +1,8 @@ package com.jero.modules.problemKnowledgeBase.entity; import java.io.Serializable; +import java.util.List; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -70,7 +72,7 @@ public class CountryCardManageReleaseDetailEO implements Serializable { /**标签名称**/ @TableField(exist = false) @ApiModelProperty(value = "标签名称") - private java.lang.String countryCardTempIdName; + private java.lang.String lableName; /**描述*/ @Excel(name = "描述", width = 15) @@ -89,4 +91,8 @@ public class CountryCardManageReleaseDetailEO implements Serializable { @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 1d3dbfd01..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 @@ -83,4 +83,8 @@ public class CountryCardManageReleaseEO implements Serializable { @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/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/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/ICountryCardManageReleaseEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java index 90fd6f872..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 @@ -79,5 +79,7 @@ public interface ICountryCardManageReleaseEOService extends IService> getApplyMarketList(); + Result> getApplyMarketList(String queryFlag); + + List queryCountryCardManageReleaseByApplyMarkets(JSONObject params); } 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/impl/CountryCardManageReleaseDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseDetailEOServiceImpl.java index 0d26284a4..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 @@ -5,6 +5,7 @@ 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; @@ -35,6 +36,8 @@ public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl queryList(CountryCardManageReleaseDetailEO countryCardManageReleaseDetailEO, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseDetailEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); List result = this.list(queryWrapper); return result; } @@ -114,6 +118,11 @@ public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl 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; @@ -122,9 +131,24 @@ public class CountryCardManageReleaseDetailEOServiceImpl extends ServiceImpl 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 e39493645..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 @@ -6,10 +6,12 @@ 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; @@ -41,6 +43,8 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl 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())) { @@ -148,6 +158,27 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl 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); + } }); } } @@ -168,7 +199,7 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl> getApplyMarketList() { + public Result> getApplyMarketList(String queryFlag) { List result = new ArrayList<>(); //获取所有的适用地区 @@ -176,24 +207,59 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl countryCardManageReleaseEOList = this.list(); - 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; + + //如果查询标识是空,则是在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); + 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/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/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 9b92dc342..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 @@ -546,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) { @@ -639,7 +636,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl新征求意见清单模板, 新发布标准清单模板 @@ -686,7 +683,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl +
+ + + +
+ + +
+
+
+ {{$t('cancel')}} + {{$t('submit')}} +
+
+
+ + + + + \ No newline at end of file diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue index cd7fc3755..e3e4044bf 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardList.vue @@ -8,8 +8,17 @@
{{$t('applicableMarket')}}
- + + + + {{ item.title}} + + + @@ -89,15 +98,25 @@ return { queryParam: {}, conList: [], + applyMarketList: [], pageSize: 10, total: 0, pageNo: 1 } }, mounted() { - + this.getApplyMarketList() }, methods: { + getApplyMarketList() { + getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', { queryFlag: 'countryCard' }).then((res) => { + if (res.success) { + this.applyMarketList = res.result || [] + } else { + this.applyMarketList = [] + } + }) + }, searchQuery() { }, diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue index ec96f19d0..9e34a7f28 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardRelease.vue @@ -19,8 +19,10 @@
{{$t('applicableMarket')}}
- + @@ -28,8 +30,18 @@
{{$t('releaseStatus')}}
- + + + + {{ item.name}} + + +
@@ -74,8 +86,10 @@ {{!record.releaseStatus || record.releaseStatus == 'Draft' ? $t('release') :$t('withdraw')}} {{$t('edit')}} {{$t('delete')}} @@ -104,6 +118,7 @@ import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import countryCardReleaseModel from './countryCardReleaseModel' import countryCardReleaseAdd from './countryCardReleaseAdd' + import { mapGetters } from 'vuex' export default { name: 'countryCardRelease', @@ -114,8 +129,19 @@ data() { return { queryParam: {}, + releaseStatusList: [ + { + value: 'Draft', + name: this.$t('draft') + }, + { + value: 'Have released', + name: this.$t('HaveReleased') + } + ], loading: false, - dataSource: [{}], + dataSource: [], + selectedRowKeysRecord: [], total: 0, pageSize: 10, pageNo: 1, @@ -123,12 +149,13 @@ list: '/problemKnowledgeBase/countryCardManageReleaseEO/page', deleteBatch: '/problemKnowledgeBase/countryCardManageReleaseEO/deleteBatch' }, + userInfoQuery: {}, selectedRowKeys: [], columns: [ { title: this.$t('applicableMarket'), align: 'center', - dataIndex: 'applyMarket', + dataIndex: 'applyMarket_dictText', ellipsis: true }, { @@ -150,8 +177,10 @@ mounted() { document.title = 'Country Card-' + this.$t('managePublishing') this.getList() + this.userInfoQuery = this.userInfo() }, methods: { + ...mapGetters(['userInfo']), searchQuery() { this.pageNo = 1 this.getList() @@ -197,8 +226,9 @@ } }) }, - onSelectChange(value) { + onSelectChange(value, record) { this.selectedRowKeys = value + this.selectedRowKeysRecord = record }, newlyAddedClick() { this.$refs.countryCardReleaseAddRef.add() @@ -212,16 +242,27 @@ this.$confirm({ content: _this.$t('ConfirmBatchDeletion'), onOk() { - let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys)) - getAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => { - if (res.success) { - _this.$message.success(_this.$t('OperationSuccessful')) - _this.selectedRowKeys = [] - _this.getList() - } else { - _this.$message.warning(res.message) + let idList = [] + let selectedRowKeysRecord = JSON.parse(JSON.stringify(_this.selectedRowKeysRecord)) + for (let i = 0; i < selectedRowKeysRecord.length; i++) { + if (selectedRowKeysRecord[i].createBy == _this.userInfo().username && + selectedRowKeysRecord[i].releaseStatus == 'Draft') { + idList.push(selectedRowKeysRecord[i].id) } - }) + } + if (idList.length > 0) { + deleteAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => { + if (res.success) { + _this.$message.success(_this.$t('OperationSuccessful')) + _this.selectedRowKeys = [] + _this.getList() + } else { + _this.$message.warning(res.message) + } + }) + } else { + _this.$message.warning(_this.$t('doNotHavePermissionDeleteData')) + } } }) } else { diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseAdd.vue index db4a9d6a0..a2ed72151 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/countryCardReleaseAdd.vue @@ -10,7 +10,7 @@ :visible="visible" style="height: 100%;overflow: auto;padding-bottom: 53px;"> - +
@@ -20,6 +20,7 @@
+ + +
+
+ {{$t('applicableMarket')}} +
+ + + +
+
+
{ + this.formInline = {} + this.$refs.ruleForm.clearValidate() + }) this.title = this.$t('newlyAdded') this.replacePage() this.getApplyMarketList() }, edit(row) { this.visible = true + this.$nextTick(() => { + this.formInline = row + this.formInline = { ...this.formInline } + this.$refs.ruleForm.clearValidate() + }) this.title = this.$t('edit') this.editReplacePage(row) - this.getApplyMarketList() }, getApplyMarketList() { getAction('/problemKnowledgeBase/countryCardManageReleaseEO/getApplyMarketList', {}).then((res) => { @@ -194,20 +220,29 @@ this.$refs.ruleForm.validate(valid => { if (valid) { let url = '' + let content = [] if (this.title == this.$t('newlyAdded')) { url = this.url.add + this.dataList.forEach(res => { + content.push({ + countryCardTempId: res.id, + description: res.description, + content: res.content + }) + }) } else { url = this.url.edit + this.dataList.forEach(res => { + content.push({ + countryCardTempId: res.id, + description: res.description, + content: res.content, + id: res.id + }) + }) } this.confirmLoading = true - let content = [] - this.dataList.forEach(res => { - content.push({ - countryCardTempId: res.id, - description: res.description, - content: res.content - }) - }) + let query = { countryCardManageReleaseDetailEOList: content, applyMarket: this.formInline.applyMarket @@ -240,7 +275,7 @@ }, editReplacePage(row) { this.loading = true - getAction('/problemKnowledgeBase/countryCardManageReleaseDetailEO/list', { editReplacePage: row.id }).then((res) => { + getAction('/problemKnowledgeBase/countryCardManageReleaseDetailEO/list', { countryCardManageReleaseId: row.id }).then((res) => { if (res.success) { this.dataList = res.result || [] this.loading = false diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue index 6e291a5a3..a50d4e6f7 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue @@ -36,7 +36,7 @@
-
+
  • @@ -215,8 +215,7 @@ } .box-content-left { - width: 60%; - float: left; + width: 100%; font-size: 14px; font-weight: 400; color: #040B29; @@ -224,8 +223,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/problemKnowledgeBaseView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue index 1419c58cc..232ad441e 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseView.vue @@ -8,6 +8,12 @@ {{$t('applicableInstructionsMarketList')}}
    +
    +
    + + {{$t('forward')}} +
    +
  • @@ -77,18 +83,21 @@
    +