提交人:陈绍鑫

日期:2025/4/8 11:30
内容:金融统计报表金额字段优化
This commit is contained in:
陈绍鑫 2025-04-08 11:25:36 +08:00
parent b045846d14
commit f9bb6a07ac
3 changed files with 264 additions and 45 deletions

View File

@ -1,5 +1,6 @@
package shkd.sys.sys.plugin.report;
import com.alibaba.fastjson.JSONObject;
import kd.bos.bill.BillShowParameter;
import kd.bos.bill.OperationStatus;
import kd.bos.dataentity.entity.DynamicObject;
@ -7,14 +8,12 @@ import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.entity.LocaleString;
import kd.bos.entity.datamodel.IDataModel;
import kd.bos.entity.datamodel.events.PackageDataEvent;
import kd.bos.entity.report.FilterInfo;
import kd.bos.entity.report.FilterItemInfo;
import kd.bos.entity.report.ReportColumn;
import kd.bos.entity.report.ReportQueryParam;
import kd.bos.entity.report.*;
import kd.bos.entity.report.queryds.ReportFilterField;
import kd.bos.entity.report.queryds.ReportFilterFieldConfig;
import kd.bos.filter.FilterColumn;
import kd.bos.form.ClientProperties;
import kd.bos.form.CloseCallBack;
import kd.bos.form.FormShowParameter;
import kd.bos.form.ShowType;
import kd.bos.form.control.events.BeforeItemClickEvent;
@ -22,16 +21,21 @@ import kd.bos.form.control.events.FilterContainerInitEvent;
import kd.bos.form.events.HyperLinkClickEvent;
import kd.bos.form.events.HyperLinkClickListener;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.mvc.form.FormView;
import kd.bos.mvc.report.ReportView;
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.events.CreateColumnEvent;
import kd.bos.report.events.SortAndFilterEvent;
import kd.bos.report.filter.ReportFilter;
import kd.bos.report.plugin.AbstractReportFormPlugin;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.QueryServiceHelper;
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
import kd.bos.servicehelper.org.OrgViewType;
import org.apache.commons.lang3.time.DateUtils;
import shkd.sys.sys.plugin.report.domain.FinanceVarietyEnum;
import java.text.SimpleDateFormat;
import java.util.*;
@ -40,17 +44,6 @@ public class FinanceReportFormPlugin extends AbstractReportFormPlugin implement
@Override
public void packageData(PackageDataEvent evt) {
// if ("shkd_orgnumber".equals(((ReportColumn)evt.getSource()).getFieldKey())){
// String formatValue = (String)evt.getFormatValue();
// DynamicObject selorg = QueryServiceHelper.queryOne("bos_org", "id,name,number", (new QFilter("number", QCP.equals, formatValue)).toArray());
// Long pkValue = selorg.getLong("id");
// List<Long> orgIds = new ArrayList<>(1);
// orgIds.add(pkValue);
// List<Long> allSubordinateOrgs = OrgUnitServiceHelper.getAllSubordinateOrgs(OrgViewType.OrgUnit, orgIds, false);//不包括自己
// if (allSubordinateOrgs.size()==0){
// evt.getNoLinkKey().add(((ReportColumn)evt.getSource()).getFieldKey());
// }
// }
if ("shkd_org".equals(((ReportColumn)evt.getSource()).getFieldKey())){
String formatValue = (String)evt.getFormatValue();
DynamicObject selorg = QueryServiceHelper.queryOne("bos_org", "id,name,number", (new QFilter("name", QCP.equals, formatValue)).toArray());
@ -106,13 +99,16 @@ public class FinanceReportFormPlugin extends AbstractReportFormPlugin implement
this.getModel().setValue("shkd_selorg",single);
filter.search();
} else if ("shkd_org".equals(hyperLinkClickEvent.getFieldName())) {
ReportFilter filter =this.getView().getControl("reportfilterap");
String name = (String) hyperLinkClickEvent.getRowData().get("shkd_org");//公司名称
DynamicObject selorg = QueryServiceHelper.queryOne("bos_org", "id,name,number", (new QFilter("name", QCP.equals, name)).toArray());
Long pkValue = selorg.getLong("id");
DynamicObject single = BusinessDataServiceHelper.loadSingle(pkValue, "bos_org");
this.getModel().setValue("shkd_selorg",single);
filter.search();
ReportShowParameter parameter = new ReportShowParameter();
parameter.setCustomParam("shkd_selorg",single.getLong("id"));
parameter.setCustomParam("shkd_seldate",this.getModel().getValue("shkd_seldate"));
parameter.setFormId("shkd_financereport");
parameter.getOpenStyle().setShowType(ShowType.MainNewTabPage);
this.getView().showForm(parameter);
}
}
@ -121,4 +117,207 @@ public class FinanceReportFormPlugin extends AbstractReportFormPlugin implement
protected void filterContainerInit(FilterContainerInitEvent contInitEvent, ReportQueryParam queryParam) {
super.filterContainerInit(contInitEvent, queryParam);
}
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
ReportShowParameter formShowParameter = (ReportShowParameter) this.getView().getFormShowParameter();
Object shkd_selorg = formShowParameter.getCustomParam("shkd_selorg");
Object shkd_seldate = formShowParameter.getCustomParam("shkd_seldate");
if (shkd_selorg != null) {
this.getModel().setValue("shkd_selorg", shkd_selorg);
this.getModel().setValue("shkd_seldate", shkd_seldate);
ReportFilter filter = this.getView().getControl("reportfilterap");//调用页面的自动查询
filter.search();
}
}
@Override
public void afterCreateColumn(CreateColumnEvent event) {
super.afterCreateColumn(event);
ReportQueryParam queryParam = event.getQueryParam();
FilterInfo filter = queryParam.getFilter();
String shkd_money = filter.getString("shkd_selmoney");
List<AbstractReportColumn> columns = event.getColumns();
getColumns( columns,shkd_money);
}
public List getColumns(List columns,String shkd_money) {
//集团外债务融资
List<AbstractReportColumn> jtwzwrz = ((ReportColumnGroup) columns.get(3)).getChildren();
for (AbstractReportColumn child : jtwzwrz) {
ReportColumnGroup reportColumnGroup= null;
try {
reportColumnGroup = (ReportColumnGroup) child;
} catch (Exception e) {
String localeValue_zh_cn = child.getCaption().getLocaleValue_zh_CN();
if (localeValue_zh_cn.contains("金额")){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
child.setCaption(l);
}
continue;
}
List<AbstractReportColumn> children = reportColumnGroup.getChildren();
for (AbstractReportColumn abstractReportColumn : children) {
String localeValue_zh_cn = abstractReportColumn.getCaption().getLocaleValue_zh_CN();
if ("金额".contains(localeValue_zh_cn)){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
abstractReportColumn.setCaption(l);
}
}
}
//集团内债务融资
List<AbstractReportColumn> jtnzwrz = ((ReportColumnGroup) columns.get(4)).getChildren();
for (AbstractReportColumn child : jtnzwrz) {
ReportColumnGroup reportColumnGroup= null;
try {
reportColumnGroup = (ReportColumnGroup) child;
} catch (Exception e) {
String localeValue_zh_cn = child.getCaption().getLocaleValue_zh_CN();
if (localeValue_zh_cn.contains("金额")){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
child.setCaption(l);
}
continue;
}
List<AbstractReportColumn> children = reportColumnGroup.getChildren();
for (AbstractReportColumn abstractReportColumn : children) {
String localeValue_zh_cn = abstractReportColumn.getCaption().getLocaleValue_zh_CN();
if ("金额".contains(localeValue_zh_cn)){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
abstractReportColumn.setCaption(l);
}
}
}
//债务融资
List<AbstractReportColumn> zwrz = ((ReportColumnGroup) columns.get(5)).getChildren();
for (AbstractReportColumn child : zwrz) {
ReportColumnGroup reportColumnGroup= null;
try {
reportColumnGroup = (ReportColumnGroup) child;
} catch (Exception e) {
String localeValue_zh_cn = child.getCaption().getLocaleValue_zh_CN();
if (localeValue_zh_cn.contains("金额")){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
child.setCaption(l);
}
continue;
}
List<AbstractReportColumn> children = reportColumnGroup.getChildren();
for (AbstractReportColumn abstractReportColumn : children) {
String localeValue_zh_cn = abstractReportColumn.getCaption().getLocaleValue_zh_CN();
if ("金额".contains(localeValue_zh_cn)){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
abstractReportColumn.setCaption(l);
}
}
}
//权益融资
List<AbstractReportColumn> qyrz = ((ReportColumnGroup) columns.get(6)).getChildren();
for (AbstractReportColumn child : qyrz) {
ReportColumnGroup reportColumnGroup= null;
try {
reportColumnGroup = (ReportColumnGroup) child;
} catch (Exception e) {
String localeValue_zh_cn = child.getCaption().getLocaleValue_zh_CN();
if (localeValue_zh_cn.contains("金额")){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
child.setCaption(l);
}
continue;
}
List<AbstractReportColumn> children = reportColumnGroup.getChildren();
for (AbstractReportColumn abstractReportColumn : children) {
String localeValue_zh_cn = abstractReportColumn.getCaption().getLocaleValue_zh_CN();
if ("金额".contains(localeValue_zh_cn)){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
abstractReportColumn.setCaption(l);
}
}
}
//融资含权益
List<AbstractReportColumn> rz = ((ReportColumnGroup) columns.get(7)).getChildren();
for (AbstractReportColumn child : rz) {
ReportColumnGroup reportColumnGroup= null;
try {
reportColumnGroup = (ReportColumnGroup) child;
} catch (Exception e) {
String localeValue_zh_cn = child.getCaption().getLocaleValue_zh_CN();
if (localeValue_zh_cn.contains("金额")){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
child.setCaption(l);
}
continue;
}
List<AbstractReportColumn> children = reportColumnGroup.getChildren();
for (AbstractReportColumn abstractReportColumn : children) {
String localeValue_zh_cn = abstractReportColumn.getCaption().getLocaleValue_zh_CN();
if ("金额".contains(localeValue_zh_cn)){
LocaleString l = new LocaleString();
l.put("zh_CN",localeValue_zh_cn+"("+ FinanceVarietyEnum.getshkd_selmoney(shkd_money)+")");
abstractReportColumn.setCaption(l);
}
}
}
return columns;
}
@Override
public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
super.processRowData(gridPK, rowData, queryParam);
if (rowData.size()==0){
return;
}
//获取排序配置
DynamicObject shkd_selorg = (DynamicObject) this.getModel().getValue("shkd_selorg");
long id = shkd_selorg.getLong("id");
QFilter filter = new QFilter("shkd_org", QCP.equals, id);
DynamicObject paixu = BusinessDataServiceHelper.loadSingle("shkd_orgorderby", filter.toArray());
if (paixu==null){
return;
}
DynamicObjectCollection shkd_entryentity = paixu.getDynamicObjectCollection("shkd_entryentity");
// 创建一个HashMap来存储转换后的结果
Map<String, Integer> map = new HashMap<>();
int s=0;
// 假设你可以通过遍历DynamicObjectCollection来获取其中的元素
for (DynamicObject obj : shkd_entryentity) {
DynamicObject key = obj.getDynamicObject("shkd_ywdy");
int value = s++;
map.put(key.getString("number"), value); // 将键值对放入HashMap
}
//按字段 组织配置 排序
Collections.sort(rowData , new Comparator<DynamicObject>(){
@Override
public int compare(DynamicObject dynamicObject1, DynamicObject dynamicObject2) {
return (map.get(dynamicObject1.getString("shkd_orgnumber"))==null?100:map.get(dynamicObject1.getString("shkd_orgnumber")))-(map.get(dynamicObject2.getString("shkd_orgnumber"))==null?100:map.get(dynamicObject2.getString("shkd_orgnumber")));
// return dynamicObject1.getInt("menuindex")-dynamicObject2.getInt("menuindex");
}
});
}
}

