Project

General

Profile

history_budget_year.txt

Luc Tran Van, 04/18/2023 03:31 PM

 
1
ALTER PROCEDURE [dbo].[TR_BUDGET_CHECK_LIMIT_YEAR_HIST_Byid]
2
@p_GD_ID	varchar(20)  = NULL,
3
@p_GD_CODE	varchar(20)  = NULL,
4
@p_BRANCH_ID varchar(20)  = NULL,
5
@p_DEP_ID	varchar(20)  = NULL,
6
@p_BUDGET_MONTH varchar(20) = NULL,
7
@p_BUDGET_YEAR varchar(20) = NULL,
8
@p_BRANCH_KIND varchar(20) = NULL,
9
@p_KHOI_ID	varchar(20)  = NULL,
10
@p_TLNAME	varchar(200)  = NULL,
11
@p_ROLENAME	varchar(200)  = NULL,
12
@p_TOP INT = 100
13
AS
14
BEGIN -- PAGING
15
	SET @p_TOP = NULL
16

    
17
	IF(@p_TOP IS NULL OR @p_TOP=0)
18
	BEGIN  
19
-- PAGING BEGIN
20
        SELECT A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
21
        trpb.AMT_EXE AS 'REQ_AMT',
22
        --C.REQ_AMT, 
23
         trpb.REASON AS 'REQ_REASON',
24
        --C.REQ_REASON, 
25
        C.CREATE_DT AS PAYMENT_CREATE_DT, TL1.TLFullName AS GDV, TL2.TLFullName AS KSV, C.APPROVE_DT_KT
26
-- SELECT END
27
        FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A
28
		--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
29
		LEFT JOIN TR_REQ_PAYMENT C ON A.REQ_PAY_ID = C.REQ_PAY_ID
30
    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)
31
		LEFT JOIN TL_USER TL1 ON C.MAKER_ID_KT = TL1.TLNANME
32
		LEFT JOIN TL_USER TL2 ON C.CHECKER_ID_KT = TL2.TLNANME
33
		LEFT JOIN CM_BRANCH CM ON A.BRANCH_ID = CM.BRANCH_ID
34
		LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID = DP.DEP_ID
35
        WHERE 1=1
36
			AND A.GD_ID = @p_GD_ID 
37
			AND A.BRANCH_ID = @p_BRANCH_ID 
38
			AND (	(A.DEP_ID = @p_DEP_ID AND A.BRANCH_ID = 'DV0001')
39
					OR (A.BRANCH_ID <> 'DV0001')
40
				)
41
			AND A.RECORD_STATUS = '1'
42
			AND A.BUDGET_YEAR = @p_BUDGET_YEAR
43
      AND A.BRANCH_KIND = @p_BRANCH_KIND
44
	  AND ((ISNULL(@p_TLNAME,'') <> '' AND A.TLNAME = @p_TLNAME) OR ((ISNULL(@p_TLNAME,'') = '' AND (A.TLNAME = '' OR A.TLNAME IS NULL))))
45
    GROUP BY A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
46
    trpb.AMT_EXE,trpb.REASON,
47
    C.CREATE_DT, TL1.TLFullName, TL2.TLFullName, C.APPROVE_DT_KT,A.CREATE_DT
48
    ORDER BY A.CREATE_DT DESC
49
-- PAGING END
50
    END;
51
    ELSE 
52
	BEGIN
53
-- PAGING BEGIN
54
        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,
55
        trpb.AMT_EXE AS 'REQ_AMT',
56
       -- C.REQ_AMT,
57
       trpb.REASON AS 'REQ_REASON',
58
        --C.REQ_REASON, 
59
        C.CREATE_DT AS PAYMENT_CREATE_DT, TL1.TLFullName AS GDV, TL2.TLFullName AS KSV, C.APPROVE_DT_KT
60
-- SELECT END
61
        FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL A
62
		--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
63
		LEFT JOIN TR_REQ_PAYMENT C ON A.REQ_PAY_ID = C.REQ_PAY_ID
64
    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)
65
		LEFT JOIN TL_USER TL1 ON C.MAKER_ID_KT = TL1.TLNANME
66
		LEFT JOIN TL_USER TL2 ON C.CHECKER_ID_KT = TL2.TLNANME
67
		LEFT JOIN CM_BRANCH CM ON A.BRANCH_ID = CM.BRANCH_ID
68
		LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID = DP.DEP_ID
69
        WHERE 1=1
70
			AND A.GD_ID = @p_GD_ID 
71
			AND A.BRANCH_ID = @p_BRANCH_ID 
72
			AND (	(A.DEP_ID = @p_DEP_ID AND A.BRANCH_ID = 'DV0001')
73
					OR (A.BRANCH_ID <> 'DV0001')
74
				)
75
			AND A.RECORD_STATUS = '1'
76
			AND A.BUDGET_YEAR = @p_BUDGET_YEAR
77
      AND A.BRANCH_KIND = @p_BRANCH_KIND
78
	  AND ((ISNULL(@p_TLNAME,'') <> '' AND A.TLNAME = @p_TLNAME) OR ((ISNULL(@p_TLNAME,'') = '' AND (A.TLNAME = '' OR A.TLNAME IS NULL))))
79
    GROUP BY A.BUDGET_YEAR_LIMIT_DETAIL_ID, C.REQ_PAY_ID, C.REQ_PAY_CODE, CM.BRANCH_NAME, DP.DEP_NAME,
80
    trpb.AMT_EXE,trpb.REASON,
81
    C.CREATE_DT, TL1.TLFullName, TL2.TLFullName, C.APPROVE_DT_KT,A.CREATE_DT
82
    ORDER BY A.CREATE_DT DESC
83
-- PAGING END
84
    END;
85
END -- PAGING