|
@@ -127,42 +127,60 @@ public class MemberInfoServiceImpl implements IMemberInfoService {
|
|
map.put("sqmyInfoNum", 0);
|
|
map.put("sqmyInfoNum", 0);
|
|
//会议
|
|
//会议
|
|
map.put("conferenceNum", 0);
|
|
map.put("conferenceNum", 0);
|
|
|
|
+ //全会
|
|
|
|
+ map.put("plenarySessionNum", 0);
|
|
//活动
|
|
//活动
|
|
map.put("activityNum", 0);
|
|
map.put("activityNum", 0);
|
|
//发言数量
|
|
//发言数量
|
|
map.put("speakNum", 0);
|
|
map.put("speakNum", 0);
|
|
-/* //查询履职考核标准
|
|
|
|
- List<ZxAssessment> zxAssessments = zxAssessmentMapper.selectZxAssessmentList(new ZxAssessment());*/
|
|
|
|
//查询提案情况
|
|
//查询提案情况
|
|
ProposalInfo proposalInfo = new ProposalInfo();
|
|
ProposalInfo proposalInfo = new ProposalInfo();
|
|
proposalInfo.setProposalUserId(userId);
|
|
proposalInfo.setProposalUserId(userId);
|
|
proposalInfo.setYear(year);
|
|
proposalInfo.setYear(year);
|
|
List<ProposalInfo> proposalInfos = proposalInfoMapper.selectProposalInfoListByUser(proposalInfo);
|
|
List<ProposalInfo> proposalInfos = proposalInfoMapper.selectProposalInfoListByUser(proposalInfo);
|
|
memberInfoVo.setProposalInfoList(proposalInfos);
|
|
memberInfoVo.setProposalInfoList(proposalInfos);
|
|
|
|
+ if (proposalInfos != null && proposalInfos.size() >0){
|
|
|
|
+ map.put("proposalInfoNum", proposalInfos.size());
|
|
|
|
+ }
|
|
//查询社情民意
|
|
//查询社情民意
|
|
SqmyInfo sqmyInfo = new SqmyInfo();
|
|
SqmyInfo sqmyInfo = new SqmyInfo();
|
|
sqmyInfo.setSqmyUserId(userId);
|
|
sqmyInfo.setSqmyUserId(userId);
|
|
sqmyInfo.setYear(year);
|
|
sqmyInfo.setYear(year);
|
|
List<SqmyInfo> sqmyInfos = sqmyInfoMapper.selectSqmyInfoList(sqmyInfo);
|
|
List<SqmyInfo> sqmyInfos = sqmyInfoMapper.selectSqmyInfoList(sqmyInfo);
|
|
memberInfoVo.setSqmyInfoList(sqmyInfos);
|
|
memberInfoVo.setSqmyInfoList(sqmyInfos);
|
|
|
|
+ if (sqmyInfos != null && sqmyInfos.size() >0){
|
|
|
|
+ map.put("sqmyInfoNum", sqmyInfos.size());
|
|
|
|
+ }
|
|
|
|
+
|
|
//查询政协会议
|
|
//查询政协会议
|
|
ZxConference zxConference = new ZxConference();
|
|
ZxConference zxConference = new ZxConference();
|
|
zxConference.setUserId(SecurityUtils.getUserId());
|
|
zxConference.setUserId(SecurityUtils.getUserId());
|
|
zxConference.setYear(year);
|
|
zxConference.setYear(year);
|
|
List<ZxConference> zxConferences = zxConferenceMapper.selectZxConferenceList(zxConference);
|
|
List<ZxConference> zxConferences = zxConferenceMapper.selectZxConferenceList(zxConference);
|
|
memberInfoVo.setZxConferenceList(zxConferences);
|
|
memberInfoVo.setZxConferenceList(zxConferences);
|
|
|
|
+ if (zxConferences != null && zxConferences.size() > 0){
|
|
|
|
+ long count = zxConferences.stream().filter(e -> e.getConferenceType().equals(ONE)).count();
|
|
|
|
+ map.put("plenarySessionNum", count);
|
|
|
|
+ }
|
|
//查询活动
|
|
//查询活动
|
|
ZxActivity zxActivity = new ZxActivity();
|
|
ZxActivity zxActivity = new ZxActivity();
|
|
zxActivity.setUserId(SecurityUtils.getUserId());
|
|
zxActivity.setUserId(SecurityUtils.getUserId());
|
|
zxActivity.setYear(year);
|
|
zxActivity.setYear(year);
|
|
List<ZxActivity> zxActivities = zxActivityMapper.selectZxActivityList(zxActivity);
|
|
List<ZxActivity> zxActivities = zxActivityMapper.selectZxActivityList(zxActivity);
|
|
memberInfoVo.setZxActivityList(zxActivities);
|
|
memberInfoVo.setZxActivityList(zxActivities);
|
|
|
|
+ if (zxActivities != null && zxActivities.size() >0){
|
|
|
|
+ map.put("activityNum", zxActivities.size());
|
|
|
|
+ }
|
|
|
|
+
|
|
//查询发言不计算分
|
|
//查询发言不计算分
|
|
ZxSpeak zxSpeak = new ZxSpeak();
|
|
ZxSpeak zxSpeak = new ZxSpeak();
|
|
zxSpeak.setUserId(SecurityUtils.getUserId());
|
|
zxSpeak.setUserId(SecurityUtils.getUserId());
|
|
zxSpeak.setYear(year);
|
|
zxSpeak.setYear(year);
|
|
List<ZxSpeak> zxSpeaks = zxSpeakMapper.selectZxSpeakList(zxSpeak);
|
|
List<ZxSpeak> zxSpeaks = zxSpeakMapper.selectZxSpeakList(zxSpeak);
|
|
memberInfoVo.setZxSpeakList(zxSpeaks);
|
|
memberInfoVo.setZxSpeakList(zxSpeaks);
|
|
|
|
+ if (zxSpeaks != null && zxSpeaks.size() >0){
|
|
|
|
+ map.put("speakNum", zxSpeaks.size());
|
|
|
|
+ }
|
|
//查询委员得分和排名
|
|
//查询委员得分和排名
|
|
MemberAssessmentInfo memberAssessmentInfo = new MemberAssessmentInfo();
|
|
MemberAssessmentInfo memberAssessmentInfo = new MemberAssessmentInfo();
|
|
memberAssessmentInfo.setUserId(userId);
|
|
memberAssessmentInfo.setUserId(userId);
|
|
@@ -171,232 +189,9 @@ public class MemberInfoServiceImpl implements IMemberInfoService {
|
|
if (memberAssessmentInfos != null && memberAssessmentInfos.size() >0){
|
|
if (memberAssessmentInfos != null && memberAssessmentInfos.size() >0){
|
|
MemberAssessmentInfo memberAssessmentInfoNew = memberAssessmentInfos.get(0);
|
|
MemberAssessmentInfo memberAssessmentInfoNew = memberAssessmentInfos.get(0);
|
|
memberInfoVo.setMemberAssessmentInfo(memberAssessmentInfoNew);
|
|
memberInfoVo.setMemberAssessmentInfo(memberAssessmentInfoNew);
|
|
|
|
+ }else {
|
|
|
|
+ memberInfoVo.setMemberAssessmentInfo(new MemberAssessmentInfo());
|
|
}
|
|
}
|
|
-/* //计算得分 勿删
|
|
|
|
- if (zxAssessments != null && zxAssessments.size() > 0) {
|
|
|
|
- //获取分值上限
|
|
|
|
- long assessmentTotal = 0L;
|
|
|
|
- //定义当前分数
|
|
|
|
- long nowScore = 0L;
|
|
|
|
- //设置的单项分数
|
|
|
|
- long assessmentScore = 0L;
|
|
|
|
- //符合条件的项目数量
|
|
|
|
- long proposalCount = 0L;
|
|
|
|
- //计算提案得分
|
|
|
|
- if (proposalInfos != null && proposalInfos.size() > 0) {
|
|
|
|
- //获取分值上限
|
|
|
|
- assessmentTotal = zxAssessments.stream().filter(e -> "assessment_proposal".equals(e.getAssessmentProjectId()) && 0 == e.getParentId()).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentTotal();
|
|
|
|
- //先去查询这个人是否有个人提案立案
|
|
|
|
- proposalCount = proposalInfos.stream().filter(e -> e.getProposalUserId().equals(userId) && e.getIsJointly().equals(ONE) && !ONE.equals(e.getProposalProgress()) && !THR.equals(e.getProposalProgress())).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_proposal".equals(e.getAssessmentProjectId()) && ONE.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- //当前分数小于上限值,继续找下一个条件
|
|
|
|
- if (nowScore < assessmentTotal) {
|
|
|
|
- //查询这个人是否有个人提案未立案
|
|
|
|
- proposalCount = proposalInfos.stream().filter(e -> e.getProposalUserId().equals(userId) && e.getIsJointly().equals(ONE) && (ONE.equals(e.getProposalProgress()) || THR.equals(e.getProposalProgress()))).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_proposal".equals(e.getAssessmentProjectId()) && TWO.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //当前分数小于上限值,继续找下一个条件
|
|
|
|
- if (nowScore < assessmentTotal) {
|
|
|
|
- //查询这个人是否有联名提案、集体提案立案的,第一提案人,召集人
|
|
|
|
- proposalCount = proposalInfos.stream().filter(e -> e.getProposalUserId().equals(userId) && "0".equals(e.getIsJointly()) && !ONE.equals(e.getProposalProgress()) && !THR.equals(e.getProposalProgress())).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_proposal".equals(e.getAssessmentProjectId()) && THR.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //当前分数小于上限值,继续找下一个条件
|
|
|
|
- if (nowScore < assessmentTotal) {
|
|
|
|
- //查询这个人是否有联名提案、集体提案立案的,其余联名、参与者
|
|
|
|
- proposalCount = proposalInfos.stream().filter(e -> !e.getProposalUserId().equals(userId) && "0".equals(e.getIsJointly()) && !ONE.equals(e.getProposalProgress()) && !THR.equals(e.getProposalProgress())).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_proposal".equals(e.getAssessmentProjectId()) && FOR.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //当前分数小于上限值,继续找下一个条件
|
|
|
|
- if (nowScore < assessmentTotal) {
|
|
|
|
- //查询这个人是否有未立案联名提案、集体提案参与者
|
|
|
|
- proposalCount = proposalInfos.stream().filter(e -> !e.getProposalUserId().equals(userId) && "0".equals(e.getIsJointly()) && (ONE.equals(e.getProposalProgress()) || THR.equals(e.getProposalProgress()))).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_proposal".equals(e.getAssessmentProjectId()) && FOR.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (nowScore > assessmentTotal) {
|
|
|
|
- nowScore = assessmentTotal;
|
|
|
|
- }
|
|
|
|
- map.put("proposalInfoScore", nowScore);
|
|
|
|
- }
|
|
|
|
- //计算社情民义的分值
|
|
|
|
- if (sqmyInfos != null && sqmyInfos.size() > 0) {
|
|
|
|
- //获取分值上限
|
|
|
|
- assessmentTotal = zxAssessments.stream().filter(e -> "proposal_sqmy".equals(e.getAssessmentProjectId()) && 0 == e.getParentId()).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentTotal();
|
|
|
|
- //定义当前分数
|
|
|
|
- nowScore = 0L;
|
|
|
|
- //查询这个人撰写并上报社情民意信息,被采用
|
|
|
|
- proposalCount = sqmyInfos.stream().filter(e -> e.getSqmyUserId().equals(userId) && "0".equals(e.getIsRecord())).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "proposal_sqmy".equals(e.getAssessmentProjectId()) && ONE.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- //当前分数小于上限值,继续找下一个条件
|
|
|
|
- if (nowScore < assessmentTotal) {
|
|
|
|
- //查询这个人撰写并上报社情民意信息,未采用
|
|
|
|
- proposalCount = sqmyInfos.stream().filter(e -> e.getSqmyUserId().equals(userId) && ONE.equals(e.getIsRecord())).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "proposal_sqmy".equals(e.getAssessmentProjectId()) && TWO.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (nowScore > assessmentTotal) {
|
|
|
|
- nowScore = assessmentTotal;
|
|
|
|
- }
|
|
|
|
- map.put("sqmyInfoScore", nowScore);
|
|
|
|
- }
|
|
|
|
- //计算会议分值
|
|
|
|
- if (zxConferences != null && zxConferences.size() > 0) {
|
|
|
|
- //查询会议默认所有人一开始的20分,缺勤扣分
|
|
|
|
- //获取分值上限
|
|
|
|
- assessmentTotal = zxAssessments.stream().filter(e -> "assessment_conference".equals(e.getAssessmentProjectId()) && 0 == e.getParentId()).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentTotal();
|
|
|
|
- //定义当前分数
|
|
|
|
- nowScore = 0L;
|
|
|
|
- //查询这个人是否有全体会议期间,无故缺席大会或分组讨论
|
|
|
|
- List<ZxConference> collect = zxConferences.stream().filter(e -> e.getConferenceType().equals(ONE)).collect(Collectors.toList());
|
|
|
|
- if (collect.size() > 0) {
|
|
|
|
- for (ZxConference conference : collect) {
|
|
|
|
- List<ZxConferenceUser> zxConferenceUserList = conference.getZxConferenceUserList();
|
|
|
|
- if (zxConferenceUserList != null && zxConferenceUserList.size() > 0) {
|
|
|
|
- //获取到不参加会议的数量
|
|
|
|
- proposalCount = proposalCount + zxConferenceUserList.stream().filter(e -> "N".equals(e.getIsJoin())).count();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_conference".equals(e.getAssessmentProjectId()) && ONE.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //查询这个人是否无故缺席市政协办公室,各专委会,各界别组织召开的其他会议和学习培训活动
|
|
|
|
- List<ZxConference> collectTwo = zxConferences.stream().filter(e -> !e.getConferenceType().equals(ONE)).collect(Collectors.toList());
|
|
|
|
- if (collectTwo.size() > 0) {
|
|
|
|
- for (ZxConference conference : collectTwo) {
|
|
|
|
- List<ZxConferenceUser> zxConferenceUserList = conference.getZxConferenceUserList();
|
|
|
|
- if (zxConferenceUserList != null && zxConferenceUserList.size() > 0) {
|
|
|
|
- //获取到不参加会议的数量
|
|
|
|
- proposalCount = proposalCount + zxConferenceUserList.stream().filter(e -> "N".equals(e.getIsJoin())).count();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_conference".equals(e.getAssessmentProjectId()) && TWO.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //判断分是否扣完
|
|
|
|
- nowScore = assessmentTotal + nowScore;
|
|
|
|
- if (nowScore < 0) {
|
|
|
|
- nowScore = 0;
|
|
|
|
- }
|
|
|
|
- map.put("sqmyInfoScore", nowScore);
|
|
|
|
- }
|
|
|
|
- //计算活动分值
|
|
|
|
- if (zxActivities != null && zxActivities.size() > 0) {
|
|
|
|
- //定义当前分数
|
|
|
|
- nowScore = 0L;
|
|
|
|
- //先去查询是否有学习培训活动未参加
|
|
|
|
- List<ZxActivity> collect = zxActivities.stream().filter(e -> e.getActivityType().equals(ONE)).collect(Collectors.toList());
|
|
|
|
- if (collect.size() > 0) {
|
|
|
|
- for (ZxActivity activity : collect) {
|
|
|
|
- List<ZxActivityUser> zxActivityUserList = activity.getZxActivityUserList();
|
|
|
|
- if (zxActivityUserList != null && zxActivityUserList.size() > 0) {
|
|
|
|
- //获取到不参加会议的数量
|
|
|
|
- proposalCount = proposalCount + zxActivityUserList.stream().filter(e -> "N".equals(e.getIsJoin())).count();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- //获取对应类型的分值
|
|
|
|
- assessmentScore = zxAssessments.stream().filter(e -> "assessment_conference".equals(e.getAssessmentProjectId()) && TWO.equals(e.getAssessmentTypeId())).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentScore();
|
|
|
|
- //计算当前分数
|
|
|
|
- nowScore = nowScore + proposalCount * assessmentScore;
|
|
|
|
- }
|
|
|
|
- Object sqmyInfoScore = map.get("sqmyInfoScore");
|
|
|
|
- if (Integer.parseInt(sqmyInfoScore.toString()) > 0) {
|
|
|
|
- //判断分是否扣完
|
|
|
|
- nowScore = assessmentTotal + nowScore;
|
|
|
|
- if (nowScore < 0) {
|
|
|
|
- nowScore = 0;
|
|
|
|
- }
|
|
|
|
- map.put("sqmyInfoScore", nowScore);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- nowScore = 0L;
|
|
|
|
- //获取分值上限
|
|
|
|
- assessmentTotal = zxAssessments.stream().filter(e -> "assessment_activity".equals(e.getAssessmentProjectId()) && 0 == e.getParentId()).collect(Collectors.toList())
|
|
|
|
- .get(0).getAssessmentTotal();
|
|
|
|
- //获取所有活动设置的子类分项
|
|
|
|
- List<ZxAssessment> collectZxAssessment = zxAssessments.stream().filter(e -> "assessment_activity".equals(e.getAssessmentProjectId()) && 0 != e.getParentId()).collect(Collectors.toList());
|
|
|
|
- if (collectZxAssessment.size() > 0) {
|
|
|
|
- for (ZxAssessment zxAssessment : collectZxAssessment) {
|
|
|
|
- //获取到的对应活动分数
|
|
|
|
- Long assessmentScore1 = zxAssessment.getAssessmentScore();
|
|
|
|
- //判断是否参加过对应活动
|
|
|
|
- String assessmentTypeId = zxAssessment.getAssessmentTypeId();
|
|
|
|
- //获取参与数量
|
|
|
|
- proposalCount = zxActivities.stream().filter(e -> e.getActivityType().equals(assessmentTypeId)).count();
|
|
|
|
- if (proposalCount > 0) {
|
|
|
|
- nowScore = nowScore + assessmentScore1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (nowScore > assessmentTotal) {
|
|
|
|
- nowScore = assessmentTotal;
|
|
|
|
- }
|
|
|
|
- map.put("activityScore", nowScore);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //计算加分
|
|
|
|
- ZxBonus zxBonus = new ZxBonus();
|
|
|
|
- zxBonus.setUserId(userId);
|
|
|
|
- List<ZxBonus> zxBonuses = zxBonusMapper.selectZxBonusList(zxBonus);
|
|
|
|
- if (zxBonuses != null && zxBonuses.size() > 0){
|
|
|
|
- long zxBonusNum = zxBonuses.stream().filter(e -> e.getScore() != null).mapToLong(BaseEntity::getScore).sum();
|
|
|
|
- map.put("zxBonusScore",zxBonusNum);
|
|
|
|
- }
|
|
|
|
- }*/
|
|
|
|
memberInfoVo.setMap(map);
|
|
memberInfoVo.setMap(map);
|
|
return memberInfoVo;
|
|
return memberInfoVo;
|
|
}
|
|
}
|