View File

@ -5,13 +5,11 @@ import kd.bos.algo.JoinDataSet;
import kd.bos.algo.JoinType;
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.MainEntityType;
import kd.bos.entity.report.AbstractReportListDataPlugin;
import kd.bos.entity.report.FastFilter;
import kd.bos.entity.report.FilterItemInfo;
import kd.bos.entity.report.ReportQueryParam;
import kd.bos.entity.report.*;
import kd.bos.entity.tree.TreeNode;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
@ -67,12 +65,15 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
List<QFilter> listQFilter = getListQFilter(reportQueryParam);
List<String> dateList = new ArrayList<>();
DynamicObject selorgDy = null;
Double shkd_selmoney=0.0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (QFilter filter : listQFilter) {
if (filter.getProperty().contains("shkd_selorg")) {
selorgDy= (DynamicObject) filter.getValue();
} else if (filter.getProperty().contains("shkd_seldate")) {
dateList.add(sdf.format(filter.getValue()));
} else if (filter.getProperty().contains("shkd_selmoney")) {
shkd_selmoney= Double.parseDouble((String) filter.getValue());
}
}
@ -109,44 +110,44 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
// DynamicObjectCollection srcCollection = ORM.create().toPlainDynamicObjectCollection(res.copy());
// System.out.println(srcCollection);
DataSet dataSet = join.on("shkd_orgnumber","shkd_orgnumber").select(new String[]{"shkd_orgnumber","shkd_org",
"shkd_zqrzamount","shkd_zqrzrzcb","shkd_zqrzqx",
"shkd_dqjkamount","shkd_dqjkrzcb","shkd_dqjkqx",
"shkd_zcqldamount","shkd_zcqldrzcb","shkd_zcqldqx",
"shkd_xmdkamount","shkd_xmdkrzcb","shkd_xmdkqx",
"shkd_rzzlamount","shkd_rzzlrzcb","shkd_rzzlqx",
"shkd_bxzjrzamount","shkd_bxzjrzrzcb","shkd_bxzjrzqx",
"shkd_yfpjamount","shkd_yfpjrzcb","shkd_yfpjqx",
"shkd_fjrqyjkamount","shkd_fjrqyjkrzcb","shkd_fjrqyjkqx",
"shkd_qtzwrzamount","shkd_qtzwrzrzcb","shkd_qtzwrzqx",
"shkd_jtnbjkamount","shkd_jtnbjkrzcb","shkd_jtnbjkqx",
"shkd_yxzamount","shkd_yxzrzcb","shkd_yxzqx",
"shkd_yxxtamount","shkd_yxxtrzcb","shkd_yxxtqx",
"shkd_qtqyrzamount","shkd_qtqyrzrzcb","shkd_qtqyrzqx",
"shkd_zqrzamount/ "+shkd_selmoney+" as shkd_zqrzamount","shkd_zqrzrzcb * 100 as shkd_zqrzrzcb","shkd_zqrzqx",
"shkd_dqjkamount/ "+shkd_selmoney+" as shkd_dqjkamount","shkd_dqjkrzcb * 100 as shkd_dqjkrzcb","shkd_dqjkqx",
"shkd_zcqldamount/ "+shkd_selmoney+" as shkd_zcqldamount","shkd_zcqldrzcb * 100 as shkd_zcqldrzcb","shkd_zcqldqx",
"shkd_xmdkamount/ "+shkd_selmoney+" as shkd_xmdkamount","shkd_xmdkrzcb * 100 as shkd_xmdkrzcb","shkd_xmdkqx",
"shkd_rzzlamount/ "+shkd_selmoney+" as shkd_rzzlamount","shkd_rzzlrzcb * 100 as shkd_rzzlrzcb","shkd_rzzlqx",
"shkd_bxzjrzamount/ "+shkd_selmoney+" as shkd_bxzjrzamount","shkd_bxzjrzrzcb * 100 as shkd_bxzjrzrzcb","shkd_bxzjrzqx",
"shkd_yfpjamount/ "+shkd_selmoney+" as shkd_yfpjamount","shkd_yfpjrzcb * 100 as shkd_yfpjrzcb","shkd_yfpjqx",
"shkd_fjrqyjkamount/ "+shkd_selmoney+" as shkd_fjrqyjkamount","shkd_fjrqyjkrzcb * 100 as shkd_fjrqyjkrzcb","shkd_fjrqyjkqx",
"shkd_qtzwrzamount/ "+shkd_selmoney+" as shkd_qtzwrzamount","shkd_qtzwrzrzcb * 100 as shkd_qtzwrzrzcb","shkd_qtzwrzqx",
"shkd_jtnbjkamount/ "+shkd_selmoney+" as shkd_jtnbjkamount","shkd_jtnbjkrzcb * 100 as shkd_jtnbjkrzcb","shkd_jtnbjkqx",
"shkd_yxzamount/ "+shkd_selmoney+" as shkd_yxzamount","shkd_yxzrzcb * 100 as shkd_yxzrzcb","shkd_yxzqx",
"shkd_yxxtamount/ "+shkd_selmoney+" as shkd_yxxtamount","shkd_yxxtrzcb * 100 as shkd_yxxtrzcb","shkd_yxxtqx",
"shkd_qtqyrzamount/ "+shkd_selmoney+" as shkd_qtqyrzamount","shkd_qtqyrzrzcb * 100 as shkd_qtqyrzrzcb","shkd_qtqyrzqx",
//1至9合计
"shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount as shkd_oneotnineje",
"(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount)/"+shkd_selmoney+" as shkd_oneotnineje",
"case when (shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount)=0 then 0 else " +
"(shkd_zqrzamount*shkd_zqrzrzcb+shkd_dqjkamount*shkd_dqjkrzcb+shkd_zcqldamount*shkd_zcqldrzcb+shkd_xmdkamount*shkd_xmdkrzcb+shkd_rzzlamount*shkd_rzzlrzcb+shkd_bxzjrzamount*shkd_bxzjrzrzcb+shkd_yfpjamount*shkd_yfpjrzcb+shkd_fjrqyjkamount*shkd_fjrqyjkrzcb+shkd_qtzwrzamount*shkd_qtzwrzrzcb)/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount) end as shkd_oneotninerzcb",
"(shkd_zqrzamount*shkd_zqrzrzcb+shkd_dqjkamount*shkd_dqjkrzcb+shkd_zcqldamount*shkd_zcqldrzcb+shkd_xmdkamount*shkd_xmdkrzcb+shkd_rzzlamount*shkd_rzzlrzcb+shkd_bxzjrzamount*shkd_bxzjrzrzcb+shkd_yfpjamount*shkd_yfpjrzcb+shkd_fjrqyjkamount*shkd_fjrqyjkrzcb+shkd_qtzwrzamount*shkd_qtzwrzrzcb)*100/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount) end as shkd_oneotninerzcb",
"case when (shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount)=0 then 0 else " +
"(shkd_zqrzamount*shkd_zqrzqx+shkd_dqjkamount*shkd_dqjkqx+shkd_zcqldamount*shkd_zcqldqx+shkd_xmdkamount*shkd_xmdkqx+shkd_rzzlamount*shkd_rzzlqx+shkd_bxzjrzamount*shkd_bxzjrzqx+shkd_yfpjamount*shkd_yfpjqx+shkd_fjrqyjkamount*shkd_fjrqyjkqx+shkd_qtzwrzamount*shkd_qtzwrzqx)/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount) end as shkd_oneotnineqx",
//1至10合计
"shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount as shkd_oneottenje",
"(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount)/"+shkd_selmoney+" as shkd_oneottenje",
"case when (shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount)=0 then 0 else " +
"(shkd_zqrzamount*shkd_zqrzrzcb+shkd_dqjkamount*shkd_dqjkrzcb+shkd_zcqldamount*shkd_zcqldrzcb+shkd_xmdkamount*shkd_xmdkrzcb+shkd_rzzlamount*shkd_rzzlrzcb+shkd_bxzjrzamount*shkd_bxzjrzrzcb+shkd_yfpjamount*shkd_yfpjrzcb+shkd_fjrqyjkamount*shkd_fjrqyjkrzcb+shkd_qtzwrzamount*shkd_qtzwrzrzcb+shkd_jtnbjkamount*shkd_jtnbjkrzcb)/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount) end as shkd_oneottenrzcb",
"(shkd_zqrzamount*shkd_zqrzrzcb+shkd_dqjkamount*shkd_dqjkrzcb+shkd_zcqldamount*shkd_zcqldrzcb+shkd_xmdkamount*shkd_xmdkrzcb+shkd_rzzlamount*shkd_rzzlrzcb+shkd_bxzjrzamount*shkd_bxzjrzrzcb+shkd_yfpjamount*shkd_yfpjrzcb+shkd_fjrqyjkamount*shkd_fjrqyjkrzcb+shkd_qtzwrzamount*shkd_qtzwrzrzcb+shkd_jtnbjkamount*shkd_jtnbjkrzcb)*100/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount) end as shkd_oneottenrzcb",
"case when (shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount)=0 then 0 else " +
"(shkd_zqrzamount*shkd_zqrzqx+shkd_dqjkamount*shkd_dqjkqx+shkd_zcqldamount*shkd_zcqldqx+shkd_xmdkamount*shkd_xmdkqx+shkd_rzzlamount*shkd_rzzlqx+shkd_bxzjrzamount*shkd_bxzjrzqx+shkd_yfpjamount*shkd_yfpjqx+shkd_fjrqyjkamount*shkd_fjrqyjkqx+shkd_qtzwrzamount*shkd_qtzwrzqx+shkd_jtnbjkamount*shkd_jtnbjkqx)/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount) end as shkd_oneottenqx",
//11至13合计
"shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount as shkd_11to13je",
"(shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount)/"+shkd_selmoney+" as shkd_11to13je",
"case when (shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount)=0 then 0 else " +
"(shkd_yxzamount*shkd_yxzrzcb+shkd_yxxtamount*shkd_yxxtrzcb+shkd_qtqyrzamount*shkd_qtqyrzrzcb)/(shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount) end as shkd_11to13rzcb",
"(shkd_yxzamount*shkd_yxzrzcb+shkd_yxxtamount*shkd_yxxtrzcb+shkd_qtqyrzamount*shkd_qtqyrzrzcb)*100/(shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount) end as shkd_11to13rzcb",
"case when (shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount)=0 then 0 else " +
"(shkd_yxzamount*shkd_yxzqx+shkd_yxxtamount*shkd_yxxtqx+shkd_qtqyrzamount*shkd_qtqyrzqx)/(shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount) end as shkd_11to13qx",
//1至13合计
"shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount+shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount as shkd_1to13je",
"(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount+shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount)/"+shkd_selmoney+" as shkd_1to13je",
"case when (shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount+shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount)=0 then 0 else " +
"(shkd_zqrzamount*shkd_zqrzrzcb+shkd_dqjkamount*shkd_dqjkrzcb+shkd_zcqldamount*shkd_zcqldrzcb+shkd_xmdkamount*shkd_xmdkrzcb+shkd_rzzlamount*shkd_rzzlrzcb+shkd_bxzjrzamount*shkd_bxzjrzrzcb+shkd_yfpjamount*shkd_yfpjrzcb+shkd_fjrqyjkamount*shkd_fjrqyjkrzcb+shkd_qtzwrzamount*shkd_qtzwrzrzcb+shkd_jtnbjkamount*shkd_jtnbjkrzcb+shkd_yxzamount*shkd_yxzrzcb+shkd_yxxtamount*shkd_yxxtrzcb+shkd_qtqyrzamount*shkd_qtqyrzrzcb)/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount+shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount) end as shkd_1to13jrcb",
"(shkd_zqrzamount*shkd_zqrzrzcb+shkd_dqjkamount*shkd_dqjkrzcb+shkd_zcqldamount*shkd_zcqldrzcb+shkd_xmdkamount*shkd_xmdkrzcb+shkd_rzzlamount*shkd_rzzlrzcb+shkd_bxzjrzamount*shkd_bxzjrzrzcb+shkd_yfpjamount*shkd_yfpjrzcb+shkd_fjrqyjkamount*shkd_fjrqyjkrzcb+shkd_qtzwrzamount*shkd_qtzwrzrzcb+shkd_jtnbjkamount*shkd_jtnbjkrzcb+shkd_yxzamount*shkd_yxzrzcb+shkd_yxxtamount*shkd_yxxtrzcb+shkd_qtqyrzamount*shkd_qtqyrzrzcb)*100/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount+shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount) end as shkd_1to13jrcb",
"case when (shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount+shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount)=0 then 0 else " +
"(shkd_zqrzamount*shkd_zqrzqx+shkd_dqjkamount*shkd_dqjkqx+shkd_zcqldamount*shkd_zcqldqx+shkd_xmdkamount*shkd_xmdkqx+shkd_rzzlamount*shkd_rzzlqx+shkd_bxzjrzamount*shkd_bxzjrzqx+shkd_yfpjamount*shkd_yfpjqx+shkd_fjrqyjkamount*shkd_fjrqyjkqx+shkd_qtzwrzamount*shkd_qtzwrzqx+shkd_jtnbjkamount*shkd_jtnbjkqx+shkd_yxzamount*shkd_yxzqx+shkd_yxxtamount*shkd_yxxtqx+shkd_qtqyrzamount*shkd_qtqyrzqx)/(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount+shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount) end as shkd_1to13qx"
}).finish();
@ -331,7 +332,6 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
" and rpentry.fexrepaymentdate > '"+dateList.get(0)+"' \n");//企业借款合同
sqlBuilder.append(") AS hbb");
return sqlBuilder;
}
@ -386,4 +386,5 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
return resmap;
}
}

View File

@ -47,4 +47,23 @@ public class FinanceVarietyEnum {
put("债券发行", new ArrayList<>(Arrays.asList("并表ABN")));
put("银行借款合同", new ArrayList<>(Arrays.asList("其他权益融资")));
}};
public static String getshkd_selmoney( String shkd_selmoney ){
if ("1".equals(shkd_selmoney)){
return "";
} else if ("1000".equals(shkd_selmoney)) {
return "千元";
}else if ("10000".equals(shkd_selmoney)) {
return "万元";
}else if ("1000000".equals(shkd_selmoney)) {
return "百万元";
}else if ("10000000".equals(shkd_selmoney)) {
return "千万元";
}else if ("100000000".equals("shkd_selmoney")) {
return "亿元";
}
else {
return "";
}
}
}