Project

General

Profile

dbo.ASS_PLAN_REQUEST_LIQUID_MASTER_App.txt

Luc Tran Van, 10/07/2024 02:28 PM

 
1
ALTER PROCEDURE dbo.ASS_PLAN_REQUEST_LIQUID_MASTER_App
2
@p_REQ_ID	VARCHAR(15)  = NULL,
3
@p_CHECKER_ID  VARCHAR(150) = NULL
4
AS
5
BEGIN TRANSACTION 
6
DECLARE @MENU_PERMISSION NVARCHAR(500) = 'Pages.Administration.AssReqDocLiquidation', --permission của chức năng call store
7
@PROCESS_CHILD_CUR VARCHAR(10) --Process id trả về để store gửi mail biết đây là bước xử lý của ai khi điều phối
8
	IF(EXISTS(SELECT 1 FROM dbo.ASS_PLAN_REQUEST_LIQUID_MASTER WHERE REQ_ID=@p_REQ_ID AND AUTH_STATUS='R'))
9
  	BEGIN
10
  		ROLLBACK TRANSACTION
11
  		SELECT '-1' Result, N'Phê duyệt thất bại! Thông tin tờ trình thanh lý phiếu số: '+@p_REQ_ID+
12
  							N' đang bị từ chối. Vui lòng xử lý phiếu' ErrorDesc
13
  		RETURN '-1'
14
  	END
15
	IF(EXISTS(SELECT 1 FROM dbo.ASS_PLAN_REQUEST_LIQUID_MASTER WHERE REQ_ID=@p_REQ_ID AND AUTH_STATUS='A'))
16
  	BEGIN
17
  		ROLLBACK TRANSACTION
18
  		SELECT '-1' Result, N'Phê duyệt thất bại! Thông tin tờ trình thanh lý phiếu số: '+@p_REQ_ID+
19
  							N' đã được duyệt' ErrorDesc
20
  		RETURN '-1'
21
  	END
22
	IF(EXISTS(SELECT 1 FROM dbo.ASS_PLAN_REQUEST_LIQUID_MASTER WHERE REQ_ID=@p_REQ_ID AND AUTH_STATUS='E'))
23
  	BEGIN
24
  		ROLLBACK TRANSACTION
25
  		SELECT '-1' Result, N'Phê duyệt thất bại! Thông tin tờ trình thanh lý phiếu số: '+@p_REQ_ID+
26
  							N' chưa được gửi duyệt. Vui lòng xử lý phiếu' ErrorDesc
27
  		RETURN '-1'
28
  	END
29
	DECLARE @NOTIFATION NVARCHAR(500) = NULL
30

    
31
	SET @NOTIFATION = N'Hồ sơ số: '+@p_REQ_ID+ N' đã được phê duyệt thành công'
32
	--
33

    
34
     -- UPDATE ASS_PLAN_REQUEST_LIQUID_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID; IF @@ERROR <> 0 GOTO ABORT
35

    
36
-- START: QUY TRINH XU LY TO TRINH
37
    
38
    DECLARE @CUR_PROCESS_ID VARCHAR(20) = '', @IS_MED_APP VARCHAR(20) = '', @BRANCH_ID VARCHAR(20) = '', @DEP_ID VARCHAR(20) = '', @ROLE_PROCESS VARCHAR(20) = ''
39
            ,@TOTAL_LIQUID_AMT DECIMAL(18,2) = 0,@RANGE_PLAN_LIQUID DECIMAL(18,2) = 0, @GDK_PLAN_LIQUID DECIMAL(18,2) = 0, @TGD_PLAN_LIQUID DECIMAL(18,2) = 0
40
            , @PROCESS_DESC NVARCHAR(MAX) = '', @PROCESS_NOTES NVARCHAR(MAX) = ''
41
    DECLARE @ROLE_LOGIN TABLE (ROLE VARCHAR(50),BRANCH_ID VARCHAR(50),DEP_ID VARCHAR(50))
42
    
43
    
44
    SET @RANGE_PLAN_LIQUID = (SELECT ISNULL(CAST(SP.ParaValue AS DECIMAL(18,2)),0) FROM SYS_PARAMETERS SP WHERE SP.ParaKey = 'RANGE_PLAN_LIQUID')
45
    SET @GDK_PLAN_LIQUID = (SELECT ISNULL(CAST(SP.ParaValue AS DECIMAL(18,2)),0) FROM SYS_PARAMETERS SP WHERE SP.ParaKey = 'GDK_PLAN_LIQUID')
46
    SET @TGD_PLAN_LIQUID = (SELECT ISNULL(CAST(SP.ParaValue AS DECIMAL(18,2)),0) FROM SYS_PARAMETERS SP WHERE SP.ParaKey = 'TGD_PLAN_LIQUID')
47
    SELECT @BRANCH_ID = BRANCH_ID, @DEP_ID = DEP_ID FROM ASS_PLAN_REQUEST_LIQUID_MASTER WHERE REQ_ID = @p_REQ_ID
48
    SELECT @TOTAL_LIQUID_AMT = ISNULL(CAST(SUM(A.REMAIN_AMT) AS DECIMAL(18, 2)),0) FROM ASS_PLAN_REQUEST_LIQUID_DT A WHERE A.REQ_ID = @p_REQ_ID
49
    
50
    SELECT TOP 1 @CUR_PROCESS_ID = PROCESS_ID, @ROLE_PROCESS = ROLE_USER FROM PL_REQUEST_PROCESS WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID
51
	IF(@CUR_PROCESS_ID IN ('GDK_APP','TKTGD_APP','TGD_APP','TKHDQT_APP','HDQT_APP'))-- MÀN HÌNH CHỨC NĂNG PHÊ DUYỆT TỜ TRÌNH THANH LÝ TÀI SẢN
52
	BEGIN
53
		SET @MENU_PERMISSION = 'Pages.Administration.AssReqDocLiqApprove'
54
	END
55
    INSERT INTO @ROLE_LOGIN SELECT ROLE_ID, BRANCH_ID, DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_CHECKER_ID, @MENU_PERMISSION)
56

    
57
	IF (NOT EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_CHECKER_ID, @MENU_PERMISSION) TR WHERE TR.ROLE_ID = @ROLE_PROCESS OR (@CUR_PROCESS_ID = 'MED_APP' AND TR.ROLE_ID IN('TBP','KSV'))
58
                                                                                                                            OR (@CUR_PROCESS_ID = 'DVCM_DP' AND TR.ROLE_ID IN ('TBP', 'KSV'))))
59
  	BEGIN
60
  		ROLLBACK TRANSACTION
61
  		SELECT '-1' Result, N'Phê duyệt thất bại! Bạn không có quyền thao tác phiếu ở bước này' ErrorDesc
62
  		RETURN '-1'
63
  	END    
64
	IF @CUR_PROCESS_ID = 'APPROVE'
65
  	BEGIN
66
  		ROLLBACK TRANSACTION
67
  		SELECT '-1' Result, N'Phê duyệt thất bại! Phiếu thanh lý đã hoàn thành phê duyệt' ErrorDesc
68
  		RETURN '-1'
69
  	END
70
    
71
    IF @CUR_PROCESS_ID = 'MED_APP' -- PHÊ DUYỆT TRUNG GIAN
72
    BEGIN
73
		UPDATE ASS_PLAN_REQUEST_LIQUID_MASTER SET AUTH_STATUS = 'U' WHERE REQ_ID = @p_REQ_ID -- UPDATE LẠI TRẠNG THÁI PHIẾU THÀNH CHỜ DUYỆT
74
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID
75
        SET @PROCESS_DESC = N'Cấp phê duyệt trung gian phê duyệt tờ trình thanh lý'
76
    	INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, DEP_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES)
77
        VALUES (@p_REQ_ID, 'HC_APP', 'C', 'GDDV', @BRANCH_ID, @DEP_ID, @CUR_PROCESS_ID, 'N', '', '', N'Chờ trưởng đơn vị phê duyệt')
78
    END
79
    ELSE IF @CUR_PROCESS_ID = 'HC_APP'
80
    BEGIN
81
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID
82
            UPDATE ASS_PLAN_REQUEST_LIQUID_MASTER SET CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID; IF @@ERROR <> 0 GOTO ABORT
83
        SET @PROCESS_DESC = N'Trưởng đơn vị phê duyệt tờ trình thanh lý'
84
        IF @TOTAL_LIQUID_AMT <= @RANGE_PLAN_LIQUID -- CHECK TỔNG TIỀN THANH LÝ PHÂN QUY TRÌNH TIẾP THEO
85
        BEGIN
86
            UPDATE ASS_PLAN_REQUEST_LIQUID_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID; IF @@ERROR <> 0 GOTO ABORT
87
            INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, APPROVE_DT)
88
            VALUES (@p_REQ_ID, 'APPROVE', 'C', '', '', '', @CUR_PROCESS_ID, 'Y', '', '', N'Hoàn thành phê duyệt phiếu Tờ trình thanh lý', GETDATE())
89
        END 
90
        ELSE
91
        BEGIN
92
            IF EXISTS(SELECT 1 FROM ASS_PLAN_REQUEST_LIQUID_DVCM WHERE REQ_ID = @p_REQ_ID)
93
            BEGIN
94
                     INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD)
95
                     SELECT @p_REQ_ID, 'DVCM_DP', 'C', 'GDDV', @CUR_PROCESS_ID, 'N', '', A.DVCM_ID, N'Chờ Trưởng DVCM điều phối nhân viên xử lý phiếu', 1
96
                     FROM ASS_PLAN_REQUEST_LIQUID_DVCM A
97
                     INNER JOIN CM_DVDM B ON A.DVCM_ID = B.DVDM_ID
98
                     WHERE A.REQ_ID = @p_REQ_ID
99
            END
100
            ELSE
101
            BEGIN
102
            	INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES)
103
                VALUES (@p_REQ_ID, 'GDK_APP', 'C', 'GDK', '', '', @CUR_PROCESS_ID, 'N', '', '', N'Chờ Giám Đốc Khối phê duyệt phiếu')
104
            END
105
        END
106
    END
107
    ELSE IF @CUR_PROCESS_ID = 'DVCM_DP'
108
    BEGIN
109
        SET @PROCESS_DESC = N'Trưởng đơn vị DVCM phê duyệt tờ trình thanh lý'
110
        IF EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_ID AND STATUS_JOB = 'C' AND TLNAME = @p_CHECKER_ID)
111
        BEGIN
112
            
113
            DECLARE @PROCESS_CHILD_CUR_LEVEL INT , @TYPE_CHILD_CUR VARCHAR(20)
114
            SELECT TOP 1 @PROCESS_CHILD_CUR = PROCESS_ID, @PROCESS_CHILD_CUR_LEVEL = LEVEL_JOB, @TYPE_CHILD_CUR = TYPE_JOB
115
			FROM PL_REQUEST_PROCESS_CHILD 
116
			WHERE REQ_ID = @p_REQ_ID 
117
			AND TLNAME = @p_CHECKER_ID 
118
			AND STATUS_JOB = 'C'
119

    
120
            IF @TYPE_CHILD_CUR = 'KS' SET @PROCESS_DESC = N'Kiểm soát viên điều phối phê duyệt tờ trình thanh lý'
121

    
122
            DECLARE @PROCESS_DVDM VARCHAR(20) SELECT TOP 1 @PROCESS_DVDM = DVDM_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND ID = @PROCESS_CHILD_CUR
123
			UPDATE ASS_PLAN_REQUEST_LIQUID_DVCM SET STATUS = 'P' WHERE REQ_ID = @p_REQ_ID AND DVCM_ID = @PROCESS_DVDM-- CẬP NHẬT TRẠNG THÁI DVCM ĐÃ XÁC NHẬN
124

    
125
            DECLARE @PROCESS_CHILD_PAR INT, @PROCESS_CHILD_PAR_LEVEL INT
126
            SELECT TOP 1 @PROCESS_CHILD_PAR = ID, @PROCESS_CHILD_PAR_LEVEL = LEVEL_JOB FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = @PROCESS_CHILD_CUR AND LEVEL_JOB = @PROCESS_CHILD_CUR_LEVEL-1
