From ce4a770744d7a0b4e4ea3b5101556b94e72bdf1c Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期二, 14 十一月 2023 17:49:20 +0800 Subject: [PATCH] 修改打卡 --- springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java | 1217 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 1,010 insertions(+), 207 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 cf1f0df..356f0e6 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 @@ -1,29 +1,49 @@ package com.panzhihua.service_dangjian.service.impl; -import com.alibaba.fastjson.JSONArray; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdcardUtil; +import com.alibaba.fastjson.JSONObject; 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.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.model.dos.*; +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.data.redis.core.StringRedisTemplate; -import org.springframework.data.redis.core.ValueOperations; 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.concurrent.TimeUnit; -import java.util.stream.Collectors; +import java.util.Map; + +import static java.util.Objects.nonNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -31,8 +51,10 @@ * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-11-30 10:53 **/ +@Slf4j @Service -public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO,ComPbMemberDO> implements ComPbMemberService { +public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO, ComPbMemberDO> implements ComPbMemberService { + private final String REDIS_ORG_ALL = "ogrlist"; @Resource private ComPbMemberDAO comPbMemberDAO; @Resource @@ -45,30 +67,45 @@ private ComPbDynDAO comPbDynDAO; @Resource private ComPbDynUserDAO comPbDynUserDAO; - - - private final String REDIS_ORG_ALL="ogrlist"; + @Resource + private UserService userService; /** * 新增党员 * - * @param partyBuildingMemberVO 党员基本信息 + * @param partyBuildingMemberVO + * 党员基本信息 * @return 新增结果 */ @Override public R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) { - String idCard = partyBuildingMemberVO.getIdCard(); - ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getIdCard, idCard)); - if (!ObjectUtils.isEmpty(comPbMemberDO)) { - return R.fail("身份证已经存在"); + 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()); + }); } - ComPbMemberDO comPbMemberDO1=new ComPbMemberDO(); - BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO1); - Date date=new Date(); + //添加党员同步用户小程序头像 + 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) { + 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(); @@ -77,60 +114,80 @@ /** * 批量新增党员 * - * @param list 党员集合 + * @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(null); - if (!ObjectUtils.isEmpty(comPbOrgDOS)) { - List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>(); - comPbOrgDOS.forEach(comPbOrgDO -> { - PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO(); - partyOrganizationVO.setId(comPbOrgDO.getId()); - partyOrganizationVO.setName(comPbOrgDO.getName()); - partyOrganizationVOList.add(partyOrganizationVO); - }); - partyOrganizationVOS= partyOrganizationVOList; - } - valueOperations.set(REDIS_ORG_ALL,JSONArray.toJSONString(partyOrganizationVOS),24, TimeUnit.HOURS); - } - List<ComPbMemberDO> comPbMemberDOS=new ArrayList<>(); + // 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)) { - List<PartyOrganizationVO> partyOrganizationVOArrayList=partyOrganizationVOS; - list.forEach(partyBuildingMemberExcelVO -> { - ComPbMemberDO comPbMemberDO=new ComPbMemberDO(); - Date date=new Date(); - comPbMemberDO.setUpdateAt(date); - comPbMemberDO.setCreateAt(date); - String orgName = partyBuildingMemberExcelVO.getOrgName(); - List<PartyOrganizationVO> collect = partyOrganizationVOArrayList.stream().filter(partyOrganizationVO -> orgName.equals(partyOrganizationVO.getName())).collect(Collectors.toList()); - if (ObjectUtils.isEmpty(collect)) { - throw new PartyBuildingMemberException("导入失败,组织不存在"+partyBuildingMemberExcelVO.getOrgName()); - }else{ - comPbMemberDO.setOrgId(collect.get(0).getId()); + 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()); } - comPbMemberDO.setEmploymentTime(partyBuildingMemberExcelVO.getEmploymentTime()); - comPbMemberDO.setJoinTime(partyBuildingMemberExcelVO.getJoinTime()); - comPbMemberDO.setName(partyBuildingMemberExcelVO.getName()); - comPbMemberDO.setIdCard(partyBuildingMemberExcelVO.getIdCard()); - comPbMemberDOS.add(comPbMemberDO); - }); - } - try { + else { + throw new PartyBuildingMemberException("导入失败,你导入的内容有未填报项"); + } + } this.saveBatch(comPbMemberDOS); - } catch (Exception e) { - throw new PartyBuildingMemberException("导入失败,存入数据库错误"); } return R.ok(); } @@ -138,42 +195,64 @@ /** * 分页党员 * - * @param pagePartyOrganizationVO 查询信息 + * @param pagePartyOrganizationVO + * 查询信息 * @return 分页数据 */ @Override public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) { - Page page=new Page<>(); + + 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 (ObjectUtils.isEmpty(pageNum)||0==pageNum) { - pageNum=1l; + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; } - if (ObjectUtils.isEmpty(pageSize)||0==pageSize) { - pageSize=10l; + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyOrganization(page, pagePartyOrganizationVO); + IPage<PartyBuildingMemberVO> iPage = comPbMemberDAO.queryAllByLimit(page, pagePartyOrganizationVO); + iPage.getRecords().forEach(record -> { + record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard())); + }); return R.ok(iPage); } /** * 编辑党员信息 新增字段均可编辑 * - * @param partyBuildingMemberVO 编辑字段 + * @param partyBuildingMemberVO + * 编辑字段 * @return 编辑结果 */ @Override public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) { - ComPbMemberDO comPbMemberDO=new ComPbMemberDO(); + ComPbMemberDO comPbMemberDO = new ComPbMemberDO(); Long orgId = partyBuildingMemberVO.getOrgId(); - if (null!=orgId&&0==orgId) { + if (null != orgId && 0 == orgId) { partyBuildingMemberVO.setOrgId(null); } - BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO); + 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) { + if (i > 0) { return R.ok(); } return R.fail(); @@ -182,118 +261,240 @@ /** * 查询指定社区的所有党员 * - * @param communityId 社区id + * @param communityId + * 社区id * @return 党员列表 */ @Override - public R listPartyMember(Integer communityId) { - List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(null); - if (ObjectUtils.isEmpty(comPbMemberDOS)) { - return R.ok(); - } - List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>(); + 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); + PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO(); + BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO); partyBuildingMemberVOS.add(partyBuildingMemberVO); }); return R.ok(partyBuildingMemberVOS); } - /** - * 新增党委 - * - * @param partyCommitteeVO 新增信息 - * @return 新增结果 - */ @Override public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) { - ComPbMemberRoleDO comPbMemberRoleDO1 = comPbMemberRoleDAO.selectOne(new QueryWrapper<ComPbMemberRoleDO>().lambda().eq(ComPbMemberRoleDO::getMemberId, partyCommitteeVO.getPartyMemberId())); - if (!ObjectUtils.isEmpty(comPbMemberRoleDO1)) { - return R.fail("党员身份已经存在"); - } - ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO(); - comPbMemberRoleDO.setCommunityId(partyCommitteeVO.getCommunityId()); - comPbMemberRoleDO.setMemberId(partyCommitteeVO.getPartyMemberId()); - comPbMemberRoleDO.setRoleId(partyCommitteeVO.getRoleId()); - int insert = comPbMemberRoleDAO.insert(comPbMemberRoleDO); - if (insert>0) { - return R.ok(); - } - return R.fail(); + return null; } - /** - * 编辑党委 - * - * @param partyCommitteeVO 编辑信息 - * @return 编辑结果 - */ @Override public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) { - ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO(); - comPbMemberRoleDO.setCommunityId(partyCommitteeVO.getCommunityId()); - comPbMemberRoleDO.setMemberId(partyCommitteeVO.getPartyMemberId()); - comPbMemberRoleDO.setRoleId(partyCommitteeVO.getRoleId()); - comPbMemberRoleDO.setId(partyCommitteeVO.getId()); - int update = comPbMemberRoleDAO.updateById(comPbMemberRoleDO); - if (update>0) { - return R.ok(); - } - return R.fail(); + return null; } - /** - * 删除党委 - * - * @param partyCommitteeVO 删除id - * @return 删除结果 - */ @Override public R deletePartyCommittee(PartyCommitteeVO partyCommitteeVO) { - int delete = comPbMemberRoleDAO.deleteById(partyCommitteeVO.getId()); - if (delete>0) { - return R.ok(); - } - return R.fail(); + return null; } - /** - * 分页社区党委查询 - * - * @param partyCommitteeVO 查询参数 - * @return 分页集合 - */ @Override public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) { - Page page=new Page<>(); + Page page = new Page<>(); Long pageNum = partyCommitteeVO.getPageNum(); Long pageSize = partyCommitteeVO.getPageSize(); - if (ObjectUtils.isEmpty(pageNum)) { - pageNum=1l; + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; } - if (ObjectUtils.isEmpty(pageSize)) { - pageSize=10l; + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<PartyCommitteeVO> iPage=comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO); + 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 动态内容 + * @param partyCommitteeVO + * 动态内容 * @return 新增结果 */ @Override public R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO) { - ComPbDynDO comPbDynDO=new ComPbDynDO(); - BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO); + ComPbDynDO comPbDynDO = new ComPbDynDO(); + BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO); comPbDynDO.setCreateAt(new Date()); int insert = comPbDynDAO.insert(comPbDynDO); - if (insert>0) { + if (insert > 0) { return R.ok(); } return R.fail(); @@ -302,116 +503,718 @@ /** * 编辑动态 * - * @param partyCommitteeVO 编辑内容 + * @param partyCommitteeVO + * 编辑内容 * @return 编辑结果 */ @Override public R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO) { - ComPbDynDO comPbDynDO=new ComPbDynDO(); - BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO); + ComPbDynDO comPbDynDO = new ComPbDynDO(); + BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO); int insert = comPbDynDAO.updateById(comPbDynDO); - if (insert>0) { + if (insert > 0) { return R.ok(); } return R.fail(); } - /** - * 动态详情 - * - * @param id 动态主键 - * @return 详情 - */ @Override - public R infoYnamic(Integer id) { - ComPbDynDO comPbDynDO = comPbDynDAO.selectById(id); - if (ObjectUtils.isEmpty(comPbDynDO)) { - return R.fail("动态不存在"); - } - PartyBuildingComPbDynVO partyBuildingComPbDynVO=new PartyBuildingComPbDynVO(); - Long createBy = comPbDynDO.getCreateBy(); - ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy); - if (ObjectUtils.isEmpty(comPbMemberDO)) { - return R.fail("发布人不存在"); - } - Integer integer = comPbDynUserDAO.selectCount(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id)); - BeanUtils.copyProperties(comPbDynDO,partyBuildingComPbDynVO); - partyBuildingComPbDynVO.setCreateByName(comPbMemberDO.getName()); - partyBuildingComPbDynVO.setReadingVolume(null==integer?0:integer); - return R.ok(partyBuildingComPbDynVO); + public R infoYnamic(Long id) { + return null; } - /** - * 分页查询党员动态 - * - * @param partyBuildingComPbDynVO 查询参数 - * @return 分页数据 - */ @Override - public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) { - Page page=new Page<>(); + public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) + { + Page page = new Page<>(); Long pageNum = partyBuildingComPbDynVO.getPageNum(); Long pageSize = partyBuildingComPbDynVO.getPageSize(); - if (ObjectUtils.isEmpty(pageNum)) { - pageNum=1l; + if (null == pageNum) { + pageNum = 1l; } - if (ObjectUtils.isEmpty(pageSize)) { - pageSize=10l; + if (null == pageSize) { + pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<PartyBuildingComPbDynVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO); + 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); } - /** - * 删除动态 - * - * @param id 动态主键 - * @return 删除结果 - */ @Override public R deleteYnamic(Integer id) { - int delete = comPbDynDAO.deleteById(id); - if (delete>0) { - return R.ok(); - } - return R.fail(); + 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 阅读记录 + * @param comPbDynUserVO + * 阅读记录 * @return 增加结果 */ @Override public R addDynUser(ComPbDynUserVO comPbDynUserVO) { - ComPbDynUserDO comPbDynUserDO = comPbDynUserDAO.selectOne(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId,comPbDynUserVO.getDynId()).eq(ComPbDynUserDO::getUserId,comPbDynUserVO.getUserId())); - if (ObjectUtils.isEmpty(comPbDynUserDO)) { - comPbDynUserDO=new ComPbDynUserDO(); - BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO); - comPbDynUserDAO.insert(comPbDynUserDO); + ComPbDynUserDO comPbDynUserDO = new ComPbDynUserDO(); + BeanUtils.copyProperties(comPbDynUserVO, comPbDynUserDO); + int insert = comPbDynUserDAO.insert(comPbDynUserDO); + if (insert > 0) { + return R.ok(); } - return R.ok(); + return R.fail(); } /** * 删除党员 * - * @param id 党员主键 + * @param id + * 党员主键 * @return 删除结果 */ @Override - public R deleteDynUser(Integer id) { + @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) { + 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 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