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
f5f0b1692e
  1. 12
      epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.36__ic_customer_report.sql
  2. 10
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ExportResiUserFormDTO.java
  3. 41
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  4. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java

12
epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.36__ic_customer_report.sql

@ -0,0 +1,12 @@
CREATE TABLE `ic_customer_report` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`REPORT_ID` varchar(64) NOT NULL COMMENT '报表id',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除;',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间=绑定时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户报表关系表';

10
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ExportResiUserFormDTO.java

@ -13,6 +13,10 @@ import java.io.Serializable;
@Data @Data
public class ExportResiUserFormDTO implements Serializable { public class ExportResiUserFormDTO implements Serializable {
private static final long serialVersionUID = 8777535966834678256L; private static final long serialVersionUID = 8777535966834678256L;
/**
* 客户Id
*/
private String customerId;
/** /**
* 表单查询条件 * 表单查询条件
*/ */
@ -27,5 +31,11 @@ public class ExportResiUserFormDTO implements Serializable {
*/ */
private IcExportTemplateSaveFormDTO exportConfig; private IcExportTemplateSaveFormDTO exportConfig;
/**
* pageNo 报表用的
*/
private Integer pageNo = 1;
private Integer pageSize = 1000;
} }

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

@ -32,6 +32,7 @@ import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.distributedlock.DistributedLock;
import com.epmet.commons.tools.dto.form.IcExportTemplateSaveFormDTO;
import com.epmet.commons.tools.dto.form.mq.MqBaseFormDTO; import com.epmet.commons.tools.dto.form.mq.MqBaseFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.dto.result.OptionDataResultDTO;
@ -551,11 +552,47 @@ public class IcResiUserController implements ResultDataResolver {
* @date 2021/11/19 4:24 下午 * @date 2021/11/19 4:24 下午
* @remark 用于报表调用的接口 试试 * @remark 用于报表调用的接口 试试
*/ */
@ReportRequest
@NoRepeatSubmit @NoRepeatSubmit
@RequestMapping(value = "/exportExcelCustomData") @RequestMapping(value = "/exportExcelCustomData")
public Result<List<Map<String, Object>>> exportExcelCustomData(@LoginUser TokenDto tokenDto, @RequestBody ExportResiUserFormDTO pageFormDTO, HttpServletResponse response) throws Exception { public Map<String, Object> exportExcelCustomData(@LoginUser TokenDto tokenDto, @RequestParam("templateId") String templateId,
@RequestBody ExportResiUserFormDTO pageFormDTO) throws Exception {
log.warn("templateId=【"+templateId+"】");
log.warn("pageFormDTO入参【"+JSON.toJSONString(pageFormDTO)+"】");
pageFormDTO.setTemplateId(templateId);
if (null == pageFormDTO.getSearchForm()) {
IcResiUserPageFormDTO searchForm = new IcResiUserPageFormDTO();
searchForm.setFormCode("resi_base_info");
searchForm.setCustomerId(tokenDto.getCustomerId());
searchForm.setStaffId(tokenDto.getUserId());
// searchForm.setPageNo(pageFormDTO.getPageNo());
// searchForm.setPageSize(pageFormDTO.getPageSize());
List<ResiUserQueryValueDTO> conditions=new ArrayList<>();
// ResiUserQueryValueDTO temp=new ResiUserQueryValueDTO();
// temp.setColumnName("");
// temp.setColumnValue(Arrays.asList("IS_UNEMPLOYED"));
// temp.setQueryType("resi_category");
// temp.setTableName("ic_resi_user");
// conditions.add(temp);
searchForm.setConditions(conditions);
pageFormDTO.setSearchForm(searchForm);
}
pageFormDTO.getSearchForm().setPageNo(pageFormDTO.getPageNo());
pageFormDTO.getSearchForm().setPageSize(pageFormDTO.getPageSize());
if (null == pageFormDTO.getExportConfig()) {
IcExportTemplateSaveFormDTO exportTemplateSaveFormDTO = new IcExportTemplateSaveFormDTO();
exportTemplateSaveFormDTO.setFormCode("resi_base_info");
exportTemplateSaveFormDTO.setIsSaveTemp(false);
pageFormDTO.setExportConfig(exportTemplateSaveFormDTO);
}
//固定通用客户Id
pageFormDTO.setCustomerId("jmreport_resi_default");
Page<Map<String, Object>> maps = icResiUserExportService.exportIcResiUser(tokenDto, pageFormDTO, null, true); Page<Map<String, Object>> maps = icResiUserExportService.exportIcResiUser(tokenDto, pageFormDTO, null, true);
return new Result<List<Map<String, Object>>>().ok(maps.getResult()); Map<String,Object> result = new HashMap<>();
result.put("total",maps.getPages());
result.put("count",maps.getTotal());
result.put("data",maps.getResult());
return result;
} }
/** /**

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

@ -104,7 +104,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
WriteSheet writeSheet = null; WriteSheet writeSheet = null;
try { try {
//获取用户配置的导出条件 //获取用户配置的导出条件
Result<IcCustomExportResultDTO> exportConfigResult = this.getIcCustomExportConfig(searchForm.getCustomerId(), templateId, exportResiUserFormDTO.getExportConfig()); Result<IcCustomExportResultDTO> exportConfigResult = this.getIcCustomExportConfig(exportResiUserFormDTO.getCustomerId(), templateId, exportResiUserFormDTO.getExportConfig());
Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(searchForm.getCustomerId()); Map<String, ExportResiUserItemDTO> itemOriginMap = getItemMap(searchForm.getCustomerId());
IcCustomExportResultDTO exportConfigData = exportConfigResult.getData(); IcCustomExportResultDTO exportConfigData = exportConfigResult.getData();
@ -120,6 +120,8 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
if (!onlyGetData){ if (!onlyGetData){
searchForm.setIsPage(false);
searchForm.setPageSize(NumConstant.TEN_THOUSAND);
//需要合并的列 //需要合并的列
List<Integer> mergeColumnIndexList = new ArrayList<>(); List<Integer> mergeColumnIndexList = new ArrayList<>();
@ -165,7 +167,9 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
mapListPage = PageHelper.startPage(searchForm.getPageNo(), searchForm.getPageSize(), searchForm.getIsPage()).doSelectPage(() -> { mapListPage = PageHelper.startPage(searchForm.getPageNo(), searchForm.getPageSize(), searchForm.getIsPage()).doSelectPage(() -> {
icResiUserService.dynamicQuery(searchForm.getCustomerId(), searchForm.getFormCode(), IcResiUserConstant.IC_RESI_USER, allShowColumns, searchForm.getConditions(), staffInfoCacheResult.getAgencyId(), finalStaffOrgPath); icResiUserService.dynamicQuery(searchForm.getCustomerId(), searchForm.getFormCode(), IcResiUserConstant.IC_RESI_USER, allShowColumns, searchForm.getConditions(), staffInfoCacheResult.getAgencyId(), finalStaffOrgPath);
}); });
searchForm.setPageNo(searchForm.getPageNo() + NumConstant.ONE); if (!searchForm.getIsPage()){
searchForm.setPageNo(searchForm.getPageNo() + NumConstant.ONE);
}
List<Map<String, Object>> result = mapListPage.getResult(); List<Map<String, Object>> result = mapListPage.getResult();
@ -179,7 +183,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
if (!onlyGetData){ if (!onlyGetData){
excelWriter.write(resultData, writeSheet); excelWriter.write(resultData, writeSheet);
} }
} while (mapListPage.getResult().size() == searchForm.getPageSize()); } while (!searchForm.getIsPage() && mapListPage.getResult().size() == searchForm.getPageSize());
} catch (IOException e) { } catch (IOException e) {
log.error("exportIcResiUser exception", e); log.error("exportIcResiUser exception", e);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMessage(), "导出失败"); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMessage(), "导出失败");
@ -226,6 +230,7 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
if (FieldConstant.ID.equals(key)) { if (FieldConstant.ID.equals(key)) {
newValue = Md5Util.md5(vauleStr); newValue = Md5Util.md5(vauleStr);
} }
o.put(key,newValue);
singleRowData.add(newValue); singleRowData.add(newValue);
}); });
resultData.add(singleRowData); resultData.add(singleRowData);
@ -242,8 +247,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService {
searchForm.setCustomerId(tokenDto.getCustomerId()); searchForm.setCustomerId(tokenDto.getCustomerId());
searchForm.setStaffId(tokenDto.getUserId()); searchForm.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(searchForm, IcResiUserPageFormDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(searchForm, IcResiUserPageFormDTO.AddUserInternalGroup.class);
searchForm.setIsPage(false);
searchForm.setPageSize(NumConstant.TEN_THOUSAND);
} }
@Nullable @Nullable

Loading…
Cancel
Save