From 2c47237a314a8965f1b33be140f03eaa3e8804df Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 26 六月 2024 16:47:44 +0800
Subject: [PATCH] 花城 修改关联项目筛选无数据2
---
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java | 1291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,291 insertions(+), 0 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
new file mode 100644
index 0000000..a98bf96
--- /dev/null
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -0,0 +1,1291 @@
+package com.panzhihua.service_dangjian.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.IdcardUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.constants.UserConstants;
+import com.panzhihua.common.exceptions.PartyBuildingMemberException;
+import com.panzhihua.common.model.dtos.community.PageMemberForInviteDTO;
+import com.panzhihua.common.model.dtos.partybuilding.ComDataStatisticsOrgDto;
+import com.panzhihua.common.model.dtos.partybuilding.NewFightResourceSharingDTO;
+import com.panzhihua.common.model.dtos.partybuilding.PageComDataStatisticsMemberDto;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.partybuilding.*;
+import com.panzhihua.common.model.vos.partybuilding.excel.ComDataStatisticsMemberExcelVo;
+import com.panzhihua.common.model.vos.partybuilding.excel.ComPbMemberRoleExcelVo;
+import com.panzhihua.common.model.vos.user.SysUserVO;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.DateUtils;
+import com.panzhihua.common.utlis.RichTextUtil;
+import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.StringUtils;
+import com.panzhihua.service_dangjian.dao.*;
+import com.panzhihua.service_dangjian.entity.ComActProject;
+import com.panzhihua.service_dangjian.model.dos.ComPbDynDO;
+import com.panzhihua.service_dangjian.model.dos.ComPbDynUserDO;
+import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO;
+import com.panzhihua.service_dangjian.model.dos.ComPbOrgDO;
+import com.panzhihua.service_dangjian.service.ComPbMemberService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import static java.util.Objects.nonNull;
+
+/**
+ * @program: springcloud_k8s_panzhihuazhihuishequ
+ * @description: 党员
+ * @author: huang.hongfa weixin hhf9596 qq 959656820
+ * @create: 2020-11-30 10:53
+ **/
+@Slf4j
+@Service
+public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO, ComPbMemberDO> implements ComPbMemberService {
+ private final String REDIS_ORG_ALL = "ogrlist";
+ @Resource
+ private ComPbMemberDAO comPbMemberDAO;
+ @Resource
+ private StringRedisTemplate stringRedisTemplate;
+ @Resource
+ private ComPbOrgDAO comPbOrgDAO;
+ @Resource
+ private ComPbMemberRoleDAO comPbMemberRoleDAO;
+ @Resource
+ private ComPbDynDAO comPbDynDAO;
+ @Resource
+ private ComPbDynUserDAO comPbDynUserDAO;
+ @Resource
+ private UserService userService;
+ @Autowired
+ private ComActProjectMapper comActProjectMapper;
+ @Autowired
+ private NewFightResourceSharingDAO newFightResourceSharingDAO;
+
+ /**
+ * 新增党员
+ *
+ * @param partyBuildingMemberVO
+ * 党员基本信息
+ * @return 新增结果
+ */
+ @Override
+ public R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
+ List<ComPbMemberDO> comPbMemberDOs = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+ .eq(ComPbMemberDO::getPhone, partyBuildingMemberVO.getPhone()).eq(ComPbMemberDO::getAuditResult, 1).eq(ComPbMemberDO::getType,partyBuildingMemberVO.getType()));
+ if (!ObjectUtils.isEmpty(comPbMemberDOs) && comPbMemberDOs.size() > 0) {
+ comPbMemberDOs.forEach(comPbMemberDO -> {
+ comPbMemberDAO.deleteById(comPbMemberDO.getId());
+ });
+ }
+ //添加党员同步用户小程序头像
+ R<SysUserVO> r=userService.getSysUserVOByPhone(partyBuildingMemberVO.getPhone());
+ if(R.isOk(r)&&r.getData()!=null){
+ SysUserVO sysUserVO =
+ JSONObject.parseObject(JSONObject.toJSONString(r.getData()), SysUserVO.class);
+ partyBuildingMemberVO.setPhotoPath(sysUserVO.getImageUrl());
+ }
+ ComPbMemberDO comPbMemberDO1 = new ComPbMemberDO();
+ BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO1);
+ Date date = new Date();
+ comPbMemberDO1.setCreateAt(date);
+ comPbMemberDO1.setUpdateAt(date);
+ int insert = comPbMemberDAO.insert(comPbMemberDO1);
+ if (insert > 0) {
+ // 删除已驳回的记录
+// int delete = comPbMemberDAO.delete(new QueryWrapper<ComPbMemberDO>().lambda()
+// .eq(ComPbMemberDO::getIdCard, partyBuildingMemberVO.getIdCard())
+// .eq(ComPbMemberDO::getUserId, partyBuildingMemberVO.getUserId())
+// .eq(ComPbMemberDO::getCommunityId, partyBuildingMemberVO.getCommunityId())
+// .eq(ComPbMemberDO::getAuditResult, 3));
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ /**
+ * 批量新增党员
+ *
+ * @param list
+ * 党员集合
+ * @return 新增结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list) {
+ // Boolean aBoolean = stringRedisTemplate.hasKey(REDIS_ORG_ALL);
+ // ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
+ //List<PartyOrganizationVO> partyOrganizationVOS = new ArrayList<>();
+ // if (aBoolean) {
+ // String orgs = valueOperations.get(REDIS_ORG_ALL);
+ // if (!ObjectUtils.isEmpty(orgs)) {
+ // partyOrganizationVOS= JSONArray.parseArray(orgs,PartyOrganizationVO.class);
+ // }
+ // } else {
+ // List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(new LambdaQueryWrapper<>());
+ // if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
+ // List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>();
+ // comPbOrgDOS.forEach(comPbOrgDO -> {
+ // PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
+ // partyOrganizationVO.setId(comPbOrgDO.getId());
+ // partyOrganizationVO.setName(comPbOrgDO.getName());
+ // partyOrganizationVO.setCommunityId(comPbOrgDO.getCommunityId());
+ // partyOrganizationVOList.add(partyOrganizationVO);
+ // });
+ // partyOrganizationVOS= partyOrganizationVOList;
+ // }
+ // valueOperations.set(REDIS_ORG_ALL,JSONArray.toJSONString(partyOrganizationVOS),24, TimeUnit.HOURS);
+ // }
+ List<ComPbMemberDO> comPbMemberDOS = new ArrayList<>();
+ if (!ObjectUtils.isEmpty(list)) {
+ for (PartyBuildingMemberExcelVO partyBuildingMemberExcelVO : list) {
+ if(StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getName())&&StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getPhone())&&StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getOrgName())){
+ ComPbMemberDO comPbMemberDO = new ComPbMemberDO();
+ Date date = new Date();
+ comPbMemberDO.setUpdateAt(date);
+ comPbMemberDO.setCreateAt(date);
+ List<ComPbMemberDO> comPbMemberDOList = this.baseMapper.selectList(new QueryWrapper<ComPbMemberDO>()
+ .lambda().eq(ComPbMemberDO::getPhone, partyBuildingMemberExcelVO.getPhone())
+ .eq(ComPbMemberDO::getCommunityId, partyBuildingMemberExcelVO.getCommunityId()));
+ if (!comPbMemberDOList.isEmpty()) {
+ comPbMemberDOList.forEach(comPbMember -> {
+ BeanUtils.copyProperties(partyBuildingMemberExcelVO, comPbMember);
+ //添加党员同步用户小程序头像
+ R r=userService.getSysUserVOByPhone(comPbMember.getPhone());
+ if(R.isOk(r)&&r.getData()!=null){
+ SysUserVO sysUserVO =
+ JSONObject.parseObject(JSONObject.toJSONString(r.getData()), SysUserVO.class);
+ comPbMember.setPhotoPath(sysUserVO.getImageUrl());
+ }
+ this.baseMapper.updateById(comPbMember);
+ userService.updateUserIsPartymemberByPhone(comPbMember.getPhone());
+ });
+ continue;
+ // throw new PartyBuildingMemberException("导入失败,您导入的数据中有已存在的党员信息,已存在的数据:"+
+ // partyBuildingMemberExcelVO.getEmploymentTime() + ",已存在的人名:" +
+ // partyBuildingMemberExcelVO.getName());
+ }
+ BeanUtils.copyProperties(partyBuildingMemberExcelVO,comPbMemberDO);
+ comPbMemberDOS.add(comPbMemberDO);
+ R r=userService.getSysUserVOByPhone(comPbMemberDO.getPhone());
+ if(R.isOk(r)&&r.getData()!=null){
+ SysUserVO sysUserVO =
+ JSONObject.parseObject(JSONObject.toJSONString(r.getData()), SysUserVO.class);
+ comPbMemberDO.setPhotoPath(sysUserVO.getImageUrl());
+ }
+ userService.updateUserIsPartymemberByPhone(comPbMemberDO.getPhone());
+ }
+ else {
+ throw new PartyBuildingMemberException("导入失败,你导入的内容有未填报项");
+ }
+ }
+ this.saveBatch(comPbMemberDOS);
+ }
+ return R.ok();
+ }
+
+ /**
+ * 分页党员
+ *
+ * @param pagePartyOrganizationVO
+ * 查询信息
+ * @return 分页数据
+ */
+ @Override
+ public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) {
+
+ Long communityId = pagePartyOrganizationVO.getCommunityId();
+
+ if (null != communityId){
+ List<Long> communityIds = comPbMemberDAO.selectIds(communityId);
+ if (CollUtil.isEmpty(communityIds)) {
+ communityIds = new ArrayList<>();
+ communityIds.add(communityId);
+ }
+ pagePartyOrganizationVO.setCommunityIds(communityIds);
+ }
+
+ Page page = new Page<>();
+ Long pageNum = pagePartyOrganizationVO.getPageNum();
+ Long pageSize = pagePartyOrganizationVO.getPageSize();
+ if (null == pageNum || 0 == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize || 0 == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum);
+ IPage<PartyBuildingMemberVO> iPage = comPbMemberDAO.queryAllByLimit(page, pagePartyOrganizationVO);
+ iPage.getRecords().forEach(record -> {
+ record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
+ });
+ return R.ok(iPage);
+ }
+
+ /**
+ * 编辑党员信息 新增字段均可编辑
+ *
+ * @param partyBuildingMemberVO
+ * 编辑字段
+ * @return 编辑结果
+ */
+ @Override
+ public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
+ ComPbMemberDO comPbMemberDO = new ComPbMemberDO();
+ Long orgId = partyBuildingMemberVO.getOrgId();
+ if (null != orgId && 0 == orgId) {
+ partyBuildingMemberVO.setOrgId(null);
+ }
+ BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO);
+ Integer type = partyBuildingMemberVO.getType();
+ if (nonNull(type) && type.equals(1)) {
+ comPbMemberDO.setEmploymentTime(null);
+ }
+ comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
+ int i = comPbMemberDAO.updateById(comPbMemberDO);
+ if (i > 0) {
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ /**
+ * 查询指定社区的所有党员
+ *
+ * @param communityId
+ * 社区id
+ * @return 党员列表
+ */
+ @Override
+ public R listPartyMember(Long communityId) {
+ List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+ .eq(ComPbMemberDO::getCommunityId, communityId).eq(ComPbMemberDO::getAuditResult, 1));
+ // 查询社区所有已经注册的党员
+ // 排除掉已经成为党委的党员
+ // List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectListRegister(communityId);
+ // if (ObjectUtils.isEmpty(comPbMemberDOS)) {
+ // return R.ok(new ArrayList<>());
+ // }
+ List<PartyBuildingMemberVO> partyBuildingMemberVOS = new ArrayList<>();
+ comPbMemberDOS.forEach(comPbMemberDO -> {
+ PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO();
+ BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO);
+ partyBuildingMemberVOS.add(partyBuildingMemberVO);
+ });
+ return R.ok(partyBuildingMemberVOS);
+ }
+
+ @Override
+ public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+ return null;
+ }
+
+ @Override
+ public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+ return null;
+ }
+
+ @Override
+ public R deletePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+ return null;
+ }
+
+ @Override
+ public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+ Page page = new Page<>();
+ Long pageNum = partyCommitteeVO.getPageNum();
+ Long pageSize = partyCommitteeVO.getPageSize();
+ if (null == pageNum || 0 == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize || 0 == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum);
+ IPage<PartyCommitteeVO> iPage = comPbMemberRoleDAO.pagePartyOrganizations(page, partyCommitteeVO);
+ iPage.getRecords().forEach(record -> {
+ record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
+ });
+ return R.ok(iPage);
+ }
+
+// /**
+// * 新增党委
+// *
+// * @param partyCommitteeVO
+// * 新增信息
+// * @return 新增结果
+// */
+// @Override
+// @Transactional(rollbackFor = Exception.class)
+// public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+// ComPbMemberRoleDO comPbMemberRoleDO = new ComPbMemberRoleDO();
+// BeanUtils.copyProperties(partyCommitteeVO, comPbMemberRoleDO);
+// comPbMemberRoleDO.setCreateAt(new Date());
+// comPbMemberRoleDO.setUpdateAt(new Date());
+// comPbMemberRoleDO.setIsReg(2);
+// comPbMemberRoleDO.setSex(Integer.parseInt(partyCommitteeVO.getIdCard().substring(16,17))%2==0?2:1);
+// Integer userCount = comPbMemberRoleDAO.getSysUserByIdCardCount(partyCommitteeVO.getIdCard());
+// if (userCount > 0) {
+// comPbMemberRoleDO.setIsReg(1);
+// }
+// Date nowDate = new Date();
+// //判断党员信息是否存在党委信息
+// ComPbMemberDO pbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda()
+// .eq(ComPbMemberDO::getIdCard,partyCommitteeVO.getIdCard())
+// .eq(ComPbMemberDO::getAuditResult,ComPbMemberDO.AuditResult.SHTG)
+// .eq(ComPbMemberDO::getCommunityId,partyCommitteeVO.getCommunityId()));
+// if(pbMemberDO == null){
+// //不存在则创建党委党员信息
+// pbMemberDO = new ComPbMemberDO();
+// BeanUtils.copyProperties(partyCommitteeVO, pbMemberDO);
+// pbMemberDO.setAuditResult(ComPbMemberDO.AuditResult.SHTG);
+// pbMemberDO.setCreateAt(nowDate);
+// pbMemberDO.setUpdateAt(nowDate);
+// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY);
+// comPbMemberDAO.insert(pbMemberDO);
+// //金沙特殊需求
+// if(pbMemberDO.getCommunityId()==2L){
+// ComMngVolunteerMngVO comMngVolunteerMngVO=new ComMngVolunteerMngVO();
+// comMngVolunteerMngVO.setOrgId(53L);
+// comMngVolunteerMngVO.setName(pbMemberDO.getName());
+// comMngVolunteerMngVO.setPhone(pbMemberDO.getPhone());
+// comMngVolunteerMngVO.setIdCard(pbMemberDO.getIdCard());
+// comMngVolunteerMngVO.setState(2);
+// comMngVolunteerMngVO.setCommunityId(2L);
+// R r = communityService.addVolunteer(comMngVolunteerMngVO);
+// // 支援者添加成功,修改小程序用户的志愿者状态 ,通过手机号
+// if (R.isOk(r)) {
+// String phone = comMngVolunteerMngVO.getPhone();
+// R r1 = userService.putUserIsVolunteer(phone, 1);
+// if (R.isOk(r1)) {
+// log.info("修改手机号【{}】的支援者状态为是", phone);
+// } else {
+// log.info("手机号【{}】没有小程序用户", phone);
+// }
+// }
+// }
+// }else{
+// //存在则更新党委党员信息
+// BeanUtils.copyProperties(partyCommitteeVO, pbMemberDO);
+// pbMemberDO.setUpdateAt(nowDate);
+// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY);
+// comPbMemberDAO.updateById(pbMemberDO);
+// }
+// int insert = comPbMemberRoleDAO.insert(comPbMemberRoleDO);
+// if (insert > 0) {
+// return R.ok();
+// }
+// return R.fail();
+// }
+
+// /**
+// * 编辑党委
+// *
+// * @param partyCommitteeVO
+// * 编辑信息
+// * @return 编辑结果
+// */
+// @Override
+// @Transactional(rollbackFor = Exception.class)
+// public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+// ComPbMemberRoleDO comPbMemberRoleDO = new ComPbMemberRoleDO();
+// Date nowDate = new Date();
+// BeanUtils.copyProperties(partyCommitteeVO, comPbMemberRoleDO);
+// comPbMemberRoleDO.setUpdateAt(nowDate);
+// comPbMemberRoleDO.setIsReg(2);
+// Integer userCount = comPbMemberRoleDAO.getSysUserByIdCardCount(partyCommitteeVO.getIdCard());
+// if (userCount > 0) {
+// comPbMemberRoleDO.setIsReg(1);
+// }
+// //查询党员信息并更新
+// ComPbMemberDO pbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda()
+// .eq(ComPbMemberDO::getIdCard,partyCommitteeVO.getIdCard())
+// .eq(ComPbMemberDO::getAuditResult,ComPbMemberDO.AuditResult.SHTG)
+// .eq(ComPbMemberDO::getCommunityId,partyCommitteeVO.getCommunityId()));
+// if(pbMemberDO != null){
+// Long id = pbMemberDO.getId();
+// BeanUtils.copyProperties(partyCommitteeVO, pbMemberDO);
+// pbMemberDO.setId(id);
+// pbMemberDO.setUpdateAt(nowDate);
+// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY);
+// comPbMemberDAO.updateById(pbMemberDO);
+// }
+// int update = comPbMemberRoleDAO.updateById(comPbMemberRoleDO);
+// if (update > 0) {
+// return R.ok();
+// }
+// return R.fail();
+// }
+//
+// /**
+// * 删除党委
+// *
+// * @param partyCommitteeVO
+// * 删除id
+// * @return 删除结果
+// */
+// @Override
+// public R deletePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+// ComPbMemberRoleDO comPbMemberRoleDO = comPbMemberRoleDAO.selectById(partyCommitteeVO.getId());
+// if (comPbMemberRoleDO == null) {
+// return R.fail("记录不存在");
+// }
+// int delete = comPbMemberRoleDAO.deleteById(partyCommitteeVO.getId());
+// if (delete > 0) {
+// Long userId = comPbMemberRoleDAO.getUserIdByIdCard(comPbMemberRoleDO.getIdCard());
+// // 删除用户信息缓存
+// if (userId != null) {
+// String userKey = UserConstants.LOGIN_USER_INFO + userId;
+// stringRedisTemplate.delete(userKey);
+// }
+// return R.ok();
+// }
+// return R.fail();
+// }
+//
+// /**
+// * 分页社区党委查询
+// *
+// * @param partyCommitteeVO
+// * 查询参数
+// * @return 分页集合
+// */
+// @Override
+// public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+// Page page = new Page<>();
+// Long pageNum = partyCommitteeVO.getPageNum();
+// Long pageSize = partyCommitteeVO.getPageSize();
+// if (null == pageNum || 0 == pageNum) {
+// pageNum = 1l;
+// }
+// if (null == pageSize || 0 == pageSize) {
+// pageSize = 10l;
+// }
+// page.setSize(pageSize);
+// page.setCurrent(pageNum);
+// IPage<PartyCommitteeVO> iPage = comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO);
+// iPage.getRecords().forEach(record -> {
+// record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
+// });
+// return R.ok(iPage);
+// }
+
+ /**
+ * 新建党建动态
+ *
+ * @param partyCommitteeVO
+ * 动态内容
+ * @return 新增结果
+ */
+ @Override
+ public R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
+ ComPbDynDO comPbDynDO = new ComPbDynDO();
+ BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO);
+ comPbDynDO.setCreateAt(new Date());
+ int insert = comPbDynDAO.insert(comPbDynDO);
+ if (insert > 0) {
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ /**
+ * 编辑动态
+ *
+ * @param partyCommitteeVO
+ * 编辑内容
+ * @return 编辑结果
+ */
+ @Override
+ public R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
+ ComPbDynDO comPbDynDO = new ComPbDynDO();
+ BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO);
+ int insert = comPbDynDAO.updateById(comPbDynDO);
+ if (insert > 0) {
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ @Override
+ public R infoYnamic(Long id) {
+ return null;
+ }
+
+ @Override
+ public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO)
+ {
+ Page page = new Page<>();
+ Long pageNum = partyBuildingComPbDynVO.getPageNum();
+ Long pageSize = partyBuildingComPbDynVO.getPageSize();
+ if (null == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum);
+ IPage<PartyBuildingComPbDynVO> iPage = comPbDynDAO.pageYnamics(page, partyBuildingComPbDynVO);
+ List<PartyBuildingComPbDynVO> records = iPage.getRecords();
+ if (!(ObjectUtils.isEmpty(records))) {
+ records.forEach(partyBuildingComPbDynVO1 -> {
+ String content = partyBuildingComPbDynVO1.getContent();
+ if (!ObjectUtils.isEmpty(content)) {
+ String text = RichTextUtil.getText(content);
+ partyBuildingComPbDynVO1.setContentText(text);
+ }
+ });
+ }
+ return R.ok(iPage);
+ }
+
+ @Override
+ public R deleteYnamic(Integer id) {
+ return null;
+ }
+
+// /**
+// * 动态详情
+// *
+// * @param id
+// * 动态主键
+// * @return 详情
+// */
+// @Override
+// public R infoYnamic(Long id) {
+// PartyBuildingComPbDynVO comPbDynVO = comPbDynDAO.selectVoById(id);
+// if (ObjectUtils.isEmpty(comPbDynVO)) {
+// return R.fail("动态不存在");
+// }
+// // ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy);
+// // String name = comPbMemberDAO.selectNameByUserId(createBy);
+//
+// if (ObjectUtils.isEmpty(comPbDynVO.getCreateByName())) {
+// // return R.fail("发布人不存在");
+// String name = comPbMemberDAO.selectNameByUserId(comPbDynVO.getCreateBy());
+// name = "后台发布";
+// comPbDynVO.setCreateByName(name);
+// }
+// // Integer integer = comPbDynUserDAO.selectCount(new
+// // QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id));
+// comPbDynVO.setReadingVolume(null == comPbDynVO.getReadingVolume() ? 0 : comPbDynVO.getReadingVolume());
+// return R.ok(comPbDynVO);
+// }
+//
+// /**
+// * 分页查询党员动态
+// *
+// * @param partyBuildingComPbDynVO
+// * 查询参数
+// * @return 分页数据
+// */
+// @Override
+// public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
+// Page page = new Page<>();
+// Long pageNum = partyBuildingComPbDynVO.getPageNum();
+// Long pageSize = partyBuildingComPbDynVO.getPageSize();
+// if (null == pageNum) {
+// pageNum = 1l;
+// }
+// if (null == pageSize) {
+// pageSize = 10l;
+// }
+// page.setSize(pageSize);
+// page.setCurrent(pageNum);
+// IPage<PartyBuildingComPbDynVO> iPage = comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
+// List<PartyBuildingComPbDynVO> records = iPage.getRecords();
+// if (!(ObjectUtils.isEmpty(records))) {
+// records.forEach(partyBuildingComPbDynVO1 -> {
+// String content = partyBuildingComPbDynVO1.getContent();
+// if (!ObjectUtils.isEmpty(content)) {
+// String text = RichTextUtil.getText(content);
+// partyBuildingComPbDynVO1.setContentText(text);
+// }
+// });
+// }
+// return R.ok(iPage);
+// }
+//
+// /**
+// * 删除动态
+// *
+// * @param id
+// * 动态主键
+// * @return 删除结果
+// */
+// @Override
+// public R deleteYnamic(Integer id) {
+// int delete = comPbDynDAO.deleteById(id);
+// if (delete > 0) {
+// return R.ok();
+// }
+// return R.fail();
+// }
+
+ /**
+ * 增加阅读记录
+ *
+ * @param comPbDynUserVO
+ * 阅读记录
+ * @return 增加结果
+ */
+ @Override
+ public R addDynUser(ComPbDynUserVO comPbDynUserVO) {
+ ComPbDynUserDO comPbDynUserDO = new ComPbDynUserDO();
+ BeanUtils.copyProperties(comPbDynUserVO, comPbDynUserDO);
+ int insert = comPbDynUserDAO.insert(comPbDynUserDO);
+ if (insert > 0) {
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ /**
+ * 删除党员
+ *
+ * @param id
+ * 党员主键
+ * @return 删除结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R deleteDynUser(Long id) {
+ ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(id);
+ if (ObjectUtils.isEmpty(comPbMemberDO)) {
+ return R.fail("党员不存在");
+ }
+ int delete = comPbMemberDAO.deleteById(id);
+ if (delete > 0) {
+ // 维护用户表党员状态
+ comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getPhone());
+ // 删除缓存
+ String userKey = UserConstants.LOGIN_USER_INFO + comPbMemberDO.getUserId();
+ stringRedisTemplate.delete(userKey);
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ /**
+ * 定时任务刷新党建动态发布状态
+ *
+ * @return 刷新数据数量
+ */
+ @Override
+ public R timedTaskPartyBuildingStatus() {
+ int num = comPbDynDAO.timedTaskPartyBuildingStatus();
+ log.info("定时任务更新党建动态发布状态数量【{}】", num);
+ return R.ok(num);
+ }
+
+ @Override
+ public R pagePrePartyBuilingMember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO) {
+
+ Page page = new Page<>();
+ Long pageNum = pagePartyBuildingMemberVO.getPageNum();
+ Long pageSize = pagePartyBuildingMemberVO.getPageSize();
+ if (null == pageNum || 0 == pageNum) {
+ pageNum = 1l;
+ }
+ if (null == pageSize || 0 == pageSize) {
+ pageSize = 10l;
+ }
+ page.setSize(pageSize);
+ page.setCurrent(pageNum);
+ IPage<PartyBuildingMemberVO> iPage = comPbMemberDAO.pagePartyBuildingMembersVO(page, pagePartyBuildingMemberVO);
+
+ return R.ok(iPage);
+ }
+
+ @Override
+ public R updatePartyBuildingMembers(PartyBuildingMemberVO partyBuildingMemberVO) {
+ ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(partyBuildingMemberVO.getId());
+ if (comPbMemberDO == null) {
+ return R.fail("未找到党员认证信息");
+ }
+// BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO);
+ comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
+ if (partyBuildingMemberVO.getAuditResult() != null && partyBuildingMemberVO.getAuditResult().equals(3)) {
+ comPbMemberDO.setRefuseReason(partyBuildingMemberVO.getRefuseReason());
+ }
+ if (partyBuildingMemberVO.getAuditResult() != null && partyBuildingMemberVO.getAuditResult().equals(1)) {
+ comPbMemberDO.setUpdateAt(new Date());
+ }
+
+ // 编辑
+ if (partyBuildingMemberVO.getJoinTime() != null) {
+ comPbMemberDO.setJoinTime(partyBuildingMemberVO.getJoinTime());
+ }
+ if (partyBuildingMemberVO.getEmploymentTime() != null) {
+ comPbMemberDO.setEmploymentTime(partyBuildingMemberVO.getEmploymentTime());
+ }
+ if (partyBuildingMemberVO.getIdCard() != null && !partyBuildingMemberVO.getIdCard().contains("*")) {
+ comPbMemberDO.setIdCard(partyBuildingMemberVO.getIdCard());
+ }
+ if (partyBuildingMemberVO.getName() != null) {
+ comPbMemberDO.setName(partyBuildingMemberVO.getName());
+ }
+ if (partyBuildingMemberVO.getOrgId() != null) {
+ comPbMemberDO.setOrgId(partyBuildingMemberVO.getOrgId());
+ }
+ if (partyBuildingMemberVO.getOrgName() != null) {
+ comPbMemberDO.setOrgName(partyBuildingMemberVO.getOrgName());
+ }
+ if (partyBuildingMemberVO.getPhotoPath() != null) {
+ comPbMemberDO.setPhotoPath(partyBuildingMemberVO.getPhotoPath());
+ }
+ if (nonNull(partyBuildingMemberVO.getType())) {
+ comPbMemberDO.setType(partyBuildingMemberVO.getType());
+ }
+ if (StringUtils.isNotEmpty(partyBuildingMemberVO.getPosition())) {
+ comPbMemberDO.setPosition(partyBuildingMemberVO.getPosition());
+ }
+ if (nonNull(partyBuildingMemberVO.getCheckUnitId())) {
+ comPbMemberDO.setCheckUnitId(partyBuildingMemberVO.getCheckUnitId());
+ }
+ if (StringUtils.isNotEmpty(partyBuildingMemberVO.getFunction())) {
+ comPbMemberDO.setFunction(partyBuildingMemberVO.getFunction());
+ }
+ if (nonNull(partyBuildingMemberVO.getSpecialtyName())) {
+ comPbMemberDO.setSpecialtyName(partyBuildingMemberVO.getSpecialtyName());
+ }
+ if(nonNull(partyBuildingMemberVO.getPhone())){
+ comPbMemberDO.setPhone(partyBuildingMemberVO.getPhone());
+ }
+
+ Integer type = partyBuildingMemberVO.getType();
+ if (nonNull(type) && type.equals(1)) {
+ comPbMemberDO.setEmploymentTime(null);
+ }
+ if(partyBuildingMemberVO.getVillageId()!=null){
+ comPbMemberDO.setVillageId(partyBuildingMemberVO.getVillageId());
+ }
+ if(partyBuildingMemberVO.getHelpCommunityId()!=null){
+ comPbMemberDO.setHelpCommunityId(partyBuildingMemberVO.getHelpCommunityId());
+ }
+ if(partyBuildingMemberVO.getCommunityId()!=null){
+ comPbMemberDO.setCommunityId(partyBuildingMemberVO.getCommunityId());
+ }
+ if(partyBuildingMemberVO.getNatureId()!=null){
+ comPbMemberDO.setNatureId(partyBuildingMemberVO.getNatureId());
+ }
+ if(nonNull(partyBuildingMemberVO.getNatureName())){
+ comPbMemberDO.setNatureName(partyBuildingMemberVO.getNatureName());
+ }
+ if(nonNull(partyBuildingMemberVO.getOtherRemark())){
+ comPbMemberDO.setOtherRemark(partyBuildingMemberVO.getOtherRemark());
+ }
+ if(nonNull(partyBuildingMemberVO.getHelpCommunityName())){
+ comPbMemberDO.setHelpCommunityName(partyBuildingMemberVO.getHelpCommunityName());
+ }
+
+ if (comPbMemberDAO.updateById(comPbMemberDO) > 0) {
+ PartyBuildingMemberVO rtVO = new PartyBuildingMemberVO();
+ BeanUtils.copyProperties(comPbMemberDO, rtVO);
+ return R.ok(rtVO);
+ }
+ return R.fail();
+ }
+
+ @Override
+ public R exportPbMember(PagePartyOrganizationVO organizationVO) {
+ return R.ok(comPbMemberDAO.exportPbMember(organizationVO));
+ }
+
+ /**
+ * 分页查询党员数据统计
+ * @param statisticsMemberDto 请求参数
+ * @return 党员数据统计
+ */
+ @Override
+ public R pageDataStatisticsMember(PageComDataStatisticsMemberDto statisticsMemberDto) {
+ 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){
+ member.setPartyActivityCount(statisticsMemberVo.getPartyActivityCount());
+ member.setPartyActivityDuration(statisticsMemberVo.getPartyActivityDuration());
+ member.setPartyActivityIntegral(statisticsMemberVo.getPartyActivityIntegral());
+ 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(memberPage);
+ }
+
+ /**
+ * 根据组织id查询组织下统计数据
+ * @param statisticsOrgDto 请求参数
+ * @return 组织下统计数据
+ */
+ @Override
+ public R getOrgDataStatistics(ComDataStatisticsOrgDto statisticsOrgDto) {
+ List<Long> orgIds = new ArrayList<>();
+ Long communityId = statisticsOrgDto.getCommunityId();
+ ComDataStatisticsOrgVo statisticsOrgVo = new ComDataStatisticsOrgVo();
+ 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";
+ String endTime = statisticsOrgDto.getYear() + "-12-31 23:59:59";
+
+ ComDataStatisticsOrgVo statisticsVo = new ComDataStatisticsOrgVo();
+ //查询统计左上数据
+ statisticsVo = comPbMemberDAO.getOrgDataStatistics(communityId,orgIds);
+ if(statisticsVo != null){
+ BeanUtils.copyProperties(statisticsVo,statisticsOrgVo);
+ }
+
+ //查询左下数据
+ statisticsVo = comPbMemberDAO.getOrgDataStatisticsLeftDown(communityId,orgIds,startTime,endTime,"");
+ if(statisticsVo != null){
+ statisticsOrgVo.setParticipateVolunteerActivityDuration(statisticsVo.getParticipateVolunteerActivityDuration());
+ statisticsOrgVo.setParticipateVolunteerActivityNum(statisticsVo.getParticipateVolunteerActivityNum());
+ statisticsOrgVo.setParticipatePartyActivityNum(statisticsVo.getParticipatePartyActivityNum());
+ statisticsOrgVo.setParticipatePartyActivityDuration(statisticsVo.getParticipatePartyActivityDuration());
+ statisticsOrgVo.setParticipateActivityDuration(statisticsVo.getParticipateActivityDuration());
+ statisticsOrgVo.setParticipateActivityNum(statisticsVo.getParticipateActivityNum());
+ }
+
+ //查询党员数据
+ IPage<PartyBuildingMemberVO> partyMemberPage = comPbMemberDAO.getOrgDataStatisticsMember(
+ new Page(statisticsOrgDto.getPageNum()
+ ,statisticsOrgDto.getPageSize()),communityId,orgIds,"");
+ if(partyMemberPage.getRecords() != null && !partyMemberPage.getRecords().isEmpty()){
+ statisticsOrgVo.setPartyMemberList(partyMemberPage.getRecords());
+ }
+
+ List<String> startDateList = DateUtils.getYearFirstMonths(statisticsOrgDto.getYear());
+ List<String> endDateList = DateUtils.getYearLastMonths(statisticsOrgDto.getYear());
+ List<String> completeWishList = new ArrayList<>();
+ List<String> cumulativeWishList = new ArrayList<>();
+ List<String> completeEasyList = new ArrayList<>();
+ List<String> cumulativeEasyList = new ArrayList<>();
+ for (int i = 0; i < startDateList.size(); i++) {
+ Map<String,Object> statisticsMap = comPbMemberDAO.getOrgDataStatisticsRightDown(communityId,orgIds,
+ startDateList.get(i) + " 00:00:00", endDateList.get(i) + " 23:59:59");
+ if(statisticsMap != null){
+ completeWishList.add(statisticsMap.get("completeWishNum").toString());
+ cumulativeWishList.add(statisticsMap.get("cumulativeWishNum").toString());
+ completeEasyList.add(statisticsMap.get("completeEasyNum").toString());
+ cumulativeEasyList.add(statisticsMap.get("cumulativeEasyNum").toString());
+ if(i == startDateList.size() - 1){
+ statisticsOrgVo.setWishNum(statisticsMap.get("cumulativeWishNum").toString());
+ statisticsOrgVo.setEasyNum(statisticsMap.get("cumulativeEasyNum").toString());
+ }
+ }
+ }
+ statisticsOrgVo.setCompleteEasyList(completeEasyList);
+ statisticsOrgVo.setCompleteWishList(completeWishList);
+ statisticsOrgVo.setCumulativeWishList(cumulativeWishList);
+ statisticsOrgVo.setCumulativeEasyList(cumulativeEasyList);
+ Integer partyMemberNum = statisticsOrgVo.getPartyMemberNum();
+ if (nonNull(partyMemberNum) && partyMemberNum.intValue() > 0) {
+ Integer formalPartyMemberNum = statisticsOrgVo.getFormalPartyMemberNum();
+ if (nonNull(formalPartyMemberNum) && formalPartyMemberNum.intValue() > 0) {
+ statisticsOrgVo.setFormalPartyMemberNumPercent(new BigDecimal(formalPartyMemberNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer preparePartyMemberNum = statisticsOrgVo.getPreparePartyMemberNum();
+ if (nonNull(preparePartyMemberNum) && preparePartyMemberNum.intValue() > 0) {
+ statisticsOrgVo.setPreparePartyMemberNumPercent(new BigDecimal(preparePartyMemberNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer tyNum = statisticsOrgVo.getTyNum();
+ if (nonNull(tyNum) && tyNum.intValue() > 0) {
+ statisticsOrgVo.setTyNumPercent(new BigDecimal(tyNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer msNum = statisticsOrgVo.getMsNum();
+ if (nonNull(msNum) && msNum.intValue() > 0) {
+ statisticsOrgVo.setMsNumPercent(new BigDecimal(msNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer yyNum = statisticsOrgVo.getYyNum();
+ if (nonNull(yyNum) && yyNum.intValue() > 0) {
+ statisticsOrgVo.setYyNumPercent(new BigDecimal(yyNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer wdNum = statisticsOrgVo.getWdNum();
+ if (nonNull(wdNum) && wdNum.intValue() > 0) {
+ statisticsOrgVo.setWdNumPercent(new BigDecimal(wdNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer qtNum = statisticsOrgVo.getQtNum();
+ if (nonNull(qtNum) && qtNum.intValue() > 0) {
+ statisticsOrgVo.setQtNumPercent(new BigDecimal(qtNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer wuNum = statisticsOrgVo.getWuNum();
+ if (nonNull(wuNum) && wuNum.intValue() > 0) {
+ statisticsOrgVo.setWuNumPercent(new BigDecimal(wuNum)
+ .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ }
+ Integer participateActivityNum = statisticsOrgVo.getParticipateActivityNum();
+ if (nonNull(participateActivityNum) && participateActivityNum.intValue() > 0) {
+ Integer participateVolunteerActivityNum = statisticsOrgVo.getParticipateVolunteerActivityNum();
+ if (nonNull(participateVolunteerActivityNum) && participateVolunteerActivityNum.intValue() > 0) {
+ statisticsOrgVo.setParticipateVolunteerActivityNumPercent(new BigDecimal(participateVolunteerActivityNum)
+ .divide(new BigDecimal(participateActivityNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer participatePartyActivityNum = statisticsOrgVo.getParticipatePartyActivityNum();
+ if (nonNull(participatePartyActivityNum) && participatePartyActivityNum.intValue() > 0) {
+ statisticsOrgVo.setParticipatePartyActivityNumPercent(new BigDecimal(participatePartyActivityNum)
+ .divide(new BigDecimal(participateActivityNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ }
+ Integer participateActivityDuration = statisticsOrgVo.getParticipateActivityDuration();
+ if (nonNull(participateActivityDuration) && participateActivityDuration.intValue() > 0) {
+ Integer participateVolunteerActivityDuration = statisticsOrgVo.getParticipateVolunteerActivityDuration();
+ if (nonNull(participateVolunteerActivityDuration) && participateVolunteerActivityDuration.intValue() > 0) {
+ statisticsOrgVo.setParticipateVolunteerActivityDurationPercent(new BigDecimal(participateVolunteerActivityDuration)
+ .divide(new BigDecimal(participateActivityDuration), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ Integer participatePartyActivityDuration = statisticsOrgVo.getParticipatePartyActivityDuration();
+ if (nonNull(participatePartyActivityDuration) && participatePartyActivityDuration.intValue() > 0) {
+ statisticsOrgVo.setParticipatePartyActivityDurationPercent(new BigDecimal(participatePartyActivityDuration)
+ .divide(new BigDecimal(participateActivityDuration), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0));
+ }
+ }
+ return R.ok(statisticsOrgVo);
+ }
+
+ /**
+ * 查询党组织表头统计数据
+ * @param communityId
+ * 社区id
+ * @return 党组织表头统计数据
+ */
+ @Override
+ public R getHeaderOrgDataStatistics(Long communityId) {
+ ComDataStatisticsHeaderOrgVo headerOrgVo = comPbMemberDAO.getHeaderOrgDataStatistics(communityId);
+ if(headerOrgVo != null){
+ if(headerOrgVo.getVillageNum() == null || headerOrgVo.getVillageNum().equals(0)){
+ headerOrgVo.setVillageRate(BigDecimal.ZERO);
+ }else{
+ headerOrgVo.setVillageRate(BigDecimal.valueOf(headerOrgVo.getAreaNum()).divide(BigDecimal.valueOf(headerOrgVo.getVillageNum())
+ ,4,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(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);
+ }
+
+ @Override
+ public R importPbMemberRole(List<ComPbMemberRoleExcelVo> list, Long communityId, Long userId) {
+ return null;
+ }
+
+// /**
+// * 党委导入接口
+// * @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;
+// }
+// if(StringUtils.isNotEmpty(memberRole.getOrg())){
+// ComPbOrgDO comPbOrgDO=comPbOrgDAO.selectOne(new QueryWrapper<ComPbOrgDO>().lambda().eq(ComPbOrgDO::getName,memberRole.getOrg()).eq(ComPbOrgDO::getCommunityId,communityId));
+// if(comPbOrgDO!=null){
+// memberRoleDO.setOrgId(comPbOrgDO.getId());
+// }
+// }
+// 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;
+// }
+// Integer userCount = comPbMemberRoleDAO.getSysUserByIdCardCount(memberRole.getIdCard());
+// memberRoleDO.setIsReg(userCount > 0 ? 1 : 2);
+// memberRoleDO.setCommunityId(communityId);
+// memberRoleDO.setSex(Integer.parseInt(memberRoleDO.getIdCard().substring(16,17))%2==0?2:1);
+// saveList.add(memberRoleDO);
+// }
+// });
+// }
+//
+// if(saveList.size() > 0){
+// saveList.forEach(save -> {
+// int result = comPbMemberRoleDAO.insert(save);
+// if(result>0){
+// //判断党员信息是否存在党委信息
+// ComPbMemberDO pbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda()
+// .eq(ComPbMemberDO::getIdCard,save.getIdCard())
+// .eq(ComPbMemberDO::getAuditResult,ComPbMemberDO.AuditResult.SHTG)
+// .eq(ComPbMemberDO::getCommunityId,save.getCommunityId()));
+// if(pbMemberDO == null){
+// //不存在则创建党委党员信息
+// pbMemberDO = new ComPbMemberDO();
+// BeanUtils.copyProperties(save, pbMemberDO);
+// pbMemberDO.setAuditResult(ComPbMemberDO.AuditResult.SHTG);
+// pbMemberDO.setCreateAt(nowDate);
+// pbMemberDO.setUpdateAt(nowDate);
+// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY);
+// comPbMemberDAO.insert(pbMemberDO);
+// //金沙特殊需求
+// if(pbMemberDO.getCommunityId()==2L){
+// ComMngVolunteerMngVO comMngVolunteerMngVO=new ComMngVolunteerMngVO();
+// comMngVolunteerMngVO.setOrgId(53L);
+// comMngVolunteerMngVO.setName(pbMemberDO.getName());
+// comMngVolunteerMngVO.setPhone(pbMemberDO.getPhone());
+// comMngVolunteerMngVO.setIdCard(pbMemberDO.getIdCard());
+// comMngVolunteerMngVO.setState(2);
+// comMngVolunteerMngVO.setCommunityId(2L);
+// R r = communityService.addVolunteer(comMngVolunteerMngVO);
+// // 支援者添加成功,修改小程序用户的志愿者状态 ,通过手机号
+// if (R.isOk(r)) {
+// String phone = comMngVolunteerMngVO.getPhone();
+// R r1 = userService.putUserIsVolunteer(phone, 1);
+// if (R.isOk(r1)) {
+// log.info("修改手机号【{}】的支援者状态为是", phone);
+// } else {
+// log.info("手机号【{}】没有小程序用户", phone);
+// }
+// }
+// }
+// }
+// }
+// userService.updateUserIsPartymember(save.getIdCard());
+// });
+// }
+// if(mistakes.size() > 0){
+// return R.fail(mistakes);
+// }
+// return R.ok();
+// }
+
+ @Override
+ public R exportPartyMember(PagePartyOrganizationVO pagePartyOrganizationVO) {
+ return R.ok(comPbMemberDAO.exportPartyMemberList(pagePartyOrganizationVO));
+ }
+
+ @Override
+ public R checkMember(String idCard) {
+ List<ComPbMemberDO> list=comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getIdCard,idCard));
+ return R.ok(CollectionUtils.isEmpty(list));
+ }
+
+ @Override
+ public R getPagePbMember(PartyBuildingMemberVO dto) {
+ IPage<PartyBuildingMemberVO> memberPage = comPbMemberDAO.getPbMemberByApplets(new Page(dto.getPageNum(),dto.getPageSize()),dto);
+ memberPage.getRecords().forEach(member -> {
+ if(StringUtils.isEmpty(member.getOrgName())){
+ member.setOrgName("待编辑党支部");
+ }
+ if(StringUtils.isEmpty(member.getCheckUnitName())){
+ member.setCheckUnitName("待编辑报到单位");
+ }
+ //member.setName(SensitiveUtil.replaceName(member.getName()));
+ });
+ return R.ok(memberPage);
+ }
+
+ @Override
+ public R getProject(ProjectVO projectVO) {
+// LambdaQueryWrapper<ComActProject> wrapper = new LambdaQueryWrapper<>();
+// wrapper.eq(ComActProject::getUnitId,projectVO.getUnitId());
+// wrapper.eq(projectVO.getSpeciality()!=null,ComActProject::getSpeciality,projectVO.getSpeciality());
+// wrapper.eq(projectVO.getProject()!=null,ComActProject::getProject,projectVO.getProject());
+// wrapper.orderByDesc(ComActProject::getCreateTime);
+// List<ComActProject> comActProjects = comActProjectMapper.selectList(wrapper);
+ List<ComActProject> comActProjects = comActProjectMapper.getList(projectVO);
+ return R.ok(comActProjects);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public R addProject(ProjectVO projectVO) {
+ Date date = new Date();
+ ComActProject comActProject = new ComActProject();
+ comActProject.setUnitId(projectVO.getUnitId());
+ comActProject.setUnitName(projectVO.getUnitName());
+ comActProject.setSpeciality(projectVO.getSpeciality());
+ comActProject.setProject(projectVO.getProject());
+ comActProject.setPhone(projectVO.getPhone());
+ comActProject.setImage(projectVO.getImage());
+ comActProject.setCreateTime(date);
+ comActProjectMapper.insert(comActProject);
+ // new_fight_resource_sharing
+ NewFightResourceSharingDTO dto = new NewFightResourceSharingDTO();
+ dto.setTitle(projectVO.getProject());
+ dto.setUnitId(String.valueOf(projectVO.getUnitId()));
+ dto.setMeritId(projectVO.getSpeciality());
+ dto.setImgUrl(projectVO.getImage());
+ dto.setPhone(projectVO.getPhone());
+ dto.setCommunityId(projectVO.getCommunityId());
+ dto.setCreationTime(date);
+ newFightResourceSharingDAO.addData(dto);
+ return R.ok();
+ }
+
+ @Override
+ public R updateProject(ProjectVO projectVO) {
+ LambdaQueryWrapper<ComActProject> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ComActProject::getUnitId,projectVO.getUnitId());
+ wrapper.eq(ComActProject::getId,projectVO.getId());
+ ComActProject actProject = comActProjectMapper.selectOne(wrapper);
+ actProject.setSpeciality(projectVO.getSpeciality());
+ actProject.setProject(projectVO.getProject());
+ actProject.setPhone(projectVO.getPhone());
+ if(projectVO.getImage() != null){
+ actProject.setImage(projectVO.getImage());
+ }
+ comActProjectMapper.updateById(actProject);
+ return R.ok();
+ }
+
+ @Override
+ public R deleteProject(ProjectVO projectVO) {
+ List<Long> ids = projectVO.getIds();
+ LambdaQueryWrapper<ComActProject> wrapper = new LambdaQueryWrapper<>();
+ wrapper.in(ComActProject::getId,ids);
+ comActProjectMapper.delete(wrapper);
+ return R.ok();
+ }
+
+ @Override
+ public R getPartyMember(String phone,Integer type) {
+
+ return R.ok(comPbMemberDAO.selectDetail(phone,type));
+ }
+
+ @Override
+ public R memberDetail(Long id) {
+ return R.ok(comPbMemberDAO.getDetailByApp(id));
+ }
+
+ /**
+ * 分页查询注册党员列表
+ * @param dto
+ * @return
+ */
+ @Override
+ public R pageRegisterMember(PageMemberForInviteDTO dto) {
+ return R.ok(comPbMemberDAO.pageRegisterMember(new Page(dto.getPageNum(), dto.getPageSize()), dto));
+ }
+}
--
Gitblit v1.7.1