parent
c93960b210
commit
74b4fb2dd8
|
@ -28,6 +28,7 @@ import kd.bos.util.CollectionUtils;
|
|||
import shkd.sys.sys.plugin.form.PaymentProcessingBillPlugin;
|
||||
import shkd.sys.sys.plugin.report.domain.FinanceVarietyEnum;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -81,6 +82,8 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
|
|||
}
|
||||
}
|
||||
|
||||
DecimalFormat df = new DecimalFormat("#");
|
||||
String selmoney = df.format(shkd_selmoney);
|
||||
HashMap<Long, List<Long>> map = new HashMap<>();//组织层级关系
|
||||
//如果有组织则单独处理,没有则走getOrgrelate方法
|
||||
if (shkd_seluserpower==null){
|
||||
|
@ -116,6 +119,7 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
QFilter filter = new QFilter("billno", QCP.equals, "shkd_financereport");
|
||||
DynamicObject dataEntity = BusinessDataServiceHelper.loadSingle("shkd_bbrz", filter.toArray());
|
||||
|
@ -137,42 +141,42 @@ 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_selmoney+" as shkd_zqrzamount","shkd_zqrzrzcb","shkd_zqrzqx",
|
||||
"shkd_dqjkamount/ "+shkd_selmoney+" as shkd_dqjkamount","shkd_dqjkrzcb","shkd_dqjkqx",
|
||||
"shkd_zcqldamount/ "+shkd_selmoney+" as shkd_zcqldamount","shkd_zcqldrzcb","shkd_zcqldqx",
|
||||
"shkd_xmdkamount/ "+shkd_selmoney+" as shkd_xmdkamount","shkd_xmdkrzcb","shkd_xmdkqx",
|
||||
"shkd_rzzlamount/ "+shkd_selmoney+" as shkd_rzzlamount","shkd_rzzlrzcb","shkd_rzzlqx",
|
||||
"shkd_bxzjrzamount/ "+shkd_selmoney+" as shkd_bxzjrzamount","shkd_bxzjrzrzcb","shkd_bxzjrzqx",
|
||||
"shkd_yfpjamount/ "+shkd_selmoney+" as shkd_yfpjamount","shkd_yfpjrzcb","shkd_yfpjqx",
|
||||
"shkd_fjrqyjkamount/ "+shkd_selmoney+" as shkd_fjrqyjkamount","shkd_fjrqyjkrzcb","shkd_fjrqyjkqx",
|
||||
"shkd_qtzwrzamount/ "+shkd_selmoney+" as shkd_qtzwrzamount","shkd_qtzwrzrzcb","shkd_qtzwrzqx",
|
||||
"shkd_jtnbjkamount/ "+shkd_selmoney+" as shkd_jtnbjkamount","shkd_jtnbjkrzcb","shkd_jtnbjkqx",
|
||||
"shkd_yxzamount/ "+shkd_selmoney+" as shkd_yxzamount","shkd_yxzrzcb","shkd_yxzqx",
|
||||
"shkd_yxxtamount/ "+shkd_selmoney+" as shkd_yxxtamount","shkd_yxxtrzcb","shkd_yxxtqx",
|
||||
"shkd_qtqyrzamount/ "+shkd_selmoney+" as shkd_qtqyrzamount","shkd_qtqyrzrzcb","shkd_qtqyrzqx",
|
||||
"shkd_zqrzamount/ "+selmoney+" as shkd_zqrzamount","shkd_zqrzrzcb","shkd_zqrzqx",
|
||||
"shkd_dqjkamount/ "+selmoney+" as shkd_dqjkamount","shkd_dqjkrzcb","shkd_dqjkqx",
|
||||
"shkd_zcqldamount/ "+selmoney+" as shkd_zcqldamount","shkd_zcqldrzcb","shkd_zcqldqx",
|
||||
"shkd_xmdkamount/ "+selmoney+" as shkd_xmdkamount","shkd_xmdkrzcb","shkd_xmdkqx",
|
||||
"shkd_rzzlamount/ "+selmoney+" as shkd_rzzlamount","shkd_rzzlrzcb","shkd_rzzlqx",
|
||||
"shkd_bxzjrzamount/ "+selmoney+" as shkd_bxzjrzamount","shkd_bxzjrzrzcb","shkd_bxzjrzqx",
|
||||
"shkd_yfpjamount/ "+selmoney+" as shkd_yfpjamount","shkd_yfpjrzcb","shkd_yfpjqx",
|
||||
"shkd_fjrqyjkamount/ "+selmoney+" as shkd_fjrqyjkamount","shkd_fjrqyjkrzcb","shkd_fjrqyjkqx",
|
||||
"shkd_qtzwrzamount/ "+selmoney+" as shkd_qtzwrzamount","shkd_qtzwrzrzcb","shkd_qtzwrzqx",
|
||||
"shkd_jtnbjkamount/ "+selmoney+" as shkd_jtnbjkamount","shkd_jtnbjkrzcb","shkd_jtnbjkqx",
|
||||
"shkd_yxzamount/ "+selmoney+" as shkd_yxzamount","shkd_yxzrzcb","shkd_yxzqx",
|
||||
"shkd_yxxtamount/ "+selmoney+" as shkd_yxxtamount","shkd_yxxtrzcb","shkd_yxxtqx",
|
||||
"shkd_qtqyrzamount/ "+selmoney+" as shkd_qtqyrzamount","shkd_qtqyrzrzcb","shkd_qtqyrzqx",
|
||||
//1至9合计
|
||||
"(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount)/"+shkd_selmoney+" as shkd_oneotnineje",
|
||||
"(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount)/"+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",
|
||||
"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)/"+shkd_selmoney+" as shkd_oneottenje",
|
||||
"(shkd_zqrzamount+shkd_dqjkamount+shkd_zcqldamount+shkd_xmdkamount+shkd_rzzlamount+shkd_bxzjrzamount+shkd_yfpjamount+shkd_fjrqyjkamount+shkd_qtzwrzamount+shkd_jtnbjkamount)/"+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",
|
||||
"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)/"+shkd_selmoney+" as shkd_11to13je",
|
||||
"(shkd_yxzamount+shkd_yxxtamount+shkd_qtqyrzamount)/"+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",
|
||||
"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)/"+shkd_selmoney+" 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)/"+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",
|
||||
"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 " +
|
||||
|
@ -257,10 +261,11 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
|
|||
sqlBuilder.append("FROM ( \n");
|
||||
|
||||
sqlBuilder.append("SELECT\n" +
|
||||
"t1.fbillno,t1.ffinproductid as rzpz,rpentry.fexdrawamount as je,e.forgid as zz,raentry.frayearrate as zxll,e.fterm AS qx,\n" +
|
||||
"CASE WHEN POSITION ( 'y' IN e.fterm ) > 0 THEN CAST ( SUBSTRING ( e.fterm FROM 1 FOR POSITION ( 'y' IN e.fterm ) - 1 ) AS INT ) ELSE 0 END AS y,\n" +
|
||||
"CASE WHEN POSITION ( 'm' IN e.fterm ) > 0 THEN CAST ( SUBSTRING ( e.fterm FROM CASE WHEN POSITION ( 'y' IN e.fterm ) > 0 THEN POSITION ( 'y' IN e.fterm ) + 1 ELSE 1 END FOR POSITION ( 'm' IN e.fterm ) - CASE WHEN POSITION ( 'y' IN e.fterm ) > 0 THEN POSITION ( 'y' IN e.fterm ) + 1 ELSE 1 END ) AS INT ) ELSE 0 END AS M,\n" +
|
||||
"CASE WHEN POSITION ( 'd' IN e.fterm ) > 0 THEN CAST ( SUBSTRING ( e.fterm FROM CASE WHEN POSITION ( 'm' IN e.fterm ) > 0 THEN POSITION ( 'm' IN e.fterm ) + 1 WHEN POSITION ( 'y' IN e.fterm ) > 0 THEN POSITION ( 'y' IN e.fterm ) + 1 ELSE 1 END FOR POSITION ( 'd' IN e.fterm ) - CASE WHEN POSITION ( 'm' IN e.fterm ) > 0 THEN POSITION ( 'm' IN e.fterm ) + 1 WHEN POSITION ( 'y' IN e.fterm ) > 0 THEN POSITION ( 'y' IN e.fterm ) + 1 ELSE 1 END ) AS INT ) ELSE 0 END AS d,\n" +
|
||||
"t1.fbillno,t1.ffinproductid as rzpz,rpentry.fexdrawamount as je,e.forgid as zz,raentry.frayearrate as zxll,\n" +
|
||||
"CONCAT(TIMESTAMPDIFF(YEAR,t1.fbizdate, rpentry.fexrepaymentdate), 'y',TIMESTAMPDIFF(MONTH, t1.fbizdate, rpentry.fexrepaymentdate) % 12, 'm',DATEDIFF(DAY,t1.fbizdate, rpentry.fexrepaymentdate) % 30, 'd') AS qx,\n" +
|
||||
"TIMESTAMPDIFF(YEAR,t1.fbizdate, rpentry.fexrepaymentdate) AS y,\n" +
|
||||
"TIMESTAMPDIFF(MONTH, t1.fbizdate, rpentry.fexrepaymentdate) % 12 AS m,\n" +
|
||||
"DATEDIFF(DAY,t1.fbizdate, rpentry.fexrepaymentdate) % 30 AS d,\n" +
|
||||
"'债券发行' AS djlx,\n" +
|
||||
"'' AS zqrlx\n" +
|
||||
"FROM\n" +
|
||||
|
@ -371,6 +376,8 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
|
|||
" and rpentry.fexrepaymentdate > '"+dateList.get(0)+"' \n");//企业借款合同
|
||||
|
||||
sqlBuilder.append(") AS hbb");
|
||||
|
||||
// logger.info("sqlBuilder信息:{}", sqlBuilder);
|
||||
return sqlBuilder;
|
||||
}
|
||||
|
||||
|
@ -420,5 +427,4 @@ public class FinanceReportPlugin extends AbstractReportListDataPlugin {
|
|||
|
||||
return resmap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue