资金日报部分+庄园之旅报表+市场费用看板调整

This commit is contained in:
yangkunan 2024-12-14 17:17:12 +08:00
parent 9d9df843b5
commit e26f0e16ef
3 changed files with 2178 additions and 1 deletions

View File

@ -764,4 +764,282 @@ WHERE trade_direction IN('收入','支出')
GROUP BY to_char(trade_time,'MM')
ORDER BY to_char(trade_time,'MM')
${if(sData_type_out=2,"","*/")}
${if(sData_type_out=2,"","*/")}
-- ======================================
-- 资金日报
-- ======================================
-- 期初余额 斌哥处理
-- 资金收入/流入
WITH amt_base AS
(
-- 映射日报科目对照关系
SELECT
stat_date -- 统计日期
-- todo:期初余额
-- 其中:可用存款
-- 银行承兑汇票
-- 香港公司账户资金
-- 受限资金
-- 收入
,SUM(CASE WHEN trade_direction = '收入' AND plan_item_name = '对外销售酒类回款' AND corp_code <> '0201' THEN amt ELSE 0 END) AS finished_in_amt -- 成品酒销售回款
,SUM(CASE WHEN trade_direction = '收入' AND plan_item_name = '对外销售酒类回款' AND corp_code = '0201' THEN amt ELSE 0 END) AS loose_in_amt -- 散酒销售回款
,SUM(CASE WHEN trade_direction = '收入' AND trade_item IN('共建基金','红包充值费用','转货款','保证金') THEN amt ELSE 0 END) AS redpkg_in_amt -- 红包款/转货款/保证金/共建
,SUM(CASE WHEN trade_direction = '收入' AND plan_item_name IN('取得贷款','开票') THEN amt ELSE 0 END) AS bank_in_amt -- 银行融资
,SUM(CASE WHEN trade_direction = '收入' AND plan_item_name IN('搬迁补偿/政府补助') THEN amt ELSE 0 END) AS compen_in_amt -- 政府补助
,SUM(CASE WHEN trade_direction = '收入' AND plan_item_name IN('对外销售非酒类回款','吸收投资','税费返还','其他收入') AND trade_item not IN('红包充值费用','转货款') THEN amt ELSE 0 END) AS other_in_amt -- 其他零星收款
-- 支出
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('原材料','辅料','低值易耗') THEN amt ELSE 0 END) AS low_mater_out_amt -- 原辅低耗材料
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('散酒') THEN amt ELSE 0 END) AS loose_liquor_out_amt -- 外购散酒
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('外购包材','外协加工费') THEN amt ELSE 0 END) AS outsourced_out_amt -- 外购包材/外协加工
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('其它制造费用','水电气费') THEN amt ELSE 0 END) AS make_out_amt -- 制造费用/能源费用
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('广告费','市场活动投入','其它销售费用','委外服务(庄园)','酒店采购','储运费') THEN amt ELSE 0 END) AS ad_out_amt -- 广告/市场活动/庄园采购/储运
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('退共建基金','票据变现收入') THEN amt ELSE 0 END) AS build_out_amt -- 共建支出
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('退经销商货款') THEN amt ELSE 0 END) AS dealer_out_amt -- 经销商退款
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('职工薪酬及福利') THEN amt ELSE 0 END) AS salary_out_amt -- 薪酬及福利
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('税费') THEN amt ELSE 0 END) AS tax_out_amt -- 税金缴纳
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('其它管理费用','财务手续费用','研发费用') THEN amt ELSE 0 END) AS manage_out_amt -- 管理费用/研发费用
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('土地支出') THEN amt ELSE 0 END) AS land_out_amt -- 土地支出
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('土建支出') THEN amt ELSE 0 END) AS land_build_out_amt -- 土建支出
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('设备支出','维修支出') THEN amt ELSE 0 END) AS repair_out_amt -- 设备及维修支出
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('偿还贷款') THEN amt ELSE 0 END) AS repay_out_amt -- 归还贷款
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('利息支出') THEN amt ELSE 0 END) AS interest_out_amt -- 利息支出
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('分配股利') THEN amt ELSE 0 END) AS dividend_out_amt -- 分配股利
,SUM(CASE WHEN trade_direction = '支出' AND plan_item_name in('退保证金','对外捐赠','支付其他代收代付','其他(含未确认支出)','票据变现支出') THEN amt ELSE 0 END)
+ -1 * SUM(CASE WHEN trade_direction = '收入' AND plan_item_name in('票据变现收入') THEN amt ELSE 0 END )
AS other_out_amt -- 其他(捐赠等)
-- todo:期末余额
FROM dm.dm_fim_fud_indicator fp
where fp.trade_direction IN('收入','支出')
and fp.indi_type='执行'
AND fp.plan_item_name NOT IN ('内部调拨支出','内部调拨收入')
and EXISTS (
SELECT
1
FROM
dm.dm_bi_user_permisson
WHERE
bi_user = '${fine_username}'
AND per_model IN ('all','fim')
AND (
is_all = 1
OR per_code = fp.corp_code
)
)
AND stat_date >= date '2023-01-01'
GROUP BY stat_date
),amt_base_class AS
(
-- 为方便计算同环比方便,使用扩展方式,而不是计算所有指标
-- 收入
SELECT
stat_date
,'收入' AS fee_class
,'成品酒销售回款' AS fee_type
,finished_in_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'收入' AS fee_class
,'散酒销售回款' as fee_type
,loose_in_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'收入' AS fee_class
,'红包款/转货款/保证金/共建' as fee_type
,redpkg_in_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'收入' AS fee_clas
,'政府补助' as fee_type
,compen_in_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'收入' AS fee_class
,'其他零星收款' as fee_type
,other_in_amt AS amt
FROM amt_base
UNION ALL
-- 支出
SELECT
stat_date
,'支出' AS fee_class
,'原辅低耗材料' as fee_type
,low_mater_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'外购散酒' as fee_type
,loose_liquor_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'外购包材/外协加工' as fee_type
,outsourced_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'制造费用/能源费用' as fee_type
,make_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'广告/市场活动/庄园采购/储运' as fee_type
,ad_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'共建支出' as fee_type
,build_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'经销商退款' as fee_type
,dealer_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'薪酬及福利' as fee_type
,salary_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'税金缴纳' as fee_type
,tax_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'管理费用/研发费用' as fee_type
,manage_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'土地支出' as fee_type
,land_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'土建支出' as fee_type
,land_build_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'设备及维修支出' as fee_type
,repair_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'归还贷款' as fee_type
,repay_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'利息支出' as fee_type
,interest_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'分配股利' as fee_type
,dividend_out_amt AS amt
FROM amt_base
UNION ALL
SELECT
stat_date
,'支出' AS fee_class
,'其他(捐赠等)' as fee_type
,other_out_amt AS amt
FROM amt_base
)
SELECT
fee_class
,fee_type
,SUM(CASE WHEN to_char(stat_date,'yyyy-MM-dd') = '${FORMAT(today(),"yyyy-MM-dd")}'
THEN amt ELSE 0 END) / 10000 AS today_amt -- 本日
,SUM(CASE WHEN to_char(stat_date,'yyyy-MM') = '${FORMAT(today(),"yyyy-MM")}'
THEN amt ELSE 0 END) / 10000 AS month_amt -- 本月累计
,SUM(CASE WHEN to_char(stat_date,'yyyy') = '${FORMAT(today(),"yyyy")}'
THEN amt ELSE 0 END) / 10000 AS year_amt -- 本年累计
,SUM(CASE WHEN to_char(stat_date,'yyyy') = '${FORMAT(YEARDELTA(today(),-1),"yyyy")}'
THEN amt ELSE 0 END) / 10000 AS last_year_amt -- 去年同期累计
FROM amt_base_class
GROUP BY fee_type,fee_class
ORDER BY
decode(fee_type
,'成品酒销售回款','a'
,'散酒销售回款','b'
,'红包款/转货款/保证金/共建','c'
,'银行融资','d'
,'政府补助','e'
,'其他零星收款','f'
,'原辅低耗材料','g'
,'外购散酒','h'
,'外购包材/外协加工','i'
,'制造费用/能源费用','j'
,'广告/市场活动/庄园采购/储运','k'
,'共建支出','l'
,'经销商退款','m'
,'薪酬及福利','n'
,'税金缴纳','o'
,'管理费用/研发费用','p'
,'土地支出','q'
,'土建支出','r'
,'设备及维修支出','m'
,'归还贷款','n'
,'利息支出','o'
,'分配股利','v'
,'其他(捐赠等)','w'
)
-- 期末余额

