From e61b2c1d3e044ad9122c049340e3264dae26125e Mon Sep 17 00:00:00 2001 From: yangkunan Date: Mon, 25 Nov 2024 21:23:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=8E=E9=85=92=E9=A6=96=E9=A1=B5=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E6=95=B0=E6=8D=AE=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/sqldialects.xml | 1 - .../财务主题/报表/费用/1_1_1OA表单下钻.sql | 2 +- FineReport/销售主题/报表/首页.sql | 148 +++++++++++++++++- 3 files changed, 148 insertions(+), 3 deletions(-) diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml index 78c9100..10c5002 100644 --- a/.idea/sqldialects.xml +++ b/.idea/sqldialects.xml @@ -13,7 +13,6 @@ - diff --git a/FineReport/财务主题/报表/费用/1_1_1OA表单下钻.sql b/FineReport/财务主题/报表/费用/1_1_1OA表单下钻.sql index ae2de75..6d8fdd0 100644 --- a/FineReport/财务主题/报表/费用/1_1_1OA表单下钻.sql +++ b/FineReport/财务主题/报表/费用/1_1_1OA表单下钻.sql @@ -48,7 +48,7 @@ FROM dwi.dwi_fim_oa_payment WHERE corp_code in(SELECT corp_code FROM corp) AND bill_date >= CONCAT('${sStart_mon}','-01') AND bill_date <= CONCAT('${sEnd_mon}','-30') -${if(len(sBill)=0,"","AND bill_code = '" + sBill +"'")} +${if(len(sBill)=0,"","AND bill_code IN ('" + sBill +"')")} diff --git a/FineReport/销售主题/报表/首页.sql b/FineReport/销售主题/报表/首页.sql index 9241db0..3b069cb 100644 --- a/FineReport/销售主题/报表/首页.sql +++ b/FineReport/销售主题/报表/首页.sql @@ -67,4 +67,150 @@ GROUP BY op2.id ORDER BY op1.time DESC -LIMIT 30 \ No newline at end of file +LIMIT 30 + + + +-- ====================================== +-- 合同量 +-- ====================================== + +select +'当期' AS time_type +,sum(ct_amt)/10000 AS amt +from dm.v_ag_sal_contract a +where 1=1 +${IF(sPeriod=1,"AND ct_year ='"+ FORMAT(TODAY(),'yyyy') +"'","")} -- 年 +${IF(sPeriod=2,"AND CONCAT(to_char(signed_date,'yyyy'),EXTRACT(QUARTER FROM signed_date)) ='"+ CONCATENATE(left(today(),4),roundup(month(today())/3)) +"'","")} -- 季 +${IF(sPeriod=3,"AND to_char(signed_date,'yyyy-MM') ='"+ FORMAT(TODAY(),'yyyy-MM') +"'","")} -- 月 +${IF(sPeriod=4,"AND to_char(signed_date,'yyyy-MM-dd') = to_char(CURRENT_DATE - INTERVAL '1 day','yyyy-MM-dd') ","")} -- 日 +UNION ALL +select +'同期' AS time_type +,sum(ct_amt)/10000 AS amt +from dm.v_ag_sal_contract a +WHERE 1=1 +${IF(sPeriod=1,"AND ct_year = EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year') ","")} -- 去年 +${IF(sPeriod=2,"AND CONCAT(to_char(signed_date,'yyyy'),EXTRACT(QUARTER FROM signed_date)) = CONCAT(EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year'),EXTRACT(QUARTER FROM CURRENT_DATE)) ","")} -- 去年同季 +${IF(sPeriod=3,"AND to_char(signed_date,'yyyy-MM') = to_char(CURRENT_DATE - INTERVAL '12 month','yyyy-MM') ","")} -- 去年同月 +${IF(sPeriod=4,"AND to_char(signed_date,'yyyy-MM-dd') = to_char((CURRENT_DATE - INTERVAL '1 day') - INTERVAL '1 year','yyyy-MM-dd') ","")} -- 当前时间的前天 + + +-- ====================================== +-- 回款 +-- ====================================== + +select + '当期' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where (indi_type='回款' OR indi_type='电商订单') +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(TODAY(),'yyyy') +"'","")} -- 年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(today(),4),roundup(month(today())/3)) +"'","")} -- 季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(TODAY(),'yyyy-MM') +"'","")} -- 月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char(CURRENT_DATE - INTERVAL '1 day','yyyy-MM-dd') ","")} -- 日 +UNION ALL +select +'同期' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where (indi_type='回款' OR indi_type='电商订单') +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') = EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year') ","")} -- 去年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) = CONCAT(EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year'),EXTRACT(QUARTER FROM CURRENT_DATE)) ","")} -- 去年同季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') = to_char(CURRENT_DATE - INTERVAL '12 month','yyyy-MM') ","")} -- 去年同月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char((CURRENT_DATE - INTERVAL '1 day') - INTERVAL '1 year','yyyy-MM-dd') ","")} -- 当前时间的前天 + +UNION +select +'目标' time_type, +sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where ${switch(sPeriod + ,1,"indi_type='年度目标_事业部_回款'" + ,2,"indi_type='季度目标_事业部_回款'" + ,3,"indi_type='月度目标_事业部_回款'" + ,4,"indi_type='不存在'")} + + ${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(TODAY(),'yyyy') +"'","")} -- 年 + ${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(today(),4),roundup(month(today())/3)) +"'","")} -- 季 + ${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(TODAY(),'yyyy-MM') +"'","")} -- 月 + ${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char(CURRENT_DATE - INTERVAL '1 day','yyyy-MM-dd') ","")} -- 日 + + +-- ====================================== +-- 经销商出货 +-- ====================================== + +select +'当期' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where (indi_type='出货' OR indi_type='电商订单') +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(TODAY(),'yyyy') +"'","")} -- 年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(today(),4),roundup(month(today())/3)) +"'","")} -- 季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(TODAY(),'yyyy-MM') +"'","")} -- 月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char(CURRENT_DATE - INTERVAL '1 day','yyyy-MM-dd') ","")} -- 日 +UNION ALL +select +'同期' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where (indi_type='出货' OR indi_type='电商订单') +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') = EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year') ","")} -- 去年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) = CONCAT(EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year'),EXTRACT(QUARTER FROM CURRENT_DATE)) ","")} -- 去年同季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') = to_char(CURRENT_DATE - INTERVAL '12 month','yyyy-MM') ","")} -- 去年同月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char((CURRENT_DATE - INTERVAL '1 day') - INTERVAL '1 year','yyyy-MM-dd') ","")} -- 当前时间的前天 +UNION +select +'目标' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where ${switch(sPeriod + ,1,"indi_type='年度目标_事业部_出货'" + ,2,"indi_type='季度目标_事业部_出货'" + ,3,"indi_type='月度目标_事业部_出货'" + ,4,"indi_type='不存在'")} + +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(TODAY(),'yyyy') +"'","")} -- 年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(today(),4),roundup(month(today())/3)) +"'","")} -- 季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(TODAY(),'yyyy-MM') +"'","")} -- 月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char(CURRENT_DATE - INTERVAL '1 day','yyyy-MM-dd') ","")} -- 日 + + +-- ====================================== +-- 发货量 +-- ====================================== + +select +'当期' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where (indi_type='发货' OR indi_type='费用发货') +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(TODAY(),'yyyy') +"'","")} -- 年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(today(),4),roundup(month(today())/3)) +"'","")} -- 季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(TODAY(),'yyyy-MM') +"'","")} -- 月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char(CURRENT_DATE - INTERVAL '1 day','yyyy-MM-dd') ","")} -- 日 +UNION ALL +select +'同期' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where (indi_type='发货' OR indi_type='费用发货') +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') = EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year') ","")} -- 去年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) = CONCAT(EXTRACT(YEAR FROM CURRENT_DATE - INTERVAL '1 year'),EXTRACT(QUARTER FROM CURRENT_DATE)) ","")} -- 去年同季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') = to_char(CURRENT_DATE - INTERVAL '12 month','yyyy-MM') ","")} -- 去年同月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char((CURRENT_DATE - INTERVAL '1 day') - INTERVAL '1 year','yyyy-MM-dd') ","")} -- 当前时间的前天 +UNION +select +'目标' time_type +,sum(amt_bu) AS amt +from dm.v_sal_indicator_bu +where ${switch(sPeriod + ,1,"indi_type IN('年度目标_事业部_费用发货','年度目标_事业部_销售发货')" + ,2,"indi_type IN('季度目标_事业部_费用发货','季度目标_事业部_销售发货')" + ,3,"indi_type IN('月度目标_事业部_费用发货','月度目标_事业部_销售发货')" + ,4,"indi_type IN('不存在')")} +${IF(sPeriod=1,"AND to_char(stat_date,'yyyy') ='"+ FORMAT(TODAY(),'yyyy') +"'","")} -- 年 +${IF(sPeriod=2,"AND CONCAT(to_char(stat_date,'yyyy'),EXTRACT(QUARTER FROM stat_date)) ='"+ CONCATENATE(left(today(),4),roundup(month(today())/3)) +"'","")} -- 季 +${IF(sPeriod=3,"AND to_char(stat_date,'yyyy-MM') ='"+ FORMAT(TODAY(),'yyyy-MM') +"'","")} -- 月 +${IF(sPeriod=4,"AND to_char(stat_date,'yyyy-MM-dd') = to_char(CURRENT_DATE - INTERVAL '1 day','yyyy-MM-dd') ","")} -- 日