Project

General

Profile

check_budget.txt

Luc Tran Van, 06/29/2023 02:42 PM

 
1
-- PROCEDURE NAME: TR_BUDGET_CHECK_LIMIT_YEAR_HIST_Byid
2

    
3
DECLARE @p_GD_ID varchar(20) = N'GOO000001061929',
4
@p_GD_CODE varchar(20) = NULL,
5
@p_BRANCH_ID varchar(20) = N'BRN000000000387',
6
@p_DEP_ID varchar(20) = N'',
7
@p_BUDGET_MONTH varchar(20) = N'M6',
8
@p_BUDGET_YEAR varchar(20) = N'2023',
9
@p_BRANCH_KIND varchar(20) = N'Y',
10
@p_KHOI_ID varchar(20) = N'',
11
@p_TLNAME varchar(200) = N'',
12
@p_ROLENAME varchar(200) = N'',
13
@p_TOP int = NULL
14

    
15
	SET @p_TOP = NULL
16

    
17
	IF(@p_TOP IS NULL OR @p_TOP=0)
18
	BEGIN  
19
-- PAGING BEGIN
20
BEGIN
21
SELECT COUNT(*) -- SELECT END
22
    FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A
23
	--LEFT JOIN TR_REQ_BUDGET_YEAR_LIMIT B ON A.BRANCH_ID = B.BRANCH_ID AND A.DEP_ID = B.DEP_ID AND A.GD_ID = B.GD_ID
24
	LEFT JOIN TR_REQ_PAYMENT C ON A.REQ_PAY_ID = C.REQ_PAY_ID
25
	LEFT JOIN TR_REQ_PAY_BUDGET trpb ON trpb.REQ_PAY_ID = A.REQ_PAY_ID AND trpb.BRANCH_KIND = @p_BRANCH_KIND AND (trpb.AMT_EXE = A.M1+A.M2+A.M3+A.M4+A.M5+A.M6+A.M7+A.M8+A.M9+A.M10+A.M11+A.M12)
26
	LEFT JOIN TL_USER TL1 ON C.MAKER_ID_KT = TL1.TLNANME
27
	LEFT JOIN TL_USER TL2 ON C.CHECKER_ID_KT = TL2.TLNANME
28
	LEFT JOIN CM_BRANCH CM ON A.BRANCH_ID = CM.BRANCH_ID
29
	LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID = DP.DEP_ID
30
    WHERE 1=1
31
	AND A.GD_ID = @p_GD_ID 
32
	AND A.BRANCH_ID = @p_BRANCH_ID 
33
	--AND A.DEP_ID = @p_DEP_ID
34
	AND (A.DEP_ID = @p_DEP_ID OR  A.BRANCH_ID <> 'DV0001')
35
	AND A.RECORD_STATUS = '1'
36
	AND A.BUDGET_YEAR = @p_BUDGET_YEAR
37
    AND A.BRANCH_KIND = @p_BRANCH_KIND
38
	AND ((ISNULL(@p_TLNAME,'') <> '' AND A.TLNAME = @p_TLNAME) OR ((ISNULL(@p_TLNAME,'') = '' AND (A.TLNAME = '' OR A.TLNAME IS NULL))))
39
    GROUP BY A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
40
    trpb.AMT_EXE,trpb.REASON,
41
    C.CREATE_DT, TL1.TLFullName, TL2.TLFullName, C.APPROVE_DT_KT,A.CREATE_DT
42
    
43
;WITH QUERY_DATA AS ( 
44
    SELECT A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
45
    trpb.AMT_EXE AS 'REQ_AMT',
46
    --C.REQ_AMT, 
47
        trpb.REASON AS 'REQ_REASON',
48
    --C.REQ_REASON, 
49
    C.CREATE_DT AS PAYMENT_CREATE_DT, TL1.TLFullName AS GDV, TL2.TLFullName AS KSV, C.APPROVE_DT_KT
50
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
51
) AS __ROWNUM-- SELECT END
52
    FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A
53
	--LEFT JOIN TR_REQ_BUDGET_YEAR_LIMIT B ON A.BRANCH_ID = B.BRANCH_ID AND A.DEP_ID = B.DEP_ID AND A.GD_ID = B.GD_ID
54
	LEFT JOIN TR_REQ_PAYMENT C ON A.REQ_PAY_ID = C.REQ_PAY_ID
55
	LEFT JOIN TR_REQ_PAY_BUDGET trpb ON trpb.REQ_PAY_ID = A.REQ_PAY_ID AND trpb.BRANCH_KIND = @p_BRANCH_KIND AND (trpb.AMT_EXE = A.M1+A.M2+A.M3+A.M4+A.M5+A.M6+A.M7+A.M8+A.M9+A.M10+A.M11+A.M12)
56
	LEFT JOIN TL_USER TL1 ON C.MAKER_ID_KT = TL1.TLNANME
57
	LEFT JOIN TL_USER TL2 ON C.CHECKER_ID_KT = TL2.TLNANME
58
	LEFT JOIN CM_BRANCH CM ON A.BRANCH_ID = CM.BRANCH_ID
59
	LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID = DP.DEP_ID
60
    WHERE 1=1
61
	AND A.GD_ID = @p_GD_ID 
62
	AND A.BRANCH_ID = @p_BRANCH_ID 
63
	--AND A.DEP_ID = @p_DEP_ID
64
	AND (A.DEP_ID = @p_DEP_ID OR  A.BRANCH_ID <> 'DV0001')
65
	AND A.RECORD_STATUS = '1'
66
	AND A.BUDGET_YEAR = @p_BUDGET_YEAR
67
    AND A.BRANCH_KIND = @p_BRANCH_KIND
68
	AND ((ISNULL(@p_TLNAME,'') <> '' AND A.TLNAME = @p_TLNAME) OR ((ISNULL(@p_TLNAME,'') = '' AND (A.TLNAME = '' OR A.TLNAME IS NULL))))
69
    GROUP BY A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
70
    trpb.AMT_EXE,trpb.REASON,
71
    C.CREATE_DT, TL1.TLFullName, TL2.TLFullName, C.APPROVE_DT_KT,A.CREATE_DT
72
    
73
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
74
END-- PAGING END
75
    END;
76
    ELSE 
77
	BEGIN
78
-- PAGING BEGIN
79
BEGIN
80
SELECT COUNT(*) FROM(
81
    SELECT TOP(CONVERT(INT, @p_TOP)) A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
82
    trpb.AMT_EXE AS 'REQ_AMT',
83
    -- C.REQ_AMT,
84
    trpb.REASON AS 'REQ_REASON',
85
    --C.REQ_REASON, 
86
    C.CREATE_DT AS PAYMENT_CREATE_DT, TL1.TLFullName AS GDV, TL2.TLFullName AS KSV, C.APPROVE_DT_KT
87
-- SELECT END
88
    FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A
89
	--LEFT JOIN TR_REQ_BUDGET_YEAR_LIMIT B ON A.BRANCH_ID = B.BRANCH_ID AND A.DEP_ID = B.DEP_ID AND A.GD_ID = B.GD_ID
90
	LEFT JOIN TR_REQ_PAYMENT C ON A.REQ_PAY_ID = C.REQ_PAY_ID
91
	LEFT JOIN TR_REQ_PAY_BUDGET trpb ON trpb.REQ_PAY_ID = A.REQ_PAY_ID AND trpb.BRANCH_KIND = @p_BRANCH_KIND AND (trpb.AMT_EXE = A.M1+A.M2+A.M3+A.M4+A.M5+A.M6+A.M7+A.M8+A.M9+A.M10+A.M11+A.M12)
92
	LEFT JOIN TL_USER TL1 ON C.MAKER_ID_KT = TL1.TLNANME
93
	LEFT JOIN TL_USER TL2 ON C.CHECKER_ID_KT = TL2.TLNANME
94
	LEFT JOIN CM_BRANCH CM ON A.BRANCH_ID = CM.BRANCH_ID
95
	LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID = DP.DEP_ID
96
    WHERE 1=1
97
	AND A.GD_ID = @p_GD_ID 
98
	AND A.BRANCH_ID = @p_BRANCH_ID 
99
	--AND A.DEP_ID = @p_DEP_ID
100
	AND (A.DEP_ID = @p_DEP_ID OR  A.BRANCH_ID <> 'DV0001')
101
	AND A.RECORD_STATUS = '1'
102
	AND A.BUDGET_YEAR = @p_BUDGET_YEAR
103
    AND A.BRANCH_KIND = @p_BRANCH_KIND
104
	AND ((ISNULL(@p_TLNAME,'') <> '' AND A.TLNAME = @p_TLNAME) OR ((ISNULL(@p_TLNAME,'') = '' AND (A.TLNAME = '' OR A.TLNAME IS NULL))))
105
    GROUP BY A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
106
    trpb.AMT_EXE,trpb.REASON,
107
    C.CREATE_DT, TL1.TLFullName, TL2.TLFullName, C.APPROVE_DT_KT,A.CREATE_DT
108
    ORDER BY  A.CREATE_DT DESC
109
) COUNTER_TOP;WITH QUERY_DATA AS ( 
110
    SELECT TOP(CONVERT(INT, @p_TOP)) A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
111
    trpb.AMT_EXE AS 'REQ_AMT',
112
    -- C.REQ_AMT,
113
    trpb.REASON AS 'REQ_REASON',
114
    --C.REQ_REASON, 
115
    C.CREATE_DT AS PAYMENT_CREATE_DT, TL1.TLFullName AS GDV, TL2.TLFullName AS KSV, C.APPROVE_DT_KT
116
, ROW_NUMBER() OVER (ORDER BY  A.CREATE_DT DESC
117
) AS __ROWNUM-- SELECT END
118
    FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A
119
	--LEFT JOIN TR_REQ_BUDGET_YEAR_LIMIT B ON A.BRANCH_ID = B.BRANCH_ID AND A.DEP_ID = B.DEP_ID AND A.GD_ID = B.GD_ID
120
	LEFT JOIN TR_REQ_PAYMENT C ON A.REQ_PAY_ID = C.REQ_PAY_ID
121
	LEFT JOIN TR_REQ_PAY_BUDGET trpb ON trpb.REQ_PAY_ID = A.REQ_PAY_ID AND trpb.BRANCH_KIND = @p_BRANCH_KIND AND (trpb.AMT_EXE = A.M1+A.M2+A.M3+A.M4+A.M5+A.M6+A.M7+A.M8+A.M9+A.M10+A.M11+A.M12)
122
	LEFT JOIN TL_USER TL1 ON C.MAKER_ID_KT = TL1.TLNANME
123
	LEFT JOIN TL_USER TL2 ON C.CHECKER_ID_KT = TL2.TLNANME
124
	LEFT JOIN CM_BRANCH CM ON A.BRANCH_ID = CM.BRANCH_ID
125
	LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID = DP.DEP_ID
126
    WHERE 1=1
127
	AND A.GD_ID = @p_GD_ID 
128
	AND A.BRANCH_ID = @p_BRANCH_ID 
129
	--AND A.DEP_ID = @p_DEP_ID
130
	AND (A.DEP_ID = @p_DEP_ID OR  A.BRANCH_ID <> 'DV0001')
131
	AND A.RECORD_STATUS = '1'
132
	AND A.BUDGET_YEAR = @p_BUDGET_YEAR
133
    AND A.BRANCH_KIND = @p_BRANCH_KIND
134
	AND ((ISNULL(@p_TLNAME,'') <> '' AND A.TLNAME = @p_TLNAME) OR ((ISNULL(@p_TLNAME,'') = '' AND (A.TLNAME = '' OR A.TLNAME IS NULL))))
135
    GROUP BY A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
136
    trpb.AMT_EXE,trpb.REASON,
137
    C.CREATE_DT, TL1.TLFullName, TL2.TLFullName, C.APPROVE_DT_KT,A.CREATE_DT
138
    ORDER BY  A.CREATE_DT DESC
139
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
140
END-- PAGING END
141
    END;
142

    
143
go