View File

@ -0,0 +1,96 @@
--
select
t1.deal_code as deal_code -- 经销商编码
,t1.team_name AS deal_name
,dmd.fist_dept_code as bu_code -- 事业部编码
,dmd.fist_dept_name as bu_name -- 事业部
,dmd.secd_dept_code as region_code -- 大区编码
,dmd.secd_dept_name as region_name -- 大区
,dmd.thrd_dept_code as office_code -- 办事处编码
,dmd.thrd_dept_name as office_name -- 办事处
,dmd.dept_code as city_unit_code -- 城市单元编码
,dmd.dept_name as city_unit_name -- 城市单元
,count(distinct t1.team_code) as session_num -- 场次
,SUM(t2.num) AS num -- 人数
,SUM(t1.budget_amt) AS budget_amt -- 预算费用
,SUM(t1.visit_fee) AS visit_fee -- 参观费用
,SUM(t1.exp_fee) AS speak_fee -- 解说费用
from dwi.dwi_mak_estmate_apply t1
LEFT JOIN
(
SELECT
team_code
,COUNT(*) AS num
FROM dwi.dwi_mak_estmate_guest
GROUP by team_code
)t2
ON t1.team_code = t2.team_code
left join dwr.dim_department d
on t1.dept_code=d.dept_code
left join
(
select deal_code,bu_code,max(city_unit_code) as city_unit_code
from dwr.dim_dealer_administer
where enabled_status=1
group by deal_code, bu_code
) dda
on t1.deal_code=dda.deal_code
and if(d.fist_dept_code in('0202/0215','0202/0216'),'0202/0226',d.fist_dept_code)=dda.bu_code
left join dwr.dim_department dmd on nvl(dda.city_unit_code,d.dept_code)=dmd.dept_code
where team_type='庄园之旅'
and bill_status='已审核'
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 = dmd.fist_dept_code
OR per_code = dmd.secd_dept_code
OR per_code = dmd.thrd_dept_code
OR per_code = dmd.dept_code
)
)
${if(len(sBu) == 0,"","and dmd.fist_dept_code IN ('"+sBu+"')")}
${if(len(sRegion) == 0,"","and dmd.secd_dept_code IN ('"+sRegion+"')")}
${if(len(sOffice) == 0,"","and dmd.thrd_dept_code IN ('"+sOffice+"')")}
${if(len(sCu) == 0,"","and dmd.dept_code IN ('"+sCu+"')")}
${IF(sDeal='',"","AND t1.deal_code IN ('"+sDeal+"')")}
and trip_end_date <= date '${sEnd_date}'
GROUP BY t1.deal_code, t1.team_name, dmd.fist_dept_code, dmd.fist_dept_name, dmd.secd_dept_code, dmd.secd_dept_name, dmd.thrd_dept_code, dmd.thrd_dept_name, dmd.dept_code, dmd.dept_name
SELECT
t1.team_code AS team_code -- 团队id
,COUNT ( * ) AS num
FROM dwi.dwi_mak_estmate_guest t1
INNER JOIN dwi.dwi_mak_estmate_apply t2 ON t1.team_code = t2.team_code AND t2.bill_status = '已审核'
LEFT JOIN dwr.dim_department d ON t2.dept_code = d.dept_code
LEFT JOIN (
SELECT
deal_code,
bu_code,
MAX ( city_unit_code ) AS city_unit_code
FROM
dwr.dim_dealer_administer
WHERE
enabled_status = 1
GROUP BY
deal_code,
bu_code ) dda ON t2.deal_code = dda.deal_code AND IF( d.fist_dept_code IN ( '0202/0215', '0202/0216' ), '0202/0226', d.fist_dept_code ) = dda.bu_code
LEFT JOIN dwr.dim_department dmd ON nvl ( dda.city_unit_code, d.dept_code ) = dmd.dept_code
WHERE
t2.team_type = '庄园之旅'
AND t2.bill_status = '已审核'
${IF(LEN(sCu) = 0,"","AND dmd.dept_code IN ('"+sCu+"')")}
${IF(LEN(sStart_date) = 0,"","AND t2.trip_start_date >= '"+sStart_date+"'")}
${IF(LEN(sEnd_date) = 0,"","AND t2.trip_start_date <= '"+sEnd_date+"'")}

File diff suppressed because it is too large Load Diff