Commit edb8da33 by zhangkb

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

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