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
|