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 | 1021 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 803 insertions(+), 218 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 783fe1c..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,37 +1,49 @@ package com.panzhihua.service_dangjian.service.impl; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.springframework.beans.BeanUtils; -import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ObjectUtils; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.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 @@ -55,6 +67,8 @@ private ComPbDynDAO comPbDynDAO; @Resource private ComPbDynUserDAO comPbDynUserDAO; + @Resource + private UserService userService; /** * 新增党员 @@ -65,11 +79,19 @@ */ @Override public R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) { - String idCard = partyBuildingMemberVO.getIdCard(); List<ComPbMemberDO> comPbMemberDOs = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda() - .eq(ComPbMemberDO::getIdCard, idCard).eq(ComPbMemberDO::getAuditResult, 1)); + .eq(ComPbMemberDO::getPhone, partyBuildingMemberVO.getPhone()).eq(ComPbMemberDO::getAuditResult, 1).eq(ComPbMemberDO::getType,partyBuildingMemberVO.getType())); if (!ObjectUtils.isEmpty(comPbMemberDOs) && comPbMemberDOs.size() > 0) { - return R.fail("身份证已经存在"); + 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); @@ -79,11 +101,11 @@ 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)); +// 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(); @@ -101,7 +123,7 @@ public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list) { // Boolean aBoolean = stringRedisTemplate.hasKey(REDIS_ORG_ALL); // ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue(); - List<PartyOrganizationVO> partyOrganizationVOS = new ArrayList<>(); + //List<PartyOrganizationVO> partyOrganizationVOS = new ArrayList<>(); // if (aBoolean) { // String orgs = valueOperations.get(REDIS_ORG_ALL); // if (!ObjectUtils.isEmpty(orgs)) { @@ -122,87 +144,51 @@ // } // valueOperations.set(REDIS_ORG_ALL,JSONArray.toJSONString(partyOrganizationVOS),24, TimeUnit.HOURS); // } - 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; - } List<ComPbMemberDO> comPbMemberDOS = new ArrayList<>(); if (!ObjectUtils.isEmpty(list)) { - List<PartyOrganizationVO> partyOrganizationVOArrayList = partyOrganizationVOS; for (PartyBuildingMemberExcelVO partyBuildingMemberExcelVO : list) { - 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 { - PartyOrganizationVO partyOrganizationVO = collect.get(0); - comPbMemberDO.setOrgId(partyOrganizationVO.getId()); - comPbMemberDO.setCommunityId(partyOrganizationVO.getCommunityId()); - + 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::getIdCard, partyBuildingMemberExcelVO.getIdCard()) - .eq(ComPbMemberDO::getCommunityId, partyOrganizationVO.getCommunityId()) - .in(ComPbMemberDO::getAuditResult, 0, 1)); + .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()); } - - if (StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getEmploymentTime()) - && !DateUtils.isValidDate(partyBuildingMemberExcelVO.getEmploymentTime())) { - throw new PartyBuildingMemberException( - "导入失败,您导入的数据中有转正日期格式错误,错误数据:" + partyBuildingMemberExcelVO.getEmploymentTime() + ",错误人名:" - + partyBuildingMemberExcelVO.getName()); + else { + throw new PartyBuildingMemberException("导入失败,你导入的内容有未填报项"); } - - if (StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getJoinTime()) - && !DateUtils.isValidDate(partyBuildingMemberExcelVO.getJoinTime())) { - throw new PartyBuildingMemberException("导入失败,您导入的数据中有入党日期格式错误,错误数据:" - + partyBuildingMemberExcelVO.getJoinTime() + ",错误人名:" + partyBuildingMemberExcelVO.getName()); - } - - if (StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getEmploymentTime())) { - Date employmentTime = DateUtils.toValidDate(partyBuildingMemberExcelVO.getEmploymentTime()); - comPbMemberDO.setEmploymentTime(employmentTime); - } else { - comPbMemberDO.setEmploymentTime(null); - } - - if (StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getJoinTime())) { - Date joinTime = DateUtils.toValidDate(partyBuildingMemberExcelVO.getJoinTime()); - comPbMemberDO.setJoinTime(joinTime); - } else { - comPbMemberDO.setJoinTime(null); - } - - comPbMemberDO.setName(partyBuildingMemberExcelVO.getName()); - comPbMemberDO.setIdCard(partyBuildingMemberExcelVO.getIdCard()); - comPbMemberDOS.add(comPbMemberDO); } + this.saveBatch(comPbMemberDOS); } - this.saveBatch(comPbMemberDOS); return R.ok(); } @@ -215,6 +201,18 @@ */ @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(); @@ -226,7 +224,7 @@ } 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())); }); @@ -248,6 +246,10 @@ 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) { @@ -282,99 +284,21 @@ return R.ok(partyBuildingMemberVOS); } - /** - * 新增党委 - * - * @param partyCommitteeVO - * 新增信息 - * @return 新增结果 - */ @Override public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) { - ComPbMemberRoleDO comPbMemberRoleDO = new ComPbMemberRoleDO(); - BeanUtils.copyProperties(partyCommitteeVO, comPbMemberRoleDO); - comPbMemberRoleDO.setCreateAt(new Date()); - comPbMemberRoleDO.setUpdateAt(new Date()); - comPbMemberRoleDO.setIsReg(2); - SysUserVO sysUser = comPbMemberRoleDAO.getSysUserByPhone(partyCommitteeVO.getPhone()); - if (!ObjectUtils.isEmpty(sysUser)) { - comPbMemberRoleDO.setIsReg(1); - } - 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(); - BeanUtils.copyProperties(partyCommitteeVO, comPbMemberRoleDO); - ComPbMemberRoleDO comPbMemberRoleDOOld = comPbMemberRoleDAO.selectById(partyCommitteeVO.getId()); - comPbMemberRoleDO.setCreateAt(comPbMemberRoleDOOld.getCreateAt()); - comPbMemberRoleDO.setUpdateAt(new Date()); - comPbMemberRoleDO.setPositionTwo(partyCommitteeVO.getPositionTwo()); - comPbMemberRoleDO.setIsReg(2); - PartyCommitteeVO oldPartyCommitteeVO = comPbMemberRoleDAO.selectPartyCommitteeById(partyCommitteeVO.getId()); - String oldphone = oldPartyCommitteeVO.getPhone(); - SysUserVO sysUserOld = comPbMemberRoleDAO.getSysUserByPhone(oldphone); - String newphone = partyCommitteeVO.getPhone(); - SysUserVO sysUserNew = comPbMemberRoleDAO.getSysUserByPhone(newphone); - if (!ObjectUtils.isEmpty(sysUserOld) || !ObjectUtils.isEmpty(sysUserNew)) { - comPbMemberRoleDO.setIsReg(1); - } - if (!newphone.equals(oldphone)) { - comPbMemberRoleDAO.updateUserPhone(newphone, oldphone); - } - 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) { - ComPbMemberRoleDO comPbMemberRoleDO = comPbMemberRoleDAO.selectById(partyCommitteeVO.getId()); - if (comPbMemberRoleDO == null) { - return R.fail("记录不存在"); - } - int delete = comPbMemberRoleDAO.deleteById(partyCommitteeVO.getId()); - if (delete > 0) { - SysUserVO sysUserVO = comPbMemberRoleDAO.getSysUserByPhone(comPbMemberRoleDO.getPhone()); - // 删除用户信息缓存 - if (sysUserVO != null) { - Long userId = sysUserVO.getUserId(); - String userKey = UserConstants.LOGIN_USER_INFO + userId; - stringRedisTemplate.delete(userKey); - return R.ok(); - } - } - return R.fail(); + return null; } - /** - * 分页社区党委查询 - * - * @param partyCommitteeVO - * 查询参数 - * @return 分页集合 - */ @Override public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) { Page page = new Page<>(); @@ -388,12 +312,174 @@ } 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); +// } /** * 新建党建动态 @@ -432,43 +518,14 @@ return R.fail(); } - /** - * 动态详情 - * - * @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); + return null; } - /** - * 分页查询党员动态 - * - * @param partyBuildingComPbDynVO - * 查询参数 - * @return 分页数据 - */ @Override - public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) { + public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) + { Page page = new Page<>(); Long pageNum = partyBuildingComPbDynVO.getPageNum(); Long pageSize = partyBuildingComPbDynVO.getPageSize(); @@ -480,7 +537,7 @@ } 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 -> { @@ -494,21 +551,88 @@ 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(); +// } /** * 增加阅读记录 @@ -537,7 +661,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public R deleteDynUser(Integer id) { + public R deleteDynUser(Long id) { ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(id); if (ObjectUtils.isEmpty(comPbMemberDO)) { return R.fail("党员不存在"); @@ -545,7 +669,7 @@ int delete = comPbMemberDAO.deleteById(id); if (delete > 0) { // 维护用户表党员状态 - comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getIdCard()); + comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getPhone()); // 删除缓存 String userKey = UserConstants.LOGIN_USER_INFO + comPbMemberDO.getUserId(); stringRedisTemplate.delete(userKey); @@ -591,6 +715,7 @@ 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()); @@ -615,8 +740,55 @@ 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) { @@ -632,4 +804,417 @@ 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