feat: 导入相关
This commit is contained in:
+2
-2
@@ -240,7 +240,7 @@ public class ProcessStandardComplianceCheckDetail implements Serializable, Compa
|
|||||||
@ApiModelProperty(value = "佐证材料")
|
@ApiModelProperty(value = "佐证材料")
|
||||||
@ExcelCollection(name = "", orderNum = "16")
|
@ExcelCollection(name = "", orderNum = "16")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<ExcelExportUtilPro.FileDetails> fileList = Collections.emptyList();
|
private List<ExcelExportUtilPro.MaterialFile> fileList = Collections.emptyList();
|
||||||
|
|
||||||
public List<String> obtainFileIds() {
|
public List<String> obtainFileIds() {
|
||||||
return material != null ? Arrays.asList(material.split(",")) : Collections.emptyList();
|
return material != null ? Arrays.asList(material.split(",")) : Collections.emptyList();
|
||||||
@@ -252,7 +252,7 @@ public class ProcessStandardComplianceCheckDetail implements Serializable, Compa
|
|||||||
@ApiModelProperty(value = "辅助说明材料")
|
@ApiModelProperty(value = "辅助说明材料")
|
||||||
@ExcelCollection(name = "", orderNum = "17")
|
@ExcelCollection(name = "", orderNum = "17")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<ExcelExportUtilPro.FileDetails> fileListTwo = Collections.emptyList();
|
private List<ExcelExportUtilPro.UnsatisfiedRequireAttachFile> fileListTwo = Collections.emptyList();
|
||||||
|
|
||||||
public List<String> obtainFileTwoIds() {
|
public List<String> obtainFileTwoIds() {
|
||||||
return unsatisfiedRequireAttach != null ? Arrays.asList(unsatisfiedRequireAttach.split(",")) : Collections.emptyList();
|
return unsatisfiedRequireAttach != null ? Arrays.asList(unsatisfiedRequireAttach.split(",")) : Collections.emptyList();
|
||||||
|
|||||||
+20
-7
@@ -546,6 +546,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void exportXls(String taskId, HttpServletResponse response) {
|
public void exportXls(String taskId, HttpServletResponse response) {
|
||||||
|
List<SysDictItemCore> listDict = commonAPI.getDictItemAll();
|
||||||
ProcessInfoVO<ProcessSccVO> handleData = this.getHandleData(taskId);
|
ProcessInfoVO<ProcessSccVO> handleData = this.getHandleData(taskId);
|
||||||
ProcessSccVO businessInfoDTO = handleData.getBusinessInfoDTO();
|
ProcessSccVO businessInfoDTO = handleData.getBusinessInfoDTO();
|
||||||
ProcessStandardComplianceCheck standardInfo = businessInfoDTO.getStandardInfo();
|
ProcessStandardComplianceCheck standardInfo = businessInfoDTO.getStandardInfo();
|
||||||
@@ -565,9 +566,13 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
}
|
}
|
||||||
try (FileOutputStream fos = new FileOutputStream(url + File.separator + fileName + ".xls")) {
|
try (FileOutputStream fos = new FileOutputStream(url + File.separator + fileName + ".xls")) {
|
||||||
// 获取数据
|
// 获取数据
|
||||||
excelExportUtilPro.settleDocuments(url, "附件", detailInfoList,
|
excelExportUtilPro.settleDocuments(url, "佐证材料", detailInfoList,
|
||||||
ProcessStandardComplianceCheckDetail::obtainFileIds,
|
ProcessStandardComplianceCheckDetail::obtainFileIds,
|
||||||
ProcessStandardComplianceCheckDetail::setFileList);
|
ProcessStandardComplianceCheckDetail::setFileList, ExcelExportUtilPro.MaterialFile.class);
|
||||||
|
// 获取数据
|
||||||
|
excelExportUtilPro.settleDocuments(url, "辅助说明材料", detailInfoList,
|
||||||
|
ProcessStandardComplianceCheckDetail::obtainFileTwoIds,
|
||||||
|
ProcessStandardComplianceCheckDetail::setFileListTwo, ExcelExportUtilPro.UnsatisfiedRequireAttachFile.class);
|
||||||
// 生成excel
|
// 生成excel
|
||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.HSSF);
|
exportParams.setType(ExcelType.HSSF);
|
||||||
@@ -584,9 +589,17 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
newRecordsExport.sort(new ProcessStandardComplianceCheckDetail());
|
newRecordsExport.sort(new ProcessStandardComplianceCheckDetail());
|
||||||
Workbook workbook = ExcelExportUtil
|
Workbook workbook = ExcelExportUtil
|
||||||
.exportExcel(exportParams, ProcessStandardComplianceCheckDetail.class, detailInfoList);
|
.exportExcel(exportParams, ProcessStandardComplianceCheckDetail.class, detailInfoList);
|
||||||
// 生成超链接
|
// 翻译评估结果和佐证材料字段
|
||||||
excelExportUtilPro.generateHyperlink("附件", newRecordsExport, workbook,
|
newRecordsExport.parallelStream().forEach(item -> {
|
||||||
ProcessStandardComplianceCheckDetail::getFileList, 15);
|
String material = excelUtils.translateDictValue("id", "file_name", "oss_file", item.getMaterial(), listDict);
|
||||||
|
if (StrUtil.isNotBlank(material)) {
|
||||||
|
item.setMaterial("佐证材料/" + material);
|
||||||
|
}
|
||||||
|
String unsatisfiedRequireAttach = excelUtils.translateDictValue("id", "file_name", "oss_file", item.getUnsatisfiedRequireAttach(), listDict);
|
||||||
|
if (StrUtil.isNotBlank(unsatisfiedRequireAttach)) {
|
||||||
|
item.setUnsatisfiedRequireAttach("辅助说明材料/" + unsatisfiedRequireAttach);
|
||||||
|
}
|
||||||
|
});
|
||||||
// 导出excel
|
// 导出excel
|
||||||
workbook.write(fos);
|
workbook.write(fos);
|
||||||
// 生成并导出zip
|
// 生成并导出zip
|
||||||
@@ -626,11 +639,11 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
// 获取数据
|
// 获取数据
|
||||||
excelExportUtilPro.settleDocuments(url, "佐证材料", detailInfoList,
|
excelExportUtilPro.settleDocuments(url, "佐证材料", detailInfoList,
|
||||||
ProcessStandardComplianceCheckDetail::obtainFileIds,
|
ProcessStandardComplianceCheckDetail::obtainFileIds,
|
||||||
ProcessStandardComplianceCheckDetail::setFileList);
|
ProcessStandardComplianceCheckDetail::setFileList, ExcelExportUtilPro.MaterialFile.class);
|
||||||
// 获取数据
|
// 获取数据
|
||||||
excelExportUtilPro.settleDocuments(url, "辅助说明材料", detailInfoList,
|
excelExportUtilPro.settleDocuments(url, "辅助说明材料", detailInfoList,
|
||||||
ProcessStandardComplianceCheckDetail::obtainFileTwoIds,
|
ProcessStandardComplianceCheckDetail::obtainFileTwoIds,
|
||||||
ProcessStandardComplianceCheckDetail::setFileListTwo);
|
ProcessStandardComplianceCheckDetail::setFileListTwo, ExcelExportUtilPro.UnsatisfiedRequireAttachFile.class);
|
||||||
|
|
||||||
// 去除文本的<p>
|
// 去除文本的<p>
|
||||||
String regex = "<[^>]*>";
|
String regex = "<[^>]*>";
|
||||||
|
|||||||
+2
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.aspect.annotation.AutoLog;
|
import com.jero.common.aspect.annotation.AutoLog;
|
||||||
|
import com.jero.common.aspect.annotation.Translation;
|
||||||
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary;
|
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary;
|
||||||
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail;
|
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail;
|
||||||
import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService;
|
import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService;
|
||||||
@@ -42,6 +43,7 @@ public class LawsConformityAssessmentController {
|
|||||||
@GetMapping(value = "/page")
|
@GetMapping(value = "/page")
|
||||||
@ApiOperationSupport(order = 1)
|
@ApiOperationSupport(order = 1)
|
||||||
@RequiresPermissions("lawsConformityAssessment:search")
|
@RequiresPermissions("lawsConformityAssessment:search")
|
||||||
|
@Translation
|
||||||
public Result<IPage<LawsConformityAssessmentLibrary>> queryPageList(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary,
|
public Result<IPage<LawsConformityAssessmentLibrary>> queryPageList(LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary,
|
||||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||||
|
|||||||
+12
@@ -228,6 +228,18 @@ public class LawsEvaluationNotMetLibrary implements Serializable {
|
|||||||
return file != null ? Arrays.asList(file.split(",")) : Collections.emptyList();
|
return file != null ? Arrays.asList(file.split(",")) : Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 附件
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "辅助说明材料")
|
||||||
|
@ExcelCollection(name = "", orderNum = "14")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<ExcelExportUtilPro.UnsatisfiedRequireAttachFile> fileListTwo = Collections.emptyList();
|
||||||
|
|
||||||
|
public List<String> obtainFileTwoIds() {
|
||||||
|
return unsatisfiedRequireAttach != null ? Arrays.asList(unsatisfiedRequireAttach.split(",")) : Collections.emptyList();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 标准ID
|
* 标准ID
|
||||||
*/
|
*/
|
||||||
|
|||||||
+2
@@ -2,6 +2,8 @@ package com.jero.modules.assessmentLibrary.entity.vo;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.jero.common.aspect.annotation.Dict;
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
|
import com.jero.modules.laws.utils.ExcelExportUtilPro.MaterialFile;
|
||||||
|
import com.jero.modules.laws.utils.ExcelExportUtilPro.UnsatisfiedRequireAttachFile;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
|||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
package com.jero.modules.assessmentLibrary.entity.vo;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class MaterialFile {
|
|
||||||
@ApiModelProperty(value = "id")
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@Excel(name = "佐证材料", width = 15)
|
|
||||||
@ApiModelProperty(value = "佐证材料")
|
|
||||||
private String fileName;
|
|
||||||
}
|
|
||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
package com.jero.modules.assessmentLibrary.entity.vo;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public class UnsatisfiedRequireAttachFile {
|
|
||||||
@ApiModelProperty(value = "id")
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
@Excel(name = "辅助说明材料", width = 15)
|
|
||||||
@ApiModelProperty(value = "辅助说明材料")
|
|
||||||
private String fileName;
|
|
||||||
}
|
|
||||||
+3
-5
@@ -23,14 +23,12 @@
|
|||||||
cs.standard_id,
|
cs.standard_id,
|
||||||
IF(cs.standard_id IS NOT NULL, d.standard_number, cs.standard_number) AS standard_number,
|
IF(cs.standard_id IS NOT NULL, d.standard_number, cs.standard_number) AS standard_number,
|
||||||
IF(cs.standard_id IS NOT NULL, d.standard_name, cs.standard_name) AS standard_name,
|
IF(cs.standard_id IS NOT NULL, d.standard_name, cs.standard_name) AS standard_name,
|
||||||
lms.country as applicableMarket,
|
cs.applicable_market,
|
||||||
cs.valuation_time,
|
cs.valuation_time,
|
||||||
cs.create_time,
|
cs.create_time,
|
||||||
cs.all_approval_user,
|
cs.all_approval_user
|
||||||
lms.country
|
|
||||||
from laws_conformity_assessment_library cs
|
from laws_conformity_assessment_library cs
|
||||||
left join laws_domestic_standard as d on d.id = cs.standard_id
|
left join laws_domestic_standard as d on d.id = cs.standard_id) as t
|
||||||
left join laws_market_standard as lms on lms.id = cs.applicable_market) as t
|
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
+21
@@ -6,12 +6,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.common.api.CommonAPI;
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.common.system.vo.SysDictItemCore;
|
||||||
import com.jero.common.util.FileUtils;
|
import com.jero.common.util.FileUtils;
|
||||||
import com.jero.common.util.ZipUtil;
|
import com.jero.common.util.ZipUtil;
|
||||||
import com.jero.common.util.obs.ObsBootUtil;
|
import com.jero.common.util.obs.ObsBootUtil;
|
||||||
|
import com.jero.modules.activiti.util.ExcelUtils;
|
||||||
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary;
|
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary;
|
||||||
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail;
|
import com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibraryDetail;
|
||||||
import com.jero.modules.assessmentLibrary.entity.vo.LawsConformityAssessmentLibraryExportVO;
|
import com.jero.modules.assessmentLibrary.entity.vo.LawsConformityAssessmentLibraryExportVO;
|
||||||
@@ -66,6 +69,12 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
|||||||
@Resource
|
@Resource
|
||||||
private LawsConformityAssessmentLibraryMapper lawsConformityAssessmentLibraryMapper;
|
private LawsConformityAssessmentLibraryMapper lawsConformityAssessmentLibraryMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ExcelUtils excelUtils;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CommonAPI commonAPI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 法规管理员
|
* 法规管理员
|
||||||
*/
|
*/
|
||||||
@@ -142,6 +151,7 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void export(HttpServletResponse response, LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary, String fileName, String sheetName, HttpServletRequest req) {
|
public void export(HttpServletResponse response, LawsConformityAssessmentLibrary lawsConformityAssessmentLibrary, String fileName, String sheetName, HttpServletRequest req) {
|
||||||
|
List<SysDictItemCore> listDict = commonAPI.getDictItemAll();
|
||||||
String url = exportExcelTempPath.replace(EXPORT_EXCEL_TEMP, fileName);
|
String url = exportExcelTempPath.replace(EXPORT_EXCEL_TEMP, fileName);
|
||||||
File file = new File(url);
|
File file = new File(url);
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
@@ -199,6 +209,17 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
|||||||
// 复制一份数据
|
// 复制一份数据
|
||||||
List<LawsConformityAssessmentLibraryExportVO> newRecordsExport = new ArrayList<>(recordsExport);
|
List<LawsConformityAssessmentLibraryExportVO> newRecordsExport = new ArrayList<>(recordsExport);
|
||||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsConformityAssessmentLibraryExportVO.class, recordsExport);
|
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsConformityAssessmentLibraryExportVO.class, recordsExport);
|
||||||
|
// 翻译评估结果和佐证材料字段
|
||||||
|
newRecordsExport.parallelStream().forEach(item -> {
|
||||||
|
String material = excelUtils.translateDictValue("id", "file_name", "oss_file", item.getMaterial(), listDict);
|
||||||
|
if (StrUtil.isNotBlank(material)) {
|
||||||
|
item.setMaterial("佐证材料/" + material);
|
||||||
|
}
|
||||||
|
String unsatisfiedRequireAttach = excelUtils.translateDictValue("id", "file_name", "oss_file", item.getUnsatisfiedRequireAttach(), listDict);
|
||||||
|
if (StrUtil.isNotBlank(unsatisfiedRequireAttach)) {
|
||||||
|
item.setUnsatisfiedRequireAttach("辅助说明材料/" + unsatisfiedRequireAttach);
|
||||||
|
}
|
||||||
|
});
|
||||||
// 生成超链接
|
// 生成超链接
|
||||||
generateHyperlink("佐证材料", newRecordsExport, workbook);
|
generateHyperlink("佐证材料", newRecordsExport, workbook);
|
||||||
generateHyperlinkTwo("辅助说明材料", newRecordsExport, workbook);
|
generateHyperlinkTwo("辅助说明材料", newRecordsExport, workbook);
|
||||||
|
|||||||
+24
-2
@@ -6,16 +6,21 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.common.api.CommonAPI;
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.system.vo.SysDictItemCore;
|
||||||
import com.jero.common.util.FileUtils;
|
import com.jero.common.util.FileUtils;
|
||||||
import com.jero.common.util.ZipUtil;
|
import com.jero.common.util.ZipUtil;
|
||||||
|
import com.jero.modules.activiti.util.ExcelUtils;
|
||||||
import com.jero.modules.assessmentLibrary.entity.AssessCommon;
|
import com.jero.modules.assessmentLibrary.entity.AssessCommon;
|
||||||
import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary;
|
import com.jero.modules.assessmentLibrary.entity.LawsEvaluationNotMetLibrary;
|
||||||
import com.jero.modules.assessmentLibrary.mapper.LawsEvaluationNotMetLibraryMapper;
|
import com.jero.modules.assessmentLibrary.mapper.LawsEvaluationNotMetLibraryMapper;
|
||||||
import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService;
|
import com.jero.modules.assessmentLibrary.service.ILawsConformityAssessmentLibraryService;
|
||||||
import com.jero.modules.assessmentLibrary.service.ILawsEvaluationNotMetLibraryService;
|
import com.jero.modules.assessmentLibrary.service.ILawsEvaluationNotMetLibraryService;
|
||||||
import com.jero.modules.laws.utils.ExcelExportUtilPro;
|
import com.jero.modules.laws.utils.ExcelExportUtilPro;
|
||||||
|
import com.jero.modules.laws.utils.ExcelExportUtilPro.FileDetails;
|
||||||
|
import com.jero.modules.laws.utils.ExcelExportUtilPro.UnsatisfiedRequireAttachFile;
|
||||||
import com.jero.modules.sys.utils.UserUtils;
|
import com.jero.modules.sys.utils.UserUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -52,6 +57,10 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
|
|||||||
private ExcelExportUtilPro excelExportUtilPro;
|
private ExcelExportUtilPro excelExportUtilPro;
|
||||||
@Resource
|
@Resource
|
||||||
private ILawsConformityAssessmentLibraryService calService;
|
private ILawsConformityAssessmentLibraryService calService;
|
||||||
|
@Resource
|
||||||
|
private CommonAPI commonAPI;
|
||||||
|
@Resource
|
||||||
|
private ExcelUtils excelUtils;
|
||||||
|
|
||||||
@Value("${jero.path.exportExcelTempPath}")
|
@Value("${jero.path.exportExcelTempPath}")
|
||||||
private String exportExcelTempPath;
|
private String exportExcelTempPath;
|
||||||
@@ -110,8 +119,8 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
|
|||||||
@Override
|
@Override
|
||||||
public void export(HttpServletResponse response, LawsEvaluationNotMetLibrary lawsEvaluationNotMet, String fileName,
|
public void export(HttpServletResponse response, LawsEvaluationNotMetLibrary lawsEvaluationNotMet, String fileName,
|
||||||
String sheetName, HttpServletRequest req) {
|
String sheetName, HttpServletRequest req) {
|
||||||
|
List<SysDictItemCore> listDict = commonAPI.getDictItemAll();
|
||||||
horizontalCheck(lawsEvaluationNotMet.getSelections());
|
horizontalCheck(lawsEvaluationNotMet.getSelections());
|
||||||
|
|
||||||
String url = exportExcelTempPath.replace(EXPORT_EXCEL_TEMP, fileName);
|
String url = exportExcelTempPath.replace(EXPORT_EXCEL_TEMP, fileName);
|
||||||
File file = new File(url);
|
File file = new File(url);
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
@@ -123,7 +132,8 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
|
|||||||
IPage<LawsEvaluationNotMetLibrary> lawsEvaluationNotMets = this.queryPage(lawsEvaluationNotMet, 1, Integer.MAX_VALUE, req);
|
IPage<LawsEvaluationNotMetLibrary> lawsEvaluationNotMets = this.queryPage(lawsEvaluationNotMet, 1, Integer.MAX_VALUE, req);
|
||||||
List<LawsEvaluationNotMetLibrary> records = lawsEvaluationNotMets.getRecords();
|
List<LawsEvaluationNotMetLibrary> records = lawsEvaluationNotMets.getRecords();
|
||||||
|
|
||||||
excelExportUtilPro.settleDocuments(url, "附件", records, LawsEvaluationNotMetLibrary::obtainFileIds, LawsEvaluationNotMetLibrary::setFileList);
|
excelExportUtilPro.settleDocuments(url, "附件", records, LawsEvaluationNotMetLibrary::obtainFileIds, LawsEvaluationNotMetLibrary::setFileList, FileDetails.class);
|
||||||
|
excelExportUtilPro.settleDocuments(url, "辅助说明材料", records, LawsEvaluationNotMetLibrary::obtainFileTwoIds, LawsEvaluationNotMetLibrary::setFileListTwo, UnsatisfiedRequireAttachFile.class);
|
||||||
|
|
||||||
// 去除文本的<p>
|
// 去除文本的<p>
|
||||||
String regex = "<[^>]*>";
|
String regex = "<[^>]*>";
|
||||||
@@ -140,8 +150,20 @@ public class LawsEvaluationNotMetLibraryServiceImpl extends ServiceImpl<LawsEval
|
|||||||
// 复制一份数据
|
// 复制一份数据
|
||||||
List<LawsEvaluationNotMetLibrary> newRecordsExport = new ArrayList<>(records);
|
List<LawsEvaluationNotMetLibrary> newRecordsExport = new ArrayList<>(records);
|
||||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsEvaluationNotMetLibrary.class, records);
|
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, LawsEvaluationNotMetLibrary.class, records);
|
||||||
|
// 翻译评估结果和佐证材料字段
|
||||||
|
newRecordsExport.parallelStream().forEach(item -> {
|
||||||
|
String material = excelUtils.translateDictValue("id", "file_name", "oss_file", item.getFile(), listDict);
|
||||||
|
if (StrUtil.isNotBlank(material)) {
|
||||||
|
item.setFile("附件/" + material);
|
||||||
|
}
|
||||||
|
String unsatisfiedRequireAttach = excelUtils.translateDictValue("id", "file_name", "oss_file", item.getUnsatisfiedRequireAttach(), listDict);
|
||||||
|
if (StrUtil.isNotBlank(unsatisfiedRequireAttach)) {
|
||||||
|
item.setUnsatisfiedRequireAttach("辅助说明材料/" + unsatisfiedRequireAttach);
|
||||||
|
}
|
||||||
|
});
|
||||||
// 生成超链接
|
// 生成超链接
|
||||||
excelExportUtilPro.generateHyperlink("附件", newRecordsExport, workbook, LawsEvaluationNotMetLibrary::getFileList, 12);
|
excelExportUtilPro.generateHyperlink("附件", newRecordsExport, workbook, LawsEvaluationNotMetLibrary::getFileList, 12);
|
||||||
|
excelExportUtilPro.generateHyperlink("辅助说明材料", newRecordsExport, workbook, LawsEvaluationNotMetLibrary::getFileList, 13);
|
||||||
// 导出excel
|
// 导出excel
|
||||||
workbook.write(fos);
|
workbook.write(fos);
|
||||||
// 生成并导出zip
|
// 生成并导出zip
|
||||||
|
|||||||
@@ -389,6 +389,18 @@ public class ImportUtil {
|
|||||||
parameterMap.put(tag.getDbFieldName(), this.convertInspectContentFile(cellValue, fileMap));
|
parameterMap.put(tag.getDbFieldName(), this.convertInspectContentFile(cellValue, fileMap));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 企标稽查内容文件导入
|
||||||
|
if (FieldCommon.REFERENCE_STANDARD.equals(tag.getDbFieldName()) &&
|
||||||
|
TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(tag.getIsModel())) {
|
||||||
|
// if (!this.inspectContentFileValid(cellValue, fileMap)) {
|
||||||
|
// log.error("第" + row + "列" + tag.getDbFieldTxt() + "填写错误 ");
|
||||||
|
// errMsg.append("第").append(row).append("列").append(tag.getDbFieldTxt()).append("填写错误 ");
|
||||||
|
// } else {
|
||||||
|
// // 转为List
|
||||||
|
// // 将转好的值加入Map
|
||||||
|
// parameterMap.put(tag.getDbFieldName(), this.convertInspectContentFile(cellValue, fileMap));
|
||||||
|
// }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (errMsg.toString().contains("列") || errMsg.toString().contains("重复") || errMsg.toString().contains("已存在")) {
|
if (errMsg.toString().contains("列") || errMsg.toString().contains("重复") || errMsg.toString().contains("已存在")) {
|
||||||
errMsgList.add(errMsg.toString());
|
errMsgList.add(errMsg.toString());
|
||||||
|
|||||||
@@ -39,8 +39,30 @@ public class ExcelExportUtilPro {
|
|||||||
@ApiModelProperty(value = "id")
|
@ApiModelProperty(value = "id")
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@Excel(name = "附件/佐证材料", width = 15)
|
@Excel(name = "附件", width = 15)
|
||||||
@ApiModelProperty(value = "附件/佐证材料")
|
@ApiModelProperty(value = "附件")
|
||||||
|
private String fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public static class MaterialFile {
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Excel(name = "佐证材料", width = 15)
|
||||||
|
@ApiModelProperty(value = "佐证材料")
|
||||||
|
private String fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public static class UnsatisfiedRequireAttachFile {
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Excel(name = "辅助说明材料", width = 15)
|
||||||
|
@ApiModelProperty(value = "辅助说明材料")
|
||||||
private String fileName;
|
private String fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,9 +100,10 @@ public class ExcelExportUtilPro {
|
|||||||
return cellStyle;
|
return cellStyle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> void settleDocuments(String url, String folderName, List<T> items,
|
public <T, R> void settleDocuments(String url, String folderName, List<T> items,
|
||||||
Function<T, List<String>> fileIdProvider,
|
Function<T, List<String>> fileIdProvider,
|
||||||
BiConsumer<T, List<FileDetails>> fileDetailsConsumer) throws IOException {
|
BiConsumer<T, List<R>> fileDetailsConsumer,
|
||||||
|
Class<R> fileDetailsClass) throws IOException {
|
||||||
// 构建完整的文件夹路径
|
// 构建完整的文件夹路径
|
||||||
String directoryPath = url + File.separator + folderName;
|
String directoryPath = url + File.separator + folderName;
|
||||||
|
|
||||||
@@ -95,7 +118,8 @@ public class ExcelExportUtilPro {
|
|||||||
if (fileIdList != null && !fileIdList.isEmpty()) {
|
if (fileIdList != null && !fileIdList.isEmpty()) {
|
||||||
List<OSSFile> ossFileList = ossFileService.listByIds(fileIdList);
|
List<OSSFile> ossFileList = ossFileService.listByIds(fileIdList);
|
||||||
if (!ossFileList.isEmpty()) {
|
if (!ossFileList.isEmpty()) {
|
||||||
List<FileDetails> fileDetailsList = BeanCopyUtils.copyBeanList(ossFileList, FileDetails.class);
|
// 将OSSFile列表复制为泛型R的列表
|
||||||
|
List<R> fileDetailsList = BeanCopyUtils.copyBeanList(ossFileList, fileDetailsClass);
|
||||||
fileDetailsConsumer.accept(item, fileDetailsList);
|
fileDetailsConsumer.accept(item, fileDetailsList);
|
||||||
for (OSSFile ossFile : ossFileList) {
|
for (OSSFile ossFile : ossFileList) {
|
||||||
InputStream inputStream = ObsBootUtil.getOssFile(ossFile.getUrl());
|
InputStream inputStream = ObsBootUtil.getOssFile(ossFile.getUrl());
|
||||||
@@ -110,6 +134,7 @@ public class ExcelExportUtilPro {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void writeToLocal(String filePath, InputStream input) throws IOException {
|
public void writeToLocal(String filePath, InputStream input) throws IOException {
|
||||||
int index;
|
int index;
|
||||||
byte[] bytes = new byte[1024];
|
byte[] bytes = new byte[1024];
|
||||||
|
|||||||
Reference in New Issue
Block a user