文档拆分--导入拆分结果--导入失败修改

条款对比结果-导出接口开发。
This commit is contained in:
wangzhijiang
2024-03-06 14:53:07 +08:00
parent 7b2fd9e157
commit 001b40a0e6
5 changed files with 106 additions and 5 deletions
@@ -5,8 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.MessageUtils;
import com.jero.modules.compare.entity.SarItemsCompareHisEO;
import com.jero.modules.compare.service.ISarItemsCompareHisEOService;
import com.jero.modules.system.util.MyStringUtils;
@@ -20,6 +23,8 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
@RestController
@RequestMapping("/compare/sarItemsCompareHis")
@@ -62,4 +67,19 @@ public class SarItemsStandCompareHisEOController extends JeroController<SarItems
return Result.OK("编辑成功!");
}
@ApiOperation(value = "条款对比结果-导出")
@GetMapping(value = "/exportSarItemsCompareHisXls")
public void exportSarItemsCompareHisXls(@ApiParam("导出名") @RequestParam(value = "exportName", required = false) String exportName,
@ApiParam("standHisId") @RequestParam(value = "standHisId", required = false) String standHisId,
HttpServletResponse response,
HttpServletRequest request) {
try {
this.sarItemsCompareHisEOService.exportSarItemsCompareHisXls(standHisId,exportName, response, request);
}catch (JeroBootException e){
throw new JeroBootException(e.getMessage());
}catch (Exception e){
throw new JeroBootException(MessageUtils.getMessage(ResultCommon.ERROR));
}
}
}
@@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
@@ -29,18 +30,21 @@ public class SarItemsCompareHisEO implements Serializable {
private String oldItemsId;
@Excel(name = "旧条款名称",width = 25,orderNum = "2")
private String oldItemsName;
private String oldItemsText;
private String newItemsId;
@Excel(name = "新条款名称",width = 25,orderNum = "4")
private String newItemsName;
private String newItemsText;
private String createUser;
@Excel(name = "比对时间",width = 25,orderNum = "5", format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
@@ -57,8 +61,10 @@ public class SarItemsCompareHisEO implements Serializable {
private String similarityDegree;
@Excel(name = "旧条款编号",width = 25,orderNum = "1")
private String oldItemsNum;
@Excel(name = "新条款编号",width = 25,orderNum = "3")
private String newItemsNum;
private String oldRemark;
@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.compare.entity.SarFileCompareInfo;
import com.jero.modules.compare.entity.SarItemsCompareHisEO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface ISarItemsCompareHisEOService extends IService<SarItemsCompareHisEO> {
void insertSelective(SarItemsCompareHisEO sarItemsCompareHisEO);
@@ -12,4 +15,6 @@ public interface ISarItemsCompareHisEOService extends IService<SarItemsCompareHi
void deleteByStandHisId(String id);
void editById(SarItemsCompareHisEO sarFileCompareItem);
void exportSarItemsCompareHisXls(String standHisId, String exportName, HttpServletResponse response, HttpServletRequest request);
}
@@ -1,9 +1,37 @@
package com.jero.modules.compare.service.impl;
import cn.hutool.core.util.ZipUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.compare.entity.SarItemsCompareHisEO;
import com.jero.modules.compare.mapper.SarItemsCompareHisEOMapper;
import com.jero.modules.compare.service.ISarItemsCompareHisEOService;
import com.jero.modules.document.enums.FieldTypeEnum;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.split.common.ConvertHtml2Excel;
import com.jero.modules.split.common.ReadExcel;
import com.jero.modules.split.dto.FileSpiltValTableExportDto;
import com.jero.modules.split.dto.FileSplitValExportDto;
import com.jero.modules.split.dto.FileSplitValImgExportDto;
import com.jero.modules.split.entity.SarFileSplitItemsValEO;
import com.jero.modules.split.page.SarFileSplitItemsEOPage;
import com.jero.modules.split.page.SarFileSplitItemsValEOPage;
import com.jero.modules.system.util.MyStringUtils;
import com.jero.modules.tag.entity.LawsTag;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.common.usermodel.HyperlinkType;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jeecgframework.poi.excel.ExcelExportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -11,7 +39,14 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
@@ -37,4 +72,41 @@ public class SarItemsCompareHisEOServiceImpl extends ServiceImpl<SarItemsCompare
sarFileCompareItem.setModifyTime(new Date());
this.saveOrUpdate(sarFileCompareItem);
}
@Override
public void exportSarItemsCompareHisXls(String standHisId, String exportName, HttpServletResponse response, HttpServletRequest request) {
OutputStream os = null;
OutputStream excelOS = null;
Workbook workbook = new XSSFWorkbook();
String fileOriName = "条款比对信息";
if (StringUtils.isNotEmpty(exportName)) {
fileOriName = exportName;
}
QueryWrapper<SarItemsCompareHisEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(SarItemsCompareHisEO::getStandHisId, standHisId);
queryWrapper.lambda().orderByDesc(SarItemsCompareHisEO::getCreateTime);
List<SarItemsCompareHisEO> exportDataList = this.list(queryWrapper);
try{
String fileName = fileOriName + ".xlsx";
ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF);
workbook = ExcelExportUtil.exportExcel(exportParams, SarItemsCompareHisEO.class, exportDataList);
response.setHeader("Content-Disposition",
"attachment; filename=\"" + ReadExcel.encodeFileName(fileName, request) +"\"");
response.setContentType("application/force-download");
response.flushBuffer();
os = response.getOutputStream();
workbook.write(os);
os.flush();
os.close(); // 后开先关
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new JeroBootException("下载文件失败,请重试");
} finally {
org.apache.poi.util.IOUtils.closeQuietly(os);
org.apache.poi.util.IOUtils.closeQuietly(excelOS);
}
}
}
@@ -1168,12 +1168,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
//此处需要做各种验证,数据库操作
try {
// 查询全部字段列表
// List<LawsTag> fieldLists = lawsCommonMapper.getFieldList(TableNameEnum.DOCUMENT_SPLIT.getTableName());
List<LawsTag> fieldLists = new ArrayList<>();
// 列表展示字段
List<LawsTag> fieldListSelect = fieldLists.stream().filter(v -> YesOrNoEnum.YES.getValue()
.equals(String.valueOf(v.getIsShowList()))).collect(Collectors.toList());
// List<OnlCgformField> onlCgformFieldList = onlCgformFieldService.getFieldList(ModuleEnum.FILE_SPLIT_ITEMS.getValue());
// 树形数据字典 dictId
List<String> dictIdList = fieldListSelect.stream()
.filter(e -> (YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm()))
@@ -2509,12 +2507,12 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
String id = (String)sarFileSplitItemsEO.get("id");
sarFileSplitItemsEO.remove("id");
sarFileSplitItemsEO.remove("itemValEOList");
sarFileSplitItemsEO = filterMap(sarFileSplitItemsEO);
// sarFileSplitItemsEO = filterMap(sarFileSplitItemsEO);
// insertInfo(sarFileSplitItemsEO,id,"import"); // 添加条款
LawsDocumentSplit lawsDocumentSplit = new LawsDocumentSplit();
lawsDocumentSplit.setId(UUID.randomUUID().toString().replace("-", ""));
lawsDocumentSplit.setId(id);
lawsDocumentSplit.setItemNum(sarFileSplitItemsEO.get("item_num").toString());
lawsDocumentSplit.setItemTitle(sarFileSplitItemsEO.get("item_title").toString());
lawsDocumentSplit.setItemContent(sarFileSplitItemsEO.get("item_content").toString());