127

    
128
            UPDATE ASS_PLAN_REQUEST_LIQUID_DVCM SET STATUS = 'P' WHERE REQ_ID = @p_REQ_ID AND DVCM_ID = @PROCESS_DVDM
129
            UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'P' WHERE STATUS_JOB = 'C' AND REQ_ID = @p_REQ_ID AND PROCESS_ID = @PROCESS_CHILD_CUR AND LEVEL_JOB = @PROCESS_CHILD_CUR_LEVEL
130
            IF(@TYPE_CHILD_CUR = 'KS')
131
            BEGIN
132
            	UPDATE PL_REQUEST_PROCESS_CHILD SET STATUS_JOB = 'C' WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = @PROCESS_CHILD_CUR AND LEVEL_JOB = @PROCESS_CHILD_CUR_LEVEL-1
133
            END
134
            ELSE
135
            -- UPDATE LẠI CÁC XỬ LÝ BƯỚC CHA CHO CÁC DVDM KHÁC
136
            UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID AND PROCESS_ID = @CUR_PROCESS_ID AND DVDM_ID = @PROCESS_DVDM
137
                 
138
        END
139
        ELSE
140
        BEGIN
141
        	ROLLBACK TRANSACTION
142
            SELECT '-1' Result, N'Phê duyệt thất bại! Thông tin tờ trình thanh lý phiếu số: '+@p_REQ_ID+
143
                      							N' chưa đến bước xử lý hoặc đã được duyệt' ErrorDesc
144
            RETURN '-1'
145
        END
146

    
147
        -- CHECK XỬ LÝ PHÊ DUYỆT CỦA CÁC DVCM KHÁC, NẾU TẤT CẢ ĐÃ XONG => TIẾN HÀNH APPROVE
148
        IF NOT EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_ID AND STATUS_JOB = 'C') 
149
           AND EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_ID) AND NOT EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = @CUR_PROCESS_ID AND STATUS = 'C')
150
        BEGIN
151
        	IF @TOTAL_LIQUID_AMT <= @GDK_PLAN_LIQUID
152
            BEGIN
153
                UPDATE ASS_PLAN_REQUEST_LIQUID_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID; IF @@ERROR <> 0 GOTO ABORT
154
                INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, APPROVE_DT)
155
                VALUES (@p_REQ_ID, 'APPROVE', 'C', '', '', '', @CUR_PROCESS_ID, 'Y', '', '', N'Hoàn thành phê duyệt phiếu Tờ trình thanh lý', GETDATE())
156
            END
157
            ELSE 
158
            BEGIN
159
                INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES)
160
				SELECT @p_REQ_ID, 'GDK_APP', 'C', 'GDK', '', '', @CUR_PROCESS_ID, 'N', '', B.KHOI_ID, N'Chờ Giám Đốc Khối phê duyệt phiếu'
161
				FROM ASS_PLAN_REQUEST_LIQUID_DVCM A
162
				INNER JOIN CM_DVDM_KHOI B ON A.DVCM_ID = B.DVDM_ID
163
                WHERE A.REQ_ID = @p_REQ_ID
164
            END
165
        END
166
    END
167
    ELSE IF @CUR_PROCESS_ID = 'GDK_APP'
168
    BEGIN
169
		SET @MENU_PERMISSION = 'Pages.Administration.AssReqDocLiqApprove' 
170
		SET @PROCESS_DESC = N'Giám đốc khối phê duyệt tờ trình thanh lý'
171

    
172
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() 
173
		WHERE STATUS = 'C' 
174
		AND REQ_ID = @p_REQ_ID AND (EXISTS(SELECT KHOI_ID FROM dbo.[FN_GET_KHOI_USER_BY_ROLE_AND_TLNAME]('GDK', @p_CHECKER_ID, @MENU_PERMISSION) W WHERE W.KHOI_ID = DVDM_ID))
175

    
176
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE STATUS = 'C' AND PROCESS_ID = 'GDK_APP' AND REQ_ID = @p_REQ_ID))
177
		BEGIN
