parent
7f33236e8c
commit
c55bcf8a1a
|
|
@ -39,14 +39,13 @@ public class AccountbankReportPlugin extends AbstractReportListDataPlugin {
|
|||
}
|
||||
|
||||
String selectFields="id,openorg.shkd_comcode as shkd_ssjtbm,openorg.shkd_comname as shkd_ssjtmc," +
|
||||
"openorg.uniformsocialcreditcode as shkd_khdwbm,openorg.name as shkd_khdwmc," +
|
||||
"openorg.uniformsocialcreditcode as shkd_khdwbm,openorg.name as shkd_khdwmc,shkd_namegzw as shkd_newkhdwmc," +
|
||||
"openorg.shkd_comlevel as shkd_khdwqyjc,acctname as shkd_zhmc,bankaccountnumber as shkd_yhzh," +
|
||||
"shkd_subcompany as shkd_sfwnbdwzh,bank.name as shkd_khhmc,bank.number as shkd_khhbm," +
|
||||
"bank.country.name as shkd_khhszgj,shkd_bank_head_office as shkd_khhzh,currency," +
|
||||
"acctstyle as shkd_zhytbm,case when issetbankinterface=1 then '是' else '否' end as shkd_ktyqjk,shkd_direct_time1 as shkd_ktyqsj," +
|
||||
"acctstyle as shkd_zhytmc,fundaccflag as shkd_jzjzzhbs,case when closedate IS NULL then acctstatus else (case when closedate>'"+dateList.get(0)+"' then 'normal' else 'closed' end) end as shkd_zhzt," +
|
||||
"case when closedate IS NULL then '9999-12-31' else to_char(closedate,'YYYY-MM-DD') end as shkd_xhrq," +
|
||||
// "closedate as shkd_xhrq," +
|
||||
"opendate as shkd_khrq,'"+dateList.get(0)+"' as shkd_sjrq,case when ismoneypool=1 then '是' else '否' end as shkd_sfzjczh";
|
||||
//银行账户数据集
|
||||
DataSet accountbankDataSet = QueryServiceHelper.queryDataSet(this.getClass().getSimpleName(),"am_accountbank",
|
||||
|
|
@ -66,18 +65,52 @@ public class AccountbankReportPlugin extends AbstractReportListDataPlugin {
|
|||
|
||||
String[] fieldNames1 = finish.getRowMeta().getFieldNames();
|
||||
|
||||
String[] newFieldNames1 = ReportUtils.ExpansionArray(fieldNames1, Arrays.asList("shkd_zhyeyb", "shkd_zhyebb", "shkd_zhyesj"));
|
||||
//查询余额
|
||||
String[] newFieldNames1 = ReportUtils.ExpansionArray(fieldNames1, Arrays.asList("shkd_zhyeyb", "shkd_zhyesj"));
|
||||
//查询日记账余额
|
||||
StringBuilder sqlBuilder = new StringBuilder("/*dialect*/ \n");
|
||||
sqlBuilder.append("SELECT fbankacctid ,SUM(FDebitAmount-FCreditAmount) as shkd_zhyeyb,SUM(FDebitAmount*fexchangerate-FCreditAmount*fexchangerate) as shkd_zhyebb,fcurrencyid,MAX(FBizDate) as shkd_zhyesj\n" +
|
||||
"FROM t_cas_bankjournal WHERE FBizDate<'"+dateList.get(0)+"' \n" +
|
||||
sqlBuilder.append("SELECT fbankacctid ,SUM(FDebitAmount-FCreditAmount) as shkd_zhyeyb," +
|
||||
// "SUM(FDebitAmount*fexchangerate-FCreditAmount*fexchangerate) as shkd_zhyebb," +//(本位币)
|
||||
"fcurrencyid,MAX(FBizDate) as shkd_zhyesj\n" +
|
||||
"FROM t_cas_bankjournal WHERE FBizDate<='"+dateList.get(0)+"' \n" +
|
||||
"GROUP BY fbankacctid, fcurrencyid");
|
||||
|
||||
DataSet res = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), sqlBuilder.toString());//财务云
|
||||
|
||||
JoinDataSet join1 = finish.join(res, JoinType.LEFT);//左连接
|
||||
DataSet finish1 = join1.on("id", "fbankacctid").on("shkd_bz", "fcurrencyid").select(newFieldNames1).finish();
|
||||
return finish1;
|
||||
|
||||
//查询指定日期的汇率
|
||||
StringBuilder sqlBuilder2 = new StringBuilder("/*dialect*/ \n");
|
||||
sqlBuilder2.append("WITH RankedExRates AS (\n" +
|
||||
" SELECT\n" +
|
||||
" FOrgCurID,\n" +
|
||||
" FCurID,\n" +
|
||||
" FExRate,\n" +
|
||||
" FEffectDate,\n" +
|
||||
" ROW_NUMBER() OVER (PARTITION BY FOrgCurID ORDER BY FEffectDate DESC) AS rn\n" +
|
||||
" FROM \n" +
|
||||
" t_bd_exrate\n" +
|
||||
" WHERE \n" +
|
||||
" FCurID = 1\n" +
|
||||
" AND FEffectDate <= '"+dateList.get(0)+"' -- 替换为你的指定日期\n" +
|
||||
")\n" +
|
||||
"SELECT\n" +
|
||||
" FOrgCurID,\n" +
|
||||
" FCurID,\n" +
|
||||
" FExRate,\n" +
|
||||
" FEffectDate\n" +
|
||||
"FROM \n" +
|
||||
" RankedExRates\n" +
|
||||
"WHERE \n" +
|
||||
" rn = 1;");
|
||||
DataSet hl = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("sys"), sqlBuilder2.toString());//系统云
|
||||
String[] fieldNames2 = finish1.getRowMeta().getFieldNames();
|
||||
|
||||
String[] newFieldNames2 = ReportUtils.ExpansionArray(fieldNames2, Arrays.asList("FEffectDate","FExRate"));
|
||||
JoinDataSet join2 = finish1.join(hl, JoinType.INNER);
|
||||
DataSet finish2 = join2.on("shkd_bz", "FOrgCurID").select(newFieldNames2).finish();
|
||||
finish2=finish2.addField("FExRate*shkd_zhyeyb","shkd_zhyebb");
|
||||
return finish2;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue