Project

General

Profile

check_limit_budget.txt

Luc Tran Van, 07/13/2023 03:43 PM

 
1
exec TR_BUDGET_CHECK_LIMIT_YEAR_GET_INFO_LIMIT @p_GD_ID=N'GOO000001061929',@p_BRANCH_ID=N'DV0001',@p_DEP_ID=N'DEP000000000014',@p_MONTH=N'M7',@p_YEAR=N'2023',@p_BRANCH_KIND=N'A',@p_TLNAME=NULL,@p_KHOI_ID=N'DM0000000000017',@p_ROLENAME=NULL,@p_GD_CODE=NULL
2
go
3

    
4
-- PROCEDURE NAME: TR_BUDGET_CHECK_LIMIT_YEAR_HIST_Byid
5

    
6
DECLARE @p_GD_ID varchar(20) = N'GOO000001061929',
7
@p_GD_CODE varchar(20) = NULL,
8
@p_BRANCH_ID varchar(20) = N'DV0001',
9
@p_DEP_ID varchar(20) = N'DEP000000000014',
10
@p_BUDGET_MONTH varchar(20) = N'M7',
11
@p_BUDGET_YEAR varchar(20) = N'2023',
12
@p_BRANCH_KIND varchar(20) = N'A',
13
@p_KHOI_ID varchar(20) = N'DM0000000000017',
14
@p_TLNAME varchar(200) = NULL,
15
@p_ROLENAME varchar(200) = NULL,
16
@p_TOP int = NULL
17

    
18
	SET @p_TOP = NULL
19

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

    
146
go
147
--13072023_secretkey