Commit edb8da33 by zhangkb

对标单元计算添加基础项报表整合操作

parent a85e51e1
......@@ -3,12 +3,15 @@ package com.keymobile.indicators.akka.actor.indicators;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.keymobile.indicators.akka.message.indicators.CurrentCompUnitExeMsg;
import com.keymobile.indicators.akka.message.indicators.StartCompareUnitCalMsg;
import com.keymobile.indicators.model.entity.indicators.CompareUnitDef;
import com.keymobile.indicators.service.report.IndicatorsReportService;
import com.keymobile.indicators.utils.SpringUtil;
import akka.actor.AbstractActor;
import akka.actor.ActorRef;
......@@ -17,18 +20,28 @@ import akka.actor.Props;
public class BeforeCompareUnitCalActor extends AbstractActor{
private Logger logger = LoggerFactory.getLogger(BeforeCompareUnitCalActor.class);
private IndicatorsReportService indReportService = SpringUtil.getBean(IndicatorsReportService.class);
private int numberOfConfirm = 0;//定义返回确认消息的子actor
private int sameExeSize = 1;//定义执行同期对标单元计算个数,通常默认只有一个
private List<CompareUnitDef> sameCompareUnitDef = new ArrayList<>();
private String code;//机构编码
@Override
public Receive createReceive() {
return receiveBuilder()
.match(StartCompareUnitCalMsg.class,beforeCompareUnitCalMsg -> {
List<CompareUnitDef> compareUnitDefs = beforeCompareUnitCalMsg.getCompareInitDefs();
code = beforeCompareUnitCalMsg.getCode();
sameCompareUnitDef.addAll(compareUnitDefs);
if(StringUtils.isNotBlank(code)) {
//同期基础项报告1报表整合
logger.info("进行date:"+compareUnitDefs.get(0).getDate()+" 的对标单元基础项报告汇总");
indReportService.dealReportOne(code, compareUnitDefs.get(0).getDate());
}
logger.info("进行date:"+compareUnitDefs.get(0).getDate()+" 的对标单元计算.....");
//计算同期对标单元
StartCompareUnitCalMsg startCompareUnitCalMsg = new StartCompareUnitCalMsg(compareUnitDefs);
......@@ -47,6 +60,11 @@ public class BeforeCompareUnitCalActor extends AbstractActor{
currentCompareUnitDef.add(unitDef);
}
if(!currentCompareUnitDef.isEmpty()) {
if(StringUtils.isNotBlank(code)) {
//本期基础项报告1报表整合
logger.info("进行date:"+currentCompareUnitDef.get(0).getDate()+" 的对标单元基础项报告汇总");
indReportService.dealReportOne(code, currentCompareUnitDef.get(0).getDate());
}
logger.info("进行date:"+currentCompareUnitDef.get(0).getDate()+" 的对标单元计算.....");
//计算同期对标单元
StartCompareUnitCalMsg startCompareUnitCalMsg = new StartCompareUnitCalMsg(currentCompareUnitDef);
......
......@@ -14,6 +14,8 @@ public class StartCompareUnitCalMsg implements Serializable{
private List<CompareUnitDef> compareInitDefs = new ArrayList<>();
private String code;//机构编码
public StartCompareUnitCalMsg(List<CompareUnitDef> compareInitDefs) {
this.compareInitDefs.addAll(compareInitDefs);
}
......@@ -25,4 +27,12 @@ public class StartCompareUnitCalMsg implements Serializable{
public void setCompareInitDefs(List<CompareUnitDef> compareInitDefs) {
this.compareInitDefs.addAll(compareInitDefs);
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
......@@ -37,14 +37,15 @@ public class DriveIndCalResultCtrl {
@ApiOperation(value = "对标单元综合计算", notes = "对标单元综合计算")
@PostMapping(value = "/compareUnitListCal")
public void compareUnitListCal(@RequestBody List<CompareUnitDef> compareUnitList) {
public void compareUnitListCal(@RequestBody List<CompareUnitDef> compareUnitList,
@RequestParam(value="code",required = false) String code) {
StringBuilder compUnitDefString = new StringBuilder("");
for(CompareUnitDef compUnitDef : compareUnitList) {
compUnitDefString.append(compUnitDef.getCompareId()).append(";");
}
LogManager.logInfo(Constants.LOG_INDICATOR_UNIT_CAL_API,"执行对标单元id:{},日期:{} 的计算",
compUnitDefString.toString(),compareUnitList.get(0).getDate());
driveIndCalResultService.compareUnitListCal(compareUnitList);
driveIndCalResultService.compareUnitListCal(compareUnitList,code);
}
@ApiOperation(value = "根据对标单元id分页获取日志详情", notes = "根据对标单元id分页获取日志详情")
......
......@@ -70,7 +70,7 @@ public class DriveIndCalResultService {
return driveIndCalResultDefMapper.findByCompareIdAndDate(compareId, date);
}
public void compareUnitListCal(List<CompareUnitDef> compareUnitList) {
public void compareUnitListCal(List<CompareUnitDef> compareUnitList,String code) {
if(!compareUnitList.isEmpty()) {
List<CompareUnitDef> sameCompareUnitList = new ArrayList<>();
//将对标单元的日期改成同期
......@@ -82,6 +82,8 @@ public class DriveIndCalResultService {
//启动回流actor
final ActorSystem system = ActorSystem.create("CompareUnitCalAkka");//创建akka
StartCompareUnitCalMsg startCompareUnitCalMsg = new StartCompareUnitCalMsg(sameCompareUnitList);
//设置编码
startCompareUnitCalMsg.setCode(code);
ActorRef beforeCompareUnitCalActor = system.actorOf(Props.create(
BeforeCompareUnitCalActor.class,()-> new BeforeCompareUnitCalActor()));
beforeCompareUnitCalActor.tell(startCompareUnitCalMsg, ActorRef.noSender());
......
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