From 398d45ee490a7a0ec39f104dda47466c18f729ef Mon Sep 17 00:00:00 2001 From: yangkunan Date: Wed, 27 Nov 2024 17:06:11 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=8C=BA=E9=97=B4=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FineReport/销售主题/报表/首页.sql | 285 +++++++++++++++--------------- 1 file changed, 147 insertions(+), 138 deletions(-) diff --git a/FineReport/销售主题/报表/首页.sql b/FineReport/销售主题/报表/首页.sql index bb813fc..4b415be 100644 --- a/FineReport/销售主题/报表/首页.sql +++ b/FineReport/销售主题/报表/首页.sql @@ -213,14 +213,14 @@ AND exists ( -- 年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date,'yyyy') +"'","")} -- 季 -${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} -${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(sStart_date,4),roundup(month(sStart_date)/3)) +"'","")} +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 月 -${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} -${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(sStart_date,'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 日 -${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} -${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ sStart_date +"'","")} +-- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} UNION ALL select @@ -248,14 +248,15 @@ where (indi_type='回款' OR indi_type='电商订单') -- 去年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') = '" + left(yeardelta(sStart_date,-1),4) + "'","")} -- 去年同季 -${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} -${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(YEARDELTA(sStart_date,-1),4),roundup(month(YEARDELTA(sStart_date,-1))/3)) +"'","")} + +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} -- 去年同月 -${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} -${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(yeardelta(sStart_date,-1),'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} -- 去年同日 -${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} -${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ yeardelta(sStart_date,-1) +"'","")} +-- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} UNION select '目标' time_type, @@ -285,14 +286,15 @@ AND exists ( -- 年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date,'yyyy') +"'","")} -- 季 -${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} -${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(sStart_date,4),roundup(month(sStart_date)/3)) +"'","")} +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 月 -${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} -${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(sStart_date,'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 日 -${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} -${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ sStart_date +"'","")} + +-- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- ====================================== -- 经销商出货 @@ -323,14 +325,14 @@ where (indi_type='出货' OR indi_type='电商订单') -- 年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date,'yyyy') +"'","")} -- 季 - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(sStart_date,4),roundup(month(sStart_date)/3)) +"'","")} +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 月 - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(sStart_date,'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 日 - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ sStart_date +"'","")} + -- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} UNION ALL select @@ -358,14 +360,14 @@ where (indi_type='出货' OR indi_type='电商订单') -- 去年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') = '" + left(yeardelta(sStart_date,-1),4) + "'","")} -- 去年同季 - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} + ${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(YEARDELTA(sStart_date,-1),4),roundup(month(YEARDELTA(sStart_date,-1))/3)) +"'","")} +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} -- 去年同月 - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} + ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(yeardelta(sStart_date,-1),'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} -- 去年同日 - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} + ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ yeardelta(sStart_date,-1) +"'","")} +-- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} UNION @@ -398,14 +400,14 @@ where ${switch(sPeriod -- 年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date,'yyyy') +"'","")} -- 季 - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(sStart_date,4),roundup(month(sStart_date)/3)) +"'","")} +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 月 - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(sStart_date,'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 日 - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ sStart_date +"'","")} + -- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- ====================================== @@ -437,14 +439,14 @@ where (indi_type='发货' OR indi_type='费用发货') -- 年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date,'yyyy') +"'","")} -- 季 - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(sStart_date,4),roundup(month(sStart_date)/3)) +"'","")} +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 月 - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(sStart_date,'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 日 - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ sStart_date +"'","")} +-- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} UNION ALL select '同期' time_type @@ -471,14 +473,14 @@ where (indi_type='发货' OR indi_type='费用发货') -- 去年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') = '" + left(yeardelta(sStart_date,-1),4) + "'","")} -- 去年同季 - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} + ${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(YEARDELTA(sStart_date,-1),4),roundup(month(YEARDELTA(sStart_date,-1))/3)) +"'","")} + -- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} -- 去年同月 - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} + ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(yeardelta(sStart_date,-1),'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} -- 去年同日 - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ yeardelta(sStart_date,-1) +"'","")} - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} + ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ yeardelta(sStart_date,-1) +"'","")} +-- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ yeardelta(sEnd_date,-1) +"'","")} UNION @@ -510,14 +512,14 @@ where ${switch(sPeriod -- 年 ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date,'yyyy') +"'","")} -- 季 - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(sStart_date,4),roundup(month(sStart_date)/3)) +"'","")} +-- ${IF(sPeriod=2,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 月 - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(sStart_date,'yyyy-MM') +"'","")} +-- ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- 日 - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date +"'","")} - ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} + ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') ='"+ sStart_date +"'","")} +-- ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sEnd_date +"'","")} -- ====================================== @@ -757,39 +759,29 @@ where corp_code not in ('0101','0103','0102') -- 财务资金月度 -- ====================================== - -; --- 资金计划与执行 - SELECT t.stat_date AS stat_date ,to_char(t.stat_date,'MM') as month ,CASE WHEN t.fee_type = '收入' THEN amt ELSE 0 END AS revenue_fee -- 收入 ,CASE WHEN t.fee_type = '支出' THEN amt ELSE 0 END AS expend_fee -- 支出 ,CASE WHEN t.fee_type = '余额' THEN amt ELSE 0 END AS balance_fee -- 余额 - -FROM -( - select - stat_date - ,'收入' AS fee_type -- 收支方向 收入/支出 - ,SUM(CASE WHEN trade_direction = '收入' THEN amt ELSE 0 END) / 10000 AS amt - from dm.dm_fim_fud_indicator a - where corp_code not in ('0101','0103','0102') - AND trade_direction = '收入' - AND indi_type = '执行' - AND plan_item_name NOT IN ('内部调拨收入','取得贷款') - AND owner_bank_account <> '22195101040012008' +FROM (SELECT stat_date + , '收入' AS fee_type -- 收支方向 收入/支出 + , SUM(CASE WHEN trade_direction = '收入' THEN amt ELSE 0 END) / 10000 AS amt + FROM dm.dm_fim_fud_indicator a + WHERE corp_code NOT IN ('0101', '0103', '0102') + AND trade_direction = '收入' + AND indi_type = '执行' + AND plan_item_name NOT IN ('内部调拨收入', '取得贷款') + AND owner_bank_account <> '22195101040012008' -- 权限控制 - AND exists ( - select - 1 - from + AND exists(select 1 + FROM dm.dm_bi_user_permisson - where + WHERE bi_user = '${fine_username}' - and per_model IN ('all','sal') - and ( + AND per_model IN ('all','sal') + AND ( is_all = 1 OR per_code = a.corp_code -- 事业部 -- OR per_code = a.region_code -- 大区 @@ -797,36 +789,33 @@ FROM -- OR per_code = a.city_unit_code -- 城市单元 ) ) - ${IF(len(sStart_date_fin) > 0,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} --- 年 - -- ${IF(sPeriod_fin=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} + ${IF(len(sStart_date_fin) > 0,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} + -- 年 + -- ${IF(sPeriod_fin=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} -- 月 -- ${IF(sPeriod_fin=2,"AND to_char(stat_date,'yyyy-MM') = '"+ FORMAT(sStart_date_fin,'yyyy-MM') +"'","")} -- 日 -- ${IF(sPeriod_fin=3,"AND to_char(stat_date,'yyyy-MM-dd') >= '"+ sStart_date_fin +"'","")} -- ${IF(sPeriod_fin=4,"AND to_char(stat_date,'yyyy-MM-dd') <= '"+ sStart_date_fin +"'","")} - group by stat_date - UNION ALL - select - stat_date - ,'支出' AS fee_type -- 收支方向 收入/支出 - ,SUM(CASE WHEN trade_direction = '支出' THEN amt ELSE 0 END) / 10000 AS amt - from dm.dm_fim_fud_indicator a - where corp_code not in ('0101','0103','0102') - AND trade_direction = '支出' - AND indi_type = '执行' - AND plan_item_name NOT IN ('内部调拨支出','偿还贷款') - AND owner_bank_account <> '22195101040012008' + GROUP BY stat_date + UNION ALL + SELECT stat_date + , '支出' AS fee_type -- 收支方向 收入/支出 + , SUM(CASE WHEN trade_direction = '支出' THEN amt ELSE 0 END) / 10000 AS amt + FROM dm.dm_fim_fud_indicator a + WHERE corp_code NOT IN ('0101', '0103', '0102') + AND trade_direction = '支出' + AND indi_type = '执行' + AND plan_item_name NOT IN ('内部调拨支出', '偿还贷款') + AND owner_bank_account <> '22195101040012008' -- 权限控制 - AND exists ( - select - 1 - from + AND exists(select 1 + FROM dm.dm_bi_user_permisson - where + WHERE bi_user = '${fine_username}' - and per_model IN ('all','sal') - and ( + AND per_model IN ('all','sal') + AND ( is_all = 1 OR per_code = a.corp_code -- 事业部 -- OR per_code = a.region_code -- 大区 @@ -834,59 +823,79 @@ FROM -- OR per_code = a.city_unit_code -- 城市单元 ) ) - ${IF(len(sStart_date_fin) > 0,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} --- 年 - -- ${IF(sPeriod_fin=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} + ${IF(len(sStart_date_fin) > 0,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} + -- 年 + -- ${IF(sPeriod_fin=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} -- 月 -- ${IF(sPeriod_fin=2,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(sStart_date_fin,'yyyy-MM') +"'","")} -- 日 -- ${IF(sPeriod_fin=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date_fin +"'","")} -- ${IF(sPeriod_fin=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sStart_date_fin +"'","")} - group by stat_date - UNION ALL + GROUP BY stat_date + UNION ALL -- 月初资金余额要取上月的月初的,年初要取上年末12月份的 - select - stat_date AS stat_date - ,'余额' AS fee_type - ,sum(amt) / 10000 AS AMT - from dm.dm_fim_fud_balance a - where corp_code not in ('0101','0103','0102') - AND owner_bank_account NOT IN ('20351059900100000512291' - ,'22195101040012008' - ,'信用证保证金' - ,'22195162750000012' - ,'22195162650000017' - ,'22195162350000014' - ,'22195162050000015' - ,'951018033000447470') + + SELECT + A.stat_date AS stat_date + , '余额' AS fee_type + ,SUM(B.amt) / 10000 AS AMT + FROM + ( + SELECT + stat_date + ,stat_date - INTERVAL '1 month' AS stat_date1 + , SUM(amt) / 10000 AS AMT + FROM dm.dm_fim_fud_balance a + WHERE corp_code NOT IN ('0101', '0103', '0102') + AND owner_bank_account NOT IN + ('20351059900100000512291', '22195101040012008', '信用证保证金', '22195162750000012', '22195162650000017', + '22195162350000014', '22195162050000015', '951018033000447470') -- 权限控制 - AND exists ( - select - 1 - from - dm.dm_bi_user_permisson - where - bi_user = '${fine_username}' - and per_model IN ('all','sal') - and ( - is_all = 1 - OR per_code = a.corp_code -- 事业部 + AND EXISTS (SELECT 1 + FROM dm.dm_bi_user_permisson + WHERE bi_user = '${fine_username}' + AND per_model IN ('all', 'sal') + AND ( + is_all = 1 + OR per_code = a.corp_code -- 事业部 -- OR per_code = a.region_code -- 大区 -- OR per_code = a.office_code -- 办事处 -- OR per_code = a.city_unit_code -- 城市单元 - ) - ) + )) + GROUP BY stat_date - INTERVAL '1 month',stat_date + )A + LEFT JOIN + ( + SELECT stat_date AS stat_date - ${IF(len(sStart_date_fin) > 0,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} + , SUM(amt) / 10000 AS AMT + FROM dm.dm_fim_fud_balance a + WHERE corp_code NOT IN ('0101', '0103', '0102') + AND owner_bank_account NOT IN + ('20351059900100000512291', '22195101040012008', '信用证保证金', '22195162750000012', '22195162650000017', + '22195162350000014', '22195162050000015', '951018033000447470') +-- 权限控制 + AND EXISTS (SELECT 1 + FROM dm.dm_bi_user_permisson + WHERE bi_user = '${fine_username}' + AND per_model IN ('all', 'sal') + AND ( + is_all = 1 + OR per_code = a.corp_code -- 事业部 + )) + GROUP BY stat_date + )B + ON A.stat_date1 = B.stat_date + ${IF(len(sStart_date_fin) > 0,"AND to_char(a.stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} --- 年 - -- ${IF(sPeriod_fin=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} + -- 年 + -- ${IF(sPeriod_fin=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(sStart_date_fin,'yyyy') +"'","")} -- 月 -- ${IF(sPeriod_fin=2,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(MONTHDELTA(sStart_date_fin,-1),'yyyy-MM') +"'","")} -- 日 -- ${IF(sPeriod_fin=3,"AND to_char(stat_date,'yyyy-MM-dd') >='"+ sStart_date_fin +"'","")} -- ${IF(sPeriod_fin=4,"AND to_char(stat_date,'yyyy-MM-dd') <='"+ sStart_date_fin +"'","")} - group by stat_date -)t -ORDER BY to_char(t.stat_date,'MM') + group by A.stat_date + )t +ORDER BY to_char(t.stat_date,'MM') \ No newline at end of file