springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComPensionAuthRecordImportExcelListen.java
@@ -173,20 +173,19 @@ continue; } vo.setAuthDate(DateUtil.parse(oneData.get(4).trim(), parsePatterns)); if (StringUtils.isNotEmpty(oneData.get(5))) { Integer isOk = PopulHouseUseEnum.getCodeByName(oneData.get(5)); if (isOk.equals(-1)) { index++; ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); setPensionAuthMistake(oneData, mistake); mistake.setMistake("您填写的健在(是/否)有误"); mistakes.add(mistake); continue; } vo.setIsAlive(isOk); } else { vo.setIsAlive(PopulHouseUseEnum.getCodeByName("否")); if (StringUtils.isEmpty(oneData.get(5))) { index++; ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); setPensionAuthMistake(oneData, mistake); mistake.setMistake("认证期数不可为空"); mistakes.add(mistake); continue; } vo.setAuthPeriod(oneData.get(5)); if (StringUtils.isNotEmpty(oneData.get(6))) { vo.setMark(oneData.get(6)); } voList.add(vo); index++; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComPensionAuthRecordImportExcelVO.java
@@ -35,8 +35,11 @@ @ExcelProperty(value = "认证时间", index = 4) private Date authDate; @ExcelProperty(value = "健在(是/否)", index = 5) private Integer isAlive; @ExcelProperty(value = "认证期数", index = 5) private String authPeriod; @ExcelProperty(value = "标记", index = 6) private String mark; /** * 年龄 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -5910,4 +5910,20 @@ */ @PostMapping("/elders/pension/auth/statistic/page") R pagePensionAuthStatisticAdmin(@RequestBody PagePensionAuthStatisticDTO pensionAuthStatisticDTO); /** * 养老认证记标记 * @param signElderAuthStatisticDTO 请求参数 * @return 标记结果 */ @PostMapping("/elders/pension/auth/statistic/sign") R signPensionAuthStatisticAdmin(@RequestBody SignElderAuthStatisticDTO signElderAuthStatisticDTO); /** * 养老认证表头统计 * @param statisticHeaderDTO 请求参数 * @return 统计结果 */ @PostMapping("/elders/pension/auth/header/statistic") R getPensionAuthHeaderStatisticAdmin(@RequestBody ElderAuthStatisticHeaderDTO statisticHeaderDTO); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java
@@ -379,7 +379,7 @@ InputStream inputStream = null; try { List<List<String>> list = new ArrayList<>(); list = headDataFilling(); list = headDataFilling(true); EasyExcel.write(fileName).head(list).sheet("高龄线下认证居民导入模板").doWrite(null); File file = new File(fileName); inputStream = new FileInputStream(file); @@ -672,7 +672,7 @@ InputStream inputStream = null; try { List<List<String>> list = new ArrayList<>(); list = headDataFilling(); list = headDataFilling(false); EasyExcel.write(fileName).head(list).sheet("养老线下认证居民导入模板").doWrite(null); File file = new File(fileName); inputStream = new FileInputStream(file); @@ -872,7 +872,12 @@ return communityService.setEldersAuthType(this.getCommunityId(), type); } private List<List<String>> headDataFilling() { /** * 表头构建 * @param isBigAge 是否是高龄认证 * @return 表头数据 */ private List<List<String>> headDataFilling(Boolean isBigAge) { List<List<String>> list = new ArrayList<List<String>>(); List<String> head0 = new ArrayList<String>(); head0.add("认证姓名"); @@ -885,7 +890,12 @@ List<String> head4 = new ArrayList<String>(); head4.add("认证时间(年/月/日 如:2021/1/1)"); List<String> head5 = new ArrayList<String>(); head5.add("认证期数(年月 注:月份小于10,需要在月数前加0 如:202101)"); if(isBigAge){ head5.add("认证期数(年月 注:月份小于10,需要在月数前加0 如:202101)"); }else{ head5.add("认证期数(即认证年份,2021)"); } List<String> head6 = new ArrayList<String>(); head6.add("标记(备注信息)"); @@ -928,4 +938,18 @@ pensionAuthStatisticDTO.setCommunityId(communityId); return communityService.pagePensionAuthStatisticAdmin(pensionAuthStatisticDTO); } @ApiOperation(value = "养老认证统计-标记养老认证统计记录---") @PostMapping("/pensionAuthRecords/statistic/sign") public R signPensionAuthStatisticAdmin(@RequestBody SignElderAuthStatisticDTO signElderAuthStatisticDTO) { signElderAuthStatisticDTO.setUserId(this.getUserId()); return communityService.signPensionAuthStatisticAdmin(signElderAuthStatisticDTO); } @ApiOperation(value = "养老认证统计-表头统计---",response = ComEldersAuthStatisticHeaderVO.class) @PostMapping(value = "/pension/auth/header/statistic") public R getPensionAuthHeaderStatisticAdmin(@RequestBody ElderAuthStatisticHeaderDTO statisticHeaderDTO) { statisticHeaderDTO.setCommunityId(this.getCommunityId()); return communityService.getPensionAuthHeaderStatisticAdmin(statisticHeaderDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/EldersAuthApi.java
@@ -497,4 +497,24 @@ return comPensionAuthHistoryRecordService.pagePensionAuthStatisticAdmin(pensionAuthStatisticDTO); } /** * 养老认证记标记 * @param signElderAuthStatisticDTO 请求参数 * @return 标记结果 */ @PostMapping("/pension/auth/statistic/sign") public R signPensionAuthStatisticAdmin(@RequestBody SignElderAuthStatisticDTO signElderAuthStatisticDTO) { return comPensionAuthHistoryRecordService.signPensionAuthStatisticAdmin(signElderAuthStatisticDTO); } /** * 养老认证表头统计 * @param statisticHeaderDTO 请求参数 * @return 统计结果 */ @PostMapping("/pension/auth/header/statistic") public R getPensionAuthHeaderStatisticAdmin(@RequestBody ElderAuthStatisticHeaderDTO statisticHeaderDTO) { return comPensionAuthHistoryRecordService.getPensionAuthHeaderStatisticAdmin(statisticHeaderDTO); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComPensionAuthHistoryRecordMapper.java
@@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.community.elder.ElderAuthStatisticHeaderDTO; import com.panzhihua.common.model.dtos.community.elder.PagePensionAuthStatisticDTO; import com.panzhihua.common.model.vos.elders.ComEldersAuthStatisticHeaderVO; import com.panzhihua.common.model.vos.elders.ComPensionAuthStatisticVO; import com.panzhihua.service_community.model.dos.ComPensionAuthHistoryRecordDO; import org.apache.ibatis.annotations.Mapper; @@ -17,7 +19,19 @@ @Mapper public interface ComPensionAuthHistoryRecordMapper extends BaseMapper<ComPensionAuthHistoryRecordDO> { /** * 养老认证统计-分页查询 * @param pensionAuthStatisticDTO 请求参数 * @return 养老认证统列表 */ IPage<ComPensionAuthStatisticVO> pageAuthStatisticAdmin(Page page, @Param("pensionAuthStatisticDTO") PagePensionAuthStatisticDTO pensionAuthStatisticDTO); /** * 养老认证表头统计 * @param statisticHeaderDTO 请求参数 * @return 统计结果 */ ComEldersAuthStatisticHeaderVO getAuthHeaderStatisticAdmin(@Param("statisticHeaderDTO") ElderAuthStatisticHeaderDTO statisticHeaderDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComPensionAuthPensionerDO.java
@@ -74,11 +74,11 @@ /** * 是否养老登记(1.是 0.否) */ private Boolean isRegister; private Integer isRegister; /** * 是否健在(1.是 0.否) */ private Boolean isAlive; private Integer isAlive; /** * 居住地址 */ @@ -108,6 +108,14 @@ */ private Long updateBy; /** * 是否枚举(1.是 0.否) */ public interface isOk{ int yes = 1; int no = 0; } @Override public String toString() { return "ComPensionAuthPensionerDO{" + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComPensionAuthHistoryRecordService.java
@@ -1,7 +1,9 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.elder.ElderAuthStatisticHeaderDTO; import com.panzhihua.common.model.dtos.community.elder.PagePensionAuthStatisticDTO; import com.panzhihua.common.model.dtos.community.elder.SignElderAuthStatisticDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComPensionAuthHistoryRecordDO; @@ -19,4 +21,18 @@ */ R pagePensionAuthStatisticAdmin(PagePensionAuthStatisticDTO pensionAuthStatisticDTO); /** * 养老认证记标记 * @param signElderAuthStatisticDTO 请求参数 * @return 标记结果 */ R signPensionAuthStatisticAdmin(SignElderAuthStatisticDTO signElderAuthStatisticDTO); /** * 养老认证表头统计 * @param statisticHeaderDTO 请求参数 * @return 统计结果 */ R getPensionAuthHeaderStatisticAdmin(ElderAuthStatisticHeaderDTO statisticHeaderDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthHistoryRecordServiceImpl.java
@@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.elder.ElderAuthStatisticHeaderDTO; import com.panzhihua.common.model.dtos.community.elder.PagePensionAuthStatisticDTO; import com.panzhihua.common.model.dtos.community.elder.SignElderAuthStatisticDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.dao.ComPensionAuthHistoryRecordMapper; import com.panzhihua.service_community.model.dos.ComPensionAuthHistoryRecordDO; @@ -28,4 +30,33 @@ public R pagePensionAuthStatisticAdmin(PagePensionAuthStatisticDTO pensionAuthStatisticDTO){ return R.ok(this.baseMapper.pageAuthStatisticAdmin(new Page(pensionAuthStatisticDTO.getPageNum(),pensionAuthStatisticDTO.getPageSize()),pensionAuthStatisticDTO)); } /** * 养老认证记标记 * @param signElderAuthStatisticDTO 请求参数 * @return 标记结果 */ @Override public R signPensionAuthStatisticAdmin(SignElderAuthStatisticDTO signElderAuthStatisticDTO){ ComPensionAuthHistoryRecordDO authHistoryRecordDO = this.baseMapper.selectById(signElderAuthStatisticDTO.getId()); if(authHistoryRecordDO == null){ return R.fail("未查询到该记录"); } authHistoryRecordDO.setMark(signElderAuthStatisticDTO.getMark()); if(this.baseMapper.updateById(authHistoryRecordDO) > 0){ return R.ok(); } return R.fail(); } /** * 养老认证表头统计 * @param statisticHeaderDTO 请求参数 * @return 统计结果 */ @Override public R getPensionAuthHeaderStatisticAdmin(ElderAuthStatisticHeaderDTO statisticHeaderDTO){ return R.ok(this.baseMapper.getAuthHeaderStatisticAdmin(statisticHeaderDTO)); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java
@@ -162,6 +162,7 @@ // 需要修改的认证记录集合 List<ComPensionAuthRecordDO> updateList = new ArrayList<>(); log.info("开始处理导入数据"); Date nowDate = new Date(); List<ComPensionAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>(); try { // 查询所有人口数据放入HashMap中 @@ -173,7 +174,6 @@ }); for (ComPensionAuthRecordImportExcelVO vo : list) { String cardNoAES = AESUtil.encrypt128(vo.getIdCard(), aesKey); // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; @@ -187,7 +187,6 @@ if (null == comPensionAuthPensionerDO) { ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("该实有人口已存在,但本社区不存在养老信息,请先导入养老人口"); mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); @@ -196,7 +195,6 @@ if (!comPensionAuthPensionerDO.getIsRegister().equals(1) || !comPensionAuthPensionerDO.getIsAlive().equals(1)) { ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("该人口不健在,或者未做养老登记"); mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); @@ -204,16 +202,7 @@ //满足认证条件,判断是否存在当期认证记录 List<ComPensionAuthRecordDO> pensionAuthList = null; ComPensionAuthRecordDO comPensionAuthRecordDO = null; Date nowDate = new Date(); // 获取当前年 int year = DateUtils.getYear(nowDate); String authPeriod = ""; if (nowDate.before(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(String.valueOf(year) + "-03-01 00:00:00"))) { authPeriod = String.valueOf(year - 1); }else { authPeriod = String.valueOf(year); } String authPeriod = vo.getAuthPeriod(); pensionAuthList = comPensionAuthRecordDAO.selectList(new QueryWrapper<ComPensionAuthRecordDO>().lambda(). eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId()) .eq(ComPensionAuthRecordDO::getAuthPeriod, authPeriod).orderByDesc(ComPensionAuthRecordDO::getCreateAt)); @@ -224,28 +213,21 @@ if (comPensionAuthRecordDO.getApprovalStatus().equals(ComPensionAuthRecordDO.approvalStatus.tg)) { ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("该人口本期已认证,不可重复认证"); mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); }else if (comPensionAuthRecordDO.getApprovalStatus().equals(ComPensionAuthRecordDO.approvalStatus.dsh)) { //存在待审核记录,进行更新认证信息 comPensionAuthRecordDO.setSubmitUserId(userId); comPensionAuthRecordDO.setApproverId(userId); comPensionAuthRecordDO.setApprovalStatus(ComPensionAuthRecordDO.approvalStatus.tg); comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); comPensionAuthRecordDO.setApprovalDate(new Date()); comPensionAuthRecordDO.setAuthStatus(ComPensionAuthRecordDO.authStatus.rez); comPensionAuthRecordDO.setCommunityId(communityId); comPensionAuthRecordDO = updatePensionAuthRecordsDO(vo, comPensionAuthRecordDO, userId,communityId,nowDate); updateList.add(comPensionAuthRecordDO); }else { // 不存在记录,则新增 comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId); comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId,nowDate); saveList.add(comPensionAuthRecordDO); } }else { // 不存在记录,则新增 comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId); comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId,nowDate); saveList.add(comPensionAuthRecordDO); } } @@ -254,7 +236,6 @@ // 不存在实有人口,则新增 ComPensionAuthRecordImportMistakeExcelVO mistake = new ComPensionAuthRecordImportMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("不存在该实有人口,请先导入实有人口信息"); mistake.setAuthDate(DateUtils.format(vo.getAuthDate(),DateUtils.yyyyMMdd_format)); mistakes.add(mistake); @@ -373,20 +354,21 @@ } private ComPensionAuthRecordDO updatePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo , ComPensionAuthRecordDO comPensionAuthRecordsDO, Long userId , Long communityId) { , ComPensionAuthRecordDO comPensionAuthRecordsDO, Long userId , Long communityId,Date date) { BeanUtils.copyProperties(vo, comPensionAuthRecordsDO); comPensionAuthRecordsDO.setSubmitUserId(userId); comPensionAuthRecordsDO.setApproverId(userId); comPensionAuthRecordsDO.setApprovalStatus(PASS_THROUGH.getStatus()); comPensionAuthRecordsDO.setApprovalDate(new Date()); comPensionAuthRecordsDO.setAuthStatus(CERTIFIED.getStatus()); comPensionAuthRecordsDO.setCommunityId(communityId); comPensionAuthRecordsDO.setApprovalStatus(ComPensionAuthRecordDO.approvalStatus.tg); comPensionAuthRecordsDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); comPensionAuthRecordsDO.setApprovalDate(date); comPensionAuthRecordsDO.setAuthStatus(ComPensionAuthRecordDO.authStatus.rez); comPensionAuthRecordsDO.setCommunityId(communityId); comPensionAuthRecordsDO.setMark(vo.getMark()); return comPensionAuthRecordsDO; } private ComPensionAuthRecordDO savePensionAuthRecordsDO(ComPensionAuthRecordImportExcelVO vo , ComPensionAuthPensionerDO comPensionAuthPensionerDO, String authPeriod, Long userId, Long communityId) { , ComPensionAuthPensionerDO comPensionAuthPensionerDO, String authPeriod, Long userId, Long communityId,Date date) { ComPensionAuthRecordDO comPensionAuthRecordDO = new ComPensionAuthRecordDO(); BeanUtils.copyProperties(vo, comPensionAuthRecordDO); comPensionAuthRecordDO.setId(Snowflake.getId()); @@ -399,12 +381,9 @@ comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus()); comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); comPensionAuthRecordDO.setCommunityId(communityId); comPensionAuthRecordDO.setCreateAt(date); comPensionAuthRecordDO.setMark(vo.getMark()); return comPensionAuthRecordDO; } private void setMistake(ComPensionAuthRecordImportMistakeExcelVO mvo, ComPensionAuthRecordImportExcelVO vo) { mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive())); } /** @@ -441,7 +420,8 @@ return R.fail("该人员未在社区报道无法认证"); } boolean isInfoCorrect = !comPensionAuthPensionerDO.getName().equals(addIdentityAuthDTO.getName()) || !(comPensionAuthPensionerDO.getIsRegister() && comPensionAuthPensionerDO.getIsAlive()); !(comPensionAuthPensionerDO.getIsRegister().equals(ComPensionAuthPensionerDO.isOk.yes) && comPensionAuthPensionerDO.getIsAlive().equals(ComPensionAuthPensionerDO.isOk.yes)); if (isInfoCorrect) { return R.fail("信息有误,请检查!"); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComPensionAuthHistoryRecordDOMapper.xml
@@ -85,4 +85,36 @@ order by cpahr.create_at desc </select> <select id="getAuthHeaderStatisticAdmin" parameterType="com.panzhihua.common.model.dtos.community.elder.ElderAuthStatisticHeaderDTO" resultType="com.panzhihua.common.model.vos.elders.ComEldersAuthStatisticHeaderVO"> SELECT count( id ) AS allCount, ( SELECT count( id ) FROM com_pension_auth_history_record WHERE is_auth = 1 <if test="statisticHeaderDTO.authPeriod != null and statisticHeaderDTO.authPeriod != """> and auth_period = #{statisticHeaderDTO.authPeriod} </if> <if test="statisticHeaderDTO.communityId != null"> and community_id = #{statisticHeaderDTO.communityId} </if> ) AS yesCount, ( SELECT count( id ) FROM com_pension_auth_history_record WHERE is_auth = 2 <if test="statisticHeaderDTO.authPeriod != null and statisticHeaderDTO.authPeriod != """> and auth_period = #{statisticHeaderDTO.authPeriod} </if> <if test="statisticHeaderDTO.communityId != null"> and community_id = #{statisticHeaderDTO.communityId} </if> ) AS noCount FROM com_pension_auth_history_record <where> <if test="statisticHeaderDTO.authPeriod != null and statisticHeaderDTO.authPeriod != """> and auth_period = #{statisticHeaderDTO.authPeriod} </if> <if test="statisticHeaderDTO.communityId != null"> and community_id = #{statisticHeaderDTO.communityId} </if> </where> </select> </mapper>