178
    		IF @TOTAL_LIQUID_AMT <= @TGD_PLAN_LIQUID
179
			BEGIN
180
				UPDATE ASS_PLAN_REQUEST_LIQUID_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID; IF @@ERROR <> 0 GOTO ABORT
181
				INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, APPROVE_DT)
182
				VALUES (@p_REQ_ID, 'APPROVE', 'C', '', '', '', @CUR_PROCESS_ID, 'Y', '', '', N'Hoàn thành phê duyệt phiếu Tờ trình thanh lý', GETDATE())
183
			END
184
			ELSE 
185
			BEGIN
186
					 INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES)
187
					 VALUES (@p_REQ_ID, 'TKTGD_APP', 'C', 'TKTGD', '', '', @CUR_PROCESS_ID, 'N', '', '', N'Chờ Thư ký Tổng Giám Đốc phê duyệt phiếu')
188
			END
189
		END
190
    END
191
    ELSE IF @CUR_PROCESS_ID = 'TKTGD_APP'
192
    BEGIN
193
		SET @PROCESS_DESC = N'Thư ký tổng giám đốc phê duyệt tờ trình thanh lý'
194
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID
195
    	INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES)
196
        VALUES (@p_REQ_ID, 'TGD_APP', 'C', 'TGD', '', '', @CUR_PROCESS_ID, 'N', '', '', N'Chờ Tổng Giám Đốc phê duyệt phiếu')
197
    END
198
    ELSE IF @CUR_PROCESS_ID = 'TGD_APP'
199
    BEGIN
200
		SET @PROCESS_DESC = N'Tổng giám đốc phê duyệt tờ trình thanh lý'
201
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID
202
    	INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES)
203
        VALUES (@p_REQ_ID, 'TKHDQT_APP', 'C', 'TKHDQT', '', '', @CUR_PROCESS_ID, 'N', '', '', N'Chờ Thư ký Hội Đồng Quản Trị phê duyệt phiếu')
204
    END
205
    ELSE IF @CUR_PROCESS_ID = 'TKHDQT_APP'
206
    BEGIN
207
		SET @PROCESS_DESC = N'Thư ký hội đồng quản trị phê duyệt tờ trình thanh lý'
208
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID
209
    	INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES)
210
        VALUES (@p_REQ_ID, 'HDQT_APP', 'C', 'HDQT', '', '', @CUR_PROCESS_ID, 'N', '', '', N'Chờ Hội Đồng Quản Trị phê duyệt phiếu')
211
    END
212
    ELSE IF @CUR_PROCESS_ID = 'HDQT_APP'
213
    BEGIN
214
		SET @PROCESS_DESC = N'Hội đồng quản trị phê duyệt tờ trình thanh lý'
215
        UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE STATUS = 'C' AND REQ_ID = @p_REQ_ID
216
        UPDATE ASS_PLAN_REQUEST_LIQUID_MASTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_REQ_ID; IF @@ERROR <> 0 GOTO ABORT
217
    	INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, APPROVE_DT)
218
        VALUES (@p_REQ_ID, 'APPROVE', 'C', '', '', '', @CUR_PROCESS_ID, 'Y', '', '', N'Hoàn thành phê duyệt phiếu Tờ trình thanh lý', GETDATE())
219
    END
220

    
221
	INSERT INTO dbo.PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
222
	VALUES(@p_REQ_ID, @CUR_PROCESS_ID, @p_CHECKER_ID, GETDATE(), @PROCESS_DESC, N'Phê duyệt tờ trình thanh lý')
223
-- END: QUY TRINH XU LY TO TRINH
224
	IF @@ERROR <> 0 GOTO ABORT
225

    
226
COMMIT TRANSACTION   
227
SELECT '0' as Result, ISNULL(@PROCESS_CHILD_CUR, '0') ProcessId, @NOTIFATION  ErrorDesc
228
RETURN '0'
229

    
230
ABORT:
231
BEGIN
232
	ROLLBACK TRANSACTION
233
	SELECT '-1' as Result, '' REQ_ID, '' ErrorDesc
234
	RETURN '-1'
235
END