From f14b28653fd815157dd22e6b49eff527e485f12c Mon Sep 17 00:00:00 2001
From: luoyuanqiao <2376770955@qq.com>
Date: 星期一, 28 二月 2022 17:16:30 +0800
Subject: [PATCH] 党建接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java |  154 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 135 insertions(+), 19 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
index c896c13..2e6204f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -9,8 +9,16 @@
 
 import javax.annotation.Resource;
 
+import cn.hutool.core.util.IdcardUtil;
+import com.google.common.collect.Lists;
+import com.panzhihua.common.enums.ComPbMemberRoleTypeEnum;
 import com.panzhihua.common.model.dtos.partybuilding.ComDataStatisticsOrgDto;
 import com.panzhihua.common.model.dtos.partybuilding.PageComDataStatisticsMemberDto;
+import com.panzhihua.common.model.vos.partybuilding.excel.ComDataStatisticsMemberExcelVo;
+import com.panzhihua.common.model.vos.partybuilding.excel.ComPbCheckUnitErrorExcelVO;
+import com.panzhihua.common.model.vos.partybuilding.excel.ComPbMemberRoleErrorExcelVo;
+import com.panzhihua.common.model.vos.partybuilding.excel.ComPbMemberRoleExcelVo;
+import com.panzhihua.service_dangjian.entity.ComPbCheckUnit;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.BeanUtils;
 import org.springframework.data.redis.core.StringRedisTemplate;
