From e7f03acfa5ee4ad4fd6d1ee9e9ae9a5655488f6d Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期二, 09 十一月 2021 17:04:46 +0800
Subject: [PATCH] 1109修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPensionAuthRecordServiceImpl.java |   80 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 69 insertions(+), 11 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..2fe1fe7 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,8 @@
 
 import javax.annotation.Resource;
 
+import com.panzhihua.common.model.vos.community.*;
+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,12 +35,6 @@
 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;
@@ -90,6 +86,8 @@
     private ComActActSignDAO comActActSignDAO;
     @Value("${domain.aesKey:}")
     private String aesKey;
+    @Resource
+    private ComPensionAuthPensionerService comPensionAuthPensionerService;
 
     @Override
     public R pagePensionAuthRecords(PageElderAuthRecordsDTO pageElderAuthRecordsDTO) {
@@ -140,10 +138,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 +206,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 +267,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 +319,9 @@
             log.info("执行数据库更新线下认证记录");
             comPensionAuthRecordDAO.updateAll(updateList);
             log.info("数据库更新线下认证记录完成");
+        }
+        if(!updatePensionerList.isEmpty()){
+            comPensionAuthPensionerService.updateBatchById(updatePensionerList);
         }
         log.info("执行数据库导入完成");
 
@@ -458,16 +485,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 +504,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 +540,36 @@
     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());
+                       if (this.baseMapper.insert(comPensionAuthRecordDO) < 0) {
+                           return R.fail("认证失败,请重新尝试");
+                       }
+                       return R.ok();
+                   }
+                   return R.fail("当前期数也认证,请勿重复认证");
+                }
+                return R.fail("无养老认证数据");
+            }
+            return R.fail("该身份证无实有人口信息");
+        }
+        return R.fail("身份证不能为空");
+    }
 }

--
Gitblit v1.7.1