Commit daea8d23 by hzc

修改指标运算日志

parent 804f7b2d
......@@ -6,6 +6,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.indicators.CompareUnitCalLog;
import com.keymobile.indicators.service.hytobacco.CompareUnitCalLogService;
import com.keymobile.indicators.utils.LogManager;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -25,6 +29,8 @@ public class BeforeCompareUnitCalActor extends AbstractActor{
private IndicatorsReportService indicatorsReportService = SpringUtil.getBean(IndicatorsReportService.class);
private CompareUnitCalLogService compareUnitCalLogService = SpringUtil.getBean(CompareUnitCalLogService.class);
private int numberOfConfirm = 0;//定义返回确认消息的子actor
private int sameExeSize = 1;//定义执行同期对标单元计算个数,通常默认只有一个
......@@ -40,7 +46,9 @@ public class BeforeCompareUnitCalActor extends AbstractActor{
private String code = null;
private String isTest = null;//试运行,0:试运行 1:正式运行
private Integer compCalLogId=null;
@Override
public Receive createReceive() {
return receiveBuilder()
......@@ -50,9 +58,9 @@ public class BeforeCompareUnitCalActor extends AbstractActor{
sameDate = compareUnitDefs.get(0).getDate();
code = beforeCompareUnitCalMsg.getCode();
isTest = beforeCompareUnitCalMsg.getIsTest();
compCalLogId = beforeCompareUnitCalMsg.getCompCalLogId();
if("0".equals(isTest)) {
logger.info("进行date:"+sameDate+" 的对标单元试运行计算.....");
logger.info("进行date:"+sameDate+" 的对标单元试运行计算.....日志id:"+compCalLogId);
}else {
logger.info("进行date:"+sameDate+" 的对标单元计算.....");
}
......@@ -62,6 +70,9 @@ public class BeforeCompareUnitCalActor extends AbstractActor{
beforeCompareUnitCalMsg.getIsTest());
//加入点击运算的用户
startCompareUnitCalMsg.setUser(beforeCompareUnitCalMsg.getUser());
startCompareUnitCalMsg.setCompCalLogId(compCalLogId);
ActorRef startCompareUnitCalActor = this.getContext().actorOf(Props.create(
StartCompareUnitCalActor.class,()-> new StartCompareUnitCalActor(getSelf())));
startCompareUnitCalActor.tell(startCompareUnitCalMsg, getSelf());
......@@ -137,9 +148,23 @@ public class BeforeCompareUnitCalActor extends AbstractActor{
unitDef.getDate(),code);
}
}
CompareUnitCalLog compCalLog = compareUnitCalLogService.findById(compCalLogId);
if("0".equals(isTest)) {
if(compCalLog!=null) {
compCalLog.setEndTime(System.currentTimeMillis()+"");
compCalLog.setRunStatus("1");
compareUnitCalLogService.saveOrUndate(compCalLog);
}
LogManager.logInfo(Constants.LOG_INDICATOR_UNIT_CAL_API,"完成对标单元id:{},日期:{} 的试运行计算",compCalLogId,currentDate );
logger.info("本期同期对标单元试运行计算完成");
}else {
if(compCalLog!=null) {
compCalLog.setEndTime(System.currentTimeMillis()+"");
compCalLog.setRunStatus("1");
compareUnitCalLogService.saveOrUndate(compCalLog);
}
LogManager.logInfo(Constants.LOG_INDICATOR_UNIT_CAL_API,"完成对标单元id:{},日期:{} 的试运行计算",compCalLogId,currentDate );
logger.info("本期同期对标单元计算完成");
}
}
......
......@@ -49,7 +49,8 @@ public class CompareUnitCalActor extends AbstractActor{
private List<String> compareObjsList = new ArrayList<>();//考核对象list
private String code;//机构编码
private Integer compCalLogId;
private String isTest;
private final ActorRef startCompareUnitCalActor;//定义父actor
......@@ -75,16 +76,16 @@ public class CompareUnitCalActor extends AbstractActor{
code = compareUnitCalMsg.getCode();
isTest = compareUnitCalMsg.getIsTest();
//新增运行日志记录
CompareUnitCalLog compCalLog = new CompareUnitCalLog(compareId,date,
System.currentTimeMillis()+"","0");
compCalLog.setCreater(compareUnitCalMsg.getUser());
//1成功
compCalLog.setStatus(1);
compCalLog.setType(isTest);
// //新增运行日志记录
// CompareUnitCalLog compCalLog = new CompareUnitCalLog(compareId,date,
// System.currentTimeMillis()+"","0");
// compCalLog.setCreater(compareUnitCalMsg.getUser());
// //1成功
// compCalLog.setStatus(1);
// compCalLog.setType(isTest);
//保存
Integer compCalLogId = compareUnitCalLogService.saveOrUndate(compCalLog);
// Integer compCalLogId = compareUnitCalLogService.saveOrUndate(compCalLog);
compCalLogId = compareUnitCalMsg.getCompCalLogId();
//获取对标对象
String compareObjsString = compareUnitDef.getCompareObjs();
//获取对标指标
......@@ -129,11 +130,11 @@ public class CompareUnitCalActor extends AbstractActor{
}
//如果是先执行且没有平均分参考对象
if("1".equals(firstExe) && StringUtils.isBlank(averageObj)) {
if(compCalLog!=null) {
compCalLog.setEndTime(System.currentTimeMillis()+"");
compCalLog.setRunStatus("1");
compareUnitCalLogService.saveOrUndate(compCalLog);
}
// if(compCalLog!=null) {
// compCalLog.setEndTime(System.currentTimeMillis()+"");
// compCalLog.setRunStatus("1");
// compareUnitCalLogService.saveOrUndate(compCalLog);
// }
//发送确认信息给父actor
FirstExeConfirmMsg confirmMsg = new FirstExeConfirmMsg(1,"");
startCompareUnitCalActor.tell(confirmMsg, ActorRef.noSender());
......@@ -148,11 +149,11 @@ public class CompareUnitCalActor extends AbstractActor{
//}
//记录日志
if(compCalLog!=null) {
compCalLog.setEndTime(System.currentTimeMillis()+"");
compCalLog.setRunStatus("1");
compareUnitCalLogService.saveOrUndate(compCalLog);
}
// if(compCalLog!=null) {
// compCalLog.setEndTime(System.currentTimeMillis()+"");
// compCalLog.setRunStatus("1");
// compareUnitCalLogService.saveOrUndate(compCalLog);
// }
//发送后执行的确认消息给父actor
AfterExeConfirmMsg afterConfirmMsg = new AfterExeConfirmMsg(1,"");
startCompareUnitCalActor.tell(afterConfirmMsg, ActorRef.noSender());
......
......@@ -149,9 +149,10 @@ public class DriveIndIdObjCalActor extends AbstractActor{
}
if(baseIndValueMsg.getIsFinish()==0) {
//日志填充
compCalLog.setStatus(0);
if(compCalLog!=null) {
String logInfo = compCalLog.getLogInfo();
compCalLog.setStatus(0);
if(StringUtils.isNotBlank(logInfo)) {
logInfo+=baseIndValueMsg.getConfirmMessage()+"</n>";
compCalLog.setLogInfo(logInfo);
......@@ -159,7 +160,7 @@ public class DriveIndIdObjCalActor extends AbstractActor{
compCalLog.setLogInfo(baseIndValueMsg.getConfirmMessage()+"</n>");
}
}
logger.info(baseIndValueMsg.getConfirmMessage());
logger.info("日志信息::{},日志id{}",baseIndValueMsg.getConfirmMessage(),compCalLogId);
}
String indValue = baseIndValueMsg.getValue();
//如果指标值返回空值
......
......@@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.keymobile.indicators.model.entity.indicators.CompareUnitCalLog;
import com.keymobile.indicators.service.hytobacco.CompareUnitCalLogService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -28,7 +30,9 @@ public class StartCompareUnitCalActor extends AbstractActor{
private ScoreRuleService scoreRuleServer = SpringUtil.getBean(ScoreRuleService.class);
private TestScoreRuleService testScoreRuleServer = SpringUtil.getBean(TestScoreRuleService.class);
private CompareUnitCalLogService compareUnitCalLogService = SpringUtil.getBean(CompareUnitCalLogService.class);
private List<CompareUnitDef> firstExeList = new ArrayList<>();//先执行对标单元list
private List<CompareUnitDef> afterExeList = new ArrayList<>();//后执行对标单元list
......@@ -46,7 +50,7 @@ public class StartCompareUnitCalActor extends AbstractActor{
private String code = null;//机构编码
private String isTest = null;//试运行,0:试运行 1:正式运行
private Integer compCalLogId = null;
private final ActorRef beforeCompareUnitActor;//定义父actor
static public Props props(ActorRef beforeCompareUnitActor) {
......@@ -64,8 +68,11 @@ public class StartCompareUnitCalActor extends AbstractActor{
code = startCompareUnitCalMsg.getCode();
isTest = startCompareUnitCalMsg.getIsTest();
String user = startCompareUnitCalMsg.getUser();
compCalLogId = startCompareUnitCalMsg.getCompCalLogId();
List<CompareUnitDef> compareUnitDefs = startCompareUnitCalMsg.getCompareInitDefs();
//将对标单元进行分类,需要先执行的先开始进行对标计算
for(CompareUnitDef unitDef : compareUnitDefs) {
if("1".equals(unitDef.getFirstExe())) {
firstExeList.add(unitDef);
......@@ -91,6 +98,7 @@ public class StartCompareUnitCalActor extends AbstractActor{
startCompareUnitCalMsg.getIsTest());
//运算者
compareUnitCalMsg.setUser(user);
compareUnitCalMsg.setCompCalLogId(compCalLogId);
ActorRef compareUnitCalActor = this.getContext()
.actorOf(Props.create(CompareUnitCalActor.class,
......@@ -103,6 +111,7 @@ public class StartCompareUnitCalActor extends AbstractActor{
CompareUnitCalMsg compareUnitCalMsg = new CompareUnitCalMsg(unitDef,
startCompareUnitCalMsg.getCode(),
startCompareUnitCalMsg.getIsTest());
compareUnitCalMsg.setCompCalLogId(compCalLogId);
ActorRef compareUnitCalActor = this.getContext()
.actorOf(Props.create(CompareUnitCalActor.class,
()->new CompareUnitCalActor(getSelf())));
......@@ -127,6 +136,7 @@ public class StartCompareUnitCalActor extends AbstractActor{
for(CompareUnitDef unitDef : afterExeList) {
CompareUnitCalMsg compareUnitCalMsg = new CompareUnitCalMsg(unitDef,
code,isTest);
compareUnitCalMsg.setCompCalLogId(compCalLogId);
ActorRef compareUnitCalActor = this.getContext()
.actorOf(Props.create(CompareUnitCalActor.class,
()->new CompareUnitCalActor(getSelf())));
......
......@@ -18,12 +18,21 @@ public class CompareUnitCalMsg implements Serializable{
private String user;
private Integer compCalLogId;
public CompareUnitCalMsg(CompareUnitDef compareUnitDef,String code,String isTest) {
this.compareUnitDef = compareUnitDef;
this.code = code;
this.isTest = isTest;
}
public Integer getCompCalLogId() {
return compCalLogId;
}
public void setCompCalLogId(Integer compCalLogId) {
this.compCalLogId = compCalLogId;
}
public String getUser() {
return user;
}
......
......@@ -20,12 +20,33 @@ public class StartCompareUnitCalMsg implements Serializable{
private String user;
private String path;
private Integer compCalLogId;
public StartCompareUnitCalMsg(List<CompareUnitDef> compareInitDefs,String code,String isTest) {
this.compareInitDefs.addAll(compareInitDefs);
this.code = code;
this.setIsTest(isTest);
}
public Integer getCompCalLogId() {
return compCalLogId;
}
public void setCompCalLogId(Integer compCalLogId) {
this.compCalLogId = compCalLogId;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getUser() {
return user;
}
......
......@@ -47,6 +47,7 @@ public class DriveIndCalResultCtrl {
@PostMapping(value = "/compareUnitListCal")
public void compareUnitListCal(@RequestBody List<CompareUnitDef> compareUnitList,
@RequestParam(value="code",required = false) String code,
@ApiParam("运算目录id")@RequestParam(value="path") String path,
@RequestParam(value="isTest",required = false) String isTest) throws Exception{
if(StringUtils.isBlank(code)) {
throw new Exception("user org number is null");
......@@ -69,14 +70,15 @@ public class DriveIndCalResultCtrl {
LogManager.logInfo(Constants.LOG_INDICATOR_UNIT_CAL_API,"执行对标单元id:{},日期:{} 的计算",
compUnitDefString.toString(),compareUnitList.get(0).getDate());
}
driveIndCalResultService.compareUnitListCal(compareUnitList,code,isTest);
driveIndCalResultService.compareUnitListCal(compareUnitList,code,isTest,path);
}
@ApiOperation(value = "根据对标单元id分页获取日志详情", notes = "根据对标单元id分页获取日志详情")
@PostMapping(value = "/findPageByCompareId")
public Map<String,Object> findPageByCompareId(@RequestParam String compareId,@RequestParam(value = "date",required = false) Integer date,
@RequestParam(defaultValue = "0") int page,@RequestParam(defaultValue = "10") int rows){
return compUnitCalLogService.findPageByCompareId(compareId,date, page, rows);
@ApiParam(" 0试运行 1正式运行") @RequestParam Boolean isTest,
@RequestParam(defaultValue = "0") int page,@RequestParam(defaultValue = "10") int rows){
return compUnitCalLogService.findPageByCompareId(compareId,date,isTest, page, rows);
}
@ApiOperation(value = "根据对标单元id和年份获取对标指标结果", notes = "根据对标单元id和年份获取对标指标结果")
......
......@@ -79,4 +79,12 @@ public class ShortComparedLog implements Serializable {
@Column(name = "creat_time" )
private Date creatTime;
/**
* 结束时间
*/
@ApiModelProperty("结束时间")
@Column(name = "end_time" )
private Date endTime;
}
......@@ -33,11 +33,12 @@ public class CompareUnitCalLogService {
}
//分页根据对标单元id获取对应运行日志
public Map<String,Object> findPageByCompareId(String compareId,Integer date,int page,int rows){
public Map<String,Object> findPageByCompareId(String compareId,Integer date,Boolean isTest,int page,int rows){
Map<String,Object> paramMap = new HashMap<>();
Map<String,Object> resultMap = new HashMap<>();
paramMap.put("compareId", compareId);
paramMap.put("date",date);
paramMap.put("isTest",isTest);
//计算总数
int count = compareUnitCalLogMapper.countByCompareId(paramMap);
//计算start
......
......@@ -38,6 +38,8 @@ public class DriveIndCalResultService {
private ReportOneMapper reportOneMapper;
@Autowired
private ReportTwoMapper reportTwoMapper;
@Autowired
private CompareUnitCalLogService compareUnitCalLogService;
public int saveOrUpdate(DriveIndCalResultDef driveIndCalResult) {
if(driveIndCalResult.getId()==null) {
......@@ -88,7 +90,7 @@ public class DriveIndCalResultService {
}
public void compareUnitListCal(List<CompareUnitDef> compareUnitList,String code,
String isTest) throws Exception {
String isTest,String path) throws Exception {
if(!compareUnitList.isEmpty()) {
List<CompareUnitDef> sameCompareUnitList = new ArrayList<>();
List<String> compareIds = new ArrayList<>();
......@@ -107,13 +109,23 @@ public class DriveIndCalResultService {
//对标运算前先删除相关旧数据
this.deleteCompareUnitData(compareIds, currentDate, sameDate, code);
Thread.sleep(3000);
//新增运行日志记录
CompareUnitCalLog compCalLog = new CompareUnitCalLog(path,currentDate,
System.currentTimeMillis()+"","0");
compCalLog.setCreater(SystemUserUtil.getCurrentUser());
//1成功
compCalLog.setStatus(1);
compCalLog.setType(isTest);
//保存
Integer compCalLogId = compareUnitCalLogService.saveOrUndate(compCalLog);
//启动回流actor
final ActorSystem system = ActorSystem.create("CompareUnitCalAkka");//创建akka
StartCompareUnitCalMsg startCompareUnitCalMsg = new StartCompareUnitCalMsg(
sameCompareUnitList,code,isTest);
startCompareUnitCalMsg.setUser(SystemUserUtil.getCurrentUser());
startCompareUnitCalMsg.setCompCalLogId(compCalLogId);
ActorRef beforeCompareUnitCalActor = system.actorOf(Props.create(
BeforeCompareUnitCalActor.class,()-> new BeforeCompareUnitCalActor()));
......
......@@ -131,6 +131,7 @@ public class ShortboardUnitService {
}
LogManager.logInfo(Constants.LOG_INDICATOR_SHORTBOARD_UNIT_API,"短板运算id={},结束运算endTime={},产生预警数据:{}条",shortBoardWarnData.getId(),new Date(),result.size());
shortComparedLog.setEndTime(new Date());
shortComparedLog.setStatus(1);
shortComparedLog.setValue(result.size());
......@@ -146,6 +147,7 @@ public class ShortboardUnitService {
if(message.length()>2000){
message = message.substring(0,2000);
}
shortComparedLog.setEndTime(new Date());
shortComparedLog.setStatus(0);
shortComparedLog.setLoginfo(message);
shortComparedLog.setValue(0);
......
......@@ -4,7 +4,7 @@
<select id="findByCompareId" parameterType="map" resultType="com.keymobile.indicators.model.entity.indicators.CompareUnitCalLog" >
select *
from compare_unit_cal_log as cucl
where cucl.compare_id=#{compareId}
where cucl.compare_id=#{compareId} and cucl.type =#{isTest}
<if test="date !=null">
and cucl.date = #{date}
</if>
......@@ -15,7 +15,7 @@
<select id="countByCompareId" parameterType="java.lang.String" resultType="java.lang.Integer">
select count(1)
from compare_unit_cal_log as cucl
where cucl.compare_id=#{compareId}
where cucl.compare_id=#{compareId} and cucl.type =#{isTest}
<if test="date !=null">
and cucl.date = #{date}
</if>
......
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