Files
hallasanup/쿼리/Template/매일확인하기.sql
2026-06-23 17:45:48 +09:00

1014 lines
27 KiB
SQL

-- ==========================================
-- 작업일자: YYYY-MM-DD [쿼리 작성 및 실행 날짜를 기록합니다.]
-- 작 성 자: [실행자 이름을 기록합니다.]
-- 작업목적: [주기적으로 실행하여 아이체크로 이상데이타 확인하며 필요시 실무자와 확인 후 수정을 별도 진행합니다.]
-- 요청자/티켓번호: [별도 요청은 없으며, 이상자료에 대한 분석에 대한 조치는 실무자와 협의 후 수정하거나 수정하지 않고 확인만 진행합니다.]
-- 데이타베이스 : MS-SQL
-- ==========================================
-- 실행예산의 소요예산과 구매청구서 금액 + 직접비 금액이 다른 것 조회하기
select
a.*
, a.x_amt*a.base_rate + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0) x_amt
, (b.soyo_amt+b.input_amt)
, a.x_amt*a.base_rate + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0) - (b.soyo_amt+b.input_amt)
from
HPOIMS.dbo.ys_pbudget a
join
(
select
*
from
(
select
a.pjt_no, a.main, a.sub, a.bud_seq
, sum(a.bud_amt) bud_amt
, sum(a.bud_x_amt) bud_x_amt
, sum(a.bud_e_amt) bud_e_amt
, sum(a.soyo_amt) soyo_amt
, sum(a.input_amt) input_amt
from
(
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ISNULL(a.closing_yn,'N')
, bud_amt = round(ISNULL(a.amt*a.base_rate,0),0)
, bud_x_amt = round(ISNULL(a.x_amt*a.base_rate,0),0)
, bud_e_amt = round(ISNULL(a.e_amt*a.base_rate,0),0)
, soyo_amt = 0
, input_amt = 0
FROM
HPOIMS.dbo.ys_pbudget a
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
-- , soyo_amt = SUM(ISNULL(a.amt,0)*ISNULL(b.base_rate,1) + CASE WHEN b.fob IS NULL THEN 0 ELSE FLOOR(ISNULL(a.amt,0)*ISNULL(b.fob,1)*b.base_rate) END)
, soyo_amt = SUM(ISNULL(a.w_amt,0))
, input_amt = 0
FROM
HPOIMS.dbo.gm_por_detail a
left outer join
HPOIMS.dbo.ys_project_rate b
on
a.pjt_no = b.pjt_no and a.curr = b.curr
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
, soyo_amt = 0
-- , input_amt = SUM(ISNULL(a.amt,0)*ISNULL(b.base_rate,1) + CASE WHEN b.fob IS NULL THEN 0 ELSE FLOOR(ISNULL(a.amt,0)*ISNULL(b.fob,1)*b.base_rate) END)
, input_amt = SUM(ISNULL(a.amt,0))
FROM
HPOIMS.dbo.ys_direct_cost a
left outer join
HPOIMS.dbo.ys_project_rate b
on
a.pjt_no = b.pjt_no and a.curr = b.curr
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
-- where
-- (a.bud_x_amt*a.base_rate) <> (a.soyo_amt+a.input_amt)
) b
on
a.pjt_no = b.pjt_no
and a.main = b.main
and a.sub = b.sub
and a.bud_seq = b.bud_seq
and a.pjt_no like '%'
and a.main <> 'AB00'
and a.curr = 'WON'
and ROUND(isnull(a.x_amt,0)*a.base_rate,0) <> (b.soyo_amt+b.input_amt)
-- and a.x_amt*a.base_rate + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0)
-- <>
-- (b.soyo_amt+b.input_amt)
-- and abs((a.x_amt*a.base_rate) - (b.soyo_amt+b.input_amt)) > 1
-- and a.item_name = 'ManDay 지원비'
-- 외자인 경우 체크
select
a.*
, round(a.x_amt*a.base_rate,-1) + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0) x_amt
, (b.soyo_amt+b.input_amt)
, a.x_amt*a.base_rate + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0) - (b.soyo_amt+b.input_amt)
from
HPOIMS.dbo.ys_pbudget a
join
(
select
*
from
(
select
a.pjt_no, a.main, a.sub, a.bud_seq
, sum(a.bud_amt) bud_amt
, sum(a.bud_x_amt) bud_x_amt
, sum(a.bud_e_amt) bud_e_amt
, sum(a.soyo_amt) soyo_amt
, sum(a.input_amt) input_amt
from
(
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ISNULL(a.closing_yn,'N')
, bud_amt = round(ISNULL(a.amt*a.base_rate,0),0)
, bud_x_amt = round(ISNULL(a.x_amt*a.base_rate,0),0)
, bud_e_amt = round(ISNULL(a.e_amt*a.base_rate,0),0)
, soyo_amt = 0
, input_amt = 0
FROM
HPOIMS.dbo.ys_pbudget a
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
-- , soyo_amt = SUM(ISNULL(a.amt,0)*ISNULL(b.base_rate,1) + CASE WHEN b.fob IS NULL THEN 0 ELSE FLOOR(ISNULL(a.amt,0)*ISNULL(b.fob,1)*b.base_rate) END)
, soyo_amt = SUM(ISNULL(a.w_amt,0))
, input_amt = 0
FROM
HPOIMS.dbo.gm_por_detail a
left outer join
HPOIMS.dbo.ys_project_rate b
on
a.pjt_no = b.pjt_no and a.curr = b.curr
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
, soyo_amt = 0
-- , input_amt = SUM(ISNULL(a.amt,0)*ISNULL(b.base_rate,1) + CASE WHEN b.fob IS NULL THEN 0 ELSE FLOOR(ISNULL(a.amt,0)*ISNULL(b.fob,1)*b.base_rate) END)
, input_amt = SUM(ISNULL(a.amt,0))
FROM
HPOIMS.dbo.ys_direct_cost a
left outer join
HPOIMS.dbo.ys_project_rate b
on
a.pjt_no = b.pjt_no and a.curr = b.curr
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
-- where
-- (a.bud_x_amt*a.base_rate) <> (a.soyo_amt+a.input_amt)
) b
on
a.pjt_no = b.pjt_no
and a.main = b.main
and a.sub = b.sub
and a.bud_seq = b.bud_seq
and a.pjt_no like 'V%'
and a.main <> 'AB00'
-- and a.curr = 'WON'
-- and a.x_amt*a.base_rate + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0)
-- <>
-- (b.soyo_amt+b.input_amt)
and round(a.x_amt*a.base_rate, -1) + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0) <> (b.soyo_amt+b.input_amt)
and abs(a.x_amt*a.base_rate + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0) - (b.soyo_amt+b.input_amt)) > 1
-- and a.item_name = 'ManDay 지원비'
/*
-- 실행예산 소요예산 = 구매청구서 금액 + 직접비 금액 비교하여 다른 것 업데이트 하기
begin tran
update
HPOIMS.dbo.ys_pbudget
set
x_amt = (b.soyo_amt+b.input_amt)
from
HPOIMS.dbo.ys_pbudget a
join
(
select
*
from
(
select
a.pjt_no, a.main, a.sub, a.bud_seq
, sum(a.bud_amt) bud_amt
, sum(a.bud_x_amt) bud_x_amt
, sum(a.bud_e_amt) bud_e_amt
, sum(a.soyo_amt) soyo_amt
, sum(a.input_amt ) input_amt
from
(
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ISNULL(a.closing_yn,'N')
, bud_amt = ISNULL(a.amt,0)
, bud_x_amt = ISNULL(a.x_amt,0)
, bud_e_amt = ISNULL(a.e_amt,0)
, soyo_amt = 0
, input_amt = 0
FROM
HPOIMS.dbo.ys_pbudget a
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
, soyo_amt = SUM(ISNULL(a.w_amt,0))
, input_amt = 0
FROM
HPOIMS.dbo.gm_por_detail a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
, soyo_amt = 0
, input_amt = SUM(ISNULL(a.amt,0))
FROM
HPOIMS.dbo.ys_direct_cost a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
where
a.bud_x_amt <> (a.soyo_amt+a.input_amt)
) b
on
a.pjt_no = b.pjt_no
and a.main = b.main
and a.sub = b.sub
and a.bud_seq = b.bud_seq
and a.pjt_no like '%'
and a.main <> 'AB00'
and a.curr = 'WON'
and ROUND(isnull(a.x_amt,0)*a.base_rate,0) <> (b.soyo_amt+b.input_amt)
commit tran
rollback tran
begin tran
update
HPOIMS.dbo.ys_pbudget
set
x_amt = (b.soyo_amt+b.input_amt)
from
HPOIMS.dbo.ys_pbudget a
join
(
select
*
from
(
select
a.pjt_no, a.main, a.sub, a.bud_seq
, sum(a.bud_amt) bud_amt
, sum(a.bud_x_amt) bud_x_amt
, sum(a.bud_e_amt) bud_e_amt
, sum(a.soyo_amt) soyo_amt
, sum(a.input_amt ) input_amt
from
(
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ISNULL(a.closing_yn,'N')
, bud_amt = ISNULL(a.amt,0)
, bud_x_amt = ISNULL(a.x_amt,0)
, bud_e_amt = ISNULL(a.e_amt,0)
, soyo_amt = 0
, input_amt = 0
FROM
HPOIMS.dbo.ys_pbudget a
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
, soyo_amt = SUM(ISNULL(a.w_amt,0))
, input_amt = 0
FROM
HPOIMS.dbo.gm_por_detail a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
UNION ALL
SELECT
pjt_no = a.pjt_no
, main = a.main
, sub = a.sub
, bud_seq = a.bud_seq
, closing_yn = ''
, bud_amt = 0
, bud_x_amt = 0
, bud_e_amt = 0
, soyo_amt = 0
, input_amt = SUM(ISNULL(a.amt,0))
FROM
HPOIMS.dbo.ys_direct_cost a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
GROUP BY
a.pjt_no, a.main, a.sub, a.bud_seq
) a
-- where
-- a.bud_x_amt <> (a.soyo_amt+a.input_amt)
) b
on
a.pjt_no = b.pjt_no
and a.main = b.main
and a.sub = b.sub
and a.bud_seq = b.bud_seq
and a.pjt_no like '%'
and a.main <> 'AB00'
and a.curr = 'WON'
and ROUND(isnull(a.x_amt,0)*a.base_rate,0) <> (b.soyo_amt+b.input_amt)
-- and a.pjt_no like 'B%'
and ROUND(a.x_amt*a.base_rate,0) <> (b.soyo_amt+b.input_amt)
-- and a.x_amt*a.base_rate + round(((a.x_amt*a.base_rate) * isnull((select fob from HPOIMS.dbo.ys_project_rate where pjt_no = a.pjt_no and curr = a.curr),0)),0)
-- <>
-- (b.soyo_amt+b.input_amt)
rollback tran
*/
-- 경상비 통제금액과 부서예산항목의 통제금액이 다른 것들 조회하기
select
*
from
(
select
a.dept_cd, a.year, a.month, a.main_cd, a.sub_cd, isnull(a.budget_use,0) budget_use, isnull(b.amt,0) amt
from
HPOIMS.dbo.ks_budget a
left outer join
(
select
dept_cd, year, month, main_cd, sub_cd, sum(amt) amt
from
HPOIMS.dbo.ks_indirect_cost
where
ctr_yn = 'Y'
group by
dept_cd, year, month, main_cd, sub_cd
) b
on
a.dept_cd = b.dept_cd
and a.year = b.year
and a.month = b.month
and a.main_cd = b.main_cd
and a.sub_cd = b.sub_cd
) a
where
a.budget_use <> a.amt
and a.year >= '2024'
/*
-- 경상비 통제금액과 부서예산항목의 통제금액이 다른 것들 수정하기
update
HPOIMS.dbo.ks_budget
set
budget_use = b.amt
from
HPOIMS.dbo.ks_budget a
join
(
select
a.*
from
(
select
a.dept_cd, a.year, a.month, a.main_cd, a.sub_cd, isnull(a.budget_use,0) budget_use , isnull(b.amt,0) amt
from
HPOIMS.dbo.ks_budget a
left outer join
(
select
dept_cd, year, month, main_cd, sub_cd, sum(amt) amt
from
HPOIMS.dbo.ks_indirect_cost
where
ctr_yn = 'Y'
group by
dept_cd, year, month, main_cd, sub_cd
) b
on
a.dept_cd = b.dept_cd
and a.year = b.year
and a.month = b.month
and a.main_cd = b.main_cd
and a.sub_cd = b.sub_cd
) a
where
a.budget_use <> a.amt
) b
on
a.dept_cd = b.dept_cd
and a.year = b.year
and a.month = b.month
and a.main_cd = b.main_cd
and a.sub_cd = b.sub_cd
and a.year >= '2024'
*/
-- 직접비 예산에 있으나 전표와 일치 하지 않는 것
select
a.*, b.*
from
HPOIMS.dbo.ys_direct_cost a
left outer join
ACC.dbo.t23b10 b
on
b.slpdate>'20220101' and a.pjt_no = b.ys_pjtno and a.main = b.ys_main and a.sub = b.ys_sub and a.bud_seq = b.ys_bud_seq and a.ctr_seq = b.ys_ctr_seq
where
a.bill_date > '20220101'
and a.ctr_yn = 'N'
and a.direct_desc not like '%국민연금%'
and a.direct_desc not like '%고용보험%'
and a.direct_desc not like '%건강보험%'
and a.direct_desc not like '%급여%'
and a.direct_desc not like '%중식대%'
and b.area is null
order by
a.pjt_no, a.ctr_seq
/*
select
a.pjt_no, a.main, a.sub, a.bud_seq, isnull(a.x_amt,0) , b.amt
from
HPOIMS.dbo.ys_pbudget a
join
(
select a.pjt_no, a.main, a.sub, a.bud_seq, sum(amt) amt from HPOIMS.dbo.ys_direct_cost a where a.pjt_no like 'H%' or a.pjt_no like 'X%' group by a.pjt_no, a.main, a.sub, a.bud_seq
)b
on
a.pjt_no = b.pjt_no and a.main = b.main and a.sub = b.sub and a.bud_seq = b.bud_seq
where
(a.pjt_no like 'H%' or a.pjt_no like 'X%')
and isnull(a.x_amt,0) <> b.amt
update
a
set
x_amt = b.amt
from
HPOIMS.dbo.ys_pbudget a
join
(
select a.pjt_no, a.main, a.sub, a.bud_seq, sum(amt) amt from HPOIMS.dbo.ys_direct_cost a where a.pjt_no like 'H%' or a.pjt_no like 'X%' group by a.pjt_no, a.main, a.sub, a.bud_seq
)b
on
a.pjt_no = b.pjt_no and a.main = b.main and a.sub = b.sub and a.bud_seq = b.bud_seq
where
(a.pjt_no like 'H%' or a.pjt_no like 'X%')
and isnull(a.x_amt,0) <> b.amt
*/
-- 경상비 예산과 전표가 일치 하지 않는 것
select
a.*, b.*
from
HPOIMS.dbo.ks_indirect_cost a
left outer join
ACC.dbo.t23b10 b
on
b.slpdate>'20190101' and a.dept_cd = b.ys_dept_cd and a.main_cd = b.ys_main and a.sub_cd = b.ys_sub and a.ctr_seq = b.ys_ctr_seq
where
a.billdate > '20190101'
and a.ctr_yn = 'N'
and a.indirect_desc not like '%국민연금%'
and a.indirect_desc not like '%고용보험%'
and a.indirect_desc not like '%건강보험%'
and a.indirect_desc not like '%급여%'
and a.indirect_desc not like '%중식대%'
and b.area is null
order by
a.dept_cd, a.ctr_seq
-- >> 경상비에서 부서코드 없이 입력되어 있는 자료
select '경상비에서 부서코드 없이', * from HPOIMS.dbo.ks_indirect_cost where dept_cd = '' and year > '2019'
select
'수주가와 수주상세금액 차이', a.pjt_no, a.suju_amt, b.w_amt
from
HPOIMS.dbo.ys_project a
join
(
select
pjt_no, sum(w_amt) w_amt
from
HPOIMS.dbo.ys_project_rev
where
pjt_no like 'V%' -- and approval_yn = 'Y'
group by
pjt_no
) b
on
a.pjt_no = b.pjt_no
where
a.pjt_no like 'V%'
and a.suju_amt <> b.w_amt
/*
update
a
set
suju_amt = b.w_amt
from
HPOIMS.dbo.ys_project a
join
(
select
pjt_no, sum(w_amt) w_amt
from
HPOIMS.dbo.ys_project_rev
where
pjt_no like 'V%' -- and approval_yn = 'Y'
group by
pjt_no
) b
on
a.pjt_no = b.pjt_no
where
a.pjt_no like 'V%'
and a.suju_amt <> b.w_amt
*/
-- 실행예산과 PM추가예상 금액 다른 것
select
'실행예산과 PM추가예상 금액 다른 것', a.*, c.*
from
(
select
a.pjt_no, a.main, a.sub, a.bud_seq, sum(a.amt) amt, sum(a.amt*a.base_rate + a.amt*isnull(b.fob,0)) w_amt
from
HPOIMS.dbo.ys_ebudget a
left outer join
HPOIMS.dbo.ys_project_rate b
on
a.pjt_no = b.pjt_no and a.curr = b.curr
group by
a.pjt_no, a.main, a.sub, a.bud_seq
) a
right outer join
HPOIMS.dbo.ys_pbudget c
on
a.pjt_no = c.pjt_no and a.main = c.main and a.sub = c.sub and a.bud_seq = c.bud_seq
where
isnull(a.amt,0) <> isnull(c.e_amt,0)
/*
update
a
set
e_amt = isnull(b.amt,0)
from
HPOIMS.dbo.ys_pbudget a
left outer join
(
select
a.pjt_no, a.main, a.sub, a.bud_seq, sum(a.amt) amt, sum(a.amt*a.base_rate + a.amt*isnull(b.fob,0)) w_amt
from
HPOIMS.dbo.ys_ebudget a
left outer join
HPOIMS.dbo.ys_project_rate b
on
a.pjt_no = b.pjt_no and a.curr = b.curr
group by
a.pjt_no, a.main, a.sub, a.bud_seq
) b
on
a.pjt_no = b.pjt_no and a.main = b.main and a.sub = b.sub and a.bud_seq = b.bud_seq
where
isnull(a.e_amt,0) <> isnull(b.amt,0)
*/
-- 구매 청구수량과 구매 발주 수량이 다른 것
select
'구매 청구수량과 구매 발주 수량이 다른 것', a.por_no, a.por_seq, a.pjt_no, a.main, a.sub, a.bud_seq, a.item_name, a.qty, a.w_amt, b.qty, b.w_amt, (select emp from HPOIMS.dbo.gm_poim where poim = c.poim) emp_id
from
HPOIMS.dbo.gm_por_detail a
join
(
select
por_no, por_seq, sum(qty) qty, sum(w_amt) w_amt
from
HPOIMS.dbo.gm_po_detail
where
isnull(u_stat, '') <> 'D'
group by
por_no, por_seq
) b
on
a.por_no = b.por_no
and a.por_seq = b.por_seq
join
(
select distinct b.por_no, b.por_seq, a.poim from HPOIMS.dbo.gm_po a join HPOIMS.dbo.gm_po_detail b on a.po_no = b.po_no
) c
on
a.por_no = c.por_no
and a.por_seq = c.por_seq
where
a.pjt_no like 'V%'
and a.pjt_no in (select pjt_no from HPOIMS.dbo.ys_project where closing_yn = 'N' and pjt_no like 'V%')
and a.qty < b.qty
-- and a.qty <> b.qty
order by
a.por_no
-- 실행예산의 추가변경금액과 추가변경예산의 금액이 다른 것
select
'추가변경예산 차이발생', b.*, a.item_name, a.amt, a.m_amt, a.c_amt, a.curr, a.base_rate
from
HPOIMS.dbo.ys_pbudget a
left outer join
(
select
a.pjt_no, a.main, a.sub, a.bud_seq, sum(a.amt) amt
from
HPOIMS.dbo.ys_cbudget a
group by
a.pjt_no, a.main, a.sub, a.bud_seq
) b
on
a.pjt_no = b.pjt_no and a.main = b.main and a.sub = b.sub and a.bud_seq = b.bud_seq
where
isnull(a.c_amt,0) <> isnull(b.amt,0)
and a.pjt_no like 'V%'
-- and a.curr = 'WON'
/*
begin tran
update
a
set
c_amt = isnull(b.amt,0)
from
HPOIMS.dbo.ys_pbudget a
left outer join
(
select
a.pjt_no, a.main, a.sub, a.bud_seq, sum(a.amt) amt
from
HPOIMS.dbo.ys_cbudget a
group by
a.pjt_no, a.main, a.sub, a.bud_seq
) b
on
a.pjt_no = b.pjt_no and a.main = b.main and a.sub = b.sub and a.bud_seq = b.bud_seq
where
isnull(a.c_amt,0) <> isnull(b.amt,0)
and a.pjt_no like 'V%'
-- and a.curr = 'WON'
commit
*/
-- 실행예산에서 실행금액 <> 초기편성예산 + 추가변경예산
select
'실행금액 <> 초기편성예산 + 추가변경예산', a.*
from
HPOIMS.dbo.ys_pbudget a
where
isnull(a.m_amt,0) + isnull(a.c_amt,0) <> isnull(a.amt,0)
and a.pjt_no like 'V%'
/*
update
a
set
amt = isnull(a.m_amt,0) + isnull(a.c_amt,0)
from
HPOIMS.dbo.ys_pbudget a
where
isnull(a.m_amt,0) + isnull(a.c_amt,0) <> isnull(a.amt,0)
and a.pjt_no like 'V%'
*/
-- 실행금액을 초과한 소요예산
select
'실행금액을 초과한 소요예산'
, a.pjt_no, pjt_name = (select pjt_name from HPOIMS.dbo.ys_project where a.pjt_no = pjt_no)
, a.main, a.sub, a.bud_seq, a.item_name, a.amt, a.x_amt, a.curr, a.base_rate
from
HPOIMS.dbo.ys_pbudget a
join
HPOIMS.dbo.ys_project b
on
a.pjt_no = b.pjt_no
and b.closing_yn = 'N'
where
a.pjt_no like 'V%'
and isnull(abs(a.amt),0) < isnull(abs(a.x_amt),0)
and a.item_name not like '%원가안분%'
/*
*/
-- 구매발주서에 프로젝트가 없는 것
select '구매발주서에 프로젝트가 없는 것', * from HPOIMS.dbo.gm_po where pjt_no = ''
-- 미지급금(공익) 체크하기
select
'미지급금(공익)' gubun, a.apvdate, a.apvnum, a.apvseq, sum(a.amt) jigub_amt, max(b.apvcramt), (max(b.apvcramt) - sum(a.amt))
from
ACC.dbo.t23a11 a
join
ACC.dbo.t23a10 b
on
b.area = '9' and a.apvdate = b.apvdate and a.apvnum = b.apvnum and a.apvseq = b.apvseq
group by
a.apvdate, a.apvnum, a.apvseq
having
(max(b.apvcramt) - sum(a.amt)) < 0
/*
select * from ACC.dbo.t23a11 where apvdate = '20180101' and apvnum = '000001' and apvseq = '000002'
*/
-- 매출부가세 검토하기
select
'매출부가세' gubun, sum(apvcramt) - sum(apvdramt) - ISNULL((select item31 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)), 0)
, sum(apvcramt) - sum(apvdramt)
from
ACC.dbo.t23a10
where
area = '9' and apvdate >= '20220101' and acntcode like '21016%' and magam_yn = 'Y'
having
sum(apvcramt) - sum(apvdramt) - (select item31 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)) <> 0
-- 매입부가세 검토하기
select
'매입부가세' gubun, sum(apvdramt) - sum(apvcramt) - ISNULL((select item32 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)), 0)
, sum(apvdramt) - sum(apvcramt)
from
ACC.dbo.t23a10
where
area = '9' and apvdate >= '20220101' and acntcode like '11311%' and magam_yn = 'Y'
having
sum(apvdramt) - sum(apvcramt) - (select item32 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)) <> 0
-- 매출 검토하기
--select
-- '매출' gubun, isnull(sum(billamt),0) - ISNULL((select item26 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)), 0)
--from
-- ACC.dbo.t23e10 where billdate >= '20190101' and approve_yn = 'O' and gbn in ('1', '2') and magam_yn = 'Y' -- 공사기성, 위탁기성만 포함(원가안분, 수주분담, 기타 미수금은 미포함 한다.)
--having
-- isnull(sum(billamt),0) - (select item26 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)) <> 0
-- 수금 검토하기
--select
-- '수금' gubun, isnull(sum(a.billamt),0) - ISNULL((select item27 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)), 0)
--from
-- ACC.dbo.t23e13 a
--join
-- ACC.dbo.t23e10 b
--on
-- a.billdate = b.billdate
-- and a.seq = b.seq
--where
-- a.collectdate >= '20190101'
-- and a.billdate >= '20190101'
-- and b.gbn in ('1', '2') -- 공사기성, 위탁기성만 포함(원가안분, 수주분담, 기타 미수금은 미포함 한다.)
--having
-- isnull(sum(a.billamt),0) - (select item27 from ACC.dbo.t23a13 where magam_dt = convert(char(8), getdate(), 112)) <> 0
-- 수주통보서 최종납기일 없는 것
select
'수주통보서 최종납기일 없는 것' gbn, a.pjt_no, a.delv_date, b.delv_date
from
HPOIMS.dbo.ys_project a
join
(
select
pjt_no, delv_date
from
HPOIMS.dbo.ys_project_rev
where pjt_no+cast(rev_no as varchar(10)) in (select pjt_no + cast(max(rev_no) as varchar(10)) from HPOIMS.dbo.ys_project_rev where approval_yn = 'Y' group by pjt_no)
) b
on
a.pjt_no = b.pjt_no
where
a.delv_date = '1900-01-01'
-- 인트라넷 결재상태와 미소 결재상태 비교하기
-- 인트라넷 결재상태 확인해 볼 것
SELECT * FROM OPENQUERY ([MYSQL], 'SELECT DocSN, FORMNUM, RT_SanctionState FROM sanctiondoc_tbl WHERE formnum like ''HLF-2%'' and RT_SanctionState = '''' ') mysql
SELECT * FROM OPENQUERY ([MYSQL], 'SELECT * FROM sanctiondoc_tbl WHERE DocSN LIKE ''2026-%'' and RT_SanctionState LIKE ''%FINISH%'' AND PG_Date IS NULL AND FormNum LIKE ''HLF-2%'' ') mysql
SELECT * FROM OPENQUERY ([MYSQL], 'SELECT DocSN, FORMNUM, RT_SanctionState FROM sanctiondoc_tbl WHERE formnum like ''HLF-1%'' and rg_date > ''2019-01-01''and RT_SanctionState = '''' ') mysql
SELECT * FROM OPENQUERY ([MYSQL], 'SELECT DocSN, FORMNUM, RT_SanctionState FROM sanctiondoc_tbl WHERE LENGTH(DocSN) < 13 ') mysql
-- SELECT * FROM OPENQUERY ([MYSQL], 'SELECT DocSN, FORMNUM, RT_SanctionState FROM sanctiondoc_tbl WHERE formnum like ''HLF-%'' and RT_SanctionState = '''' ') mysql
-- 매출 지출 계획 관리 지워졌을 경우 복원하기
-- insert
-- HPOIMS.dbo.ys_moneyplan_day
-- (
-- plandate, seq, pjt_no, venname, content, amt1, v_amt1, amt2, v_amt2, amt3, v_amt3, payhow, bigo, input_id, input_dt, update_id, update_dt
-- )
-- select
-- plandate, (select max(seq)+1 from HPOIMS.dbo.ys_moneyplan_day where plandate = HPOIMS.dbo.ys_moneyplan_h.plandate)+row_number() over (order by plandate) seq,
-- pjt_no, venname, content, amt1, v_amt1, amt2, v_amt2, amt3, v_amt3, payhow, bigo, input_id, input_dt, update_id, update_dt
-- from
-- HPOIMS.dbo.ys_moneyplan_h
-- where
-- pjt_no = 'V171T501' and actdate = '20180626' and acttime = '14:14:41' and io_knd = 'IN'
-- POR 감액하기
--select * from HPOIMS.dbo.gm_por_detail where por_no = 'P1809014'
--begin tran
--update HPOIMS.dbo.gm_por_detail set unitp = unitp-11290000, amt = amt-11290000, w_unitp = w_unitp-11290000, w_amt = w_amt-11290000, t_amt = t_amt-11290000 where por_no = 'P1809014'
--commit tran
--rollback tran
-- 인사정보의 이메일이 서로 다른 경우 일치시키기
select
a.emp_id, a.emp_nm, b.E_MAIL, a.emp_email
from
(select * from HRM.dbo.hr_insam where holoff_gb = '01' -- and isnull(rtrim(emp_email),'') = ''
) a
join
(select * from HRM.dbo.HR_PERS_MASTER where isnull(rtrim(E_MAIL),'') <> '') b
on
a.emp_id = b.EMP_NO
where
isnull(rtrim(a.emp_email),'') <> isnull(rtrim(b.E_MAIL),'')
-- and rtrim(a.emp_email) is null
-- and a.emp_id like 'HF%'
/*
update
a
set
emp_email = b.E_MAIL
from
(select * from HRM.dbo.hr_insam where holoff_gb = '01' -- and isnull(rtrim(emp_email),'') = ''
) a
join
(select * from HRM.dbo.HR_PERS_MASTER where isnull(rtrim(E_MAIL),'') <> '') b
on
a.emp_id = b.EMP_NO
where
isnull(rtrim(a.emp_email),'') <> isnull(rtrim(b.E_MAIL),'')
and rtrim(a.emp_email) is null
-- and a.emp_id like 'HM01775%'
begin tran
update
b
set
E_MAIL = a.emp_email
from
(select * from HRM.dbo.hr_insam where holoff_gb = '01' -- and isnull(rtrim(emp_email),'') = ''
) a
join
(select * from HRM.dbo.HR_PERS_MASTER where isnull(rtrim(E_MAIL),'') <> '') b
on
a.emp_id = b.EMP_NO
where
isnull(rtrim(a.emp_email),'') <> isnull(rtrim(b.E_MAIL),'')
and a.emp_id <> 'HM00550'
commit
*/
-- 진행중인 프로젝트 중 PM 및 현장소장 미지정 프로젝트
select a.pjt_no, a.pjt_name, max(a.pm) pm, max(a.) , max(a.cost_dept)
from
(
select
distinct a.pjt_no, a.pjt_name
, (case when b.mbr_gb = 'A' then b.pjt_mbr else null end) as pm
, (case when b.mbr_gb = 'I' then b.pjt_mbr else null end) as
, cost_dept
from
HPOIMS.dbo.ys_project a
left outer join
(SELECT * FROM HPOIMS.dbo.pm_member WHERE pjt_no in (select pjt_no from HPOIMS.dbo.ys_project where pjt_no like 'V%' and closing_yn = 'N')) b
on a.pjt_no = b.pjt_no
where a.pjt_no like 'V%' and a.closing_yn = 'N'
) a
group by a.pjt_no, pjt_name -- 64 rows
having max(a.pm) is null or max(a.) is null or max(a.cost_dept) is null -- 55 rows --> 48 rows(24.05.17)
-- 기성지불처리된 것이나 기성신청에 지불처리중인 건 체크하기
SELECT a.*, b.slpdate, b.slpnum, b.acc_gbn FROM HPOIMS.dbo.gs_require a left outer join HPOIMS.dbo.gs_payment b on a.cont_no = b.cont_no and a.year = b.year and a.month = b.month and a.gs_gbn = b.gs_gbn where a.pay_yn = 'N' and b.slpdate is not null
-- begin tran
-- update a set pay_yn = 'Y' FROM HPOIMS.dbo.gs_require a left outer join HPOIMS.dbo.gs_payment b on a.cont_no = b.cont_no and a.year = b.year and a.month = b.month and a.gs_gbn = b.gs_gbn where a.pay_yn = 'N' and b.slpdate is not null
-- commit
-- sp_who2
-- 기성지불의 전표정보와 실제 발행된 전표 차이 체크하기
select
a.cont_no, a.year, a.month, a.gs_gbn, a.gs_seq, a.gs_amt, a.sk_amt, a.sj_amt, a.slpdate, a.dtcode, a.slpnum, b.slpnum , b.slpamt
from
HPOIMS.dbo.gs_payment a
left outer join
ACC.dbo.t23b10 b
on
a.slpdate = b.slpdate and a.dtcode = b.dtcode
where
a.year = '2026' and a.slpnum <> isnull(b.slpnum,0) and (a.gs_amt = b.slpamt or a.sk_amt = b.slpamt)