parent
c1ebd242c6
commit
5f5313b248
|
|
@ -0,0 +1,331 @@
|
|||
package shjh.jhzj7.fi.fi.plugin.report;
|
||||
|
||||
import kd.bos.algo.DataSet;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.report.ReportQueryParam;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.report.plugin.AbstractReportFormPlugin;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
|
||||
import static shjh.jhzj7.fi.fi.plugin.report.StrongSharingQueryPlugin.BEI_INTELPAY;
|
||||
|
||||
|
||||
/**
|
||||
* 报表界面插件
|
||||
* 银行余额汇总报表界面插件
|
||||
*/
|
||||
public class BankBalanceSummaryFormPlugin extends AbstractReportFormPlugin implements Plugin {
|
||||
|
||||
public static final String CIM_FINSUBSCRIBE = "cim_finsubscribe";//理财申购单
|
||||
public static final String CIM_INTBILL_BATCH = "cim_intbill_batch";//理财收益批量预提
|
||||
public static final String CIM_DEPOSIT = "cim_deposit";//定期存款处理
|
||||
private static final String[] FIELDS = {"1: 运营资金", "1.1 强共享公司", "1.2 弱共享公司", "2: 理财", "3: 定期", "合计"};
|
||||
private static final Log log = LogFactory.getLog(BankBalanceSummaryFormPlugin.class);
|
||||
|
||||
@Override
|
||||
public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
|
||||
super.processRowData(gridPK, rowData, queryParam);
|
||||
//千元
|
||||
rowData.clear();
|
||||
|
||||
// 获取过滤条件 1.基准日期 2.同年比较日期 3.上年比较日期
|
||||
Date shjh_benchmarka =queryParam.getFilter().getDate("shjh_benchmarka");
|
||||
Date shjh_sameyeara =queryParam.getFilter().getDate("shjh_sameyeara");
|
||||
Date shjh_previousyear =queryParam.getFilter().getDate("shjh_previousyear");
|
||||
|
||||
// 组装默认数据
|
||||
for (int i = 0; i <= 5 ; i++) {
|
||||
DynamicObject dynamicObject = new DynamicObject(rowData.getDynamicObjectType());
|
||||
dynamicObject.set("shjh_bankbalance", FIELDS[i]);//银行余额
|
||||
rowData.add(dynamicObject);
|
||||
}
|
||||
|
||||
QFilter q1 = new QFilter("bizdate", QCP.equals, shjh_benchmarka);//交易日期(基准日期)
|
||||
QFilter q2 = new QFilter("company.shjh_isshare", QCP.equals, "1");//公司属性为强共享
|
||||
QFilter q3 = new QFilter("company.shjh_isshare", QCP.equals, "0");//公司属性为弱共享
|
||||
QFilter q4 = new QFilter("bizdate", QCP.equals, shjh_sameyeara);//交易日期(同年比较日期)
|
||||
QFilter q5 = new QFilter("bizdate", QCP.equals, shjh_previousyear);//交易日期(上年比较日期)
|
||||
// 强弱共享
|
||||
setBenchmarkamount(q1.and(q2),rowData,true,"基准日期");//设置基准日期,强共享,按账号id分组,取最大日期的余额合计
|
||||
setBenchmarkamount(q1.and(q3),rowData,false,"基准日期");//设置基准日期,弱共享,按账号id分组,取最大日期的余额合计
|
||||
setBenchmarkamount(q4.and(q2),rowData,true,"同年比较日期");//设置同年比较日期,强共享,按账号id分组,取最大日期的余额合计
|
||||
setBenchmarkamount(q4.and(q3),rowData,false,"同年比较日期");//设置同年比较日期,弱共享,按账号id分组,取最大日期的余额合计
|
||||
setBenchmarkamount(q5.and(q2),rowData,true,"上年比较日期");//设置上年比较日期,强共享,按账号id分组,取最大日期的余额合计
|
||||
setBenchmarkamount(q5.and(q3),rowData,false,"上年比较日期");//设置上年比较日期,弱共享,按账号id分组,取最大日期的余额合计
|
||||
// 理财
|
||||
setLcAmount(shjh_benchmarka,rowData,"基准日期");
|
||||
setLcAmount(shjh_sameyeara,rowData,"同年比较日期");
|
||||
setLcAmount(shjh_previousyear,rowData,"上年比较日期");
|
||||
// 定期
|
||||
setDqAmount(shjh_benchmarka,rowData,"基准日期");
|
||||
setDqAmount(shjh_sameyeara,rowData,"同年比较日期");
|
||||
setDqAmount(shjh_previousyear,rowData,"上年比较日期");
|
||||
//设置运营资金金额(首行)
|
||||
setAmount(rowData);
|
||||
//设置合计金额(尾行)
|
||||
setTotal(rowData);
|
||||
|
||||
//环比:基准日期下的余额减去同年比较日期下的余额
|
||||
for (DynamicObject rowDatum : rowData) {
|
||||
rowDatum.set("shjh_monthonmonthrate", rowDatum.getBigDecimal("shjh_benchmarkamount").subtract(rowDatum.getBigDecimal("shjh_sameyearamount")));
|
||||
}
|
||||
|
||||
//同比:基准日期下的余额减去上年比较日期下的余额
|
||||
for (DynamicObject rowDatum : rowData) {
|
||||
rowDatum.set("shjh_yearonyear", rowDatum.getBigDecimal("shjh_benchmarkamount").subtract(rowDatum.getBigDecimal("shjh_previousyearamount")));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置基准日期/同年比较日期/上年比较日期,强/弱共享,按账号id分组,取最大日期的余额合计
|
||||
* @param qFilter 过滤条件
|
||||
* @param rowData 行数据
|
||||
* @param isShare 是否为强共享
|
||||
* @param type 日期类型
|
||||
*/
|
||||
private void setBenchmarkamount(QFilter qFilter,DynamicObjectCollection rowData,Boolean isShare,String type){
|
||||
// 被动付款入账_(交易日期,余额,账号id,公司属性)
|
||||
DynamicObject[] bei_intelpay1 = BusinessDataServiceHelper.load(BEI_INTELPAY,"biztime," +
|
||||
"transbalance,accountbank,company.shjh_isshare", new QFilter[]{qFilter}, null);
|
||||
|
||||
// 按银行账户id分组
|
||||
Map<Long, List<DynamicObject>> map = new HashMap<>();
|
||||
for (DynamicObject bei_intelpay : bei_intelpay1) {
|
||||
DynamicObject accountbank = bei_intelpay.getDynamicObject("accountbank");
|
||||
//银行账户id为空
|
||||
if (null == accountbank) {
|
||||
continue;
|
||||
}
|
||||
// 避免重复 key
|
||||
boolean keyExists = false;
|
||||
for (Long existingKey : map.keySet()) {
|
||||
if (existingKey.toString().contentEquals(String.valueOf(accountbank.getLong("id")))) {
|
||||
keyExists = true;
|
||||
map.get(existingKey).add(bei_intelpay);//若map里面有
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!keyExists) {
|
||||
map.computeIfAbsent(accountbank.getLong("id"), k -> new ArrayList<>()).add(bei_intelpay);
|
||||
}
|
||||
}
|
||||
//取最大日期的集合
|
||||
Map<Long, DynamicObject> newMap = new HashMap<>();
|
||||
for (Map.Entry<Long, List<DynamicObject>> entry : map.entrySet()) {
|
||||
Long key = entry.getKey();
|
||||
List<DynamicObject> list = entry.getValue();
|
||||
DynamicObject maxDateObject = null;
|
||||
Date maxDate = null;
|
||||
for (DynamicObject dynamicObject : list) {
|
||||
Date biztime = dynamicObject.getDate("biztime");
|
||||
if (maxDate == null || biztime.after(maxDate)) {
|
||||
maxDate = biztime;
|
||||
maxDateObject = dynamicObject;
|
||||
}
|
||||
}
|
||||
if (maxDateObject != null) {
|
||||
newMap.put(key, maxDateObject);
|
||||
}
|
||||
}
|
||||
|
||||
// 求和余额 千元
|
||||
BigDecimal total = new BigDecimal("0");//合计_基准日期-余额
|
||||
for (Map.Entry<Long, DynamicObject> entry : newMap.entrySet()) {
|
||||
DynamicObject value = entry.getValue();
|
||||
if (null != value) {
|
||||
BigDecimal transbalance = value.getBigDecimal("transbalance");
|
||||
if (transbalance != null) {
|
||||
total = total.add(transbalance);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BigDecimal divisor = new BigDecimal("1000");//转换为千元
|
||||
// 进行除法运算并保留两位小数
|
||||
total = total.divide(divisor, 2, RoundingMode.HALF_UP);
|
||||
|
||||
// 根据条件设置值
|
||||
Map<String, String> fieldMap = new HashMap<>();
|
||||
fieldMap.put("基准日期", "shjh_benchmarkamount");
|
||||
fieldMap.put("同年比较日期", "shjh_sameyearamount");
|
||||
fieldMap.put("上年比较日期", "shjh_previousyearamount");
|
||||
|
||||
String field = fieldMap.get(type);
|
||||
if (field != null) {
|
||||
int index = isShare ? 1 : 2;
|
||||
DynamicObject row1 = rowData.get(index);
|
||||
row1.set(field, total);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 理财:理财申购单的本金+计提收益(只考虑起始日期<=基准等日期)
|
||||
* @param date 基准等日期
|
||||
* @param rowData 行数据
|
||||
* @param type 日期类型
|
||||
*/
|
||||
private void setLcAmount(Date date,DynamicObjectCollection rowData,String type){
|
||||
|
||||
//理财申购单的本金: 汇总理财金额 (理财申购本金)
|
||||
//计提收益:持有份额*(月末单位净值-购买时单位净值)/1000
|
||||
//理财申购单中购买份数*(<理财收益批量预提单根据理财申购单号+收益日期区间+需要生成凭证为过滤条件,若结果多个,取创建时间降序取第一个> - 理财申购单中理财金额))
|
||||
|
||||
QFilter qFilter = new QFilter("valuedate", QCP.less_equals, date); //起始日期 <= 基准日期
|
||||
|
||||
BigDecimal bjtotal = new BigDecimal("0");//理财申购单的本金
|
||||
BigDecimal jttotal = new BigDecimal("0");//计提收益
|
||||
|
||||
// 理财申购单(理财起始日,购买份数,理财金额,单据编号)
|
||||
DynamicObject[] finsubscribes = BusinessDataServiceHelper.load(CIM_FINSUBSCRIBE, "valuedate,buycopies," +
|
||||
"amount,billno", qFilter.toArray());
|
||||
for (DynamicObject finsubscribe : finsubscribes) {
|
||||
//1.本金
|
||||
BigDecimal amounts = finsubscribe.getBigDecimal("amount");
|
||||
if (amounts != null) {
|
||||
bjtotal = bjtotal.add(amounts);
|
||||
}
|
||||
|
||||
//2.计提收益
|
||||
//购买份数
|
||||
BigDecimal buycopies = finsubscribe.getBigDecimal("buycopies");
|
||||
//月末单位净值
|
||||
QFilter Q1 = new QFilter("entry.finbillno", QCP.equals, finsubscribe.getString("billno"));//理财收益批量预提单根据理财申购单号
|
||||
QFilter Q2 = new QFilter("entry.startdate", QCP.less_equals, date);//收益计算开始日 <= 基准等日期
|
||||
QFilter Q3 = new QFilter("entry.enddate", QCP.large_equals, date); //收益计算开始日 >= 基准等日期
|
||||
QFilter Q4 = new QFilter("shjh_needvoucher", QCP.equals, true); //需要生成凭证
|
||||
//理财收益批量预提单(预提收益信息分录,理财申购单号,收益计算开始日,收益计算结束日,需要生成凭证,现值)
|
||||
BigDecimal ymtotal = new BigDecimal("0");//月末单位净值
|
||||
DynamicObject[] intbillBatchs = BusinessDataServiceHelper.load(CIM_INTBILL_BATCH,
|
||||
"entry,entry.finbillno,entry.startdate,entry.enddate,shjh_needvoucher,entry.shjh_nowamount", new QFilter[]{Q1, Q2, Q3, Q4},"createtime desc");
|
||||
if (intbillBatchs.length > 0) {
|
||||
DynamicObject intbillBatch = intbillBatchs[0];
|
||||
if (null != intbillBatch) {
|
||||
DynamicObjectCollection entrys = intbillBatch.getDynamicObjectCollection("entry");
|
||||
for (DynamicObject entry : entrys) {
|
||||
BigDecimal shjh_nowamount = entry.getBigDecimal("shjh_nowamount");
|
||||
if (shjh_nowamount != null) {
|
||||
ymtotal = ymtotal.add(shjh_nowamount);
|
||||
}
|
||||
}
|
||||
}
|
||||
//购买时单位净值
|
||||
BigDecimal amount = finsubscribe.getBigDecimal("amount");
|
||||
// 计算计提收益
|
||||
jttotal = jttotal.add(buycopies.multiply(ymtotal.subtract(amount)).divide(new BigDecimal("1000"), 2, RoundingMode.HALF_UP));
|
||||
|
||||
}
|
||||
}
|
||||
// 根据条件设置值
|
||||
Map<String, String> fieldMap = new HashMap<>();
|
||||
fieldMap.put("基准日期", "shjh_benchmarkamount");
|
||||
fieldMap.put("同年比较日期", "shjh_sameyearamount");
|
||||
fieldMap.put("上年比较日期", "shjh_previousyearamount");
|
||||
|
||||
//千元
|
||||
BigDecimal total = bjtotal.add(jttotal);
|
||||
BigDecimal divisor = new BigDecimal("1000");//转换为千元
|
||||
// 进行除法运算并保留两位小数
|
||||
total = total.divide(divisor, 2, RoundingMode.HALF_UP);
|
||||
|
||||
String field = fieldMap.get(type);
|
||||
if (field != null) {
|
||||
DynamicObject row3 = rowData.get(3);//理财
|
||||
row3.set(field, total);//理财申购单的本金+计提收益
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 定期:定期存款处理单的本金+计提利息(只考虑存款起息日<=基准等日期)
|
||||
* @param date 基准等日期
|
||||
* @param rowData 行数据
|
||||
* @param type 日期类型
|
||||
*/
|
||||
private void setDqAmount(Date date,DynamicObjectCollection rowData,String type){
|
||||
|
||||
//只考虑存款起息日<=基准等日期
|
||||
QFilter qFilter = new QFilter("intdate", QCP.less_equals, date); //存款起息日 <= 基准等日期
|
||||
|
||||
BigDecimal bjtotal = new BigDecimal("0");//定期存款处理单中本金总和
|
||||
BigDecimal jttotal = new BigDecimal("0");//计提收益
|
||||
// 定期存款处理单(存款起息日,存款金额,存款利率(%))
|
||||
DynamicObject[] finsubscribes = BusinessDataServiceHelper.load(CIM_DEPOSIT, "intdate,amount,interestrate", qFilter.toArray());
|
||||
for (DynamicObject finsubscribe : finsubscribes) {
|
||||
|
||||
//1.本金: 汇总存款金额 (定期存款单本金)
|
||||
BigDecimal amounts = finsubscribe.getBigDecimal("amount");
|
||||
if (amounts != null) {
|
||||
bjtotal = bjtotal.add(amounts);
|
||||
}
|
||||
|
||||
//2.计提利息:(金额*定存利率*计提天数)/365
|
||||
BigDecimal amount = finsubscribe.getBigDecimal("amount");
|
||||
BigDecimal interestrate = finsubscribe.getBigDecimal("interestrate");
|
||||
if (amount != null && interestrate != null) {
|
||||
Date intdate = finsubscribe.getDate("intdate");
|
||||
int days = (int) ((date.getTime() - intdate.getTime()) / (24 * 60 * 60 * 1000));//计提天数
|
||||
BigDecimal interest = amount.multiply(interestrate).multiply(BigDecimal.valueOf(days))
|
||||
.divide(BigDecimal.valueOf(365), 2, RoundingMode.HALF_UP);
|
||||
jttotal = jttotal.add(interest);//汇总计提
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 根据条件设置值
|
||||
Map<String, String> fieldMap = new HashMap<>();
|
||||
fieldMap.put("基准日期", "shjh_benchmarkamount");
|
||||
fieldMap.put("同年比较日期", "shjh_sameyearamount");
|
||||
fieldMap.put("上年比较日期", "shjh_previousyearamount");
|
||||
|
||||
//千元
|
||||
BigDecimal total = bjtotal.add(jttotal);
|
||||
BigDecimal divisor = new BigDecimal("1000");//转换为千元
|
||||
// 进行除法运算并保留两位小数
|
||||
total = total.divide(divisor, 2, RoundingMode.HALF_UP);
|
||||
|
||||
String field = fieldMap.get(type);
|
||||
if (field != null) {
|
||||
DynamicObject row3 = rowData.get(4);//理财
|
||||
row3.set(field, total);//理财申购单的本金+计提收益
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 设置运营资金金额数据: 强共享 + 弱共享
|
||||
*/
|
||||
private void setAmount(DynamicObjectCollection rowData) {
|
||||
DynamicObject row0 = rowData.get(0);//运营资金
|
||||
DynamicObject row1 = rowData.get(1);//强共享
|
||||
DynamicObject row2 = rowData.get(2);//弱共享
|
||||
row0.set("shjh_benchmarkamount", row1.getBigDecimal("shjh_benchmarkamount").add(row2.getBigDecimal("shjh_benchmarkamount")));//基准日期(余额)
|
||||
row0.set("shjh_sameyearamount", row1.getBigDecimal("shjh_sameyearamount").add(row2.getBigDecimal("shjh_sameyearamount")));//同年比较日期(余额)
|
||||
row0.set("shjh_monthonmonthrate", row1.getBigDecimal("shjh_monthonmonthrate").add(row2.getBigDecimal("shjh_monthonmonthrate")));//环比
|
||||
row0.set("shjh_previousyearamount", row1.getBigDecimal("shjh_previousyearamount").add(row2.getBigDecimal("shjh_previousyearamount")));//上年比较日期(余额)
|
||||
row0.set("shjh_yearonyear", row1.getBigDecimal("shjh_yearonyear").add(row2.getBigDecimal("shjh_yearonyear")));//同比
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置合计数据:运营资金 + 理财 + 定期
|
||||
*/
|
||||
private void setTotal(DynamicObjectCollection rowData) {
|
||||
DynamicObject row5 = rowData.get(5);//合计
|
||||
DynamicObject row0 = rowData.get(0);//运营资金
|
||||
DynamicObject row3 = rowData.get(3);//2: 理财
|
||||
DynamicObject row4 = rowData.get(4);//3: 定期
|
||||
row5.set("shjh_benchmarkamount", row0.getBigDecimal("shjh_benchmarkamount").add(row3.getBigDecimal("shjh_benchmarkamount")).add(row4.getBigDecimal("shjh_benchmarkamount")));//基准日期(余额)
|
||||
row5.set("shjh_sameyearamount", row0.getBigDecimal("shjh_sameyearamount").add(row3.getBigDecimal("shjh_sameyearamount")).add(row4.getBigDecimal("shjh_sameyearamount")));//同年比较日期(余额)
|
||||
row5.set("shjh_monthonmonthrate", row0.getBigDecimal("shjh_monthonmonthrate").add(row3.getBigDecimal("shjh_monthonmonthrate")).add(row4.getBigDecimal("shjh_monthonmonthrate")));//环比
|
||||
row5.set("shjh_previousyearamount", row0.getBigDecimal("shjh_previousyearamount").add(row3.getBigDecimal("shjh_previousyearamount")).add(row4.getBigDecimal("shjh_previousyearamount")));//上年比较日期(余额)
|
||||
row5.set("shjh_yearonyear", row0.getBigDecimal("shjh_yearonyear").add(row3.getBigDecimal("shjh_yearonyear")).add(row4.getBigDecimal("shjh_yearonyear")));//同比
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package shjh.jhzj7.fi.fi.plugin.report;
|
||||
|
||||
import kd.bos.algo.DataSet;
|
||||
import kd.bos.entity.report.AbstractReportListDataPlugin;
|
||||
import kd.bos.entity.report.ReportQueryParam;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 银行余额汇总报表
|
||||
* shjh_bankbalancesummary
|
||||
*/
|
||||
public class BankBalanceSummaryQueryPlugin extends AbstractReportListDataPlugin {
|
||||
private static final Log log = LogFactory.getLog(BankBalanceSummaryQueryPlugin.class);
|
||||
@Override
|
||||
public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable {
|
||||
List<String> acctIds = new ArrayList<String>();
|
||||
acctIds.add("CNY");
|
||||
acctIds.add("HKD");
|
||||
acctIds.add("JPY");
|
||||
acctIds.add("USD");
|
||||
acctIds.add("EUR");
|
||||
acctIds.add("GBP");
|
||||
QFilter qFilter = new QFilter("number", QCP.in, acctIds);
|
||||
return QueryServiceHelper.queryDataSet(this.getClass().getName(), "bd_currency", null, qFilter.toArray(), null);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,15 +3,12 @@ package shjh.jhzj7.fi.fi.plugin.report;
|
|||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.report.ReportQueryParam;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.report.plugin.AbstractReportFormPlugin;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 报表界面插件
|
||||
|
|
@ -19,6 +16,8 @@ import java.util.concurrent.TimeUnit;
|
|||
*/
|
||||
public class StrongSharingFormPlugin extends AbstractReportFormPlugin implements Plugin {
|
||||
|
||||
private static final Log log = LogFactory.getLog(StrongSharingFormPlugin.class);
|
||||
|
||||
@Override
|
||||
public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
|
||||
super.processRowData(gridPK, rowData, queryParam);
|
||||
|
|
@ -30,9 +29,14 @@ public class StrongSharingFormPlugin extends AbstractReportFormPlugin implements
|
|||
//银行名称(shjh_bankname)包含小计 汇总 (1.基准日期-余额(shjh_amountjz) 2.同年比较日期-余额(shjh_amounttn))
|
||||
if (rowDatum.getString("shjh_bankname").contains("小计")) {
|
||||
BigDecimal amountjz = rowDatum.getBigDecimal("shjh_amountjz");
|
||||
if (null != amountjz) {
|
||||
shjh_amountjz = shjh_amountjz.add(amountjz);//基准日期-余额
|
||||
}
|
||||
BigDecimal amounttn = rowDatum.getBigDecimal("shjh_amounttn");
|
||||
if (null != amounttn) {
|
||||
shjh_amounttn = shjh_amounttn.add(amounttn);//同年比较日期-余额
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
DynamicObject dynamicObject = new DynamicObject(rowData.getDynamicObjectType());
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
package shjh.jhzj7.fi.fi.plugin.report;
|
||||
|
||||
import kd.bos.algo.DataSet;
|
||||
import kd.bos.algo.GroupbyDataSet;
|
||||
import kd.bos.cache.database.DataType;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.report.AbstractReportListDataPlugin;
|
||||
import kd.bos.entity.report.FilterInfo;
|
||||
import kd.bos.entity.report.ReportQueryParam;
|
||||
|
|
@ -11,7 +8,6 @@ import kd.bos.logging.Log;
|
|||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
|
|
@ -24,10 +20,10 @@ import java.util.Date;
|
|||
public class StrongSharingQueryPlugin extends AbstractReportListDataPlugin implements Plugin {
|
||||
|
||||
// 交易明细单据编码
|
||||
private static String BEI_INTELPAY = "bei_intelpay";
|
||||
public static final String BEI_INTELPAY = "bei_intelpay";
|
||||
//合作金融机构
|
||||
private static String BD_FINORGINFO = "bd_finorginfo";
|
||||
private static Log log = LogFactory.getLog(StrongSharingQueryPlugin.class);
|
||||
private static final String BD_FINORGINFO = "bd_finorginfo";
|
||||
private static final Log log = LogFactory.getLog(StrongSharingQueryPlugin.class);
|
||||
|
||||
@Override
|
||||
public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable {
|
||||
|
|
|
|||
Loading…
Reference in New Issue