@@ -673,6 +681,16 @@
         IPage<ComDataStatisticsMemberVo> memberPage = comPbMemberDAO.pageDataStatisticsMember(new Page(statisticsMemberDto.getPageNum()
                 ,statisticsMemberDto.getPageSize()),statisticsMemberDto);
         memberPage.getRecords().forEach(member -> {
+            if(member.getIsRole() > 0){
+                member.setIsRole(1);
+            }else{
+                member.setIsRole(2);
+            }
+            try {
+                member.setAge(IdcardUtil.getAgeByIdCard(member.getIdCard()));
+            } catch (Exception e) {
+                log.error("年龄转义失败");
+            }
             //查询党员统计数据
             ComDataStatisticsMemberVo statisticsMemberVo = comPbMemberDAO.getMemberStatistics(member.getUserId(),member.getCommunityId());
             if(statisticsMemberVo != null){
@@ -700,25 +718,27 @@
         List<Long> orgIds = new ArrayList<>();
         Long communityId = statisticsOrgDto.getCommunityId();
         ComDataStatisticsOrgVo statisticsOrgVo = new ComDataStatisticsOrgVo();
-        ComPbOrgDO pbOrgDO = comPbOrgDAO.selectById(statisticsOrgDto.getOrgId());
-        if(pbOrgDO == null){
-            return R.fail("未查询到党组织");
-        }
-        //拼接党组织id
-        if(pbOrgDO.getOneId() != null){
-            orgIds.add(pbOrgDO.getOneId());
-        }
-        if(pbOrgDO.getTwoId() != null){
-            orgIds.add(pbOrgDO.getTwoId());
-        }
-        if(pbOrgDO.getThirdId() != null){
-            orgIds.add(pbOrgDO.getThirdId());
-        }
-        if(pbOrgDO.getFourId() != null){
-            orgIds.add(pbOrgDO.getFourId());
-        }
-        if(pbOrgDO.getFiveId() != null){
-            orgIds.add(pbOrgDO.getFiveId());
+        if(statisticsOrgDto.getOrgId() != null){
+            ComPbOrgDO pbOrgDO = comPbOrgDAO.selectById(statisticsOrgDto.getOrgId());
+            if(pbOrgDO == null){
+                return R.fail("未查询到党组织");
+            }
+            //拼接党组织id
+            if(pbOrgDO.getOneId() != null){
+                orgIds.add(pbOrgDO.getOneId());
+            }
+            if(pbOrgDO.getTwoId() != null){
+                orgIds.add(pbOrgDO.getTwoId());
+            }
+            if(pbOrgDO.getThirdId() != null){
+                orgIds.add(pbOrgDO.getThirdId());
+            }
+            if(pbOrgDO.getFourId() != null){
+                orgIds.add(pbOrgDO.getFourId());
+            }
+            if(pbOrgDO.getFiveId() != null){
+                orgIds.add(pbOrgDO.getFiveId());
+            }
         }
         //拼接查询开始结束时间
         String startTime = statisticsOrgDto.getYear() + "-01-01 00:00:00";
@@ -792,4 +812,100 @@
         return R.ok(headerOrgVo);
     }
 
+    /**
+     * 党员数据统计-党员导出数据查询
+     * @param statisticsMemberDto   请求参数
+     * @return  党员导出数据
+     */
+    @Override
+    public R exportDataStatisticsMember(PageComDataStatisticsMemberDto statisticsMemberDto) {
+        List<ComDataStatisticsMemberExcelVo> memberList = comPbMemberDAO.exportDataStatisticsMember(statisticsMemberDto);
+        memberList.forEach(member -> {
+            //查询党员统计数据
+            ComDataStatisticsMemberVo statisticsMemberVo = comPbMemberDAO.getMemberStatistics(member.getUserId(),member.getCommunityId());
+            if(statisticsMemberVo != null){
+                member.setPartyActivityCount(statisticsMemberVo.getPartyActivityCount());
+                member.setPartyActivityDuration(statisticsMemberVo.getPartyActivityDuration());
+                member.setVolunteerActivityCount(statisticsMemberVo.getVolunteerActivityCount());
+                member.setVolunteerActivityDuration(statisticsMemberVo.getVolunteerActivityDuration());
+                member.setVolunteerActivityIntegral(statisticsMemberVo.getVolunteerActivityIntegral());
+                member.setWishCount(statisticsMemberVo.getWishCount());
+                member.setEasyCount(statisticsMemberVo.getEasyCount());
+                member.setActivityCount(member.getPartyActivityCount() + member.getVolunteerActivityCount());
+                member.setActivityDuration(member.getPartyActivityDuration() + member.getVolunteerActivityDuration());
+            }
+        });
+        return R.ok(memberList);
+    }
+
+    /**
+     * 党委导入接口
+     * @param list 数据列表
+     * @param communityId   社区id
+     * @param userId    用户id
+     * @return  导入结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R importPbMemberRole(List<ComPbMemberRoleExcelVo> list, Long communityId, Long userId) {
+        ArrayList<ComPbMemberRoleErrorExcelVo> mistakes = Lists.newArrayList();
+        ArrayList<ComPbMemberRoleDO> saveList = Lists.newArrayList();
+        Date nowDate = new Date();
+        if(list != null && list.size() > 0){
+            list.forEach(memberRole -> {
+                ComPbMemberRoleDO memberRoleDO = comPbMemberRoleDAO.selectOne(new QueryWrapper<ComPbMemberRoleDO>().lambda()
+                        .eq(ComPbMemberRoleDO::getCommunityId,communityId).eq(ComPbMemberRoleDO::getIdCard,memberRole.getIdCard()));
+                if(memberRoleDO != null){
+                    ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo();
+                    BeanUtils.copyProperties(memberRole,roleErrorExcelVo);
+                    roleErrorExcelVo.setError("该党委已存在,不可重复导入");
+                    mistakes.add(roleErrorExcelVo);
+                }else{
+                    memberRoleDO = new ComPbMemberRoleDO();
+                    BeanUtils.copyProperties(memberRole,memberRoleDO);
+                    Integer type = ComPbMemberRoleTypeEnum.getCodeByName(memberRole.getTypeName());
+                    if(type.equals(0)){
+                        ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo();
+                        BeanUtils.copyProperties(memberRole,roleErrorExcelVo);
+                        roleErrorExcelVo.setError("党委标签不存在,请核对后再重新导入");
+                        mistakes.add(roleErrorExcelVo);
+                        return;
+                    }else{
+                        memberRoleDO.setType(type);
+                    }
+                    try {
+                        Date joinTime = DateUtils.stringToDate(memberRole.getJoinTime(),DateUtils.yyyyMMdd_format);
+                        memberRoleDO.setJoinTime(joinTime);
+                    } catch (Exception e) {
+                        ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo();
+                        BeanUtils.copyProperties(memberRole,roleErrorExcelVo);
+                        roleErrorExcelVo.setError("入党时间格式错误,请按照正确格式填写,如:2022-01-01");
+                        mistakes.add(roleErrorExcelVo);
+                        return;
+                    }
+
+                    try {
+                        Date employmentTime = DateUtils.stringToDate(memberRole.getEmploymentTime(),DateUtils.yyyyMMdd_format);
+                        memberRoleDO.setEmploymentTime(employmentTime);
+                    } catch (Exception e) {
+                        ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo();
+                        BeanUtils.copyProperties(memberRole,roleErrorExcelVo);
+                        roleErrorExcelVo.setError("转正时间格式错误,请按照正确格式填写,如:2022-01-01");
+                        mistakes.add(roleErrorExcelVo);
+                        return;
+                    }
+                }
+            });
+        }
+
+        if(saveList.size() > 0){
+            saveList.forEach(save -> {
+                comPbMemberRoleDAO.insert(save);
+            });
+        }
+        if(mistakes.size() > 0){
+            return R.fail(mistakes);
+        }
+        return R.ok();
+    }
 }

--
Gitblit v1.7.1