Commit a9b75035 by zhangkb

指标计算添加后台日志信息打印

parent 5f9e352f
...@@ -5,7 +5,10 @@ import java.util.Arrays; ...@@ -5,7 +5,10 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.keymobile.indicators.akka.message.indicators.AfterExeConfirmMsg;
import com.keymobile.indicators.akka.message.indicators.CompareUnitCalMsg; import com.keymobile.indicators.akka.message.indicators.CompareUnitCalMsg;
import com.keymobile.indicators.akka.message.indicators.DriveIndIdCalMsg; import com.keymobile.indicators.akka.message.indicators.DriveIndIdCalMsg;
import com.keymobile.indicators.akka.message.indicators.FirstExeConfirmMsg; import com.keymobile.indicators.akka.message.indicators.FirstExeConfirmMsg;
...@@ -18,6 +21,7 @@ import akka.actor.ActorRef; ...@@ -18,6 +21,7 @@ import akka.actor.ActorRef;
import akka.actor.Props; import akka.actor.Props;
public class CompareUnitCalActor extends AbstractActor{ public class CompareUnitCalActor extends AbstractActor{
private Logger logger = LoggerFactory.getLogger(CompareUnitCalActor.class);
private ScoreRuleService scoreRuleServer = SpringUtil.getBean(ScoreRuleService.class); private ScoreRuleService scoreRuleServer = SpringUtil.getBean(ScoreRuleService.class);
...@@ -95,6 +99,9 @@ public class CompareUnitCalActor extends AbstractActor{ ...@@ -95,6 +99,9 @@ public class CompareUnitCalActor extends AbstractActor{
scoreRuleServer.calObjScore(compareId, indIdsList, compareObjsList, scoreRuleServer.calObjScore(compareId, indIdsList, compareObjsList,
date, objScoreRuleId); date, objScoreRuleId);
} }
//发送后执行的确认消息给父actor
AfterExeConfirmMsg afterConfirmMsg = new AfterExeConfirmMsg(1,"");
startCompareUnitCalActor.tell(afterConfirmMsg, ActorRef.noSender());
} }
} }
}) })
......
...@@ -7,6 +7,8 @@ import java.util.Map; ...@@ -7,6 +7,8 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.keymobile.indicators.akka.message.indicators.CalIndAverageAndRankMsg; import com.keymobile.indicators.akka.message.indicators.CalIndAverageAndRankMsg;
import com.keymobile.indicators.akka.message.indicators.DriveIndIdCalMsg; import com.keymobile.indicators.akka.message.indicators.DriveIndIdCalMsg;
...@@ -25,6 +27,7 @@ import akka.actor.ActorRef; ...@@ -25,6 +27,7 @@ import akka.actor.ActorRef;
import akka.actor.Props; import akka.actor.Props;
public class DriveIndIdCalActor extends AbstractActor{ public class DriveIndIdCalActor extends AbstractActor{
private Logger logger = LoggerFactory.getLogger(DriveIndIdCalActor.class);
private DriveIndCalResultService driveIndCalResultService = SpringUtil.getBean(DriveIndCalResultService.class); private DriveIndCalResultService driveIndCalResultService = SpringUtil.getBean(DriveIndCalResultService.class);
......
...@@ -125,7 +125,9 @@ public class DriveIndIdObjCalActor extends AbstractActor{ ...@@ -125,7 +125,9 @@ public class DriveIndIdObjCalActor extends AbstractActor{
env.put(baseIndValueMsg.getIndId(), Double.valueOf(indValue)); env.put(baseIndValueMsg.getIndId(), Double.valueOf(indValue));
}catch(Exception e) { }catch(Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.error(driveIndFormula+";"+env); logger.error("driveIndId:"+driveIndId+";"+
"formula:"+driveIndFormula+";"+
"errorValue:"+indValue+";"+"paramEnv:"+env);
} }
confirmList.add(baseIndValueMsg.getIsFinish()); confirmList.add(baseIndValueMsg.getIsFinish());
if (++numberOfConfirm >= indIdSize) {//子actor全部返回 if (++numberOfConfirm >= indIdSize) {//子actor全部返回
...@@ -174,7 +176,8 @@ public class DriveIndIdObjCalActor extends AbstractActor{ ...@@ -174,7 +176,8 @@ public class DriveIndIdObjCalActor extends AbstractActor{
compareId,driveIndId,compareObj,date,"NaN", compareId,driveIndId,compareObj,date,"NaN",
unit,indType,scoreCardId,averageDriveIndFormula); unit,indType,scoreCardId,averageDriveIndFormula);
driveIndIdCalActor.tell(driveIndAverageAndRankMsg,ActorRef.noSender()); driveIndIdCalActor.tell(driveIndAverageAndRankMsg,ActorRef.noSender());
logger.error("env:"+env+";formula:"+driveIndFormula); logger.error("driveIndId:"+driveIndId+";"+
"paramEnv:"+env+";formula:"+driveIndFormula);
} }
}else { }else {
//返回考核指标因为考核指标公式中的数据项不存在而导致的计算错误标识 //返回考核指标因为考核指标公式中的数据项不存在而导致的计算错误标识
......
...@@ -3,6 +3,10 @@ package com.keymobile.indicators.akka.actor.indicators; ...@@ -3,6 +3,10 @@ package com.keymobile.indicators.akka.actor.indicators;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.keymobile.indicators.akka.message.indicators.AfterExeConfirmMsg;
import com.keymobile.indicators.akka.message.indicators.CompareUnitCalMsg; import com.keymobile.indicators.akka.message.indicators.CompareUnitCalMsg;
import com.keymobile.indicators.akka.message.indicators.FirstExeConfirmMsg; import com.keymobile.indicators.akka.message.indicators.FirstExeConfirmMsg;
import com.keymobile.indicators.akka.message.indicators.StartCompareUnitCalMsg; import com.keymobile.indicators.akka.message.indicators.StartCompareUnitCalMsg;
...@@ -13,6 +17,7 @@ import akka.actor.ActorRef; ...@@ -13,6 +17,7 @@ import akka.actor.ActorRef;
import akka.actor.Props; import akka.actor.Props;
public class StartCompareUnitCalActor extends AbstractActor{ public class StartCompareUnitCalActor extends AbstractActor{
private Logger logger = LoggerFactory.getLogger(StartCompareUnitCalActor.class);
private List<CompareUnitDef> firstExeList = new ArrayList<>();//先执行对标单元list private List<CompareUnitDef> firstExeList = new ArrayList<>();//先执行对标单元list
...@@ -22,6 +27,10 @@ public class StartCompareUnitCalActor extends AbstractActor{ ...@@ -22,6 +27,10 @@ public class StartCompareUnitCalActor extends AbstractActor{
private int firstExeUnitSize = 0;//需要先执行对标单元个数 private int firstExeUnitSize = 0;//需要先执行对标单元个数
private int numberOfAfterConfirm = 0;//定义后执行返回确认消息的子actor
private int afterExeUnitSize = 0;//后执行的对标单元个数
@Override @Override
public Receive createReceive() { public Receive createReceive() {
return receiveBuilder() return receiveBuilder()
...@@ -35,8 +44,9 @@ public class StartCompareUnitCalActor extends AbstractActor{ ...@@ -35,8 +44,9 @@ public class StartCompareUnitCalActor extends AbstractActor{
afterExeList.add(unitDef); afterExeList.add(unitDef);
} }
} }
firstExeUnitSize = firstExeList.size();
afterExeUnitSize = afterExeList.size();
if(!firstExeList.isEmpty()) { if(!firstExeList.isEmpty()) {
firstExeUnitSize = firstExeList.size();
for(CompareUnitDef unitDef : firstExeList) { for(CompareUnitDef unitDef : firstExeList) {
CompareUnitCalMsg compareUnitCalMsg = new CompareUnitCalMsg(unitDef); CompareUnitCalMsg compareUnitCalMsg = new CompareUnitCalMsg(unitDef);
ActorRef compareUnitCalActor = this.getContext() ActorRef compareUnitCalActor = this.getContext()
...@@ -53,6 +63,8 @@ public class StartCompareUnitCalActor extends AbstractActor{ ...@@ -53,6 +63,8 @@ public class StartCompareUnitCalActor extends AbstractActor{
()->new CompareUnitCalActor(getSelf()))); ()->new CompareUnitCalActor(getSelf())));
compareUnitCalActor.tell(compareUnitCalMsg, getSelf()); compareUnitCalActor.tell(compareUnitCalMsg, getSelf());
} }
}else {
logger.info("对标单元计算完成");
} }
} }
}) })
...@@ -67,9 +79,17 @@ public class StartCompareUnitCalActor extends AbstractActor{ ...@@ -67,9 +79,17 @@ public class StartCompareUnitCalActor extends AbstractActor{
()->new CompareUnitCalActor(getSelf()))); ()->new CompareUnitCalActor(getSelf())));
compareUnitCalActor.tell(compareUnitCalMsg, getSelf()); compareUnitCalActor.tell(compareUnitCalMsg, getSelf());
} }
logger.info("进行后执行对标单元计算....");
}else {
logger.info("对标单元计算完成");
} }
} }
}) })
.match(AfterExeConfirmMsg.class, afterExeConfirmMsg -> {
if (++numberOfAfterConfirm >= afterExeUnitSize) {//全部后执行的子actor全部返回
logger.info("对标单元计算完成");
}
})
.build(); .build();
} }
} }
package com.keymobile.indicators.akka.message.indicators;
import java.io.Serializable;
public class AfterExeConfirmMsg implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
//是否完成标识:1.完成 0.未完成
private Integer isFinish;
//日志报告
private String confirmMessage;
public AfterExeConfirmMsg(Integer isFinish,String confirmMessage) {
this.isFinish = isFinish;
this.confirmMessage = confirmMessage;
}
public Integer getIsFinish() {
return isFinish;
}
public void setIsFinish(Integer isFinish) {
this.isFinish = isFinish;
}
public String getConfirmMessage() {
return confirmMessage;
}
public void setConfirmMessage(String confirmMessage) {
this.confirmMessage = confirmMessage;
}
}
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