Browse Source

fix 修改分数计算

Administrator 1 năm trước cách đây
mục cha
commit
2840fbbed5

+ 21 - 14
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskService.java

@@ -129,17 +129,17 @@ public class TaskService extends Thread {
                 List<SqmyInfo> sqmyInfos = sqmyInfoMapper.selectSqmyInfoList(sqmyInfo);
                 //查询政协会议
                 ZxConference zxConference = new ZxConference();
-                zxConference.setUserId(SecurityUtils.getUserId());
+                zxConference.setUserId(userId);
                 zxConference.setYear(year);
                 List<ZxConference> zxConferences = zxConferenceMapper.selectZxConferenceList(zxConference);
                 //查询活动
                 ZxActivity zxActivity = new ZxActivity();
-                zxActivity.setUserId(SecurityUtils.getUserId());
+                zxActivity.setUserId(userId);
                 zxActivity.setYear(year);
                 List<ZxActivity> zxActivities = zxActivityMapper.selectZxActivityList(zxActivity);
                 //招商
                 ZxInvestment zxInvestment = new ZxInvestment();
-                zxInvestment.setUserId(SecurityUtils.getUserId());
+                zxInvestment.setUserId(userId);
                 zxInvestment.setYear(year);
                 List<ZxInvestment> zxInvestments = zxInvestmentMapper.selectZxInvestmentList(zxInvestment);
                 //计算得分 勿删
@@ -297,23 +297,26 @@ public class TaskService extends Thread {
                             }
                         }
                         //判断分是否扣完
-                        nowScore = assessmentTotal + nowScore;
+                        nowScore = assessmentTotal - nowScore;
                         if (nowScore < 0) {
                             nowScore = 0;
                         }
+                        if (nowScore > assessmentTotal) {
+                            nowScore = assessmentTotal;
+                        }
                         memberAssessmentInf.setConferenceScore(nowScore);
                     }
                     //计算活动分值
                     if (zxActivities != null && zxActivities.size() > 0) {
                         //定义当前分数
-                        nowScore = 0L;
+/*                        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()) && THR.equals(e.getApproval())).count();
                                 }
                             }
@@ -324,16 +327,16 @@ public class TaskService extends Thread {
                                 //计算当前分数
                                 nowScore = nowScore + proposalCount * assessmentScore;
                             }
-                            Object sqmyInfoScore = memberAssessmentInf.getSqmyScore();
-                            if (Integer.parseInt(sqmyInfoScore.toString()) > 0) {
+                            Long conferenceScore = memberAssessmentInf.getConferenceScore();
+                            if (conferenceScore > 0) {
                                 //判断分是否扣完
-                                nowScore = assessmentTotal + nowScore;
+                                nowScore = conferenceScore - nowScore;
                                 if (nowScore < 0) {
                                     nowScore = 0;
                                 }
-                                memberAssessmentInf.setSqmyScore(nowScore);
+                                memberAssessmentInf.setConferenceScore(nowScore);
                             }
-                        }
+                        }*/
                         nowScore = 0L;
                         //获取分值上限
                         assessmentTotal = zxAssessments.stream().filter(e -> "assessment_activity".equals(e.getAssessmentProjectId()) && 0 == e.getParentId()).collect(Collectors.toList())
@@ -347,7 +350,7 @@ public class TaskService extends Thread {
                                 //判断是否参加过对应活动
                                 String assessmentTypeId = zxAssessment.getAssessmentTypeId();
                                 //获取参与数量
-                                proposalCount = zxActivities.stream().filter(e -> e.getActivityType().equals(assessmentTypeId) && "Y".equals(e.getIsJoin())).count();
+                                proposalCount = zxActivities.stream().filter(e -> e.getActivityType().equals(assessmentTypeId)).count();
                                 if (proposalCount > 0) {
                                     if (ONE.equals(assessmentTypeId)) {
                                         memberAssessmentInf.setActivityScdyScore(assessmentScore1);
@@ -399,6 +402,7 @@ public class TaskService extends Thread {
                             nowScore = assessmentTotal;
                         }
                         memberAssessmentInf.setInvestmentScore(nowScore);
+                        memberAssessmentInf.setBonusScore(nowScore);
                     }
                     //计算加分
                     ZxBonus zxBonus = new ZxBonus();
@@ -416,7 +420,7 @@ public class TaskService extends Thread {
                     }
                 }
 
-                //总分 = 提案得分+社情民意得分+会议得分+活动得分+加分
+                //总分 = 提案得分+社情民意得分+会议得分+活动得分+加分(招商引资算加分)
                 long totalScore = memberAssessmentInf.getProposalScore() + memberAssessmentInf.getSqmyScore() + memberAssessmentInf.getConferenceScore() + memberAssessmentInf.getActivityScore() + memberAssessmentInf.getBonusScore();
                 //判断总分是否大于满分
                 if (totalScore > memberAssessmentInf.getFullScore()) {
@@ -454,7 +458,10 @@ public class TaskService extends Thread {
                         //判断是更新还是新增
                         if (memberAssessmentInfoList != null && memberAssessmentInfoList.size() > 0) {
                             //更新
-                            memberAssessmentInfoMapper.updateMemberAssessmentInfo(assessmentInfo);
+                            int i = memberAssessmentInfoMapper.updateMemberAssessmentInfo(assessmentInfo);
+                            if (i == 0){
+                                memberAssessmentInfoMapper.insertMemberAssessmentInfo(assessmentInfo);
+                            }
                         } else {
                             memberAssessmentInfoMapper.insertMemberAssessmentInfo(assessmentInfo);
                         }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZxActivityServiceImpl.java

@@ -223,6 +223,8 @@ public class ZxActivityServiceImpl implements IZxActivityService {
             List<String> userNameList = new ArrayList<>();
             for (ZxActivityUser zxActivityUser : zxActivityUserList) {
                 zxActivityUser.setActivityId(activityId);
+                zxActivityUser.setIsJoin("Y");
+                zxActivityUser.setReplyTime(DateUtils.getNowDate());
                 list.add(zxActivityUser);
 
                 String userName = zxActivityUser.getUserName();