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