|
|
@ -30,7 +30,6 @@ import com.epmet.dto.form.IcPartyMemberListFormDTO; |
|
|
|
import com.epmet.dto.result.ImportTaskCommonResultDTO; |
|
|
|
import com.epmet.dto.result.PartyMemberAgeResultDTO; |
|
|
|
import com.epmet.dto.result.PartyMemberEducationResultDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.PartymemberPortraitResultDTO; |
|
|
|
import com.epmet.modules.partyOrg.entity.IcPartyOrgEntity; |
|
|
|
import com.epmet.modules.partyOrg.service.IcPartyOrgService; |
|
|
|
import com.epmet.modules.partymember.excel.IcPartyMemberExcel; |
|
|
@ -39,6 +38,7 @@ import com.epmet.resi.partymember.dto.partymember.IcPartyMemberDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.form.IcPartyMemberFromDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.IcPartyInfoResultDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.IcPartyMemberResultDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.PartymemberPortraitResultDTO; |
|
|
|
import com.epmet.utils.ImportTaskUtils; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.collections4.CollectionUtils; |
|
|
@ -57,10 +57,7 @@ import java.io.InputStream; |
|
|
|
import java.io.PrintWriter; |
|
|
|
import java.net.URLEncoder; |
|
|
|
import java.nio.file.Path; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
|
import java.util.UUID; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
|
|
|
|
|
|
|
@ -309,24 +306,116 @@ public class IcPartyMemberController implements ResultDataResolver { |
|
|
|
return new Result<PageData<PartyMemberEducationResultDTO>>().ok(icPartyMemberService.getPartyMemberEducationList(formDTO)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 烟台党员画像列表接口,将上方两个接口,合为一个 |
|
|
|
* @param tokenDto |
|
|
|
* @param formDTO |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@PostMapping("partymember-portrait-list") |
|
|
|
@MaskResponse(fieldNames = {"mobile"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE}) |
|
|
|
public Result<PageData<PartymemberPortraitResultDTO>> queryPartymemberPortraitList(@LoginUser TokenDto tokenDto, @RequestBody IcPartyMemberListFormDTO formDTO) { |
|
|
|
if (StringUtils.isBlank(formDTO.getOrgId())) { |
|
|
|
// 当前工作人员所属组织下的,党组织
|
|
|
|
IcPartyOrgEntity org= icPartyOrgService.getIcPartyOrg(tokenDto.getCustomerId(),tokenDto.getUserId()); |
|
|
|
if (null == org) { |
|
|
|
return new Result<PageData<PartymemberPortraitResultDTO>>().ok(new PageData<>(Collections.emptyList(), 0)); |
|
|
|
@MaskResponse(fieldNames = {"mobile","idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE,MaskResponse.MASK_TYPE_ID_CARD}) |
|
|
|
public Result<PageData<PartymemberPortraitResultDTO>> queryPartyMemberPortraitList(@RequestBody IcPartyMemberListFormDTO formDTO) { |
|
|
|
return new Result<PageData<PartymemberPortraitResultDTO>>().ok(icPartyMemberService.queryPartyMemberPortraitList(formDTO)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 烟台党员画像列表-导出 |
|
|
|
* @param formDTO |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@NoRepeatSubmit |
|
|
|
@PostMapping("partymember-portrait-export") |
|
|
|
public void partymemberPortraitExport(@RequestBody IcPartyMemberListFormDTO formDTO, HttpServletResponse response) throws Exception { |
|
|
|
ExcelWriter excelWriter = null; |
|
|
|
formDTO.setPageSize(NumConstant.TEN_THOUSAND); |
|
|
|
formDTO.setIsPage(true); |
|
|
|
String fileName=getPartymemberPortraitFileName(formDTO.getCodeType(),formDTO.getCode()); |
|
|
|
try { |
|
|
|
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(fileName, response), PartymemberPortraitResultDTO.class).build(); |
|
|
|
WriteSheet writeSheet = EasyExcel.writerSheet("Sheet1").registerWriteHandler(new FreezeAndFilter()).build(); |
|
|
|
PageData<PartymemberPortraitResultDTO> data = null; |
|
|
|
List<PartymemberPortraitResultDTO> list = null; |
|
|
|
do { |
|
|
|
data = icPartyMemberService.queryPartyMemberPortraitList(formDTO); |
|
|
|
list = data.getList(); |
|
|
|
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE); |
|
|
|
excelWriter.write(list, writeSheet); |
|
|
|
} while (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()); |
|
|
|
} catch (EpmetException e) { |
|
|
|
response.reset(); |
|
|
|
response.setCharacterEncoding("UTF-8"); |
|
|
|
response.setHeader("content-type", "application/json; charset=UTF-8"); |
|
|
|
PrintWriter printWriter = response.getWriter(); |
|
|
|
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg()); |
|
|
|
printWriter.write(JSON.toJSONString(result)); |
|
|
|
printWriter.close(); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("党员画像列表导出exception", e); |
|
|
|
} finally { |
|
|
|
if (excelWriter != null) { |
|
|
|
excelWriter.finish(); |
|
|
|
} |
|
|
|
formDTO.setOrgId(org.getId()); |
|
|
|
} |
|
|
|
return new Result<PageData<PartymemberPortraitResultDTO>>().ok(icPartyMemberService.queryPartymemberPortraitList(formDTO)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 烟台党员画像列表-导出 |
|
|
|
* @return 返回导出excel的文件名 |
|
|
|
*/ |
|
|
|
private String getPartymemberPortraitFileName(String codeType, String code) { |
|
|
|
String name = "党员画像"; |
|
|
|
if ("age".equals(codeType)) { |
|
|
|
switch (code) { |
|
|
|
case NumConstant.ZERO_STR: |
|
|
|
name = "50岁以下党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.ONE_STR: |
|
|
|
name = "50-59岁党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.TWO_STR: |
|
|
|
name = "60-69岁党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.THREE_STR: |
|
|
|
name = "70-79岁党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.FOUR_STR: |
|
|
|
name = "80岁以上党员信息"; |
|
|
|
break; |
|
|
|
default: |
|
|
|
name = ""; |
|
|
|
break; |
|
|
|
} |
|
|
|
}else if ("education".equals(codeType)) { |
|
|
|
switch (code) { |
|
|
|
case NumConstant.ZERO_STR: |
|
|
|
name = "小学及文盲党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.ONE_STR: |
|
|
|
name = "初中学历党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.TWO_STR: |
|
|
|
name = "高中学历党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.THREE_STR: |
|
|
|
name = "大专学历党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.FOUR_STR: |
|
|
|
name = "本科学历党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.FIVE_STR: |
|
|
|
name = "硕士学历党员信息"; |
|
|
|
break; |
|
|
|
case NumConstant.SIX_STR: |
|
|
|
name = "博士学历党员信息"; |
|
|
|
break; |
|
|
|
default: |
|
|
|
name = "党员画像"; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
String fileName=name+DateUtils.format(new Date()) + ".xlsx"; |
|
|
|
return fileName; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|