Browse Source

Merge branch 'dev_jmreport' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_jmreport

master
wangxianzhang 3 years ago
parent
commit
df1d5c2f33
  1. 21
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  2. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java
  3. 43
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

21
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -68,6 +68,7 @@ import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.IcResiUserExportService;
import com.epmet.service.IcResiUserImportService;
import com.epmet.service.IcResiUserService;
import com.github.pagehelper.Page;
import feign.RequestInterceptor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@ -526,7 +527,7 @@ public class IcResiUserController implements ResultDataResolver {
log.info("通过原来的模板下载,tokenDto:{}", JSON.toJSONString(tokenDto));
this.exportExcelByEasyExcel(tokenDto, pageFormDTO.getSearchForm(), response);
} else {
icResiUserExportService.exportIcResiUser(tokenDto, pageFormDTO, response);
icResiUserExportService.exportIcResiUser(tokenDto, pageFormDTO, response,false);
}
} catch (EpmetException e) {
response.reset();
@ -539,6 +540,24 @@ public class IcResiUserController implements ResultDataResolver {
}
}
/**
* desc: 自定义导出居民信息 不下载只有数据
*
* @param tokenDto
* @param pageFormDTO
* @param response
* @return void
* @author LiuJanJun
* @date 2021/11/19 4:24 下午
* @remark 用于报表调用的接口 试试
*/
@NoRepeatSubmit
@RequestMapping(value = "/exportExcelCustomData")
public Result<List<Map<String, Object>>> exportExcelCustomData(@LoginUser TokenDto tokenDto, @RequestBody ExportResiUserFormDTO pageFormDTO, HttpServletResponse response) throws Exception {
Page<Map<String, Object>> maps = icResiUserExportService.exportIcResiUser(tokenDto, pageFormDTO, null, true);
return new Result<List<Map<String, Object>>>().ok(maps.getResult());
}
/**
* desc:根据客户id 先从oss下载模版,如果有没有则使用系统默认模板 如果不存在则返回null
*

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserExportService.java

@ -2,8 +2,10 @@ package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.ExportResiUserFormDTO;
import com.github.pagehelper.Page;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
*@Description 居民信息导出service
@ -23,5 +25,5 @@ public interface IcResiUserExportService {
* @author LiuJanJun
* @date 2022/4/22 1:35 下午
*/
void exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response);
Page<Map<String, Object>> exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response, boolean onlyGetData);
}

43
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

@ -91,7 +91,9 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
* @date 2022/4/22 1:35 下午
*/
@Override
public void exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response) {
public Page<Map<String, Object>> exportIcResiUser(TokenDto tokenDto, ExportResiUserFormDTO exportResiUserFormDTO, HttpServletResponse response, boolean onlyGetData) {
Page<Map<String, Object>> mapListPage = null;
//校验参数
this.validateSearchForm(tokenDto, exportResiUserFormDTO);
IcResiUserPageFormDTO searchForm = exportResiUserFormDTO.getSearchForm();
@ -99,6 +101,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
String templateId = exportResiUserFormDTO.getTemplateId();
ExcelWriter excelWriter = null;
WriteSheet writeSheet = null;
try {
//获取用户配置的导出条件
Result<IcCustomExportResultDTO> exportConfigResult = this.getIcCustomExportConfig(searchForm.getCustomerId(), templateId, exportResiUserFormDTO.getExportConfig());
@ -114,6 +117,10 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
List<IcCustomExportResultDTO.SqlColumn> allShowColumns = new ArrayList<>(exportConfigData.getShowSqlColumns());
if (!onlyGetData){
//需要合并的列
List<Integer> mergeColumnIndexList = new ArrayList<>();
for (int i = 0; i < allShowColumns.size(); i++) {
@ -122,7 +129,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
mergeColumnIndexList.add(i);
}
}
int[] mergeColumnIndex = mergeColumnIndexList.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray();
// 从那一列开始合并
int mergeRowIndex = exportConfigData.getHeaderRow();
@ -143,7 +149,8 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
.registerWriteHandler(writeHandler).build();
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").head(exportConfigData.getHeaders()).build();
writeSheet = EasyExcel.writerSheet("Sheet1").head(exportConfigData.getHeaders()).build();
}
String staffOrgPath = null;
if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) {
@ -151,7 +158,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
} else {
staffOrgPath = staffInfoCacheResult.getAgencyId();
}
Page<Map<String, Object>> mapListPage = null;
allShowColumns.addAll(exportConfigData.getHiddenSqlColumns());
do {
@ -168,6 +174,24 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
List<IcCustomExportResultDTO.SqlColumn> showSqlColumns = exportConfigData.getShowSqlColumns();
Set<String> hiddenColumnSet = exportConfigData.getHiddenSqlColumns().stream().map(IcCustomExportResultDTO.SqlColumn::getColumnName).collect(Collectors.toSet());
result.forEach(o -> {
getDataForResi(itemOriginMap, staffInfoCacheResult, resultData, showSqlColumns, hiddenColumnSet, o);
});
if (!onlyGetData){
excelWriter.write(resultData, writeSheet);
}
} while (mapListPage.getResult().size() == searchForm.getPageSize());
} catch (IOException e) {
log.error("exportIcResiUser exception", e);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMessage(), "导出失败");
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
return mapListPage;
}
private void getDataForResi(Map<String, ExportResiUserItemDTO> itemOriginMap, CustomerStaffInfoCacheResult staffInfoCacheResult, List<List<Object>> resultData, List<IcCustomExportResultDTO.SqlColumn> showSqlColumns, Set<String> hiddenColumnSet, Map<String, Object> o) {
List<Object> singleRowData = new ArrayList<>();
Map<String, Object> originalConditionMap = new ConcurrentHashMap<>();
o.forEach((key, value) -> {
@ -205,17 +229,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
singleRowData.add(newValue);
});
resultData.add(singleRowData);
});
excelWriter.write(resultData, writeSheet);
} while (mapListPage.getResult().size() == searchForm.getPageSize());
} catch (IOException e) {
log.error("exportIcResiUser exception", e);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMessage(), "导出失败");
} finally {
if (excelWriter != null) {
excelWriter.finish();
}
}
}
/**

Loading…
Cancel
Save