parent
ef59d6a83c
commit
8f7312b934
|
|
@ -1,15 +1,35 @@
|
|||
package shkd.sys.sys.plugin.report;
|
||||
|
||||
import kd.bos.algo.DataSet;
|
||||
import kd.bos.bill.BillShowParameter;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.dataentity.entity.LocaleString;
|
||||
import kd.bos.db.DB;
|
||||
import kd.bos.db.DBRoute;
|
||||
import kd.bos.entity.datamodel.events.PackageDataEvent;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.entity.report.ReportColumn;
|
||||
import kd.bos.entity.report.ReportQueryParam;
|
||||
import kd.bos.form.ShowType;
|
||||
import kd.bos.form.events.HyperLinkClickEvent;
|
||||
import kd.bos.form.events.HyperLinkClickListener;
|
||||
import kd.bos.orm.ORM;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.report.ReportList;
|
||||
import kd.bos.report.ReportShowParameter;
|
||||
import kd.bos.report.filter.ReportFilter;
|
||||
import kd.bos.report.plugin.AbstractReportFormPlugin;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.EventObject;
|
||||
import java.util.List;
|
||||
|
||||
public class InterestBearingFromListPlugin extends AbstractReportFormPlugin {
|
||||
public class InterestBearingFromListPlugin extends AbstractReportFormPlugin implements HyperLinkClickListener {
|
||||
|
||||
/**
|
||||
* 值改变事件监听
|
||||
|
|
@ -25,6 +45,18 @@ public class InterestBearingFromListPlugin extends AbstractReportFormPlugin {
|
|||
this.getView().getModel().setValue("shkd_datevar", this.getModel().getValue("shkd_datevar")); //期限数
|
||||
this.getView().getModel().setValue("shkd_datetype", this.getModel().getValue("shkd_datetype")); //期限类型
|
||||
this.getView().getModel().setValue("shkd_datasel", e.getChangeSet()[0].getNewValue()); //数据查询维度
|
||||
this.getView().getModel().setValue("shkd_startintdatecase", this.getModel().getValue("shkd_startintdatecase")); //借款时间开始
|
||||
this.getView().getModel().setValue("shkd_startintdateend", this.getModel().getValue("shkd_startintdateend")); //借款时间结束
|
||||
this.getView().getModel().setValue("shkd_expiredatecase", this.getModel().getValue("shkd_expiredatecase")); //到期时间开始
|
||||
this.getView().getModel().setValue("shkd_expiredateend", this.getModel().getValue("shkd_expiredateend")); //到期时间结束
|
||||
if(e.getChangeSet()[0].getNewValue().equals("datagp8")){
|
||||
//数据汇总 不显示其他日期 只显示日期字段
|
||||
this.getView().setVisible(true,"shkd_bizdate");
|
||||
this.getView().setVisible(false,"shkd_startintdatecase","shkd_startintdateend","shkd_expiredatecase","shkd_expiredateend","shkd_datetype");
|
||||
}else{
|
||||
this.getView().setVisible(false,"shkd_bizdate");
|
||||
this.getView().setVisible(true,"shkd_startintdatecase","shkd_startintdateend","shkd_expiredatecase","shkd_expiredateend","shkd_datetype");
|
||||
}
|
||||
ReportFilter filter = this.getView().getControl("reportfilterap");//调用页面的自动查询
|
||||
filter.search();
|
||||
}
|
||||
|
|
@ -44,14 +76,114 @@ public class InterestBearingFromListPlugin extends AbstractReportFormPlugin {
|
|||
Object shkd_datevar = formShowParameter.getCustomParam("shkd_datevar"); //期限数
|
||||
Object shkd_datetype = formShowParameter.getCustomParam("shkd_datetype"); //期限类型
|
||||
Object shkd_datasel = formShowParameter.getCustomParam("shkd_datasel"); //数据查询维度
|
||||
Object shkd_startintdatecase = formShowParameter.getCustomParam("shkd_startintdatecase"); //借款时间开始
|
||||
Object shkd_startintdateend = formShowParameter.getCustomParam("shkd_startintdateend"); //借款时间结束
|
||||
Object shkd_expiredatecase = formShowParameter.getCustomParam("shkd_expiredatecase"); //到期时间开始
|
||||
Object shkd_expiredateend = formShowParameter.getCustomParam("shkd_expiredateend"); //到期时间结束
|
||||
if (shkd_datasel != null) {
|
||||
this.getView().getModel().setValue("shkd_bizdate", shkd_bizdate);
|
||||
this.getView().getModel().setValue("shkd_amtunit", shkd_amtunit);
|
||||
this.getView().getModel().setValue("shkd_datevar", shkd_datevar);
|
||||
this.getView().getModel().setValue("shkd_datetype", shkd_datetype);
|
||||
this.getView().getModel().setValue("shkd_datasel", shkd_datasel);
|
||||
this.getView().getModel().setValue("shkd_startintdatecase", shkd_startintdatecase);
|
||||
this.getView().getModel().setValue("shkd_startintdateend", shkd_startintdateend);
|
||||
this.getView().getModel().setValue("shkd_expiredatecase", shkd_expiredatecase);
|
||||
this.getView().getModel().setValue("shkd_expiredateend", shkd_expiredateend);
|
||||
ReportFilter filter = this.getView().getControl("reportfilterap");//调用页面的自动查询
|
||||
filter.search();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 超链接点击事件
|
||||
* @param hyperLinkClickEvent
|
||||
*/
|
||||
@Override
|
||||
public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {
|
||||
if ("shkd_billno".equals(hyperLinkClickEvent.getFieldName())) {
|
||||
BillShowParameter billShowParameter = new BillShowParameter();
|
||||
String billNo = (String) hyperLinkClickEvent.getRowData().get("shkd_billno");//单据编码
|
||||
//打开的单据页面标识
|
||||
DataSet selIDRes = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), " SELECT fid FROM t_cfm_loanbill WHERE FBILLNO = '"+billNo+"'");//财务云
|
||||
DynamicObjectCollection loanBillCol = ORM.create().toPlainDynamicObjectCollection(selIDRes.copy());
|
||||
billShowParameter.setFormId("cfm_loanbill"); //提款处理
|
||||
// billShowParameter.setBillTypeId("cfm_loanbill"); //提款处理
|
||||
|
||||
//打开的单据标题
|
||||
billShowParameter.setCaption(new LocaleString("提款处理").toString());
|
||||
billShowParameter.setPkId(loanBillCol.get(0).getString("fid"));
|
||||
billShowParameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
|
||||
this.getView().showForm(billShowParameter);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
this.addItemClickListeners("toolbarap");
|
||||
ReportList reportlistap = this.getView().getControl("reportlistap");
|
||||
reportlistap.addHyperClickListener(this::hyperLinkClick);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
|
||||
super.processRowData(gridPK, rowData, queryParam);
|
||||
// if (rowData.size()==0){
|
||||
// return;
|
||||
// }
|
||||
Object dataSel = this.getModel().getValue("shkd_datasel"); //数据查询维度
|
||||
BigDecimal drawamountSum = BigDecimal.ZERO; //金额汇总
|
||||
BigDecimal zhrzcbSum = BigDecimal.ZERO; //综合融资成本
|
||||
BigDecimal zhrzqxSum = BigDecimal.ZERO; //综合融资期限
|
||||
if(dataSel == null || dataSel.toString().equals("data1")){
|
||||
//计算综合融资成本(sum(单行本金*单行利率//总额))和综合融资期限
|
||||
for(int i = 0;i<rowData.size();i++){
|
||||
DynamicObject infoData = rowData.get(i);
|
||||
//综合融资成本
|
||||
BigDecimal zhrzcb = infoData.getBigDecimal("zhrzcb");
|
||||
zhrzcbSum = zhrzcbSum.add(zhrzcb);
|
||||
//综合融资期限
|
||||
BigDecimal zhrzqx = infoData.getBigDecimal("zhrzqx");
|
||||
zhrzqxSum = zhrzqxSum.add(zhrzqx);
|
||||
//总金额
|
||||
BigDecimal drawamount = infoData.getBigDecimal("drawamount");
|
||||
drawamountSum = drawamountSum.add(drawamount);
|
||||
}
|
||||
}else if(!dataSel.toString().equals("datagp8") && !dataSel.toString().equals("data1")){
|
||||
//不是数据汇总 且不是数据集
|
||||
for(int i = 0;i<rowData.size();i++){
|
||||
DynamicObject infoData = rowData.get(i);
|
||||
//总金额
|
||||
BigDecimal drawamount = infoData.getBigDecimal("sumamt");
|
||||
drawamountSum = drawamountSum.add(drawamount);
|
||||
}
|
||||
}
|
||||
this.getModel().setValue("shkd_zhrzcb",zhrzcbSum);
|
||||
this.getModel().setValue("shkd_zhrzqx",zhrzqxSum);
|
||||
this.getModel().setValue("shkd_sumamt",drawamountSum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMergeColums(List<String> columns) {
|
||||
Object dataSel = this.getModel().getValue("shkd_datasel"); //数据查询维度
|
||||
if(dataSel != null && dataSel.toString().equals("datagp6")){ //融资渠道汇总合并单元格
|
||||
columns.add("gpname");
|
||||
}else if(dataSel != null && dataSel.toString().equals("datagp8")){ //数据汇总查询
|
||||
columns.add("shkd_blxmgp");
|
||||
}
|
||||
super.setMergeColums(columns);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packageData(PackageDataEvent packageDataEvent) {
|
||||
super.packageData(packageDataEvent);
|
||||
ReportColumn c = (ReportColumn)packageDataEvent.getSource();
|
||||
Object dataSel = this.getModel().getValue("shkd_datasel"); //数据查询维度
|
||||
if(dataSel == null || dataSel.toString().equals("datagp6")) { //融资渠道汇总合并单元格
|
||||
if("gpname".equals(c.getFieldKey()) && "小计".equals(packageDataEvent.getFormatValue().toString())){
|
||||
packageDataEvent.getNoMergeKey().add(c.getFieldKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import kd.tmc.gm.common.helper.GuaranteeContractHelper;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
|
@ -52,16 +53,26 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
FilterItemInfo dateVarFilter = filterInfo.getFilterItem("shkd_datevar"); //期限数
|
||||
FilterItemInfo dateTypeFiler = filterInfo.getFilterItem("shkd_datetype"); //期限类型
|
||||
FilterItemInfo dataSelFilter = filterInfo.getFilterItem("shkd_datasel"); //数据查询维度
|
||||
FilterItemInfo startDateCaseFilter = filterInfo.getFilterItem("shkd_startintdatecase"); //借款时间开始
|
||||
FilterItemInfo startDateEndFilter = filterInfo.getFilterItem("shkd_startintdateend"); //借款时间结束
|
||||
FilterItemInfo expireDateCaseFilter = filterInfo.getFilterItem("shkd_expiredatecase"); //到期时间开始
|
||||
FilterItemInfo expireDateEndFilter = filterInfo.getFilterItem("shkd_expiredateend"); //到期时间结束
|
||||
|
||||
//下拉列表值查询不同类型数据
|
||||
String amtUnit = null; //金额单位 yuan/qyuan/wyuan/bwyuan/yyuan
|
||||
String dateType = null; //期限类型 year/month/day
|
||||
String dateSel = null; //数据查询维度 数据表:data1/融资主体汇总:datagp1/报表科目汇总:datagp2/金融机构汇总:datagp3/借款期限汇总:datagp4/到期时间汇总:datagp5/融资渠道汇总:datagp6
|
||||
String dataSel = null; //数据查询维度 数据表:data1/融资主体汇总:datagp1/报表科目汇总:datagp2/金融机构汇总:datagp3/借款期限汇总:datagp4/到期时间汇总:datagp5/融资渠道汇总:datagp6
|
||||
String bizDate = null; //日期
|
||||
String dateVar = null; //期限类型
|
||||
String dateVar = null; //期限数
|
||||
String startDateCase = null; //借款时间开始
|
||||
String startDateEnd = null; //借款时间结束
|
||||
String expireDateCase = null; //到期时间开始
|
||||
String expireDateEnd = null; //到期时间结束
|
||||
// 使用过滤条件创建QFilter
|
||||
if(bizDateFilter != null && bizDateFilter.getValue() != null){
|
||||
bizDate = sdfDate.format(bizDateFilter.getValue()); //日期
|
||||
}else{
|
||||
bizDate = sdfDate.format(new Date()); //日期
|
||||
}
|
||||
if(amtUnitFilter != null && amtUnitFilter.getValue() != null){
|
||||
amtUnit = amtUnitFilter.getValue().toString(); //金额单位 yuan/qyuan/wyuan/bwyuan/yyuan
|
||||
|
|
@ -73,15 +84,214 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
dateType = dateTypeFiler.getValue().toString(); //期限类型 year/month/day
|
||||
}
|
||||
if(dataSelFilter != null && dataSelFilter.getValue() != null){
|
||||
dateSel = dataSelFilter.getValue().toString(); //数据查询维度 数据表:data1/融资主体汇总:datagp1/报表科目汇总:datagp2/金融机构汇总:datagp3/借款期限汇总:datagp4/到期时间汇总:datagp5/融资渠道汇总:datagp6
|
||||
dataSel = dataSelFilter.getValue().toString(); //数据查询维度 数据表:data1/融资主体汇总:datagp1/报表科目汇总:datagp2/金融机构汇总:datagp3/借款期限汇总:datagp4/到期时间汇总:datagp5/融资渠道汇总:datagp6
|
||||
}
|
||||
if(startDateCaseFilter != null && startDateCaseFilter.getValue() != null){
|
||||
startDateCase = sdfDate.format(startDateCaseFilter.getValue()); //借款时间开始
|
||||
}
|
||||
if(startDateEndFilter != null && startDateEndFilter.getValue() != null){
|
||||
startDateEnd = sdfDate.format(startDateEndFilter.getValue()); //借款时间结束
|
||||
}
|
||||
if(expireDateCaseFilter != null && expireDateCaseFilter.getValue() != null){
|
||||
expireDateCase = sdfDate.format(expireDateCaseFilter.getValue()); //到期时间开始
|
||||
}
|
||||
if(expireDateEndFilter != null && expireDateEndFilter.getValue() != null){
|
||||
expireDateEnd = sdfDate.format(expireDateEndFilter.getValue()); //到期时间结束
|
||||
}
|
||||
//报表查询数据返回
|
||||
DataSet selData = null;
|
||||
/**
|
||||
* 区分是数据汇总查询还是其他报表查询
|
||||
*/
|
||||
if(dataSel != null && dataSel.equals("datagp8")){
|
||||
selData = selDataRows1(amtUnit, bizDate);
|
||||
}else{
|
||||
selData = selDataRows(amtUnit, dateType, dataSel, startDateCase, startDateEnd, expireDateCase, expireDateEnd);
|
||||
}
|
||||
return selData;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param amtUnit 金额单位
|
||||
* @param bizDate 结束时间结束
|
||||
* @return
|
||||
*/
|
||||
private DataSet selDataRows1(String amtUnit, String bizDate) throws ParseException {
|
||||
DataSet selData = null; //返回的数据结果集
|
||||
//获取传入日期条件的当前季度第一天和最后一天
|
||||
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar cal=Calendar.getInstance();
|
||||
cal.setTime(df.parse(bizDate));
|
||||
cal.set(Calendar.MONTH, (((int) cal.get(Calendar.MONTH)) / 3) * 3);
|
||||
cal.set(Calendar.DAY_OF_MONTH, 1);
|
||||
String jdFirstDay = df.format(cal.getTime());
|
||||
//--------------------------------获取本季度第一天
|
||||
cal.setTime(df.parse(bizDate));
|
||||
//计算季度数:由于月份从0开始,即1月份的Calendar.MONTH值为0,所以计算季度的第三个月份只需 月份 / 3 * 3 + 2
|
||||
cal.set(Calendar.MONTH, (((int) cal.get(Calendar.MONTH)) / 3) * 3 + 2);
|
||||
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
|
||||
String jdLastDay = df.format(cal.getTime());
|
||||
//-------------------------------获取本季度的最后一天
|
||||
int year = cal.get(Calendar.YEAR); //日期所在年
|
||||
|
||||
String sql = "/*dialect*/SELECT s1.shkd_blxm shkd_blxmgp,s1.shkd_rzpzmx shkd_rzpzmx,\n";
|
||||
//计算元
|
||||
if(amtUnit == null || amtUnit.equals("yuan")){
|
||||
//元
|
||||
sql += "isnull(s2.sumamt,0) jdqianamt,isnull(s3.sumamt,0) jdaddamt,isnull(s4.sumamt,0) jdghamt,\n" +
|
||||
"isnull(s5.sumamt,0) yearaddamt,isnull(s6.sumamt,0) yearghamt,isnull(s7.sumamt,0) jdlastamt\n";
|
||||
}else if(amtUnit.equals("qyuan")){
|
||||
//千元
|
||||
sql += "isnull(s2.sumamt,0)/1000 jdqianamt,isnull(s3.sumamt,0)/1000 jdaddamt,isnull(s4.sumamt,0)/1000 jdghamt,\n" +
|
||||
"isnull(s5.sumamt,0)/1000 yearaddamt,isnull(s6.sumamt,0)/1000 yearghamt,isnull(s7.sumamt,0)/1000 jdlastamt\n";
|
||||
}else if(amtUnit.equals("wyuan")){
|
||||
//万元
|
||||
sql += "isnull(s2.sumamt,0)/10000 jdqianamt,isnull(s3.sumamt,0)/10000 jdaddamt,isnull(s4.sumamt,0)/10000 jdghamt,\n" +
|
||||
"isnull(s5.sumamt,0)/10000 yearaddamt,isnull(s6.sumamt,0)/10000 yearghamt,isnull(s7.sumamt,0)/10000 jdlastamt\n";
|
||||
}else if(amtUnit.equals("bwyuan")){
|
||||
//百万元
|
||||
sql += "isnull(s2.sumamt,0)/1000000 jdqianamt,isnull(s3.sumamt,0)/1000000 jdaddamt,isnull(s4.sumamt,0)/1000000 jdghamt,\n" +
|
||||
"isnull(s5.sumamt,0)/1000000 yearaddamt,isnull(s6.sumamt,0)/1000000 yearghamt,isnull(s7.sumamt,0)/1000000 jdlastamt\n";
|
||||
}else if(amtUnit.equals("yyuan")){
|
||||
//亿元
|
||||
sql += "isnull(s2.sumamt,0)/100000000 jdqianamt,isnull(s3.sumamt,0)/100000000 jdaddamt,isnull(s4.sumamt,0)/100000000 jdghamt,\n" +
|
||||
"isnull(s5.sumamt,0)/100000000 yearaddamt,isnull(s6.sumamt,0)/100000000 yearghamt,isnull(s7.sumamt,0)/100000000 jdlastamt\n";
|
||||
}
|
||||
sql += "FROM(\n" +
|
||||
"SELECT CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm IS NULL OR t1.fk_shkd_blxm == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '01') THEN '权益融资'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '02') THEN '债务融资'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_blxm,ISNULL(t4.fname,'无') shkd_rzpzmx\n" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
" LEFT JOIN t_cfm_financingvarieties t4 ON t1.ffinproductid = t4.fid\n" +
|
||||
" WHERE (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n" +
|
||||
" GROUP BY fk_shkd_blxm,t4.fname) s1 \n" +
|
||||
" LEFT JOIN (\n" +
|
||||
" SELECT CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm IS NULL OR t1.fk_shkd_blxm == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '01') THEN '权益融资'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '02') THEN '债务融资'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_blxm,ISNULL(t4.fname,'无') shkd_rzpzmx,sum(t1.fdrawamount) sumamt\n" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
" LEFT JOIN t_cfm_financingvarieties t4 ON t1.ffinproductid = t4.fid\n" +
|
||||
" WHERE (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n" +
|
||||
" AND to_char(t2.fstartintdate,'yyyy-MM-dd') < '"+jdFirstDay+"'\n" +
|
||||
" GROUP BY fk_shkd_blxm,t4.fname) s2 ON s1.shkd_blxm = s2.shkd_blxm AND s1.shkd_rzpzmx = s2.shkd_rzpzmx\n" +
|
||||
" LEFT JOIN (\n" +
|
||||
" SELECT CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm IS NULL OR t1.fk_shkd_blxm == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '01') THEN '权益融资'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '02') THEN '债务融资'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_blxm,ISNULL(t4.fname,'无') shkd_rzpzmx,sum(t1.fdrawamount) sumamt\n" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
" LEFT JOIN t_cfm_financingvarieties t4 ON t1.ffinproductid = t4.fid\n" +
|
||||
" WHERE (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n" +
|
||||
" AND to_char(t2.fstartintdate,'yyyy-MM-dd') >= '"+jdFirstDay+"'\n" +
|
||||
" AND to_char(t2.fstartintdate,'yyyy-MM-dd') <= '"+jdLastDay+"'\n" +
|
||||
" GROUP BY fk_shkd_blxm,t4.fname) s3 ON s1.shkd_blxm = s3.shkd_blxm AND s1.shkd_rzpzmx = s3.shkd_rzpzmx\n" +
|
||||
" LEFT JOIN (\n" +
|
||||
" SELECT CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm IS NULL OR t1.fk_shkd_blxm == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '01') THEN '权益融资'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '02') THEN '债务融资'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_blxm,ISNULL(t4.fname,'无') shkd_rzpzmx,sum(t5.frepayamount) sumamt\n" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
" LEFT JOIN t_cfm_financingvarieties t4 ON t1.ffinproductid = t4.fid\n" +
|
||||
" inner JOIN t_cfm_repaymentbill_loans t5 ON t1.fid = t5.floanbillid\n" +
|
||||
" inner JOIN t_cfm_repaymentbill t6 ON t5.fid = t6.fid\n" +
|
||||
" WHERE (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n" +
|
||||
" AND to_char(t6.fbizdate,'yyyy-MM-dd') >= '"+jdFirstDay+"'\n" +
|
||||
" AND to_char(t6.fbizdate,'yyyy-MM-dd') <= '"+jdLastDay+"'\n" +
|
||||
" GROUP BY fk_shkd_blxm,t4.fname) s4 ON s1.shkd_blxm = s4.shkd_blxm AND s1.shkd_rzpzmx = s4.shkd_rzpzmx\n" +
|
||||
" LEFT JOIN (\n" +
|
||||
" SELECT CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm IS NULL OR t1.fk_shkd_blxm == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '01') THEN '权益融资'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '02') THEN '债务融资'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_blxm,ISNULL(t4.fname,'无') shkd_rzpzmx,sum(t1.fdrawamount) sumamt\n" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
" LEFT JOIN t_cfm_financingvarieties t4 ON t1.ffinproductid = t4.fid\n" +
|
||||
" WHERE (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n" +
|
||||
" AND to_char(t2.fstartintdate,'yyyy') = '"+year+"'\n" +
|
||||
" GROUP BY fk_shkd_blxm,t4.fname) s5 ON s1.shkd_blxm = s5.shkd_blxm AND s1.shkd_rzpzmx = s5.shkd_rzpzmx\n" +
|
||||
" LEFT JOIN (\n" +
|
||||
" SELECT CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm IS NULL OR t1.fk_shkd_blxm == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '01') THEN '权益融资'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '02') THEN '债务融资'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_blxm,ISNULL(t4.fname,'无') shkd_rzpzmx,sum(t5.frepayamount) sumamt\n" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
" LEFT JOIN t_cfm_financingvarieties t4 ON t1.ffinproductid = t4.fid\n" +
|
||||
" inner JOIN t_cfm_repaymentbill_loans t5 ON t1.fid = t5.floanbillid\n" +
|
||||
" inner JOIN t_cfm_repaymentbill t6 ON t5.fid = t6.fid\n" +
|
||||
" WHERE (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n" +
|
||||
" AND to_char(t6.fbizdate,'yyyy') = '"+year+"'\n" +
|
||||
" GROUP BY fk_shkd_blxm,t4.fname) s6 ON s1.shkd_blxm = s6.shkd_blxm AND s1.shkd_rzpzmx = s6.shkd_rzpzmx\n" +
|
||||
" LEFT JOIN (\n" +
|
||||
" SELECT CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm IS NULL OR t1.fk_shkd_blxm == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '01') THEN '权益融资'\n" +
|
||||
" \tWHEN (t1.fk_shkd_blxm == '02') THEN '债务融资'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_blxm,ISNULL(t4.fname,'无') shkd_rzpzmx,sum(t1.fdrawamount) sumamt\n" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
" LEFT JOIN t_cfm_financingvarieties t4 ON t1.ffinproductid = t4.fid\n" +
|
||||
" WHERE (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n" +
|
||||
" AND to_char(t2.fstartintdate,'yyyy-MM-dd') > '"+jdLastDay+"'\n" +
|
||||
" GROUP BY fk_shkd_blxm,t4.fname) s7 ON s1.shkd_blxm = s7.shkd_blxm AND s1.shkd_rzpzmx = s7.shkd_rzpzmx\n" +
|
||||
" ORDER BY s1.shkd_blxm,s1.shkd_rzpzmx";
|
||||
DataSet dataSet = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), sql);//财务云
|
||||
// 分组后,进行合计(金额)
|
||||
DataSet sumDataSet = dataSet.groupBy(new String[]{"shkd_blxmgp"}).sum("jdqianamt").sum("jdaddamt").sum("jdghamt").sum("yearaddamt").sum("yearghamt").sum("jdlastamt").finish();
|
||||
sumDataSet = sumDataSet.select("concat(shkd_blxmgp,'-金额合计') as shkd_blxmgp, jdqianamt,jdaddamt,jdghamt,yearaddamt,yearghamt,jdlastamt");
|
||||
// 由于分组计算之后,Dataset的字段少了一个,需要通过addField加回来,为之后union做准备
|
||||
sumDataSet = sumDataSet.addField("'-'", "shkd_rzpzmx");
|
||||
// 添加高亮字段,高亮字段将在界面规则里面生效
|
||||
dataSet = dataSet.addField("1", "shkd_light");
|
||||
sumDataSet = sumDataSet.addField("2", "shkd_light");
|
||||
// union前,需要保证两个dataSet的字段序列一致,因此这里对sumDataSet对象重新排列字段序列
|
||||
sumDataSet = sumDataSet.select("shkd_blxmgp,shkd_rzpzmx,jdqianamt,jdaddamt,jdghamt,yearaddamt,yearghamt,jdlastamt,shkd_light");
|
||||
// union,此时sumDataSet会续在dataSet的底部
|
||||
dataSet = dataSet.select("shkd_blxmgp,shkd_rzpzmx,jdqianamt,jdaddamt,jdghamt,yearaddamt,yearghamt,jdlastamt,shkd_light");
|
||||
DataSet unionDataSet = dataSet.union(sumDataSet);
|
||||
// 按对应分组字段排序
|
||||
selData = unionDataSet.orderBy(new String[]{"shkd_blxmgp"});
|
||||
return selData;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param amtUnit 金额单位
|
||||
* @param dateType 日期类型
|
||||
* @param dataSel 数据类型
|
||||
* @param startDateCase 起始时间开始
|
||||
* @param startDateEnd 起始时间结束
|
||||
* @param expireDateCase 结束时间开始
|
||||
* @param expireDateEnd 结束时间结束
|
||||
* @return
|
||||
*/
|
||||
private DataSet selDataRows(String amtUnit, String dateType, String dataSel, String startDateCase, String startDateEnd, String expireDateCase, String expireDateEnd) {
|
||||
DataSet selData = null;
|
||||
//业务单元数据集
|
||||
DataSet orgDataSet = QueryServiceHelper.queryDataSet(this.getClass().getSimpleName(),"bos_org","id,number as orgnumber,name as orgname", null, null);
|
||||
// 查询提款处理和债券发行。这两PC布局属于一个单据
|
||||
String sql = " SELECT t1.FBILLNO billno,t1.fk_shkd_ejgs shkd_ejgs,t2.forgid orgid,t1.fk_shkd_zqrzh shkd_zqrzh,t2.ftextcreditor textcreditor,\n" +
|
||||
" t5.fname shkd_rzpz,\n" +
|
||||
String sql = "/*dialect*/ SELECT t1.FBILLNO shkd_billno,t1.fk_shkd_ejgs shkd_ejgs,t2.forgid orgid,t1.fk_shkd_zqrzh shkd_zqrzh,t2.ftextcreditor textcreditor,\n" +
|
||||
" t5.fname shkd_rzpzmx,ISNULL(t7.fname,'无') shkd_rzpz,\n" +
|
||||
" CASE \n" +
|
||||
" \tWHEN (t1.fk_shkd_rzqd IS NULL OR t1.fk_shkd_rzqd == ' ') THEN '无'\n" +
|
||||
" \tWHEN (t1.fk_shkd_rzqd == '01') THEN '直接融资'\n" +
|
||||
|
|
@ -110,23 +320,29 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
" \tWHEN (t1.fk_shkd_dybbkmmc == '12') THEN '租赁负债'\n" +
|
||||
" \tELSE ''\n" +
|
||||
" END shkd_dybbkmmc,\n" +
|
||||
" t2.fterm term,to_char(t2.fstartintdate,'yyyy-MM-dd') startintdate,to_char(t1.fexpiredate,'yyyy-MM-dd') expiredate,\n";
|
||||
" t2.fterm term,\n" +
|
||||
" isnull(TIMESTAMPDIFF(day,t2.fstartintdate, t1.fexpiredate),0) xcday,\n" +
|
||||
" 0.01 xcdate,\n" +
|
||||
" to_char(t2.fstartintdate,'yyyy-MM-dd') startintdate,to_char(t1.fexpiredate,'yyyy-MM-dd') expiredate,\n";
|
||||
//计算元
|
||||
if(amtUnit == null || amtUnit.equals("yuan")){
|
||||
//元
|
||||
sql +=" t1.fdrawamount drawamount,\n" ;
|
||||
sql +=" isnull(t1.fdrawamount,0) drawamount,\n" ;
|
||||
}else if(amtUnit.equals("qyuan")){
|
||||
//千元
|
||||
sql +=" t1.fdrawamount/1000 drawamount,\n" ;
|
||||
sql +=" isnull(t1.fdrawamount,0)/1000 drawamount,\n" ;
|
||||
}else if(amtUnit.equals("wyuan")){
|
||||
//万元
|
||||
sql +=" t1.fdrawamount/10000 drawamount,\n" ;
|
||||
sql +=" isnull(t1.fdrawamount,0)/10000 drawamount,\n" ;
|
||||
}else if(amtUnit.equals("bwyuan")){
|
||||
//百万元
|
||||
sql +=" t1.fdrawamount/1000000 drawamount,\n" ;
|
||||
sql +=" isnull(t1.fdrawamount,0)/1000000 drawamount,\n" ;
|
||||
}else if(amtUnit.equals("yyuan")){
|
||||
//亿元
|
||||
sql +=" t1.fdrawamount/100000000 drawamount,\n" ;
|
||||
sql +=" isnull(t1.fdrawamount,0)/100000000 drawamount,\n" ;
|
||||
}
|
||||
sql +=" 0.01 zhrzcb,\n" ;
|
||||
sql +=" 0.01 zhrzqx,\n" ;
|
||||
sql +=" REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(CASE \n" +
|
||||
" \tWHEN (t3.fguaranteeway IS NULL OR t3.fguaranteeway == ' ') AND (t4.fguarantee IS NULL OR t4.fguarantee == ' ') THEN ',无,'\n" +
|
||||
" \tWHEN t3.fguaranteeway IS NULL OR t3.fguaranteeway == ' ' THEN t4.fguarantee\n" +
|
||||
|
|
@ -144,7 +360,7 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
" \tWHEN (t6.zywname IS NULL OR t6.zywname == ' ') THEN t6.dywname \n" +
|
||||
" \tELSE t6.dywname || ',' || t6.zywname \n" +
|
||||
" END dbwname,\n" +
|
||||
" (SELECT TOP 1 s1.frayearrate FROM t_cfm_loanbill_ra_entry s1 where s1.fid = t1.fid AND s1.fraeffectdate <= SYSDATE ORDER BY s1.fraeffectdate desc) lilv," +
|
||||
" concat(isnull((SELECT TOP 1 s1.frayearrate FROM t_cfm_loanbill_ra_entry s1 where s1.fid = t1.fid AND s1.fraeffectdate <= SYSDATE ORDER BY s1.fraeffectdate desc),0),'%') lilv," +
|
||||
" t1.fdescription remark" +
|
||||
" FROM t_cfm_loanbill t1 \n" +
|
||||
" INNER JOIN t_cfm_loanbill_e t2 ON t1.fid = t2.FID \n" +
|
||||
|
|
@ -163,96 +379,227 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
" left JOIN t_gm_guaranteeuse s6 ON s1.fid = s6.fguaranteecontractid \n" +
|
||||
" WHERE (s1.fguaranteeway like '%mortgage%' OR s1.fguaranteeway like '%pledge%') \n" +
|
||||
" AND s6.fgsrcbilltype LIKE 'cfm_loanbill%'\n" +
|
||||
" AND s1.fbillno = 'SIG5020000-DBHT-202502-0002'\n" + //---------------------担保合同编码条件
|
||||
// " AND s1.fbillno = 'SIG5020000-DBHT-202502-0002'\n" + //---------------------担保合同编码条件
|
||||
" GROUP BY s6.fgsrcbillno ) t6 ON t1.fbillno = t6.srcbillno\n" +
|
||||
" WHERE 1=1\n";
|
||||
if(bizDate != null){
|
||||
sql += " and to_char(t2.fstartintdate,'yyyy-MM-dd') <= '"+bizDate+"'\n"; //起始时间小于等于选择的时间
|
||||
sql += " and to_char(t1.fexpiredate,'yyyy-MM-dd') >= '"+bizDate+"'\n"; //到期时间大于等于选择的时间
|
||||
" LEFT JOIN t_cfm_financingvarieties t7 ON t5.fparentid = t7.fid \n" +
|
||||
" WHERE 1=1 AND (t2.floantype = 'loan' OR t2.floantype = 'sl' OR t2.floantype = 'bond') \n"; //贷款类型为 普通贷款,银团贷款,债券发行
|
||||
if(startDateCase != null){
|
||||
sql += " and to_char(t2.fstartintdate,'yyyy-MM-dd') >= '"+ startDateCase +"'\n"; //起始时间大于等于选择的借款时间开始
|
||||
}
|
||||
if(dateVar != null){
|
||||
sql += " AND t2.fterm like '%"+dateVar+"%'\n"; //期限条件like
|
||||
if(startDateEnd != null){
|
||||
sql += " and to_char(t2.fstartintdate,'yyyy-MM-dd') <= '"+ startDateEnd +"'\n"; //起始时间小于等于选择的借款时间结束
|
||||
}
|
||||
sql += " and t1.fbillno in ('SIG1100000-TKCL-202510-0074','SIG1040100-JQFX-202502-0025','SIG5020000-TKCL-202502-0003')"; //---------------------提款处理单据编码条件
|
||||
if(expireDateCase != null){
|
||||
sql += " and to_char(t1.fexpiredate,'yyyy-MM-dd') >= '"+ expireDateCase +"'\n"; //到期时间大于等于选择的到期时间开始
|
||||
}
|
||||
if(expireDateEnd != null){
|
||||
sql += " and to_char(t1.fexpiredate,'yyyy-MM-dd') <= '"+ expireDateEnd +"'\n"; //到期时间小于等于选择的到期时间结束
|
||||
}
|
||||
// if(bizDate != null){
|
||||
// sql += " and to_char(t2.fstartintdate,'yyyy-MM-dd') <= '"+bizDate+"'\n"; //起始时间小于等于选择的时间
|
||||
// sql += " and to_char(t1.fexpiredate,'yyyy-MM-dd') >= '"+bizDate+"'\n"; //到期时间大于等于选择的时间
|
||||
// }
|
||||
// if(dateVar != null){
|
||||
// sql += " AND t2.fterm like '%"+dateVar+"%'\n"; //期限条件like
|
||||
// }
|
||||
// sql += " and t1.fbillno in ('SIG1100000-TKCL-202510-0074','SIG1040100-JQFX-202502-0025','SIG5020000-TKCL-202502-0003')"; //---------------------提款处理单据编码条件
|
||||
/*
|
||||
获取查询条件的总金额
|
||||
*/
|
||||
String selSumAmtSql = " /*dialect*/ SELECT sum(drawamount) sumamt FROM ("+sql+") sumAmt ";
|
||||
DataSet selSumAmtRes = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), selSumAmtSql);//财务云
|
||||
DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(selSumAmtRes.copy());
|
||||
BigDecimal sumAmt = srcCollection.get(0).getBigDecimal("sumamt");
|
||||
DynamicObjectCollection sumAmtCollection = ORM.create().toPlainDynamicObjectCollection(selSumAmtRes.copy());
|
||||
BigDecimal sumAmt = sumAmtCollection.get(0).getBigDecimal("sumamt");
|
||||
/*
|
||||
开始根据选择的不同类型的报表格式返回不同的结果集
|
||||
*/
|
||||
if(dateSel == null || dateSel.equals("data1")){
|
||||
if(dataSel == null || dataSel.equals("data1")){
|
||||
String selSql = "/*dialect*/";
|
||||
selSql += sql;
|
||||
//数据表查询
|
||||
DataSet dataRes = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), selSql);//财务云
|
||||
JoinDataSet join1 = dataRes.join(orgDataSet, JoinType.LEFT);//连接二级组织
|
||||
DataSet dataRes1 = join1.on("shkd_ejgs","id").select(new String[]{"billno","orgname shkd_ejgs","orgid","shkd_zqrzh","textcreditor","shkd_rzpz",
|
||||
"shkd_rzqd","shkd_blxm","shkd_dybbkmmc","term","startintdate","expiredate","drawamount","SubStr(guaranteeway, 2, LEN(guaranteeway)-2) guaranteeway",
|
||||
DataSet dataRes1 = join1.on("shkd_ejgs","id").select(new String[]{"shkd_billno","orgname shkd_ejgs","orgid","shkd_zqrzh","textcreditor","shkd_rzpzmx","shkd_rzpz",
|
||||
"shkd_rzqd","shkd_blxm","shkd_dybbkmmc","term","xcday","xcdate","startintdate","expiredate","drawamount","zhrzcb","zhrzqx","SubStr(guaranteeway, 1, LEN(guaranteeway)-2) guaranteeway",
|
||||
"dbwkm","dbwname","lilv","remark"}).finish();
|
||||
JoinDataSet join2 = dataRes1.join(orgDataSet, JoinType.LEFT);//连接融资主体
|
||||
selData = join2.on("orgid","id").select(new String[]{"billno","shkd_ejgs","orgname orgid","shkd_zqrzh","textcreditor","shkd_rzpz","shkd_rzqd",
|
||||
"shkd_blxm","shkd_dybbkmmc","term","startintdate","expiredate","drawamount","guaranteeway","dbwkm","dbwname","lilv","remark"}).finish();
|
||||
}else if(dateSel.equals("datagp1")){
|
||||
DataSet dataRes2 = join2.on("orgid","id").select(new String[]{"shkd_billno","shkd_ejgs","orgname orgid","shkd_zqrzh","textcreditor","shkd_rzpzmx","shkd_rzpz","shkd_rzqd",
|
||||
"shkd_blxm","shkd_dybbkmmc","term","xcday","xcdate","startintdate","expiredate","drawamount","zhrzcb","zhrzqx","guaranteeway","dbwkm","dbwname","lilv","remark"}).finish();
|
||||
//根据结果集重新计算两个日期相差的格式
|
||||
DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(dataRes2.copy());
|
||||
for(int i = 0;i<srcCollection.size();i++){
|
||||
DynamicObject infoData = srcCollection.get(i);
|
||||
//期限类型 year/month/day
|
||||
BigDecimal xcDaty = infoData.getBigDecimal("xcday");
|
||||
BigDecimal xcdate = BigDecimal.ZERO;
|
||||
if(dateType == null || dateType.equals("day")){
|
||||
//天
|
||||
xcdate = xcDaty;
|
||||
}else if(dateType.equals("month")){
|
||||
//月
|
||||
xcdate = xcDaty.divide(new BigDecimal("30"),2,RoundingMode.HALF_UP);
|
||||
}else if(dateType.equals("year")){
|
||||
//年
|
||||
xcdate = xcDaty.divide(new BigDecimal("30"),2,RoundingMode.HALF_UP).divide(new BigDecimal("12"),2,RoundingMode.HALF_UP);
|
||||
}
|
||||
infoData.set("xcdate",xcdate);
|
||||
BigDecimal amount = infoData.getBigDecimal("drawamount"); //单行金额
|
||||
String lilvs = infoData.getString("lilv").replace("%","");
|
||||
BigDecimal lilv = new BigDecimal(lilvs).divide(new BigDecimal(100));
|
||||
//综合融资成本:单行金额*单行利率除以总金额
|
||||
infoData.set("zhrzcb",amount.multiply(lilv).divide(sumAmt,6,RoundingMode.HALF_UP));
|
||||
//综合融资期限:单行金额/总金额*单行期限
|
||||
infoData.set("zhrzqx",amount.divide(sumAmt,6,RoundingMode.HALF_UP).multiply(xcdate));
|
||||
}
|
||||
if(srcCollection.size() > 0){
|
||||
selData = buildDataByObjCollection(srcCollection);
|
||||
}else{
|
||||
selData = dataRes2;
|
||||
}
|
||||
}else if(dataSel.equals("datagp1")){
|
||||
//融资主体汇总查询
|
||||
String groupSql = "/*dialect*/ SELECT orgid,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss GROUP BY orgid";
|
||||
String groupSql = "/*dialect*/ SELECT orgid,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss GROUP BY orgid";
|
||||
//数据表查询
|
||||
DataSet dataRes = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), groupSql);//财务云
|
||||
JoinDataSet join1 = dataRes.join(orgDataSet, JoinType.LEFT);//连接二级组织
|
||||
selData = join1.on("orgid","id").select(new String[]{"orgname gpname","sumamt","bili"}).finish();
|
||||
}else if(dateSel.equals("datagp2")){
|
||||
}else if(dataSel.equals("datagp2")){
|
||||
//报表科目汇总查询
|
||||
String groupSql = "/*dialect*/ SELECT shkd_dybbkmmc gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss GROUP BY shkd_dybbkmmc";
|
||||
String groupSql = "/*dialect*/ SELECT shkd_dybbkmmc gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss GROUP BY shkd_dybbkmmc";
|
||||
//数据表查询
|
||||
selData = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), groupSql);//财务云
|
||||
}else if(dateSel.equals("datagp3")){
|
||||
}else if(dataSel.equals("datagp3")){
|
||||
//金融机构汇总查询
|
||||
String groupSql = "/*dialect*/ SELECT shkd_zqrzh gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss GROUP BY shkd_zqrzh";
|
||||
String groupSql = "/*dialect*/ SELECT shkd_zqrzh gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss GROUP BY shkd_zqrzh";
|
||||
//数据表查询
|
||||
selData = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), groupSql);//财务云
|
||||
}else if(dateSel.equals("datagp4")){
|
||||
}else if(dataSel.equals("datagp4")){
|
||||
//借款期限汇总查询
|
||||
//一年及一下金额
|
||||
String termSqlAmt1 = "/*dialect*/ SELECT '1年及以下' gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(fterm,'y',1) = fterm or fterm = '1y'";
|
||||
String termSqlAmt1 = "/*dialect*/ SELECT '1年及以下' gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(term,'y',1) = term or term = '1y'";
|
||||
DataSet termAmtRs1 = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), termSqlAmt1);//财务云
|
||||
//一年至五年
|
||||
String termSqlAmt2 = "/*dialect*/ SELECT '1年(不含)至5年' gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(fterm,'y',1) <> fterm AND fterm <> '1y' AND \n" +
|
||||
" (SUBSTRING_INDEX(fterm,'y',1) >= 1 AND SUBSTRING_INDEX(fterm,'y',1) < 5) or fterm= '5y' ";
|
||||
String termSqlAmt2 = "/*dialect*/ SELECT '1年(不含)至5年' gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(term,'y',1) <> term AND term <> '1y' AND \n" +
|
||||
" (SUBSTRING_INDEX(term,'y',1) >= 1 AND SUBSTRING_INDEX(term,'y',1) < 5) or term= '5y' ";
|
||||
DataSet termAmtRs2 = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), termSqlAmt2);//财务云
|
||||
//五年至十年
|
||||
String termSqlAmt3 = "/*dialect*/ SELECT '5年(不含)至10年' gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(fterm,'y',1) <> fterm AND fterm <> '5y' AND \n" +
|
||||
" (SUBSTRING_INDEX(fterm,'y',1) >= 5 AND SUBSTRING_INDEX(fterm,'y',1) < 10) or fterm= '10y' ";
|
||||
String termSqlAmt3 = "/*dialect*/ SELECT '5年(不含)至10年' gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(term,'y',1) <> term AND term <> '5y' AND \n" +
|
||||
" (SUBSTRING_INDEX(term,'y',1) >= 5 AND SUBSTRING_INDEX(term,'y',1) < 10) or term= '10y' ";
|
||||
DataSet termAmtRs3 = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), termSqlAmt3);//财务云
|
||||
//十年至十五年
|
||||
String termSqlAmt4 = "/*dialect*/ SELECT '10年(不含)至15年' gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(fterm,'y',1) <> fterm AND fterm <> '10y' AND \n" +
|
||||
" (SUBSTRING_INDEX(fterm,'y',1) >= 10 AND SUBSTRING_INDEX(fterm,'y',1) < 15) or fterm= '15y'";
|
||||
String termSqlAmt4 = "/*dialect*/ SELECT '10年(不含)至15年' gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(term,'y',1) <> term AND term <> '10y' AND \n" +
|
||||
" (SUBSTRING_INDEX(term,'y',1) >= 10 AND SUBSTRING_INDEX(term,'y',1) < 15) or term= '15y'";
|
||||
DataSet termAmtRs4 = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), termSqlAmt4);//财务云
|
||||
//十五年至二十年
|
||||
String termSqlAmt5 = "/*dialect*/ SELECT '15年(不含)至20年' gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(fterm,'y',1) <> fterm AND fterm <> '15y' AND \n" +
|
||||
" (SUBSTRING_INDEX(fterm,'y',1) >= 15 AND SUBSTRING_INDEX(fterm,'y',1) < 20) or fterm= '20y' ";
|
||||
String termSqlAmt5 = "/*dialect*/ SELECT '15年(不含)至20年' gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(term,'y',1) <> term AND term <> '15y' AND \n" +
|
||||
" (SUBSTRING_INDEX(term,'y',1) >= 15 AND SUBSTRING_INDEX(term,'y',1) < 20) or term= '20y' ";
|
||||
DataSet termAmtRs5 = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), termSqlAmt5);//财务云
|
||||
//二十年以上
|
||||
String termSqlAmt6 = "/*dialect*/ SELECT '21年及以上' gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(fterm,'y',1) <> fterm AND fterm <> '20y' AND \n" +
|
||||
" (SUBSTRING_INDEX(fterm,'y',1) >= 20)";
|
||||
String termSqlAmt6 = "/*dialect*/ SELECT '21年及以上' gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss WHERE SUBSTRING_INDEX(term,'y',1) <> term AND term <> '20y' AND \n" +
|
||||
" (SUBSTRING_INDEX(term,'y',1) >= 20)";
|
||||
DataSet termAmtRs6 = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), termSqlAmt6);//财务云
|
||||
selData = termAmtRs1.union(termAmtRs2,termAmtRs3,termAmtRs4,termAmtRs5,termAmtRs6); //union all
|
||||
}else if(dateSel.equals("datagp5")){
|
||||
}else if(dataSel.equals("datagp5")){
|
||||
//到期时间汇总查询
|
||||
String groupSql = "/*dialect*/ SELECT to_char(expiredate,'yyyy') gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss GROUP BY to_char(expiredate,'yyyy') order by to_char(expiredate,'yyyy')";
|
||||
String groupSql = "/*dialect*/ SELECT to_char(expiredate,'yyyy') gpname,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4),'%') bili FROM ("+sql+") ss GROUP BY to_char(expiredate,'yyyy') order by to_char(expiredate,'yyyy')";
|
||||
//数据表查询
|
||||
selData = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), groupSql);//财务云
|
||||
}else if(dateSel.equals("datagp6")){
|
||||
//融资渠道汇总查询
|
||||
String groupSql = "/*dialect*/ SELECT shkd_rzqd gpname,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,2) bili FROM ("+sql+") ss GROUP BY shkd_rzqd";
|
||||
}else if(dataSel.equals("datagp6")){
|
||||
//融资渠道汇总查询 (融资渠道+融资品种明细)
|
||||
String groupSql = "/*dialect*/ SELECT shkd_rzqd gpname,shkd_rzpzmx gpname1,sum(drawamount) sumamt,ROUND((sum(drawamount)/"+sumAmt+")*100,4) bili FROM ("+sql+") ss GROUP BY shkd_rzqd,shkd_rzpzmx order by shkd_rzqd,shkd_rzpzmx";
|
||||
//数据表查询
|
||||
DataSet dataSet = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), groupSql);//财务云
|
||||
// 分组后,进行合计(金额)
|
||||
DataSet sumDataSet = dataSet.groupBy(new String[]{"gpname"}).sum("sumamt").sum("bili").finish();
|
||||
sumDataSet = sumDataSet.select("concat(gpname,'-金额合计') as gpname, sumamt,bili");
|
||||
// 由于分组计算之后,Dataset的字段少了一个,需要通过addField加回来,为之后union做准备
|
||||
sumDataSet = sumDataSet.addField("'-'", "gpname1");
|
||||
// 添加高亮字段,高亮字段将在界面规则里面生效
|
||||
dataSet = dataSet.addField("1", "shkd_light");
|
||||
sumDataSet = sumDataSet.addField("2", "shkd_light");
|
||||
// union前,需要保证两个dataSet的字段序列一致,因此这里对sumDataSet对象重新排列字段序列
|
||||
sumDataSet = sumDataSet.select("gpname,gpname1,sumamt,concat(bili,'%') bili,shkd_light");
|
||||
// union,此时sumDataSet会续在dataSet的底部
|
||||
dataSet = dataSet.select("gpname,gpname1,sumamt,concat(bili,'%') bili,shkd_light");
|
||||
DataSet unionDataSet = dataSet.union(sumDataSet);
|
||||
// 按组织名称排序,这样,底部的合计数据,就会与上面的组织名称排在一起
|
||||
selData = unionDataSet.orderBy(new String[]{"gpname"});
|
||||
}else if(dataSel.equals("datagp7")){
|
||||
//二级公司汇总查询
|
||||
String groupSql = "/*dialect*/ SELECT shkd_ejgs,sum(drawamount) sumamt,concat(ROUND((sum(drawamount)/"+sumAmt+")*100,4) ,'%') bili FROM ("+sql+") ss GROUP BY shkd_ejgs";
|
||||
//数据表查询
|
||||
selData = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), groupSql);//财务云
|
||||
DataSet dataRes = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), groupSql);//财务云
|
||||
JoinDataSet join1 = dataRes.join(orgDataSet, JoinType.LEFT);//连接二级组织
|
||||
selData = join1.on("shkd_ejgs","id").select(new String[]{"orgname gpname","sumamt","bili"}).finish();
|
||||
}
|
||||
return selData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询结果实体转换数据结果集
|
||||
* @param finalTemp
|
||||
* @return
|
||||
*/
|
||||
public DataSet buildDataByObjCollection(DynamicObjectCollection finalTemp) {
|
||||
DataSet finish = null;
|
||||
// 创建一个空的DataSet 将DynamicObjectCollection转化为DataSet
|
||||
Collection<Object[]> coll = new ArrayList<>();//报表展示数据
|
||||
// 遍历修改后的数据的所有字段
|
||||
List<String> displayFields = new ArrayList<>();//列标识
|
||||
DynamicObject object = finalTemp.get(0);
|
||||
DataEntityPropertyCollection properties = object.getDataEntityType().getProperties();
|
||||
// 获取所有列标识
|
||||
properties.forEach(property -> {
|
||||
if (!"id".equals(property.getName())) {
|
||||
displayFields.add(property.getName());
|
||||
}
|
||||
});
|
||||
logger.info("displayFields列标识:{}", displayFields);
|
||||
|
||||
for (DynamicObject dataRow : finalTemp) {
|
||||
// 将数据放入数组
|
||||
Object[] objects = new Object[displayFields.size()];
|
||||
for (int i = 0; i < displayFields.size(); i++) {
|
||||
objects[i] = dataRow.get(displayFields.get(i));
|
||||
}
|
||||
coll.add(objects);
|
||||
}
|
||||
|
||||
//构建列类型列表,为dataset构建做准备
|
||||
DataType stringType = DataType.StringType;
|
||||
DataType dateType = DataType.DateType;
|
||||
DataType bigDecimalType = DataType.BigDecimalType;
|
||||
DataType longType = DataType.LongType;
|
||||
DataType anyType = DataType.AnyType;
|
||||
|
||||
List<DataType> dataTypes = new ArrayList<>();//列类型列表
|
||||
|
||||
for (String field : displayFields) {
|
||||
// if (field.contains("date")) {
|
||||
// dataTypes.add(dateType);
|
||||
// } else if (field.contains("amount") || field.contains("gdebtbalance")) {
|
||||
// dataTypes.add(bigDecimalType);
|
||||
// } else if (field.contains("gdebtcurrency")) {
|
||||
// dataTypes.add(anyType);
|
||||
// } else if (field.equals("shkd_gdebtorg") || field.contains("gsrcbillid")) {
|
||||
// dataTypes.add(longType);
|
||||
// } else {
|
||||
dataTypes.add(stringType);
|
||||
// }
|
||||
}
|
||||
logger.info("dataTypes数据类型:{}", dataTypes);
|
||||
|
||||
RowMeta rowMeta = RowMetaFactory.createRowMeta(displayFields.toArray(new String[0]), dataTypes.toArray(new DataType[0]));
|
||||
CollectionInput inputs = new CollectionInput(rowMeta, coll);
|
||||
|
||||
try {
|
||||
finish = Algo.create(this.getClass().getName()).createDataSet(inputs);
|
||||
} catch (Exception e) {
|
||||
logger.error("数据集创建失败:{}", e.getMessage());
|
||||
}
|
||||
return finish;
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示列
|
||||
* @param columns
|
||||
|
|
@ -265,30 +612,46 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
FilterInfo filterInfo = this.getQueryParam().getFilter();
|
||||
FilterItemInfo amtUnitFilter = filterInfo.getFilterItem("shkd_amtunit"); //金额单位
|
||||
FilterItemInfo dataSelFilter = filterInfo.getFilterItem("shkd_datasel"); //数据查询维度
|
||||
FilterItemInfo dateTypeFiler = filterInfo.getFilterItem("shkd_datetype"); //期限类型
|
||||
//下拉列表值查询不同类型数据
|
||||
String amtUnit = null; //金额单位 yuan/qyuan/wyuan/bwyuan/yyuan
|
||||
String dateSel = null; //数据查询维度 数据表:data1/融资主体汇总:datagp1/报表科目汇总:datagp2/金融机构汇总:datagp3/借款期限汇总:datagp4/到期时间汇总:datagp5/融资渠道汇总:datagp6
|
||||
String dateType = null; //期限类型 year/month/day
|
||||
if(amtUnitFilter != null && amtUnitFilter.getValue() != null){
|
||||
amtUnit = amtUnitFilter.getValue().toString(); //金额单位 yuan/qyuan/wyuan/bwyuan/yyuan
|
||||
}
|
||||
if(dataSelFilter != null && dataSelFilter.getValue() != null){
|
||||
dateSel = dataSelFilter.getValue().toString(); //数据查询维度 数据表:data1/融资主体汇总:datagp1/报表科目汇总:datagp2/金融机构汇总:datagp3/借款期限汇总:datagp4/到期时间汇总:datagp5/融资渠道汇总:datagp6
|
||||
}
|
||||
if(dateTypeFiler != null && dateTypeFiler.getValue() != null){
|
||||
dateType = dateTypeFiler.getValue().toString(); //期限类型 year/month/day
|
||||
}
|
||||
/*
|
||||
开始根据选择的不同类型的报表格式区分不同的显示
|
||||
*/
|
||||
if(dateSel == null || dateSel.equals("data1")){
|
||||
//数据表查询
|
||||
columns.add(createReportColumn("billno", "text", "单据编号"));
|
||||
ReportColumn billNo = createReportColumn("shkd_billno", "text", "单据编号");
|
||||
billNo.setHyperlink(true);
|
||||
columns.add(billNo);
|
||||
columns.add(createReportColumn("shkd_ejgs", "text", "二级公司名称"));
|
||||
columns.add(createReportColumn("orgid", "text", "融资主体名称"));
|
||||
columns.add(createReportColumn("shkd_zqrzh", "text", "金融机构"));
|
||||
columns.add(createReportColumn("textcreditor", "text", "金融机构支行"));
|
||||
columns.add(createReportColumn("shkd_rzpz", "text", "融资品种"));
|
||||
columns.add(createReportColumn("shkd_rzpzmx", "text", "融资品种明细"));
|
||||
columns.add(createReportColumn("shkd_rzqd", "text", "融资渠道"));
|
||||
columns.add(createReportColumn("shkd_blxm", "text", "表列项目"));
|
||||
columns.add(createReportColumn("shkd_dybbkmmc", "text", "对应报表科目项目"));
|
||||
columns.add(createReportColumn("term", "text", "借款期限"));
|
||||
// columns.add(createReportColumn("term", "text", "借款期限"));
|
||||
//期限类型 year/month/day
|
||||
if(dateType == null || dateType.equals("day")){
|
||||
columns.add(createReportColumn("xcdate", "text", "借款期限(天)"));
|
||||
}else if(dateType.equals("month")){
|
||||
columns.add(createReportColumn("xcdate", "text", "借款期限(月)"));
|
||||
}else if(dateType.equals("year")){
|
||||
columns.add(createReportColumn("xcdate", "text", "借款期限(年)"));
|
||||
}
|
||||
columns.add(createReportColumn("startintdate", "text", "借款时间"));
|
||||
columns.add(createReportColumn("expiredate", "text", "到期时间"));
|
||||
if(amtUnit == null || amtUnit.equals("yuan")){
|
||||
|
|
@ -307,12 +670,63 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
//亿元
|
||||
columns.add(createReportColumn("drawamount", "amount", "金额(亿元)"));
|
||||
}
|
||||
columns.add(createReportColumn("zhrzcb", "text", "综合融资成本"));
|
||||
columns.add(createReportColumn("zhrzqx", "text", "综合融资期限"));
|
||||
columns.add(createReportColumn("guaranteeway", "text", "用信方式"));
|
||||
columns.add(createReportColumn("dbwkm", "text", "担保物科目"));
|
||||
columns.add(createReportColumn("dbwname", "text", "担保物名称"));
|
||||
columns.add(createReportColumn("lilv", "amount", "利率"));
|
||||
columns.add(createReportColumn("lilv", "text", "利率"));
|
||||
columns.add(createReportColumn("remark", "text", "备注"));
|
||||
}else if(dateSel.equals("datagp8")){
|
||||
//数据汇总表查询
|
||||
columns.add(createReportColumn("shkd_blxmgp", "text", "融资大类"));
|
||||
columns.add(createReportColumn("shkd_rzpzmx", "text", "融资种类"));
|
||||
if(amtUnit == null || amtUnit.equals("yuan")){
|
||||
//元
|
||||
columns.add(createReportColumn("jdqianamt", "amount", "季度初融资余额(元)"));
|
||||
columns.add(createReportColumn("jdaddamt", "amount", "本季度新增额(元)"));
|
||||
columns.add(createReportColumn("jdghamt", "amount", "本季度归还额(元)"));
|
||||
columns.add(createReportColumn("yearaddamt", "amount", "本年累计新增融资额(元)"));
|
||||
columns.add(createReportColumn("yearghamt", "amount", "本年累计归还额(元)"));
|
||||
columns.add(createReportColumn("jdlastamt", "amount", "季度末融资余额(元)"));
|
||||
}else if(amtUnit.equals("qyuan")){
|
||||
//千元
|
||||
columns.add(createReportColumn("jdqianamt", "amount", "季度初融资余额(千元)"));
|
||||
columns.add(createReportColumn("jdaddamt", "amount", "本季度新增额(千元)"));
|
||||
columns.add(createReportColumn("jdghamt", "amount", "本季度归还额(千元)"));
|
||||
columns.add(createReportColumn("yearaddamt", "amount", "本年累计新增融资额(千元)"));
|
||||
columns.add(createReportColumn("yearghamt", "amount", "本年累计归还额(千元)"));
|
||||
columns.add(createReportColumn("jdlastamt", "amount", "季度末融资余额(千元)"));
|
||||
}else if(amtUnit.equals("wyuan")){
|
||||
//万元
|
||||
columns.add(createReportColumn("jdqianamt", "amount", "季度初融资余额(万元)"));
|
||||
columns.add(createReportColumn("jdaddamt", "amount", "本季度新增额(万元)"));
|
||||
columns.add(createReportColumn("jdghamt", "amount", "本季度归还额(万元)"));
|
||||
columns.add(createReportColumn("yearaddamt", "amount", "本年累计新增融资额(万元)"));
|
||||
columns.add(createReportColumn("yearghamt", "amount", "本年累计归还额(万元)"));
|
||||
columns.add(createReportColumn("jdlastamt", "amount", "季度末融资余额(万元)"));
|
||||
}else if(amtUnit.equals("bwyuan")){
|
||||
//百万元
|
||||
columns.add(createReportColumn("jdqianamt", "amount", "季度初融资余额(百万元)"));
|
||||
columns.add(createReportColumn("jdaddamt", "amount", "本季度新增额(百万元)"));
|
||||
columns.add(createReportColumn("jdghamt", "amount", "本季度归还额(百万元)"));
|
||||
columns.add(createReportColumn("yearaddamt", "amount", "本年累计新增融资额(百万元)"));
|
||||
columns.add(createReportColumn("yearghamt", "amount", "本年累计归还额(百万元)"));
|
||||
columns.add(createReportColumn("jdlastamt", "amount", "季度末融资余额(百万元)"));
|
||||
}else if(amtUnit.equals("yyuan")){
|
||||
//亿元
|
||||
columns.add(createReportColumn("jdqianamt", "amount", "季度初融资余额(亿元)"));
|
||||
columns.add(createReportColumn("jdaddamt", "amount", "本季度新增额(亿元)"));
|
||||
columns.add(createReportColumn("jdghamt", "amount", "本季度归还额(亿元)"));
|
||||
columns.add(createReportColumn("yearaddamt", "amount", "本年累计新增融资额(亿元)"));
|
||||
columns.add(createReportColumn("yearghamt", "amount", "本年累计归还额(亿元)"));
|
||||
columns.add(createReportColumn("jdlastamt", "amount", "季度末融资余额(亿元)"));
|
||||
}
|
||||
ReportColumn light = createReportColumn("shkd_light", "text", "是否高亮");
|
||||
light.setHide(true); //隐藏是否高亮字段
|
||||
columns.add(light);
|
||||
}else {
|
||||
// columns.remove(0);
|
||||
if(dateSel.equals("datagp1")){
|
||||
//融资主体汇总查询
|
||||
columns.add(createReportColumn("gpname", "text", "融资主体"));
|
||||
|
|
@ -331,6 +745,13 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
}else if(dateSel.equals("datagp6")){
|
||||
//融资渠道汇总查询
|
||||
columns.add(createReportColumn("gpname", "text", "融资渠道"));
|
||||
columns.add(createReportColumn("gpname1", "text", "融资品种"));
|
||||
ReportColumn light = createReportColumn("shkd_light", "text", "是否高亮");
|
||||
light.setHide(true); //隐藏是否高亮字段
|
||||
columns.add(light);
|
||||
}else if(dateSel.equals("datagp7")){
|
||||
//二级公司汇总查询
|
||||
columns.add(createReportColumn("gpname", "text", "二级公司"));
|
||||
}
|
||||
//汇总金额字段
|
||||
if(amtUnit == null || amtUnit.equals("yuan")){
|
||||
|
|
@ -373,4 +794,5 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin {
|
|||
column.setCaption(new LocaleString(caption));
|
||||
return column;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue