68 lines
3.7 KiB
Transact-SQL
68 lines
3.7 KiB
Transact-SQL
-- ==========================================
|
|
-- 작업일자: YYYY-MM-DD [쿼리 작성 및 실행 날짜를 기록합니다.]
|
|
-- 작 성 자: [실행자 이름을 기록합니다.]
|
|
-- 작업목적: [회계년도에 대한 원가, 판관비 전표를 조회하여 다량의 자료를 엑셀파일로 제공합니다.]
|
|
-- 요청자/티켓번호: [회계부서의 요청에 따라 제공합니다.]
|
|
-- ==========================================
|
|
|
|
declare @fr_date char(8), @to_date char(8)
|
|
|
|
-- [0] 변경할 데이터 설정
|
|
select @fr_date = '20240101', @to_date = '20241231'
|
|
|
|
-- [1] 해당 기간의 경비와 판관비 전표 내역을 조회
|
|
select
|
|
a.apvdate, a.apvnum, a.apvseq, a.dtcode, dtname=(select dept_nm from HRM.dbo.hr_dept where dept_cd = a.dtcode), a.acntcode
|
|
, acntname = (select replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2024' and substring(a.acntcode, 1, 5)+'00' = acntcode)
|
|
, acntname = (select replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2024' and a.acntcode = acntcode)
|
|
, a.apvdramt, a.apvcramt
|
|
, replace(a. slpfree, '"',''), a.pjtno
|
|
, pjtname=(select pjt_name from HPOIMS.dbo.ys_project where a.pjtno = pjt_no)
|
|
, a.vendorcd, venname=(select replace(ven_name,'"','') from HPOIMS.dbo.gm_vendor where a.vendorcd = ven_code)
|
|
, case when a.billchk = '1' then '영수증' when a.billchk = '2' then '세금계산서' when a.billchk = '3' then '기타증빙' else '증빙없음' end billchk_nm
|
|
from
|
|
ACC.dbo.t23a10 a
|
|
where
|
|
a.area = '9'
|
|
and a.apvdate between @fr_date and @to_date
|
|
and a.acntcode is not null
|
|
and substring(a.acntcode,1,1) in ('6','9')
|
|
order by
|
|
a.apvdate, a.apvnum, a.apvseq
|
|
|
|
-- [2] 해당 기간의 경비 전표 내역을 조회
|
|
select
|
|
a.apvdate, a.apvnum, a.apvseq, a.dtcode, dtname=(select dept_nm from HRM.dbo.hr_dept where dept_cd = a.dtcode), a.acntcode
|
|
, acntname = (select replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2024' and substring(a.acntcode, 1, 5)+'00' = acntcode)
|
|
, acntname = (select replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2024' and a.acntcode = acntcode)
|
|
, a.apvdramt, a.apvcramt
|
|
, replace(a. slpfree, '"',''), a.pjtno
|
|
, pjtname=(select pjt_name from HPOIMS.dbo.ys_project where a.pjtno = pjt_no)
|
|
, a.vendorcd, venname=(select replace(ven_name,'"','') from HPOIMS.dbo.gm_vendor where a.vendorcd = ven_code)
|
|
, case when a.billchk = '1' then '영수증' when a.billchk = '2' then '세금계산서' when a.billchk = '3' then '기타증빙' else '증빙없음' end billchk_nm
|
|
from
|
|
ACC.dbo.t23a10 a
|
|
where
|
|
a.area = '9'
|
|
and a.apvdate between @fr_date and @to_date
|
|
and a.acntcode is not null
|
|
and a.acntcode like '9%'
|
|
order by
|
|
a.apvdate, a.apvnum, a.apvseq
|
|
|
|
-- [3] 해당 기간의 법인카드 전표 내역을 증빙으로 구분하여 조회
|
|
select
|
|
a.apvdate, a.apvnum, a.apvseq, a.dtcode, dtname=(select dept_nm from HRM.dbo.hr_dept where dept_cd = a.dtcode), a.acntcode
|
|
, acntname = (select replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2024' and substring(a.acntcode, 1, 5)+'00' = acntcode)
|
|
, acntname = (select replace(acntname, ' ', '') from ACC.dbo.t23c10 where c10_yy = '2024' and a.acntcode = acntcode)
|
|
, a.apvdramt, a.apvcramt
|
|
, replace(a. slpfree, '"',''), a.pjtno
|
|
, pjtname=(select pjt_name from HPOIMS.dbo.ys_project where a.pjtno = pjt_no)
|
|
, a.vendorcd, venname=(select replace(ven_name,'"','') from HPOIMS.dbo.gm_vendor where a.vendorcd = ven_code)
|
|
, case when a.billchk = '1' then '영수증' when a.billchk = '2' then '세금계산서' when a.billchk = '3' then '기타증빙' else '증빙없음' end billchk_nm
|
|
from
|
|
ACC.dbo.t23a10 a
|
|
where
|
|
area+apvdate+apvnum in (select area+apvdate+apvnum from ACC.dbo.t23a10 where area = '9' and apvdate between @fr_date and @to_date and acntcode = '2100502' and dr_cr = '2')
|
|
and dr_cr = '1'
|