From a2c03aa59a798487ca9dfcab9885a71cecd075de Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 27 Apr 2022 18:46:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A4=E8=AF=81-=E5=8F=82=E6=95=B0=E9=A1=B9?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=B8=AD=E8=8B=B1=E6=96=87=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/config/AutoPoiDictConfig.java | 28 +- .../controller/ParamsInfoEOController.java | 2 + .../cert/template/entity/ParamsInfoEO.java | 4 +- .../template/mapper/ParamsInfoEOMapper.java | 3 + .../mapper/xml/ParamsInfoEOMapper.xml | 41 +++ .../service/IParamsInfoEOService.java | 4 +- .../service/impl/ParamsInfoEOServiceImpl.java | 319 +++++++++++++----- .../cert/template/vo/ParamsInfoEnExport.java | 20 +- .../system/mapper/xml/SysDictMapper.xml | 2 +- .../impl/FileSplitItemsEOServiceImpl.java | 2 + 10 files changed, 325 insertions(+), 100 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/AutoPoiDictConfig.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/AutoPoiDictConfig.java index 52608ae03..1b249c233 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/AutoPoiDictConfig.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/AutoPoiDictConfig.java @@ -4,6 +4,7 @@ import lombok.extern.slf4j.Slf4j; import com.jero.common.api.CommonAPI; import com.jero.common.system.vo.DictModel; import com.jero.common.util.oConvertUtils; +import org.apache.commons.lang3.StringUtils; import org.jeecgframework.dict.service.AutoPoiDictServiceI; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -31,7 +32,8 @@ public class AutoPoiDictConfig implements AutoPoiDictServiceI { /** * 通过字典查询easypoi,所需字典文本 - * + * + * 特殊说明:英文文本对应dicCode格式:dicCode_en,且dicTable为空 * @Author:scott * @since:2019-04-09 * @return @@ -42,7 +44,11 @@ public class AutoPoiDictConfig implements AutoPoiDictServiceI { List dictList = null; // step.1 如果没有字典表则使用系统字典表 if (oConvertUtils.isEmpty(dicTable)) { - dictList = commonAPI.queryDictItemsByCode(dicCode); + if("en".equals(dicCode.substring(dicCode.lastIndexOf("_")+1))) { + dictList = commonAPI.queryDictItemsByCode(dicCode.substring(0, dicCode.lastIndexOf("_"))); + } else { + dictList = commonAPI.queryDictItemsByCode(dicCode); + } } else { try { dicText = oConvertUtils.getString(dicText, dicCode); @@ -51,9 +57,21 @@ public class AutoPoiDictConfig implements AutoPoiDictServiceI { log.error(e.getMessage(),e); } } - for (DictModel t : dictList) { - if(t!=null){ - dictReplaces.add(t.getText() + "_" + t.getValue()); + if("en".equals(dicCode.substring(dicCode.lastIndexOf("_")+1))) { // 显示英文文本 + for (DictModel t : dictList) { + if (t != null) { + if(StringUtils.isBlank(t.getTextEn())){ // 字典值对应英文文本为空,则显示中文 + dictReplaces.add(t.getText() + "_" + t.getValue()); + } else { + dictReplaces.add(t.getTextEn() + "_" + t.getValue()); + } + } + } + } else { // 显示中文文本 + for (DictModel t : dictList) { + if (t != null) { + dictReplaces.add(t.getText() + "_" + t.getValue()); + } } } if (dictReplaces != null && dictReplaces.size() != 0) { 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 6c1d94d50..56bb99597 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 @@ -63,6 +63,8 @@ public class ParamsInfoEOController extends JeroController page = new Page(pageNo, pageSize); IPage pageList = paramsInfoEOService.page(page, queryWrapper); +// List rows = pageList.getRecords(); +// paramsInfoEOService.getTreeDictItemText(rows, cut); return Result.OK(cut, pageList); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/entity/ParamsInfoEO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/entity/ParamsInfoEO.java index ba863e01c..6c1162f49 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/entity/ParamsInfoEO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/entity/ParamsInfoEO.java @@ -77,8 +77,8 @@ public class ParamsInfoEO implements Serializable { private String paramsName; /**技术领域*/ - @Excel(name = "*技术领域", width = 15, dicCode = "technology_territory") - @Dict(dicCode = "technology_territory") + @Excel(name = "*技术领域", width = 15) +// @Dict(dicCode = "technology_territory") @ApiModelProperty(value = "技术领域") private String technologyTerritory; diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/ParamsInfoEOMapper.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/ParamsInfoEOMapper.java index 95bce2855..586d63afa 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/ParamsInfoEOMapper.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/ParamsInfoEOMapper.java @@ -1,6 +1,7 @@ package com.jero.modules.cert.template.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.cert.template.vo.ParamsInfoEnExport; import com.jero.modules.cert.template.vo.ParamsInfoVO; import com.jero.modules.cert.template.entity.ParamsInfoEO; import org.apache.ibatis.annotations.Param; @@ -16,4 +17,6 @@ import java.util.List; public interface ParamsInfoEOMapper extends BaseMapper { List selectListWithCert(@Param("paramsInfoVO") ParamsInfoVO paramsInfoVO); + + List selectListWithCertForEnExport(@Param("paramsInfoVO") ParamsInfoVO paramsInfoVO); } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/xml/ParamsInfoEOMapper.xml b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/xml/ParamsInfoEOMapper.xml index 37b75a019..3867e87ed 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/xml/ParamsInfoEOMapper.xml +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/mapper/xml/ParamsInfoEOMapper.xml @@ -54,6 +54,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pi.id as id, pi.create_by as create_by, @@ -112,4 +143,14 @@ + + \ No newline at end of file diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/IParamsInfoEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/IParamsInfoEOService.java index 8229dbd75..cea2cdb3b 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/IParamsInfoEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/service/IParamsInfoEOService.java @@ -1,8 +1,8 @@ package com.jero.modules.cert.template.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.jero.modules.cert.template.vo.ParamsInfoVO; import com.jero.modules.cert.template.entity.ParamsInfoEO; +import com.jero.modules.cert.template.vo.ParamsInfoVO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -81,4 +81,6 @@ public interface IParamsInfoEOService extends IService { * @param request */ void exportParamsInfo(String cut, ParamsInfoVO paramsInfoVO, String exportExcelName, HttpServletResponse response, HttpServletRequest request); + + void getTreeDictItemText(List paramsInfoEOList, String cut); } 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 2ebd3b45b..c061d4b37 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 @@ -20,8 +20,10 @@ import com.jero.modules.cert.template.vo.ParamsInfoVO; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.common.ReadExcel; +import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.service.ISysDictItemService; +import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Workbook; import org.jeecgframework.poi.excel.ExcelExportUtil; @@ -59,6 +61,9 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl paramsInfoEOList = baseMapper.selectListWithCert(paramsInfoVO); // 中文数据导出 + getTreeDictItemText(paramsInfoEOList, cut); + List> sheetsList = new ArrayList<>(); + sheetsList = getCnExportSheetsList(paramsInfoEOList, fileNowPath); + workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.XSSF); - // 查询导出数据 - List paramsInfoEOList = baseMapper.selectListWithCert(paramsInfoVO); - if (CollectionUtil.isEmpty(paramsInfoEOList)) { - throw new JeroBootException("没有可导出的数据"); - } - - List fileTemplateList = new ArrayList<>(); - for (ParamsInfoEO paramsInfoEO : paramsInfoEOList) { - String fileTemplateConnectId = paramsInfoEO.getFileTemplateConnectId(); - if (StringUtils.isNotBlank(fileTemplateConnectId)) { - List ossFileList = ossFileService.getFileInfosByConnectId(fileTemplateConnectId); - List fileNameList = ossFileList.stream().map(OSSFile::getFileName).collect(Collectors.toList()); - paramsInfoEO.setFileTemplateName(StringUtils.join(fileNameList, ",")); - - fileTemplateList.addAll(ossFileList); - } - } - - // 查询导出参数项中认证类别最大级 - List nioNumber = paramsInfoEOList.stream().map(ParamsInfoEO::getNioNumber).collect(Collectors.toList()); - List certCategoryParamsInfoEOList = certCategoryParamsInfoEOService.selectListByNioNumber(StringUtils.join(nioNumber, ",")); - List certCategoryNameList = new ArrayList<>(); - Map certCategoryMap = new HashMap<>(); - if (CollectionUtil.isNotEmpty(certCategoryParamsInfoEOList)) { - List certCategoryList = certCategoryParamsInfoEOList.stream().map(CertCategoryParamsInfoEO::getCertCategory).distinct().collect(Collectors.toList()); - List sysDictItemList = sysDictItemService.selectItemsByDictCode("cert_category"); - List finalCertCategoryList = certCategoryList; - certCategoryNameList = sysDictItemList.stream().filter(e-> finalCertCategoryList.contains(e.getItemValue())).map(SysDictItem::getItemText).collect(Collectors.toList()); - certCategoryMap = sysDictItemList.stream().filter(e-> finalCertCategoryList.contains(e.getItemValue())).collect(Collectors.toMap(c->c.getItemText(),c->c.getItemValue())); - } - //导出数据 - List> sheetsList = new ArrayList<>(); - - // 创建参数对象(用来设定excel得sheet得内容等信息) - ExportParams bussExportParams = new ExportParams(); - // 设置sheet得名称 - bussExportParams.setSheetName("企业参数表"); - bussExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题 - bussExportParams.setStyle(CommonExcelExportStyler.class); - // 创建sheet1使用得map - Map bussExportMap = new HashMap<>(); - // title的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName - bussExportMap.put("title", bussExportParams); - // 模版导出对应得实体类型 - bussExportMap.put("entity", ParamsInfoEO.class); - // sheet中要填充得数据 - bussExportMap.put("data", paramsInfoEOList); - sheetsList.add(bussExportMap); - - // 导出认证类别参数项 - if (CollectionUtil.isNotEmpty(certCategoryNameList)) { - // 所有数据 - List certCategoryParamsInfoListExport = new ArrayList<>(); - for (ParamsInfoEO paramsInfoEO : paramsInfoEOList) { - List categoryParamsInfoEOList = paramsInfoEO.getCertCategoryParamsInfoEOList(); - certCategoryParamsInfoListExport.addAll(categoryParamsInfoEOList); - } - if (CollectionUtil.isNotEmpty(certCategoryParamsInfoListExport)) { - for (String certCategoryName : certCategoryNameList) { - // 当前认证类别数据 - Map finalCertCategoryMap = certCategoryMap; - List certCategoryParamsInfoExport = certCategoryParamsInfoListExport.stream() - .filter(e -> finalCertCategoryMap.get(certCategoryName).equals(e.getCertCategory())) - .collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(certCategoryParamsInfoExport)) { - ExportParams certExportParams = new ExportParams(); - certExportParams.setSheetName(certCategoryName); - certExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题 - certExportParams.setStyle(CommonExcelExportStyler.class); - Map certExportMap = new HashMap<>(); - certExportMap.put("title", certExportParams); - certExportMap.put("entity", CertCategoryParamsInfoEO.class); - certExportMap.put("data", certCategoryParamsInfoExport); - sheetsList.add(certExportMap); - } - } - } - } - - workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.XSSF); - - //下载附件模板对应文件 - if (fileTemplateList != null && !fileTemplateList.isEmpty()) { - fileTemplateList = fileTemplateList.stream().distinct().collect(Collectors.toList()); - downLoadFileList(fileTemplateList,fileNowPath); + } else if (CutEnum.EN.getValue().equals(cut)) { + // 查询导出数据 + List paramsInfoEnExportList = baseMapper.selectListWithCertForEnExport(paramsInfoVO); // 英文数据导出 + getTreeDictItemTextForEnExport(paramsInfoEnExportList); + List> sheetsList = new ArrayList<>(); + sheetsList = getEnExportSheetsList(paramsInfoEnExportList, fileNowPath); + workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.XSSF); } @@ -440,6 +374,180 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl> getCnExportSheetsList(List paramsInfoEOList, String fileNowPath) throws IOException { + + if (CollectionUtil.isEmpty(paramsInfoEOList)) { + throw new JeroBootException("没有可导出的数据"); + } + + List fileTemplateList = new ArrayList<>(); + for (ParamsInfoEO paramsInfoEO : paramsInfoEOList) { + String fileTemplateConnectId = paramsInfoEO.getFileTemplateConnectId(); + if (StringUtils.isNotBlank(fileTemplateConnectId)) { + List ossFileList = ossFileService.getFileInfosByConnectId(fileTemplateConnectId); + List fileNameList = ossFileList.stream().map(OSSFile::getFileName).collect(Collectors.toList()); + paramsInfoEO.setFileTemplateName(StringUtils.join(fileNameList, ",")); + + fileTemplateList.addAll(ossFileList); + } + } + + // 查询导出参数项中认证类别最大级 + List nioNumber = paramsInfoEOList.stream().map(ParamsInfoEO::getNioNumber).collect(Collectors.toList()); + List certCategoryParamsInfoEOList = certCategoryParamsInfoEOService.selectListByNioNumber(StringUtils.join(nioNumber, ",")); + List certCategoryNameList = new ArrayList<>(); + Map certCategoryMap = new HashMap<>(); + if (CollectionUtil.isNotEmpty(certCategoryParamsInfoEOList)) { + List certCategoryList = certCategoryParamsInfoEOList.stream().map(CertCategoryParamsInfoEO::getCertCategory).distinct().collect(Collectors.toList()); + List sysDictItemList = sysDictItemService.selectItemsByDictCode("cert_category"); + List finalCertCategoryList = certCategoryList; + certCategoryNameList = sysDictItemList.stream().filter(e-> finalCertCategoryList.contains(e.getItemValue())).map(SysDictItem::getItemText).collect(Collectors.toList()); + certCategoryMap = sysDictItemList.stream().filter(e-> finalCertCategoryList.contains(e.getItemValue())).collect(Collectors.toMap(c->c.getItemText(),c->c.getItemValue())); + } + //导出数据 + List> sheetsList = new ArrayList<>(); + + // 创建参数对象(用来设定excel得sheet得内容等信息) + ExportParams bussExportParams = new ExportParams(); + // 设置sheet得名称 + bussExportParams.setSheetName("企业参数表"); + bussExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题 + bussExportParams.setStyle(CommonExcelExportStyler.class); + // 创建sheet1使用得map + Map bussExportMap = new HashMap<>(); + // title的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName + bussExportMap.put("title", bussExportParams); + // 模版导出对应得实体类型 + bussExportMap.put("entity", ParamsInfoEO.class); + // sheet中要填充得数据 + bussExportMap.put("data", paramsInfoEOList); + sheetsList.add(bussExportMap); + + // 导出认证类别参数项 + if (CollectionUtil.isNotEmpty(certCategoryNameList)) { + // 所有数据 + List certCategoryParamsInfoListExport = new ArrayList<>(); + for (ParamsInfoEO paramsInfoEO : paramsInfoEOList) { + List categoryParamsInfoEOList = paramsInfoEO.getCertCategoryParamsInfoEOList(); + certCategoryParamsInfoListExport.addAll(categoryParamsInfoEOList); + } + if (CollectionUtil.isNotEmpty(certCategoryParamsInfoListExport)) { + for (String certCategoryName : certCategoryNameList) { + // 当前认证类别数据 + Map finalCertCategoryMap = certCategoryMap; + List certCategoryParamsInfoExport = certCategoryParamsInfoListExport.stream() + .filter(e -> finalCertCategoryMap.get(certCategoryName).equals(e.getCertCategory())) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(certCategoryParamsInfoExport)) { + ExportParams certExportParams = new ExportParams(); + certExportParams.setSheetName(certCategoryName); + certExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题 + certExportParams.setStyle(CommonExcelExportStyler.class); + Map certExportMap = new HashMap<>(); + certExportMap.put("title", certExportParams); + certExportMap.put("entity", CertCategoryParamsInfoEO.class); + certExportMap.put("data", certCategoryParamsInfoExport); + sheetsList.add(certExportMap); + } + } + } + } + //下载附件模板对应文件 + if (fileTemplateList != null && !fileTemplateList.isEmpty()) { + fileTemplateList = fileTemplateList.stream().distinct().collect(Collectors.toList()); + downLoadFileList(fileTemplateList,fileNowPath); + } + + return sheetsList; + } + + private List> getEnExportSheetsList(List paramsInfoEnExportList, String fileNowPath) throws IOException { + + if (CollectionUtil.isEmpty(paramsInfoEnExportList)) { + throw new JeroBootException("没有可导出的数据"); + } + + List fileTemplateList = new ArrayList<>(); + for (ParamsInfoEnExport paramsInfoEnExport : paramsInfoEnExportList) { + String fileTemplateConnectId = paramsInfoEnExport.getFileTemplateConnectId(); + if (StringUtils.isNotBlank(fileTemplateConnectId)) { + List ossFileList = ossFileService.getFileInfosByConnectId(fileTemplateConnectId); + List fileNameList = ossFileList.stream().map(OSSFile::getFileName).collect(Collectors.toList()); + paramsInfoEnExport.setFileTemplateName(StringUtils.join(fileNameList, ",")); + + fileTemplateList.addAll(ossFileList); + } + } + + // 查询导出参数项中认证类别最大级 + List nioNumber = paramsInfoEnExportList.stream().map(ParamsInfoEnExport::getNioNumber).collect(Collectors.toList()); + List certCategoryParamsInfoEOList = certCategoryParamsInfoEOService.selectListByNioNumber(StringUtils.join(nioNumber, ",")); + List certCategoryNameList = new ArrayList<>(); + Map certCategoryMap = new HashMap<>(); + if (CollectionUtil.isNotEmpty(certCategoryParamsInfoEOList)) { + List certCategoryList = certCategoryParamsInfoEOList.stream().map(CertCategoryParamsInfoEO::getCertCategory).distinct().collect(Collectors.toList()); + List sysDictItemList = sysDictItemService.selectItemsByDictCode("cert_category"); + List finalCertCategoryList = certCategoryList; + certCategoryNameList = sysDictItemList.stream().filter(e-> finalCertCategoryList.contains(e.getItemValue())).map(SysDictItem::getItemText).collect(Collectors.toList()); + certCategoryMap = sysDictItemList.stream().filter(e-> finalCertCategoryList.contains(e.getItemValue())).collect(Collectors.toMap(c->c.getItemText(),c->c.getItemValue())); + } + //导出数据 + List> sheetsList = new ArrayList<>(); + + // 创建参数对象(用来设定excel得sheet得内容等信息) + ExportParams bussExportParams = new ExportParams(); + // 设置sheet得名称 + bussExportParams.setSheetName("企业参数表"); + bussExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题 + bussExportParams.setStyle(CommonExcelExportStyler.class); + // 创建sheet1使用得map + Map bussExportMap = new HashMap<>(); + // title的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName + bussExportMap.put("title", bussExportParams); + // 模版导出对应得实体类型 + bussExportMap.put("entity", ParamsInfoEnExport.class); + // sheet中要填充得数据 + bussExportMap.put("data", paramsInfoEnExportList); + sheetsList.add(bussExportMap); + + // 导出认证类别参数项 + if (CollectionUtil.isNotEmpty(certCategoryNameList)) { + // 所有数据 + List certCategoryParamsInfoListExport = new ArrayList<>(); + for (ParamsInfoEnExport paramsInfoEnExport : paramsInfoEnExportList) { + List certCategoryParamsInfoEnExports = paramsInfoEnExport.getCertCategoryParamsInfoEnExportList(); + certCategoryParamsInfoListExport.addAll(certCategoryParamsInfoEnExports); + } + if (CollectionUtil.isNotEmpty(certCategoryParamsInfoListExport)) { + for (String certCategoryName : certCategoryNameList) { + // 当前认证类别数据 + Map finalCertCategoryMap = certCategoryMap; + List certCategoryParamsInfoExport = certCategoryParamsInfoListExport.stream() + .filter(e -> finalCertCategoryMap.get(certCategoryName).equals(e.getCertCategory())) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(certCategoryParamsInfoExport)) { + ExportParams certExportParams = new ExportParams(); + certExportParams.setSheetName(certCategoryName); + certExportParams.setType(ExcelType.XSSF); // 解决HSSFRichTextString cannot cast XSSFRichTextString问题 + certExportParams.setStyle(CommonExcelExportStyler.class); + Map certExportMap = new HashMap<>(); + certExportMap.put("title", certExportParams); + certExportMap.put("entity", CertCategoryParamsInfoEnExport.class); + certExportMap.put("data", certCategoryParamsInfoExport); + sheetsList.add(certExportMap); + } + } + } + } + //下载附件模板对应文件 + if (fileTemplateList != null && !fileTemplateList.isEmpty()) { + fileTemplateList = fileTemplateList.stream().distinct().collect(Collectors.toList()); + downLoadFileList(fileTemplateList,fileNowPath); + } + + return sheetsList; + } + private void downLoadFileList(List fileTemplateList,String fileNowPath) throws IOException { for(OSSFile fileExportDto : fileTemplateList){ String oldPath = fileExportDto.getUrl(); @@ -449,7 +557,6 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl paramsInfoEOList, String cut) { + //树形数据字典 + List categoryList = sysCategoryService.list(); + + for (ParamsInfoEO paramsInfoEO : paramsInfoEOList){ + String value = paramsInfoEO.getTechnologyTerritory(); + if (StringUtils.isNotBlank(value)) { + List idList = Arrays.asList(value.split(",")); + List sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList()); + if (CutEnum.CN.getValue().equals(cut)) { + List nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList()); + paramsInfoEO.setTechnologyTerritory(StringUtils.join(nameList, ",")); + } else { + List nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList()); + paramsInfoEO.setTechnologyTerritory(StringUtils.join(nameEnList, ",")); + } + } + } + } + + public void getTreeDictItemTextForEnExport(List paramsInfoEnExportList) { + //树形数据字典 + List categoryList = sysCategoryService.list(); + + for (ParamsInfoEnExport paramsInfoEnExport : paramsInfoEnExportList){ + String value = paramsInfoEnExport.getTechnologyTerritory(); + if (StringUtils.isNotBlank(value)) { + List idList = Arrays.asList(value.split(",")); + List sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList()); + List nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList()); + paramsInfoEnExport.setTechnologyTerritory(StringUtils.join(nameEnList, ",")); + } + } + } } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/vo/ParamsInfoEnExport.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/vo/ParamsInfoEnExport.java index 83f432fb8..6a56cafdf 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/vo/ParamsInfoEnExport.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/template/vo/ParamsInfoEnExport.java @@ -8,6 +8,8 @@ import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; +import java.util.List; + /** * @Author: liyawei * @Description: @@ -59,19 +61,19 @@ public class ParamsInfoEnExport { private String paramsName; /**技术领域*/ - @Excel(name = "*technology territory", width = 15, dicCode = "technology_territory") - @Dict(dicCode = "technology_territory") + @Excel(name = "*technology territory", width = 15) +// @Dict(dicCode = "technology_territory") @ApiModelProperty(value = "技术领域") private String technologyTerritory; /**参数批次*/ - @Excel(name = "*params batch", width = 15, dicCode = "params_batch") + @Excel(name = "*params batch", width = 15, dicCode = "params_batch_en") @Dict(dicCode = "params_batch") @ApiModelProperty(value = "参数批次") private String paramsBatch; /**责任领域*/ - @Excel(name = "*duty territory", width = 15, dicCode = "duty_territory") + @Excel(name = "*duty territory", width = 15, dicCode = "duty_territory_en") @Dict(dicCode = "duty_territory") @ApiModelProperty(value = "责任领域") private String dutyTerritory; @@ -82,7 +84,7 @@ public class ParamsInfoEnExport { private String description; /**认证类别*/ - @Excel(name = "cert category", width = 15, dicCode = "cert_category") + @Excel(name = "cert category", width = 15, dicCode = "cert_category_en") @Dict(dicCode = "cert_category") @ApiModelProperty(value = "认证类别") private String certCategory; @@ -110,4 +112,12 @@ public class ParamsInfoEnExport { @TableField(exist = false) private String fileTemplateName; //附件模板文件名 + /**参数模板id*/ + @ApiModelProperty(value = "参数模板id") + private String paramsTemplateId; + + @TableField(exist = false) + private List certCategoryParamsInfoEnExportList; // 认证类别参数列表 + + } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml index 56133cad0..7d9a4f9e2 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml @@ -4,7 +4,7 @@ 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 a06768d9a..a36600081 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 @@ -546,6 +546,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl