From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 23 十二月 2021 18:10:22 +0800 Subject: [PATCH] 12/23 大屏修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java | 245 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 199 insertions(+), 46 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java index 6736bbb..0f99651 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComElderAuthRecordsServiceImpl.java @@ -15,6 +15,9 @@ import javax.annotation.Resource; +import com.panzhihua.service_community.dao.*; +import com.panzhihua.service_community.model.dos.*; +import com.panzhihua.service_community.service.ComElderAuthElderliesService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -38,21 +41,9 @@ import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO; import com.panzhihua.common.utlis.AgeUtils; import com.panzhihua.common.utlis.DateUtils; -import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.common.utlis.WxXCXTempSend; -import com.panzhihua.service_community.dao.ComActActSignDAO; -import com.panzhihua.service_community.dao.ComActDAO; -import com.panzhihua.service_community.dao.ComElderAuthElderliesDAO; -import com.panzhihua.service_community.dao.ComElderAuthRecordsDAO; -import com.panzhihua.service_community.dao.ComEldersAuthStatisticsMapper; -import com.panzhihua.service_community.dao.ComMngPopulationDAO; -import com.panzhihua.service_community.model.dos.ComActDO; -import com.panzhihua.service_community.model.dos.ComElderAuthElderliesDO; -import com.panzhihua.service_community.model.dos.ComElderAuthRecordsDO; -import com.panzhihua.service_community.model.dos.ComEldersAuthStatisticsDO; -import com.panzhihua.service_community.model.dos.ComMngPopulationDO; import com.panzhihua.service_community.service.ComElderAuthRecordsService; import cn.hutool.core.util.IdcardUtil; @@ -86,6 +77,16 @@ private ComActActSignDAO comActActSignDAO; @Value("${domain.aesKey:}") private String aesKey; + @Resource + private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper; + @Resource + private ComPensionAuthHistoryRecordMapper comPensionAuthHistoryRecordMapper; + @Resource + private ComPensionAuthRecordDAO comPensionAuthRecordDAO; + @Resource + private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO; + @Resource + private ComElderAuthElderliesService comElderAuthElderliesService; @Override public R pageElderAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { @@ -121,9 +122,26 @@ } @Override + public R export(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) { + try { + //关键词为空时需要进行加密,通过加密去检索身份证号筛选高龄认证记录 + String idCard = AESUtil.encrypt128(pageElderAuthRecordsDTO.getSearchKey(), aesKey); + pageElderAuthRecordsDTO.setIdCard(idCard); + }catch (Exception e){ + log.error("查询高龄认证记录转换身份证号失败"); + } + return R.ok(comElderAuthRecordsDAO.export(pageElderAuthRecordsDTO)); + } + + @Override public R detailElderAuthRecords(Long authRecordId) { ComElderAuthRecordVO comElderAuthRecordVO = comElderAuthRecordsDAO.detailElderAuthRecords(authRecordId); comElderAuthRecordVO.setNextIds(comElderAuthRecordsDAO.getNextIds(comElderAuthRecordVO.getCommunityId(),authRecordId)); + try { + comElderAuthRecordVO.setAge(IdcardUtil.getAgeByIdCard(comElderAuthRecordVO.getIdCard())); + }catch (Exception e){ + log.error("身份证转换失败"); + } return R.ok(comElderAuthRecordVO); } @@ -147,10 +165,13 @@ if (comElderAuthRecordVO.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.tg)) { comElderAuthRecordsDO.setAuthStatus(ComElderAuthRecordsDO.authStatus.yrz); sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", "认证成功!"); + + authElderliesDO.setAddress(comElderAuthRecordVO.getAddress()); + comElderAuthElderliesDAO.updateById(authElderliesDO); } else { sendAuthSubscribe(comElderAuthRecordsDO.getSubmitUserId(), "高龄认证", comElderAuthRecordVO.getRejectReason()); } - comElderAuthRecordsDO.setApprovalDate(new Date()); +// comElderAuthRecordsDO.setApprovalDate(new Date()); int nub = comElderAuthRecordsDAO.updateById(comElderAuthRecordsDO); if (nub < 1) { return R.fail("审核失败"); @@ -209,7 +230,10 @@ List<ComElderAuthRecordsDO> saveList = new ArrayList<>(); // 需要修改的认证记录集合 List<ComElderAuthRecordsDO> updateList = new ArrayList<>(); + //需要更新的老人信息 + List<ComElderAuthElderliesDO> updateElderliesList = new ArrayList<>(); log.info("开始处理导入数据"); + List<ComElderAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>(); try { @@ -269,15 +293,30 @@ }else if (comElderAuthRecordsDO.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.dsh)) { comElderAuthRecordsDO = updateElderAuthRecordsDO(vo, comElderAuthRecordsDO,userId,communityId,nowDate); updateList.add(comElderAuthRecordsDO); + + if(StringUtils.isNotEmpty(vo.getAddress())){ + comElderAuthElderliesDO.setAddress(vo.getAddress()); + updateElderliesList.add(comElderAuthElderliesDO); + } }else { // 驳回状态,则新增 comElderAuthRecordsDO = saveElderAuthRecordsDO(vo, comElderAuthElderliesDO, authPeriod, userId,communityId,nowDate); saveList.add(comElderAuthRecordsDO); + + if(StringUtils.isNotEmpty(vo.getAddress())){ + comElderAuthElderliesDO.setAddress(vo.getAddress()); + updateElderliesList.add(comElderAuthElderliesDO); + } } }else { // 不存在记录,则新增 comElderAuthRecordsDO = saveElderAuthRecordsDO(vo, comElderAuthElderliesDO, authPeriod, userId,communityId,nowDate); saveList.add(comElderAuthRecordsDO); + + if(StringUtils.isNotEmpty(vo.getAddress())){ + comElderAuthElderliesDO.setAddress(vo.getAddress()); + updateElderliesList.add(comElderAuthElderliesDO); + } } } } @@ -308,6 +347,9 @@ comElderAuthRecordsDAO.updateAll(updateList); log.info("数据库更新线下认证记录完成"); } + if(!updateElderliesList.isEmpty()){ + comElderAuthElderliesService.updateBatchById(updateElderliesList); + } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { @@ -330,42 +372,108 @@ return R.ok(comElderAuthRecordStatisticExcleVOS); } + /** + * 身份认证定时任务 + * @return 执行结果 + */ @Override + @Transactional(rollbackFor = Exception.class) public R timedTaskElderAuthStatisticsJobHandler() { - Date nowDate = new Date(); - int month = DateUtils.getMonth(nowDate) + 1; - int year = DateUtils.getYear(nowDate); - //查询所有启用中社区 - List<ComActDO> actList = comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getState,0)); - actList.forEach(act -> { - //高龄认证统计本期应认证人数 - ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = new ComEldersAuthStatisticsDO(); - comEldersAuthStatisticsDO.setCommunityId(act.getCommunityId()); - comEldersAuthStatisticsDO.setMonth(month); - comEldersAuthStatisticsDO.setYear(year); - comEldersAuthStatisticsDO.setCreateAt(nowDate); - List<ComElderAuthElderliesDO> comElderAuthElderliesDOS = comElderAuthElderliesDAO.selectList(new QueryWrapper<ComElderAuthElderliesDO>().lambda() - .eq(ComElderAuthElderliesDO::getCommunityId, act.getCommunityId()) - .eq(ComElderAuthElderliesDO::getIsAlive, 1) - .eq(ComElderAuthElderliesDO::getIsRegister, 1)); - if (null != comElderAuthElderliesDOS) { - comEldersAuthStatisticsDO.setSum(comElderAuthElderliesDOS.size()); + //查询高龄认证记录列表 + List<ComElderAuthRecordsDO> authRecordsList = comElderAuthRecordsDAO.selectList(new QueryWrapper<ComElderAuthRecordsDO>().lambda() + .eq(ComElderAuthRecordsDO::getAuthStatus,ComElderAuthRecordsDO.authStatus.yrz)); + //遍历高龄认证记录列表 + authRecordsList.forEach(authRecords -> { + if(authRecords.getApprovalStatus().equals(ComElderAuthRecordsDO.approvalStatus.tg)){ + ComEldersAuthHistoryRecordDO authHistoryRecordDO = comEldersAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda() + .eq(ComEldersAuthHistoryRecordDO::getElderliesId,authRecords.getElderliesId()) + .eq(ComEldersAuthHistoryRecordDO::getAuthPeriod,authRecords.getAuthPeriod())); + if(authHistoryRecordDO != null){//存在记录 + if(authHistoryRecordDO.getIsAuth().equals(ComEldersAuthHistoryRecordDO.isAuth.no)){ + //查询老人信息 + ComElderAuthElderliesDO authElderliesDO = comElderAuthElderliesDAO.selectById(authRecords.getElderliesId()); + if(authElderliesDO != null){ + Long authId = authHistoryRecordDO.getId(); + BeanUtils.copyProperties(authElderliesDO,authHistoryRecordDO); + authHistoryRecordDO.setId(authId); + authHistoryRecordDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authElderliesDO.getIdCard()),DateUtils.yyyyMMdd_format)); + authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(authElderliesDO.getIdCard())); + } + authHistoryRecordDO.setIsAuth(ComEldersAuthHistoryRecordDO.isAuth.yes); + authHistoryRecordDO.setAuthDate(authRecords.getApprovalDate()); + authHistoryRecordDO.setApprovalDate(authRecords.getApprovalDate()); + authHistoryRecordDO.setApproverId(authRecords.getApproverId()); + authHistoryRecordDO.setSubmitUserId(authRecords.getSubmitUserId()); + authHistoryRecordDO.setAuthMethod(authRecords.getAuthMethod()); + authHistoryRecordDO.setVerificationResult(authRecords.getVerificationResult()); + authHistoryRecordDO.setAuthId(authRecords.getId()); + + comEldersAuthHistoryRecordMapper.updateById(authHistoryRecordDO); + } + }else{ + authHistoryRecordDO = new ComEldersAuthHistoryRecordDO(); + //查询老人信息 + ComElderAuthElderliesDO authElderliesDO = comElderAuthElderliesDAO.selectById(authRecords.getElderliesId()); + if(authElderliesDO != null){ + BeanUtils.copyProperties(authElderliesDO,authHistoryRecordDO); + authHistoryRecordDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authElderliesDO.getIdCard()),DateUtils.yyyyMMdd_format)); + authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(authElderliesDO.getIdCard())); + } + BeanUtils.copyProperties(authRecords,authHistoryRecordDO); + authHistoryRecordDO.setAuthDate(authRecords.getApprovalDate()); + authHistoryRecordDO.setMark(null); + authHistoryRecordDO.setIsAuth(ComEldersAuthHistoryRecordDO.isAuth.yes); + authHistoryRecordDO.setAuthId(authRecords.getId()); + comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO); + } } - comEldersAuthStatisticsMapper.insert(comEldersAuthStatisticsDO); - //上期已认证人数 - String authPeriod = ""; - if (month < 10) { - authPeriod = String.valueOf(year) + 0 + month; - } else { - authPeriod = String.valueOf(year) + month; + }); + + //查询养老认证记录列表 + List<ComPensionAuthRecordDO> pensionAuthList = comPensionAuthRecordDAO.selectList(new QueryWrapper<ComPensionAuthRecordDO>().lambda() + .eq(ComPensionAuthRecordDO::getAuthStatus,ComPensionAuthRecordDO.authStatus.rez)); + //遍历养老认证记录列表 + pensionAuthList.forEach(authRecords -> { + ComPensionAuthHistoryRecordDO pensionAuthDO = comPensionAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComPensionAuthHistoryRecordDO>().lambda() + .eq(ComPensionAuthHistoryRecordDO::getElderliesId,authRecords.getPensionerId()) + .eq(ComPensionAuthHistoryRecordDO::getAuthPeriod,authRecords.getAuthPeriod())); + if(pensionAuthDO != null){//存在记录 + if(pensionAuthDO.getIsAuth().equals(ComPensionAuthHistoryRecordDO.isAuth.no)){ + //查询老人信息 + ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(authRecords.getPensionerId()); + if(authPensionerDO != null){ + Long authId = pensionAuthDO.getId(); + BeanUtils.copyProperties(authPensionerDO,pensionAuthDO); + pensionAuthDO.setId(authId); + pensionAuthDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authPensionerDO.getIdCard()),DateUtils.yyyyMMdd_format)); + pensionAuthDO.setAge(IdcardUtil.getAgeByIdCard(authPensionerDO.getIdCard())); + } + pensionAuthDO.setIsAuth(ComPensionAuthHistoryRecordDO.isAuth.yes); + pensionAuthDO.setAuthDate(authRecords.getApprovalDate()); + pensionAuthDO.setApprovalDate(authRecords.getApprovalDate()); + pensionAuthDO.setApproverId(authRecords.getApproverId()); + pensionAuthDO.setSubmitUserId(authRecords.getSubmitUserId()); + pensionAuthDO.setAuthMethod(authRecords.getAuthMethod()); + pensionAuthDO.setVerificationResult(authRecords.getVerificationResult()); + pensionAuthDO.setAuthId(authRecords.getId()); + comPensionAuthHistoryRecordMapper.updateById(pensionAuthDO); + } + }else{ + pensionAuthDO = new ComPensionAuthHistoryRecordDO(); + //查询老人信息 + ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(authRecords.getPensionerId()); + if(authPensionerDO != null){ + BeanUtils.copyProperties(authPensionerDO,pensionAuthDO); + pensionAuthDO.setBrithday(DateUtils.format(IdcardUtil.getBirthDate(authPensionerDO.getIdCard()),DateUtils.yyyyMMdd_format)); + pensionAuthDO.setAge(IdcardUtil.getAgeByIdCard(authPensionerDO.getIdCard())); + } + BeanUtils.copyProperties(authRecords,pensionAuthDO); + pensionAuthDO.setAuthDate(authRecords.getApprovalDate()); + pensionAuthDO.setMark(null); + pensionAuthDO.setIsAuth(ComPensionAuthHistoryRecordDO.isAuth.yes); + pensionAuthDO.setAuthId(authRecords.getId()); + comPensionAuthHistoryRecordMapper.insert(pensionAuthDO); } - int authSum = comElderAuthElderliesDAO.haveElderAuthElderliesAmount(act.getCommunityId(), authPeriod); - ComEldersAuthStatisticsDO comEldersAuthStatisticsDO1 = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>() - .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, act.getCommunityId()).eq(ComEldersAuthStatisticsDO::getYear, year) - .eq(ComEldersAuthStatisticsDO::getMonth, month - 1)); - comEldersAuthStatisticsDO1.setAuthSum(authSum); - comEldersAuthStatisticsDO1.setNoAuthSum(comEldersAuthStatisticsDO1.getSum() - comEldersAuthStatisticsDO1.getAuthSum()); - comEldersAuthStatisticsMapper.updateById(comEldersAuthStatisticsDO1); }); return R.ok(); } @@ -388,7 +496,6 @@ , ComElderAuthElderliesDO comElderAuthElderliesDO, String authPeriod, Long userId, Long communityId,Date date) { ComElderAuthRecordsDO comElderAuthRecordsDO = new ComElderAuthRecordsDO(); BeanUtils.copyProperties(vo, comElderAuthRecordsDO); - comElderAuthRecordsDO.setId(Snowflake.getId()); comElderAuthRecordsDO.setElderliesId(comElderAuthElderliesDO.getId()); comElderAuthRecordsDO.setAuthPeriod(authPeriod); comElderAuthRecordsDO.setSubmitUserId(userId); @@ -498,4 +605,50 @@ public R retrieveElderAuthDetail(Long identityAuthId) { return R.ok(comElderAuthRecordsDAO.findById(identityAuthId)); } + + @Override + public R add(ComElderAuthRecordVO comElderAuthRecordVO) { + if(!comElderAuthRecordVO.getIdCard().isEmpty()){ + List<ComMngPopulationDO> comMngPopulationDOS=comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getCardNoStr,comElderAuthRecordVO.getIdCard()).orderByDesc(ComMngPopulationDO::getCreateAt)); + if(!comMngPopulationDOS.isEmpty()){ + ComMngPopulationDO comMngPopulationDO=comMngPopulationDOS.get(0); + ComElderAuthElderliesDO comElderAuthElderliesDO=comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>().lambda().eq(ComElderAuthElderliesDO::getPopulationId,comMngPopulationDO.getId())); + if(comElderAuthElderliesDO!=null){ + Integer count=comElderAuthRecordsDAO.selectCount(new QueryWrapper<ComElderAuthRecordsDO>().lambda().eq(ComElderAuthRecordsDO::getElderliesId,comElderAuthElderliesDO.getId()).eq(ComElderAuthRecordsDO::getAuthPeriod,comElderAuthRecordVO.getAuthPeriod())); + if(count==0){ + ComElderAuthRecordsDO comElderAuthRecordsDO=new ComElderAuthRecordsDO(); + BeanUtils.copyProperties(comElderAuthRecordVO,comElderAuthRecordsDO); + comElderAuthRecordsDO.setElderliesId(comElderAuthElderliesDO.getId()); + comElderAuthRecordsDO.setApprovalStatus(PASS_THROUGH.getStatus()); + comElderAuthRecordsDO.setApprovalDate(new Date()); + comElderAuthRecordsDO.setAuthStatus(CERTIFIED.getStatus()); + comElderAuthRecordsDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz); + comElderAuthRecordsDO.setApproverId(comElderAuthRecordVO.getSubmitUserId()); + comElderAuthRecordsDO.setSubmitUserId(comElderAuthRecordVO.getSubmitUserId()); + if (this.baseMapper.insert(comElderAuthRecordsDO) < 0) { + return R.fail("认证失败,请重新尝试"); + } + comMngPopulationDO.setPhone(comElderAuthRecordVO.getPhone()); + comMngPopulationDAO.updateById(comMngPopulationDO); + comElderAuthElderliesDO.setAddress(comElderAuthRecordVO.getAddress()); + comElderAuthElderliesDO.setPhone(comElderAuthRecordVO.getPhone()); + comElderAuthElderliesDO.setIdCard(null); + comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO); + ComPensionAuthPensionerDO comPensionAuthPensionerDO=comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>().lambda().eq(ComPensionAuthPensionerDO::getPopulationId,comMngPopulationDO.getId())); + if(comPensionAuthPensionerDO!=null){ + comPensionAuthPensionerDO.setAddress(comElderAuthRecordVO.getAddress()); + comPensionAuthPensionerDO.setPhone(comElderAuthRecordVO.getPhone()); + comPensionAuthPensionerDO.setIdCard(null); + comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO); + } + return R.ok(); + } + return R.fail("当前期数已认证,请勿重复认证"); + } + return R.fail("无养老认证数据"); + } + return R.fail("该身份证无实有人口信息"); + } + return R.fail("身份证不能为空"); + } } -- Gitblit v1.7.1