From 78d1c9ee9b0c49f77c29d0535cb93c6d62c42f3a Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期四, 11 十一月 2021 13:58:25 +0800
Subject: [PATCH] 1111修改提交

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java |  109 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 85 insertions(+), 24 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java
index 23df4fa..5b26cb5 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java
@@ -15,6 +15,10 @@
 
 import javax.annotation.Resource;
 
+import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.model.dos.*;
+import com.panzhihua.service_community.service.ComPensionAuthPensionerService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -33,30 +37,11 @@
 import com.panzhihua.common.model.dtos.community.PageIdentityAuthRecordDTO;
 import com.panzhihua.common.model.helper.AESUtil;
 import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordExcleVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportExcelVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordImportMistakeExcelVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordStatisticExcleVO;
-import com.panzhihua.common.model.vos.community.ComPensionAuthRecordVO;
-import com.panzhihua.common.model.vos.community.SysConfVO;
 import com.panzhihua.common.utlis.AgeUtils;
 import com.panzhihua.common.utlis.DateUtils;
 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.ComMngPopulationDAO;
-import com.panzhihua.service_community.dao.ComPensionAuthPensionerDAO;
-import com.panzhihua.service_community.dao.ComPensionAuthRecordDAO;
-import com.panzhihua.service_community.dao.ComPensionAuthStatisticsDAO;
-import com.panzhihua.service_community.dao.SysConfMapper;
-import com.panzhihua.service_community.model.dos.ComActDO;
-import com.panzhihua.service_community.model.dos.ComMngPopulationDO;
-import com.panzhihua.service_community.model.dos.ComPensionAuthPensionerDO;
-import com.panzhihua.service_community.model.dos.ComPensionAuthRecordDO;
-import com.panzhihua.service_community.model.dos.ComPensionAuthStatisticsDO;
-import com.panzhihua.service_community.model.dos.SysConfDO;
 import com.panzhihua.service_community.service.ComPensionAuthRecordService;
 
 import cn.hutool.core.util.IdcardUtil;
@@ -90,6 +75,10 @@
     private ComActActSignDAO comActActSignDAO;
     @Value("${domain.aesKey:}")
     private String aesKey;
+    @Resource
+    private ComPensionAuthPensionerService comPensionAuthPensionerService;
+    @Resource
+    private ComElderAuthElderliesDAO comElderAuthElderliesDAO;
 
     @Override
     public R pagePensionAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) {
@@ -140,10 +129,19 @@
         if (comPensionAuthRecordDO == null) {
             return R.fail("未查询到养老认证记录");
         }
+
+        ComPensionAuthPensionerDO authPensionerDO = comPensionAuthPensionerDAO.selectById(comPensionAuthRecordDO.getPensionerId());
+        if(authPensionerDO == null){
+            return R.fail("未查询到老人信息");
+        }
+
         BeanUtils.copyProperties(comPensionAuthRecordVO, comPensionAuthRecordDO);
         if (comPensionAuthRecordVO.getApprovalStatus().equals(PASS_THROUGH.getStatus())) {
             comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus());
             sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", "认证成功!");
+
+            authPensionerDO.setAddress(comPensionAuthRecordVO.getAddress());
+            comPensionAuthPensionerDAO.updateById(authPensionerDO);
         } else {
             sendAuthSubscribe(comPensionAuthRecordDO.getSubmitUserId(), "养老认证", comPensionAuthRecordVO.getRejectReason());
         }
@@ -199,6 +197,8 @@
         List<ComPensionAuthRecordDO> saveList = new ArrayList<>();
         // 需要修改的认证记录集合
         List<ComPensionAuthRecordDO> updateList = new ArrayList<>();
+        // 需要更新的老人信息
+        List<ComPensionAuthPensionerDO> updatePensionerList = new ArrayList<>();
         log.info("开始处理导入数据");
         Date nowDate = new Date();
         List<ComPensionAuthRecordImportMistakeExcelVO> mistakes = new ArrayList<>();
@@ -258,15 +258,30 @@
                                     //存在待审核记录,进行更新认证信息
                                     comPensionAuthRecordDO = updatePensionAuthRecordsDO(vo, comPensionAuthRecordDO, userId,communityId,nowDate);
                                     updateList.add(comPensionAuthRecordDO);
+
+                                    if(StringUtils.isNotEmpty(vo.getAddress())){
+                                        comPensionAuthPensionerDO.setAddress(vo.getAddress());
+                                        updatePensionerList.add(comPensionAuthPensionerDO);
+                                    }
                                 }else {
                                     // 不存在记录,则新增
                                     comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId,nowDate);
                                     saveList.add(comPensionAuthRecordDO);
+
+                                    if(StringUtils.isNotEmpty(vo.getAddress())){
+                                        comPensionAuthPensionerDO.setAddress(vo.getAddress());
+                                        updatePensionerList.add(comPensionAuthPensionerDO);
+                                    }
                                 }
                             }else {
                                 // 不存在记录,则新增
                                 comPensionAuthRecordDO = savePensionAuthRecordsDO(vo, comPensionAuthPensionerDO, authPeriod, userId,communityId,nowDate);
                                 saveList.add(comPensionAuthRecordDO);
+
+                                if(StringUtils.isNotEmpty(vo.getAddress())){
+                                    comPensionAuthPensionerDO.setAddress(vo.getAddress());
+                                    updatePensionerList.add(comPensionAuthPensionerDO);
+                                }
                             }
                         }
                     }
@@ -295,6 +310,9 @@
             log.info("执行数据库更新线下认证记录");
             comPensionAuthRecordDAO.updateAll(updateList);
             log.info("数据库更新线下认证记录完成");
