|
|
|
@ -1,6 +1,7 @@
|
|
|
|
package com.ruoyi.kaohe.service.impl;
|
|
|
|
package com.ruoyi.kaohe.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
|
|
|
import java.math.RoundingMode;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.HashMap;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
@ -155,9 +156,8 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
BigDecimal optionC = voteEmp.getOptionC().add(oldvoteEmp.getOptionC());
|
|
|
|
BigDecimal optionC = voteEmp.getOptionC().add(oldvoteEmp.getOptionC());
|
|
|
|
BigDecimal optionD = voteEmp.getOptionD().add(oldvoteEmp.getOptionD());
|
|
|
|
BigDecimal optionD = voteEmp.getOptionD().add(oldvoteEmp.getOptionD());
|
|
|
|
voteEmp.setVoteNum(oldvoteEmp.getVoteNum().add(num));
|
|
|
|
voteEmp.setVoteNum(oldvoteEmp.getVoteNum().add(num));
|
|
|
|
BigDecimal avgScore = optionA.multiply(a).add(
|
|
|
|
BigDecimal avgScore = (optionA.multiply(a).add(optionB.multiply(b).add(optionC.multiply(c).add(optionD.multiply(d)))
|
|
|
|
optionB.multiply(b).add(optionC.multiply(c).add(optionD.multiply(d)))
|
|
|
|
)).divide(voteEmp.getVoteNum(),4, RoundingMode.HALF_UP);
|
|
|
|
).divide(voteEmp.getVoteNum());
|
|
|
|
|
|
|
|
voteEmp.setAvgScore(avgScore);//投票后计算平均分
|
|
|
|
voteEmp.setAvgScore(avgScore);//投票后计算平均分
|
|
|
|
if (oldvoteEmp.getPercentage() != null) { //计算最后得分
|
|
|
|
if (oldvoteEmp.getPercentage() != null) { //计算最后得分
|
|
|
|
voteEmp.setEndScore(avgScore.multiply(oldvoteEmp.getPercentage()));
|
|
|
|
voteEmp.setEndScore(avgScore.multiply(oldvoteEmp.getPercentage()));
|
|
|
|
@ -169,14 +169,14 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
voteEmp.setVoteScore(sumScore);
|
|
|
|
voteEmp.setVoteScore(sumScore);
|
|
|
|
//修改投票人数 平均分*占比=最后得分
|
|
|
|
//修改投票人数 平均分*占比=最后得分
|
|
|
|
voteEmp.setVoteNum(oldvoteEmp.getVoteNum().add(num));
|
|
|
|
voteEmp.setVoteNum(oldvoteEmp.getVoteNum().add(num));
|
|
|
|
voteEmp.setAvgScore(sumScore.divide(voteEmp.getVoteNum()));
|
|
|
|
voteEmp.setAvgScore(sumScore.divide(voteEmp.getVoteNum(),4, RoundingMode.HALF_UP));
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore().multiply(oldvoteEmp.getPercentage()));
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore().multiply(oldvoteEmp.getPercentage()));
|
|
|
|
} else {//单独评分 不占比 以平均分为最后得分
|
|
|
|
} else {//单独评分 不占比 以平均分为最后得分
|
|
|
|
BigDecimal sumScore = voteEmp.getScore().add(oldvoteEmp.getVoteScore());
|
|
|
|
BigDecimal sumScore = voteEmp.getScore().add(oldvoteEmp.getVoteScore());
|
|
|
|
voteEmp.setVoteNum(oldvoteEmp.getVoteNum()
|
|
|
|
voteEmp.setVoteNum(oldvoteEmp.getVoteNum()
|
|
|
|
.add(num));
|
|
|
|
.add(num));
|
|
|
|
voteEmp.setVoteScore(sumScore);
|
|
|
|
voteEmp.setVoteScore(sumScore);
|
|
|
|
voteEmp.setAvgScore(sumScore.divide(voteEmp.getVoteNum()));
|
|
|
|
voteEmp.setAvgScore(sumScore.divide(voteEmp.getVoteNum(),4, RoundingMode.HALF_UP));
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore());
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
|