Commit c7a7367f by zhangkb

修改对标计算逻辑以及计算单位得分逻辑

parent 79fd08f9
......@@ -96,6 +96,17 @@ public class CompareUnitCalActor extends AbstractActor{
()->new DriveIndIdCalActor(getSelf())));
driveIndIdCalActor.tell(driveIndIdCalMsg, getSelf());
}
}else {
//如果是先执行且没有平均分参考对象
if("1".equals(firstExe) && StringUtils.isBlank(averageObj)) {
//发送确认信息给父actor
FirstExeConfirmMsg confirmMsg = new FirstExeConfirmMsg(1,"");
startCompareUnitCalActor.tell(confirmMsg, ActorRef.noSender());
}else {
//发送后执行的确认消息给父actor
AfterExeConfirmMsg afterConfirmMsg = new AfterExeConfirmMsg(1,"");
startCompareUnitCalActor.tell(afterConfirmMsg, ActorRef.noSender());
}
}
})
.match(FirstExeConfirmMsg.class, firstExeConfirmMsg -> {
......
......@@ -359,30 +359,32 @@ public class ScoreRuleService {
ScoreRule scoreRule = this.getById(scoreRuleId);
List<ObjScoreCalResult> datas = new ArrayList<>();
if(scoreRule!=null) {
for(String compareObj : compareObjs) {
//判断库表是否已存在改结果数据
ObjScoreCalResult objScoreCalResult = objScoreCalResultMapper.
getObjScoreCalResultByParam(compareId, compareObj, date);
if(objScoreCalResult == null) {
objScoreCalResult = new ObjScoreCalResult();
}
//计算类型:0 计算组内所有考核指标平均数
if("0".equals(scoreRule.getCalType())) {
objScoreCalResult = this.calGroupIndAverage(objScoreCalResult, scoreRule,
indIds, compareObj, date);
}else if("1".equals(scoreRule.getCalType())) {//1 根据目录类别分类算平均分后根据权重计算考核指标
objScoreCalResult = this.calIndCatalogTypeAverage(objScoreCalResult, scoreRule,
compareObj, date);
}else {//2单个指标权重计算
objScoreCalResult = this.calSingleIndWeight(objScoreCalResult ,scoreRule,
compareObj, date);
if(!indIds.isEmpty() && !compareObjs.isEmpty()) {
for(String compareObj : compareObjs) {
//判断库表是否已存在改结果数据
ObjScoreCalResult objScoreCalResult = objScoreCalResultMapper.
getObjScoreCalResultByParam(compareId, compareObj, date);
if(objScoreCalResult == null) {
objScoreCalResult = new ObjScoreCalResult();
}
//计算类型:0 计算组内所有考核指标平均数
if("0".equals(scoreRule.getCalType())) {
objScoreCalResult = this.calGroupIndAverage(objScoreCalResult, scoreRule,
indIds, compareObj, date);
}else if("1".equals(scoreRule.getCalType())) {//1 根据目录类别分类算平均分后根据权重计算考核指标
objScoreCalResult = this.calIndCatalogTypeAverage(objScoreCalResult, scoreRule,
compareObj, date);
}else {//2单个指标权重计算
objScoreCalResult = this.calSingleIndWeight(objScoreCalResult ,scoreRule,
compareObj, date);
}
objScoreCalResult.setCompareId(compareId);
datas.add(objScoreCalResult);
}
objScoreCalResult.setCompareId(compareId);
datas.add(objScoreCalResult);
//批量新增或修改
this.batchSaveOrUpdateObjScoreCalResult(datas);
}
//批量新增或修改
this.batchSaveOrUpdateObjScoreCalResult(datas);
}else {
logger.info("单位评分卡id:"+scoreRuleId+" 不存在");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment