langjiu-project/FineReport/财务主题/报表/费用/1_1财务凭证下钻.sql

97 lines
3.4 KiB
SQL

WITH corp AS (
SELECT
corp_code -- 公司编码
,corp_name -- 公司名称
FROM dwr.dim_corp
WHERE corp_type = '实体'
AND (parent_corp_code LIKE '02%' OR corp_code = '0301')
${IF(LEN(sCorp)!=0," AND corp_code IN ('"+ sCorp +"')", "")}
)
SELECT
bill_date -- 制单日期
,bill_emp_code -- 制单人工号
,corp_code -- 公司编码
,acnt_book_name -- 主体账簿
,vouch_type -- 凭证类别
,vouch_code -- 凭证号
,acnt_year -- 账期年度
,acnt_mon -- 账期月度
,main_abstract -- 主表摘要
,entry_code -- 分录号
,sub_abstract -- 子表摘要
,subject_code -- 科目编码
,subject_name -- 科目名称
,subject_full_name -- 科目全称
,aux_content -- 辅助核算
,debit_amt / 10000 AS debit_amt -- 借方金额
,credit_amt / 10000 AS credit_amt -- 贷方金额
,src_bill_codes -- 来源单据号
,acnt_date -- 记账日期
FROM dwi.dwi_fim_voucher
where subject_code like '6601%'
and corp_code in(SELECT corp_code FROM corp)
${if(len(sBill)=0," ","AND src_bill_codes = '" + sBill + "'")}
AND acnt_year = LEFT('${sStart_mon}',4)
AND acnt_mon >= RIGHT('${sStart_mon}',2)
AND acnt_mon <= RIGHT('${sEnd_mon}',2)
-- AND acnt_mon <= '${FORMAT(sStart_mon,"MM")}'
-- ${switch(sCalcType
-- ,"m","AND concat(acnt_year,'-',acnt_mon) <= '" + sQueryDate + "' AND concat(acnt_year,'-',acnt_mon) >= '" + sQueryStartDate + "'"
-- ,"y","AND concat(acnt_year,'-',acnt_mon) <= '" + sQueryDate + "' AND concat(acnt_year,'-',acnt_mon) >= '" + sQueryStartDate + "'"
-- )}
-- ${switch(sCalcType
-- ,"m","AND acnt_year = '" + YEAR(sStart_mon) + "' AND acnt_mon = '" + FORMAT(sStart_mon,"MM") + "'"
-- ,"y","AND acnt_year = '" + YEAR(sStart_mon) + "' AND acnt_mon = '" + FORMAT(sStart_mon,"MM") + "'"
-- )}
${nvl(switch(sSubject
,"0000","AND subject_code like '6601%' AND (subject_code not like '660114%'
AND subject_code not like '660127%'
AND subject_code NOT like '660150%'
AND subject_code NOT like '660115%'
AND subject_code NOT like '660117%'
AND subject_code NOT like '660136%'
AND subject_code NOT like '660130%'
AND subject_code NOT like '660125%'
AND subject_code NOT like '660167%'
AND subject_code NOT like '660121%'
AND subject_code NOT like '660164%'
)"
,"660114,660127","AND (subject_code like '660114%' or subject_code like '660127%')")
,"and subject_code like '" + sSubject +"%'")}
-- ======================================
-- 数据更新时间
-- ======================================
SELECT
CONCAT('数据更新日期:',LEFT(MAX(update_time),19)) AS update_time
FROM dwi.dwi_fim_voucher
where subject_code like '6601%'
-- ======================================
-- 查询OA可下钻单据号
-- ======================================
SELECT
a.bill_code -- 单据号
,b.subject_name
FROM dwi.dwi_fim_oa_payment a
LEFT JOIN
(
SELECT
*
FROM dwi.dwi_fim_voucher
)b
on a.bill_code = b.src_bill_codes
where b.src_bill_codes is not NULL
and a.bill_date >= '2024-01-01'
and b.subject_code LIKE '6601%'