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