-- ==========================================
-- 작업일자: YYYY-MM-DD [쿼리 작성 및 실행 날짜를 기록합니다.]
-- 작 성 자: [실행자 이름을 기록합니다.]
-- 작업목적: [기간에 대한 자금집행내역을 조회하여 다량의 자료를 엑셀파일로 제공합니다.]
-- 요청자/티켓번호: [회계부서의 요청에 따라 제공합니다.]
-- 데이타베이스 : MS-SQL
-- ==========================================

declare @fr_date char(8), @to_date char(8)

-- [0] 변경할 데이터 설정
select @fr_date = '20240101', @to_date = '20241231'

-- [1] 해당 기간의 자금집행내역을 조회
select
	a.magam_dt, a.seq, a.pjt_no
	, pjt_name = (select pjt_name from HPOIMS.dbo.ys_project where pjt_no = a.pjt_no)
	, dept_code = isnull(a.costcd, a.dept_cd)
	, dept_name = (select dept_nm from HRM.dbo.hr_dept where dept_cd = isnull(a.costcd, a.dept_cd))
	, a.ven_code
	, ven_name = (select ven_name from HPOIMS.dbo.gm_vendor where a.ven_code = ven_code)
	, a.acntcode
	, acnt_name = (select (select replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2018' and substring(a.acntcode,1,5)+'00' = acntcode) +'-'+ replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2018' and a.acntcode = acntcode)
	, a.contents
	, slpamt = (case when a.money_type = '0' then a.slpamt else 0 end)
	, vatamt = (case when a.money_type = '0' then a.vatamt else 0 end)
	, slpamt2 = (case when a.money_type = '1' then a.slpamt else 0 end)
	, vatamt2 = (case when a.money_type = '1' then a.vatamt else 0 end)
from
	ACC.dbo.t23a14 a
where
	a.magam_dt between @fr_date and @to_date
order by
	a.magam_dt, a.seq 