+        }
+        if(!updatePensionerList.isEmpty()){
+            comPensionAuthPensionerService.updateBatchById(updatePensionerList);
         }
         log.info("执行数据库导入完成");
 
@@ -458,16 +476,15 @@
             return R.fail("信息有误,请检查!");
         }
         Date dateNow = new Date();
-        String currentAuthPeriod = new SimpleDateFormat("yyyy").format(dateNow);
         List<ComPensionAuthRecordDO> currentAuthPeriodRecords = comPensionAuthRecordDAO
                 .selectList(new QueryWrapper<ComPensionAuthRecordDO>().lambda()
-                        .eq(ComPensionAuthRecordDO::getAuthPeriod, currentAuthPeriod)
+                        .eq(ComPensionAuthRecordDO::getAuthPeriod, comPensionAuthPensionerDO)
                         .eq(ComPensionAuthRecordDO::getPensionerId, comPensionAuthPensionerDO.getId()));
         if (!currentAuthPeriodRecords.isEmpty()) {
             boolean alreadyAuth = currentAuthPeriodRecords.stream()
                     .filter(record -> record.getAuthStatus().equals(CERTIFIED.getStatus())).findFirst().isPresent();
             if (alreadyAuth) {
-                return R.fail(String.format("该人员%s期已认证无需重复认证", currentAuthPeriod));
+                return R.fail(String.format("该人员%s期已认证无需重复认证", addIdentityAuthDTO.getAuthPeriod()));
             }
             boolean isPendingReview = currentAuthPeriodRecords.stream()
                     .filter(record -> record.getApprovalStatus().intValue() == PENDING_REVIEW.getStatus()).findFirst().isPresent();
@@ -478,8 +495,8 @@
         ComPensionAuthRecordDO comPensionAuthRecordDO = new ComPensionAuthRecordDO();
         BeanUtils.copyProperties(addIdentityAuthDTO, comPensionAuthRecordDO);
         comPensionAuthRecordDO.setPensionerId(comPensionAuthPensionerDO.getId());
-        comPensionAuthRecordDO.setAuthDate(dateNow);
-        comPensionAuthRecordDO.setAuthPeriod(currentAuthPeriod);
+        comPensionAuthRecordDO.setAuthDate(addIdentityAuthDTO.getAuthTime());
+        comPensionAuthRecordDO.setAuthPeriod(addIdentityAuthDTO.getAuthPeriod());
         if (addIdentityAuthDTO.getAuthMethod().intValue() == FACE_AUTH.getMethod()) {
             comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus());
             comPensionAuthRecordDO.setApprovalDate(dateNow);
@@ -514,4 +531,48 @@
     public R retrievePensionAuthDetail(Long identityAuthId) {
         return R.ok(comPensionAuthRecordDAO.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);
+                ComPensionAuthPensionerDO comPensionAuthPensionerDO=comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>().lambda().eq(ComPensionAuthPensionerDO::getPopulationId,comMngPopulationDO.getId()));
+                if(comPensionAuthPensionerDO!=null){
+                   Integer count=comPensionAuthRecordDAO.selectCount(new QueryWrapper<ComPensionAuthRecordDO>().lambda().eq(ComPensionAuthRecordDO::getPensionerId,comPensionAuthPensionerDO.getId()).eq(ComPensionAuthRecordDO::getAuthPeriod,comElderAuthRecordVO.getAuthPeriod()));
+                   if(count==0){
+                       ComPensionAuthRecordDO comPensionAuthRecordDO=new ComPensionAuthRecordDO();
+                       BeanUtils.copyProperties(comElderAuthRecordVO,comPensionAuthRecordDO);
+                       comPensionAuthRecordDO.setApprovalStatus(PASS_THROUGH.getStatus());
+                       comPensionAuthRecordDO.setApprovalDate(new Date());
+                       comPensionAuthRecordDO.setAuthStatus(CERTIFIED.getStatus());
+                       comPensionAuthRecordDO.setAuthMethod(ComPensionAuthRecordDO.authMethod.xxrz);
+                       comPensionAuthRecordDO.setPensionerId(comPensionAuthPensionerDO.getId());
+                       comPensionAuthRecordDO.setSubmitUserId(comElderAuthRecordVO.getSubmitUserId());
+                       comPensionAuthRecordDO.setApproverId(comElderAuthRecordVO.getSubmitUserId());
+                       if (this.baseMapper.insert(comPensionAuthRecordDO) < 0) {
+                           return R.fail("认证失败,请重新尝试");
+                       }
+                       comMngPopulationDO.setPhone(comElderAuthRecordVO.getPhone());
+                       comMngPopulationDAO.updateById(comMngPopulationDO);
+                       comPensionAuthPensionerDO.setAddress(comElderAuthRecordVO.getAddress());
+                       comPensionAuthPensionerDO.setPhone(comElderAuthRecordVO.getPhone());
+                       comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO);
+                       ComElderAuthElderliesDO comElderAuthElderliesDO=comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>().lambda().eq(ComElderAuthElderliesDO::getPopulationId,comMngPopulationDO.getId()));
+                       if(comElderAuthElderliesDO!=null){
+                           comElderAuthElderliesDO.setAddress(comElderAuthRecordVO.getAddress());
+                           comElderAuthElderliesDO.setPhone(comElderAuthRecordVO.getPhone());
+                           comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO);
+                       }
+                       return R.ok();
+                   }
+                   return R.fail("当前期数也认证,请勿重复认证");
+                }
+                return R.fail("无养老认证数据");
+            }
+            return R.fail("该身份证无实有人口信息");
+        }
+        return R.fail("身份证不能为空");
+    }
 }

--
Gitblit v1.7.1