101captain
2022-03-23 2d0487d82ff61219c71155699b52d8d339a2443a
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -15,10 +15,13 @@
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.community.ComMngVolunteerMngVO;
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.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.service_dangjian.entity.ComPbCheckUnit;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.BeanUtils;
@@ -48,6 +51,8 @@
import lombok.extern.slf4j.Slf4j;
import static java.util.Objects.nonNull;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员
@@ -70,6 +75,10 @@
    private ComPbDynDAO comPbDynDAO;
    @Resource
    private ComPbDynUserDAO comPbDynUserDAO;
    @Resource
    private CommunityService communityService;
    @Resource
    private UserService userService;
    /**
     * 新增党员
@@ -217,6 +226,29 @@
                comPbMemberDOS.add(comPbMemberDO);
            }
        }
        comPbMemberDOS.forEach(comPbMemberDO -> {
            //金沙社区特殊需求 添加党员默认添加志愿者
            if(comPbMemberDO.getCommunityId()==2L){
                ComMngVolunteerMngVO comMngVolunteerMngVO=new ComMngVolunteerMngVO();
                comMngVolunteerMngVO.setOrgId(53L);
                comMngVolunteerMngVO.setName(comPbMemberDO.getName());
                comMngVolunteerMngVO.setPhone(comPbMemberDO.getPhone());
                comMngVolunteerMngVO.setIdCard(comPbMemberDO.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);
                    }
                }
            }
        });
        this.saveBatch(comPbMemberDOS);
        return R.ok();
    }
@@ -263,6 +295,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) {
@@ -404,8 +440,8 @@
            if (userId != null) {
                String userKey = UserConstants.LOGIN_USER_INFO + userId;
                stringRedisTemplate.delete(userKey);
                return R.ok();
            }
            return R.ok();
        }
        return R.fail();
    }
@@ -661,21 +697,26 @@
        if (partyBuildingMemberVO.getPhotoPath() != null) {
            comPbMemberDO.setPhotoPath(partyBuildingMemberVO.getPhotoPath());
        }
        if (Objects.nonNull(partyBuildingMemberVO.getType())) {
        if (nonNull(partyBuildingMemberVO.getType())) {
            comPbMemberDO.setType(partyBuildingMemberVO.getType());
        }
        if (StringUtils.isNotEmpty(partyBuildingMemberVO.getPosition())) {
            comPbMemberDO.setPosition(partyBuildingMemberVO.getPosition());
        }
        if (Objects.nonNull(partyBuildingMemberVO.getCheckUnitId())) {
        if (nonNull(partyBuildingMemberVO.getCheckUnitId())) {
            comPbMemberDO.setCheckUnitId(partyBuildingMemberVO.getCheckUnitId());
        }
        if (StringUtils.isNotEmpty(partyBuildingMemberVO.getFunction())) {
            comPbMemberDO.setFunction(partyBuildingMemberVO.getFunction());
        }
        if (Objects.nonNull(partyBuildingMemberVO.getSpecialtyCategory())) {
        if (nonNull(partyBuildingMemberVO.getSpecialtyCategory())) {
            comPbMemberDO.setSpecialtyCategory(partyBuildingMemberVO.getSpecialtyCategory());
            comPbMemberDO.setSpecialtyName(partyBuildingMemberVO.getSpecialtyName());
        }
        Integer type = partyBuildingMemberVO.getType();
        if (nonNull(type) && type.equals(1)) {
            comPbMemberDO.setEmploymentTime(null);
        }
@@ -811,14 +852,72 @@
        statisticsOrgVo.setCumulativeWishList(cumulativeWishList);
        statisticsOrgVo.setCumulativeEasyList(cumulativeEasyList);
        Integer partyMemberNum = statisticsOrgVo.getPartyMemberNum();
        if (Objects.nonNull(partyMemberNum) && partyMemberNum.intValue() > 0) {
        if (nonNull(partyMemberNum) && partyMemberNum.intValue() > 0) {
            Integer formalPartyMemberNum = statisticsOrgVo.getFormalPartyMemberNum();
            if (Objects.nonNull(formalPartyMemberNum) && formalPartyMemberNum.intValue() > 0) {
                statisticsOrgVo.setFormalPartyMemberNumPercent(new BigDecimal(formalPartyMemberNum/partyMemberNum).setScale(2));
            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 (Objects.nonNull(preparePartyMemberNum) && preparePartyMemberNum.intValue() > 0) {
                statisticsOrgVo.setPreparePartyMemberNumPercent(new BigDecimal(preparePartyMemberNum/partyMemberNum).setScale(2));
            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);