1
|
USE gAMSPro_BVB_v3_FINAL
|
2
|
GO
|
3
|
|
4
|
ALTER PROCEDURE dbo.TR_REQUEST_JOB_FORM_PROCESS_Upd
|
5
|
@p_REQ_ID varchar(15) = NULL,
|
6
|
@p_TYPE_PROCESS varchar(15) = NULL,
|
7
|
@p_MAKERID varchar(100)= NULL,
|
8
|
@p_AUTH_STATUS VARCHAR(1) = NULL,
|
9
|
@p_CHECKER_ID VARCHAR(100) = NULL,
|
10
|
@p_APPROVE_DT VARCHAR(50) = NULL,
|
11
|
@p_NOTES NVARCHAR(500)= NULL
|
12
|
AS
|
13
|
BEGIN
|
14
|
|
15
|
DECLARE @NOTIFATION NVARCHAR(200) = NULL,
|
16
|
@NOTIFY_TO_USER NVARCHAR(100) = NULL,
|
17
|
@EMAIL_CONTENT NVARCHAR(500) = NULL,
|
18
|
@TYPEMAIL VARCHAR(20),
|
19
|
@ROLE VARCHAR(20)= NULL,
|
20
|
@BRANCHID VARCHAR(20)= NULL,
|
21
|
@PROCESS_CURR VARCHAR(20)= NULL,
|
22
|
@PROCESS_NEXT VARCHAR(20)= NULL,
|
23
|
@BRANCH_NEXT VARCHAR(20)=NULL,
|
24
|
@DEP_NEXT VARCHAR(20) = NULL,
|
25
|
@DEP_ID VARCHAR(20) = NULL,
|
26
|
@REQ_CODE VARCHAR(20) = NULL,
|
27
|
@BRANCH_ID VARCHAR(20) = NULL,
|
28
|
@DEPT_ID VARCHAR(20) = NULL
|
29
|
|
30
|
|
31
|
DECLARE @p_LOG_ID VARCHAR(20),@COMPLETE BIT,@PROCESS_PARENT VARCHAR(20),@PROCESS_DES NVARCHAR(500),@EMP_ID NVARCHAR(500),@MAKER_ID VARCHAR(15),@STATUS VARCHAR(15)
|
32
|
DECLARE @REQ_TYPE_BOOKING_AIR VARCHAR(15), @REQ_TYPE_BOOKING_HOTEL VARCHAR(15),@IS_SIGN BIT
|
33
|
DECLARE @BRANCH_SIGN_ID VARCHAR(20),@DEP_SIGN_ID VARCHAR(20),@BRANCH_SIGN_TYPE VARCHAR(10),@ROLE_SIGN VARCHAR(20),@BRANCH_CREATE VARCHAR(20)
|
34
|
|
35
|
|
36
|
SELECT @BRANCH_ID=tu.TLSUBBRID,@DEPT_ID=tu.DEP_ID,@EMP_ID =tmp.EMP_ID,@MAKER_ID = tmp.MAKER_ID, @REQ_TYPE_BOOKING_AIR=tmp.REQ_TYPE_BOOKING_AIR,@REQ_TYPE_BOOKING_HOTEL=tmp.REQ_TYPE_BOOKING_HOTEL,@BRANCH_CREATE=B.TLSUBBRID
|
37
|
FROM (SELECT MAKER_ID,EMP_ID,REQ_TYPE_BOOKING_AIR,REQ_TYPE_BOOKING_HOTEL FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID) tmp
|
38
|
JOIN TL_USER tu ON tmp.EMP_ID = tu.TLNANME
|
39
|
LEFT JOIN dbo.TL_USER B ON tmp.MAKER_ID= B.TLNANME
|
40
|
|
41
|
SET @REQ_CODE=(SELECT REQ_CODE FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID )
|
42
|
SET @PROCESS_CURR=(SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C' )
|
43
|
SET @COMPLETE=0
|
44
|
--SET
|
45
|
BEGIN TRANSACTION
|
46
|
IF(@p_TYPE_PROCESS='NEW')
|
47
|
BEGIN
|
48
|
SET @TYPEMAIL ='SIGN'
|
49
|
SET @STATUS = 'SIGN'
|
50
|
DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS <> 'P'
|
51
|
-----------------TH gửi phê duyệt sẽ by pass TDV phê duyệt-----------
|
52
|
IF(EXISTS(SELECT 1 FROM CM_ALLCODE WHERE CDTYPE='REQ' AND CDNAME='CT_PASS' AND CDVAL=@EMP_ID))
|
53
|
BEGIN
|
54
|
SELECT @REQ_TYPE_BOOKING_AIR=REQ_TYPE_BOOKING_AIR,@REQ_TYPE_BOOKING_HOTEL=REQ_TYPE_BOOKING_HOTEL FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID
|
55
|
|
56
|
IF(@REQ_TYPE_BOOKING_AIR='AIR_B')
|
57
|
BEGIN
|
58
|
SET @TYPEMAIL='HO_APP'
|
59
|
SET @STATUS = 'APPNEW'
|
60
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
61
|
(
|
62
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
63
|
)
|
64
|
VALUES
|
65
|
(
|
66
|
@p_REQ_ID,'HO_APP','C','NVDV',@BRANCH_CREATE,'',NULL,'APPNEW','N','','',N'Chờ Hành chính HO xử lý',NULL,''
|
67
|
)
|
68
|
|
69
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
70
|
(
|
71
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
72
|
)
|
73
|
VALUES
|
74
|
(
|
75
|
@p_REQ_ID,'MAKER_CONF','U',@MAKER_ID,'', '', NULL,'HO_APP','N','','',N'Chờ người tạo xác nhận',NULL,''
|
76
|
)
|
77
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
78
|
(
|
79
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
80
|
)
|
81
|
VALUES
|
82
|
(
|
83
|
@p_REQ_ID,'HCHO_XL','U','NVDV',@BRANCH_CREATE,'',NULL,'MAKER_CONF','N','','', N'Chờ Hành chính HO xử lý',NULL,''
|
84
|
)
|
85
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
86
|
(
|
87
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
88
|
)
|
89
|
VALUES
|
90
|
(
|
91
|
@p_REQ_ID,'MAKER_APP','U',@MAKER_ID,'','',NULL,'HCHO_XL','N','','',N'Chờ người tạo phiếu xác nhận chuyến đi hoàn tất',NULL,''
|
92
|
)
|
93
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
94
|
N' đã được gửi duyệt thành công. Vui lòng đợi nhân viên hành chính HO xử lý phiếu'
|
95
|
END
|
96
|
ELSE IF(@REQ_TYPE_BOOKING_HOTEL='HOTEL_B')
|
97
|
BEGIN
|
98
|
SET @TYPEMAIL='HO_APP'
|
99
|
SET @STATUS = 'APPNEW'
|
100
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
101
|
(
|
102
|
REQ_ID, PROCESS_ID, STATUS,ROLE_USER,BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
103
|
)
|
104
|
VALUES
|
105
|
(
|
106
|
@p_REQ_ID, 'HO_APP', 'C','NVDV', @BRANCH_CREATE, '',NULL, 'APPNEW','N','','',N'Chờ Hành chính HO xử lý',NULL,'' -- DEP_ID - varchar(20)
|
107
|
)
|
108
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
109
|
(
|
110
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,NOTES
|
111
|
)
|
112
|
VALUES
|
113
|
(
|
114
|
@p_REQ_ID,'APPROVE','U','','','',NULL,'HO_APP','Y',N'Hoàn tất'
|
115
|
)
|
116
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
117
|
N' đã được gửi duyệt thành công. Vui lòng đợi nhân viên hành chính HO xử lý phiếu'
|
118
|
END
|
119
|
ELSE
|
120
|
BEGIN
|
121
|
SET @STATUS = 'APPNEW'
|
122
|
SET @TYPEMAIL='APPROVE'
|
123
|
UPDATE TR_REQUEST_JOB_FORM
|
124
|
SET AUTH_STATUS = 'A',PROCESS_ID='APPROVE',CHECKER_ID = @p_CHECKER_ID,
|
125
|
APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
|
126
|
WHERE REQ_ID = @p_REQ_ID
|
127
|
|
128
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
129
|
(
|
130
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,NOTES
|
131
|
)
|
132
|
VALUES
|
133
|
(
|
134
|
@p_REQ_ID,'APPROVE','C','','','',NULL,'APPNEW','Y',N'Hoàn tất'
|
135
|
)
|
136
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
137
|
N' đã hoàn tất'
|
138
|
END
|
139
|
|
140
|
SET @COMPLETE = 1
|
141
|
END
|
142
|
--TH Giám đốc khối tạo phiếu yêu cầu CT -> Không có PTGD, TGD duyệt trực tiếp
|
143
|
ELSE IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDK') AND NOT EXISTS(SELECT 1 FROM dbo.FN_GET_USER_MANAGER_BY_DVCM((SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID =@DEP_ID),'PTGD')))
|
144
|
BEGIN
|
145
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
146
|
(
|
147
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
148
|
)
|
149
|
VALUES
|
150
|
(
|
151
|
@p_REQ_ID,'SIGN','C','TKTGD',NULL,NULL,NULL,'','N','','','',N'Chờ Thư ký tổng giám đốc phê duyệt', NULL -- IS_HAS_CHILD - bit
|
152
|
)
|
153
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
154
|
(
|
155
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
156
|
)
|
157
|
VALUES
|
158
|
(
|
159
|
@p_REQ_ID,'APPNEW','U','TGD',NULL,NULL,'',NULL,'SIGN','N','','', N'Chờ tổng giám đốc phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
160
|
)
|
161
|
UPDATE dbo.TR_REQUEST_JOB_FORM SET SIGN_USER='TKTGD' WHERE REQ_ID =@p_REQ_ID
|
162
|
SET @TYPEMAIL='SEND'
|
163
|
SET @STATUS = 'SEND'
|
164
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
165
|
N' đã được gửi duyệt thành công. Vui lòng đợi thư ký tổng giám đốc vị phê duyệt'
|
166
|
SET @COMPLETE = 1
|
167
|
END
|
168
|
-----------------TH gửi phê duyệt có cấp duyệt trung gian-----------
|
169
|
ELSE IF(EXISTS(SELECT 1 FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID AND SIGN_USER IS NOT NULL))
|
170
|
BEGIN
|
171
|
|
172
|
SELECT @BRANCH_SIGN_ID=TLSUBBRID,@DEP_SIGN_ID=SECUR_CODE,@BRANCH_SIGN_TYPE=BRANCH_TYPE,@ROLE_SIGN=RoleName FROM dbo.TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_REQ_ID)
|
173
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
174
|
N' đã được gửi phê duyệt thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận'
|
175
|
SET @IS_SIGN = 1
|
176
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
177
|
(
|
178
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
179
|
)
|
180
|
VALUES
|
181
|
(
|
182
|
@p_REQ_ID,'SIGN','C',@ROLE_SIGN,@BRANCH_SIGN_ID,CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END,'',NULL,'','N','','',N'Chờ cấp phê duyệt trung gian xác nhận phiếu', NULL -- IS_HAS_CHILD - bit
|
183
|
)
|
184
|
SET @TYPEMAIL='SEND'
|
185
|
SET @STATUS = 'SEND'
|
186
|
END
|
187
|
IF(@COMPLETE <> 1)
|
188
|
BEGIN
|
189
|
-- IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDK'))
|
190
|
IF(EXISTS(SELECT 1 FROM dbo.TL_USER tu WHERE tu.TLNANME=@EMP_ID AND tu.RoleName ='GDK'))
|
191
|
BEGIN
|
192
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
193
|
(
|
194
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
195
|
)
|
196
|
VALUES
|
197
|
(
|
198
|
@p_REQ_ID,'APPNEW',CASE WHEN @IS_SIGN=1 THEN 'U' ELSE 'C' END,'PTGD',NULL,NULL,'',NULL,'SIGN','N','',(SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEPT_ID),N'Chờ phó tổng giám đốc phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
199
|
)
|
200
|
END
|
201
|
IF(EXISTS(SELECT 1 FROM dbo.TL_USER tu WHERE tu.TLNANME=@EMP_ID AND tu.RoleName ='GDDV'))
|
202
|
-- ELSE IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDDV'))
|
203
|
BEGIN
|
204
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
205
|
(
|
206
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
207
|
)
|
208
|
VALUES
|
209
|
(
|
210
|
@p_REQ_ID,'APPNEW',CASE WHEN @IS_SIGN=1 THEN 'U' ELSE 'C' END,'GDK',NULL,NULL,'',NULL,'SIGN','N','',(SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEPT_ID), N'Chờ giám đốc khối phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
211
|
)
|
212
|
END
|
213
|
ELSE
|
214
|
BEGIN
|
215
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
216
|
(
|
217
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
218
|
)
|
219
|
VALUES
|
220
|
(
|
221
|
@p_REQ_ID,'APPNEW',CASE WHEN @IS_SIGN=1 THEN 'U' ELSE 'C' END,'GDDV',@BRANCH_ID,CASE WHEN @BRANCH_ID='DV0001' THEN @DEPT_ID ELSE '' END,'',NULL,'SIGN','N','','', N'Chờ trưởng phòng phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
222
|
)
|
223
|
END
|
224
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
225
|
N' gửi duyệt thành công. Vui lòng đợi trưởng phòng phê duyệt'
|
226
|
END
|
227
|
UPDATE TR_REQUEST_JOB_FORM SET IS_SEND_APPR = 'Y', SEND_DT = CONVERT(DATETIME, GETDATE(), 103),AUTH_STATUS='U',PROCESS_ID=@STATUS,SENDER_ID=@p_CHECKER_ID
|
228
|
WHERE REQ_ID = @p_REQ_ID
|
229
|
IF @@ERROR <> 0 GOTO ABORT
|
230
|
------Insert vào bảng lịch sử xử lý-------------
|
231
|
INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
232
|
VALUES(@p_REQ_ID, 'SEND', @p_CHECKER_ID, GETDATE(),
|
233
|
N'Người tạo gửi phê duyệt thành công', N' Người tạo gửi phê duyệt')
|
234
|
|
235
|
SET @COMPLETE = 1
|
236
|
IF @@ERROR <> 0 GOTO ABORT
|
237
|
END
|
238
|
ELSE IF(@p_TYPE_PROCESS='SEND')
|
239
|
BEGIN
|
240
|
IF(@PROCESS_CURR='SIGN')
|
241
|
BEGIN
|
242
|
IF NOT EXISTS(SELECT 1 FROM TR_REQUEST_JOB_FORM trjf WHERE trjf.SIGN_USER=@p_CHECKER_ID OR EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_CHECKER_ID) WHERE ROLE_ID =trjf.SIGN_USER))
|
243
|
BEGIN
|
244
|
ROLLBACK TRANSACTION
|
245
|
SELECT '-1' Result, N'Xác nhận thất bại! Bạn không phải người phê duyệt trung gian' ErrorDesc
|
246
|
RETURN '-1'
|
247
|
END
|
248
|
DELETE dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='R'
|
249
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES=N'Cấp phê duyệt trung gian đã xác nhận phiếu'
|
250
|
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='SIGN'
|
251
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS ='U'
|
252
|
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
|
253
|
UPDATE TR_REQUEST_JOB_FORM SET AUTH_STATUS = 'U', SIGN_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103), PROCESS_ID='SIGN'
|
254
|
WHERE REQ_ID = @p_REQ_ID
|
255
|
IF @@ERROR <> 0 GOTO ABORT
|
256
|
INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
257
|
VALUES(@p_REQ_ID, 'SIGN',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), @p_NOTES,
|
258
|
N' Cấp trung gian xác nhận PYC công tác')
|
259
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
260
|
N' đã được xác nhận thành công. Vui lòng đợi trưởng đơn vị phê duyệt'
|
261
|
|
262
|
SET @COMPLETE = 1
|
263
|
SET @TYPEMAIL ='SIGN'
|
264
|
|
265
|
END
|
266
|
IF(@PROCESS_CURR='HO_APP')
|
267
|
BEGIN
|
268
|
IF NOT EXISTS(SELECT 1 FROM dbo.PL_PROCESS WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID='UPDATE')
|
269
|
BEGIN
|
270
|
ROLLBACK TRANSACTION
|
271
|
SELECT '-1' Result, N'Xác nhận thất bại. Bạn chưa cập nhật thông tin cho phiếu' ErrorDesc
|
272
|
RETURN '-1'
|
273
|
END
|
274
|
|
275
|
--kiểm tra đn có phải nvdv
|
276
|
IF NOT EXISTS(SELECT 1 FROM [dbo].[TL_USER_GET_ROLES](@p_CHECKER_ID) WHERE ROLE_ID='NVDV')
|
277
|
BEGIN
|
278
|
ROLLBACK TRANSACTION
|
279
|
SELECT '-1' Result, N'Xác nhận thất bại! Bạn không phải nhân viên đặt vé phòng hành chính' ErrorDesc
|
280
|
RETURN '-1'
|
281
|
END
|
282
|
|
283
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES=N'Hành chính HO đã xử lý'
|
284
|
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='HO_APP'
|
285
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS ='U'
|
286
|
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
|
287
|
IF(@PROCESS_NEXT='APPROVE')
|
288
|
BEGIN
|
289
|
SET @TYPEMAIL='APPROVE'
|
290
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='APPROVE', AUTH_STATUS='A'
|
291
|
WHERE REQ_ID = @p_REQ_ID
|
292
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
293
|
N' đã được xác nhận thành công. PYC công tác đã được hoàn thành'
|
294
|
END
|
295
|
ELSE
|
296
|
BEGIN
|
297
|
SET @TYPEMAIL='SENDEMP'
|
298
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='HO_APP'
|
299
|
WHERE REQ_ID = @p_REQ_ID
|
300
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
301
|
N' đã được xác nhận thành thành công. Vui lòng đợi người tạo chọn chuyến bay'
|
302
|
END
|
303
|
IF @@ERROR <> 0 GOTO ABORT
|
304
|
INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
305
|
VALUES(@p_REQ_ID, 'HO_APP',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Hành chính HO xử lý PYC công tác thành công',
|
306
|
N' Hành Chính HO xử lý PYC công tác')
|
307
|
SET @COMPLETE=1
|
308
|
|
309
|
END
|
310
|
ELSE IF(@PROCESS_CURR='MAKER_CONF')
|
311
|
BEGIN
|
312
|
IF NOT EXISTS(SELECT 1 FROM dbo.PL_PROCESS WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID='UPDATE')
|
313
|
BEGIN
|
314
|
ROLLBACK TRANSACTION
|
315
|
SELECT '-1' Result, N'Trình phiếu thất bại! Bạn chưa cập nhật thông tin cho phiếu' ErrorDesc
|
316
|
RETURN '-1'
|
317
|
END
|
318
|
|
319
|
--kiểm tra đn có phải người tạo or người sử dụng
|
320
|
IF NOT EXISTS(SELECT 1 FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID AND (MAKER_ID=@p_CHECKER_ID OR EMP_ID=@p_CHECKER_ID))
|
321
|
BEGIN
|
322
|
ROLLBACK TRANSACTION
|
323
|
SELECT '-1' Result, N'Trình phiếu thất bại! Bạn không phải người tạo hoặc người sử dụng phiếu này' ErrorDesc
|
324
|
RETURN '-1'
|
325
|
END
|
326
|
|
327
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES=N'Người tạo đã chọn vé thành công'
|
328
|
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='MAKER_CONF'
|
329
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS ='U'
|
330
|
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
|
331
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='MAKER_CONF'
|
332
|
WHERE REQ_ID = @p_REQ_ID
|
333
|
IF @@ERROR <> 0 GOTO ABORT
|
334
|
INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
335
|
VALUES(@p_REQ_ID, 'MAKER_CONF',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Người tạo phiếu chọn vé cho chuyến bay thành công',
|
336
|
N' Người tạo chọn vé cho chuyến bay')
|
337
|
SET @COMPLETE = 1
|
338
|
SET @TYPEMAIL='SENDNVDV'
|
339
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
340
|
N' đã được trình phiếu cho hành chính HO thành công. Vui lòng đợi hành chính HO đặt vé'
|
341
|
END
|
342
|
ELSE IF(@PROCESS_CURR='HCHO_XL')
|
343
|
BEGIN
|
344
|
IF NOT EXISTS(SELECT 1 FROM [dbo].[TL_USER_GET_ROLES](@p_CHECKER_ID) WHERE ROLE_ID='NVDV')
|
345
|
BEGIN
|
346
|
ROLLBACK TRANSACTION
|
347
|
SELECT '-1' Result, N'Xác nhận thất bại! Bạn không phải nhân viên đặt vé phòng hành chính' ErrorDesc
|
348
|
RETURN '-1'
|
349
|
END
|
350
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES=N'Hành chính HO đặt vé thành công'
|
351
|
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='HCHO_XL'
|
352
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS ='U'
|
353
|
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
|
354
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='HCHO_XL'
|
355
|
WHERE REQ_ID = @p_REQ_ID
|
356
|
IF @@ERROR <> 0 GOTO ABORT
|
357
|
SET @COMPLETE= 1
|
358
|
SET @TYPEMAIL='NOFI'
|
359
|
INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
360
|
VALUES(@p_REQ_ID, 'HCHO_XL',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Hành chính HO đặt vé thành công',
|
361
|
N' Hành chính HO đặt vé thành công')
|
362
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
363
|
N' đã được gửi thông báo thành công'
|
364
|
END
|
365
|
ELSE IF(@PROCESS_CURR='TRAIN_UPD')
|
366
|
BEGIN
|
367
|
|
368
|
IF NOT EXISTS(SELECT 1 FROM dbo.PL_PROCESS WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID='UPDATE')
|
369
|
BEGIN
|
370
|
ROLLBACK TRANSACTION
|
371
|
SELECT '-1' Result, N'Bạn chưa cập nhật thông tin cho phiếu' ErrorDesc
|
372
|
RETURN '-1'
|
373
|
END
|
374
|
|
375
|
--kiểm tra đn có phải người tạo or người sử dụng phiếu
|
376
|
IF NOT EXISTS(SELECT 1 FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID AND (MAKER_ID=@p_CHECKER_ID OR EMP_ID=@p_CHECKER_ID))
|
377
|
BEGIN
|
378
|
ROLLBACK TRANSACTION
|
379
|
SELECT '-1' Result, N'Gửi phiếu thất bại! Bạn không phải người tạo hoặc người sử dụng phiếu yêu cầu công tác này' ErrorDesc
|
380
|
RETURN '-1'
|
381
|
END
|
382
|
|
383
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES=N'Cập nhật thông tin thành công'
|
384
|
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='TRAIN_UPD'
|
385
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS ='U'
|
386
|
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
|
387
|
|
388
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID= CASE WHEN @PROCESS_NEXT='SIGN'THEN 'SEND' WHEN @PROCESS_NEXT='HO_APP'THEN 'APPNEW' ELSE 'SIGN' END
|
389
|
WHERE REQ_ID = @p_REQ_ID
|
390
|
IF @@ERROR <> 0 GOTO ABORT
|
391
|
INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
392
|
VALUES(@p_REQ_ID, 'TRAIN_UPD',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Người tạo thay đổi lộ trình',
|
393
|
N' Người tạo thay đổi lộ trình thành công')
|
394
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
395
|
N' đã được gửi duyệt thành công'
|
396
|
END
|
397
|
ELSE IF(@PROCESS_CURR='MAKER_APP')
|
398
|
BEGIN
|
399
|
IF NOT EXISTS(SELECT 1 FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID AND (MAKER_ID=@p_CHECKER_ID OR EMP_ID=@p_CHECKER_ID))
|
400
|
BEGIN
|
401
|
ROLLBACK TRANSACTION
|
402
|
SELECT '-1' Result, N'Xác nhận thất bại! Bạn không phải người tạo hoặc người sử dụng phiếu này' ErrorDesc
|
403
|
RETURN '-1'
|
404
|
END
|
405
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES=N'Người tạo xác nhận hoàn thành chuyến công tác thành công'
|
406
|
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='MAKER_APP'
|
407
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS ='U'
|
408
|
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
|
409
|
|
410
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='MAKER_APP'
|
411
|
WHERE REQ_ID = @p_REQ_ID
|
412
|
IF @@ERROR <> 0 GOTO ABORT
|
413
|
INSERT INTO PL_PROCESS(REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
414
|
VALUES(@p_REQ_ID, 'MAKER_APP',@p_CHECKER_ID, CONVERT(DATETIME, @p_APPROVE_DT, 103), N'Người tạo xác nhận hoàn thành chuyến công tác',
|
415
|
N' Người tạo xác nhận hoàn tất chuyến đi')
|
416
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
417
|
N' đã xác nhận hoàn tất chuyến công tác thành công'
|
418
|
DECLARE @PROCESS_ID_OLD VARCHAR(10)
|
419
|
IF(EXISTS(SELECT 1 FROM dbo.PL_PROCESS WHERE PROCESS_ID='UPDATE' AND REQ_ID=@p_REQ_ID))
|
420
|
BEGIN
|
421
|
SET @PROCESS_ID_OLD ='HOAPP'
|
422
|
-- INSERT INTO dbo.PL_REQUEST_PROCESS
|
423
|
-- (
|
424
|
-- REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
425
|
-- )
|
426
|
-- VALUES
|
427
|
-- (
|
428
|
-- @p_REQ_ID,'TDV_APP','C','GDDV',@BRANCH_ID,@DEPT_ID,'',NULL,'MAKER_APP','N','', '',N'Chờ trưởng đơn vị xác nhận' ,NULL
|
429
|
-- )
|
430
|
--------------------------------LUONG GUI DUYET TRUONG PHONG--------------------------------
|
431
|
IF(EXISTS(SELECT 1 FROM CM_ALLCODE WHERE CDTYPE='REQ' AND CDNAME='CT_PASS' AND CDVAL=@EMP_ID))
|
432
|
BEGIN
|
433
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='TDV_APP'WHERE REQ_ID = @p_REQ_ID
|
434
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
435
|
(
|
436
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
437
|
)
|
438
|
VALUES
|
439
|
(
|
440
|
@p_REQ_ID,'HOAPP','C','NVDV',@BRANCH_CREATE,'','',NULL,'MAKER_APP','N','','',N'Chờ Hành chính xác nhận hoàn thành' ,NULL
|
441
|
)
|
442
|
SET @TYPEMAIL = 'HOAPP'
|
443
|
SET @COMPLETE = 1
|
444
|
END
|
445
|
--TH Giám đốc khối tạo phiếu yêu cầu CT -> Không có PTGD, TGD duyệt trực tiếp
|
446
|
ELSE IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDK') AND NOT EXISTS(SELECT 1 FROM dbo.FN_GET_USER_MANAGER_BY_DVCM((SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID =@DEP_ID),'PTGD')))
|
447
|
BEGIN
|
448
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
449
|
(
|
450
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
451
|
)
|
452
|
VALUES
|
453
|
(
|
454
|
@p_REQ_ID,'SIGN_APP','C','TKTGD',NULL,NULL,NULL,'','TRAIN_UPD','','','',N'Chờ Thư ký tổng giám đốc phê duyệt', NULL -- IS_HAS_CHILD - bit
|
455
|
)
|
456
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
457
|
(
|
458
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
459
|
)
|
460
|
VALUES
|
461
|
(
|
462
|
@p_REQ_ID,'TDV_APP','U','TGD',NULL,NULL,'',NULL,'SIGN_APP','N','','', N'Chờ tổng giám đốc phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
463
|
)
|
464
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
465
|
(
|
466
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
467
|
)
|
468
|
VALUES
|
469
|
(
|
470
|
@p_REQ_ID,'HOAPP','U','NVDV',@BRANCH_CREATE,'','',NULL,'TDV_APP','N','','',N'Chờ Hành chính xác nhận hoàn thành' ,NULL
|
471
|
)
|
472
|
|
473
|
SET @TYPEMAIL='SIGN_APP'
|
474
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
475
|
N' đã được thay đổi thành công. Vui lòng đợi thư ký tổng giám đốc vị phê duyệt'
|
476
|
SET @COMPLETE = 1
|
477
|
END
|
478
|
-----------------TH gửi phê duyệt có cấp duyệt trung gian-----------
|
479
|
ELSE IF(EXISTS(SELECT 1 FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID AND SIGN_USER IS NOT NULL))
|
480
|
BEGIN
|
481
|
SELECT @BRANCH_SIGN_ID=TLSUBBRID,@DEP_SIGN_ID=SECUR_CODE,@BRANCH_SIGN_TYPE=BRANCH_TYPE,@ROLE_SIGN=RoleName FROM dbo.TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_REQ_ID)
|
482
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
483
|
N' đã chỉnh sửa và gửi yêu cầu hoàn tất. Vui lòng đợi cấp phê duyệt trung gian xác nhận'
|
484
|
SET @IS_SIGN = 1
|
485
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
486
|
(
|
487
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
488
|
)
|
489
|
VALUES
|
490
|
(
|
491
|
@p_REQ_ID,'SIGN_APP','C',@ROLE_SIGN,@BRANCH_SIGN_ID,CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END,'',NULL,'TRAIN_UPD','N','','',N'Chờ cấp phê duyệt trung gian xác nhận phiếu', NULL -- IS_HAS_CHILD - bit
|
492
|
)
|
493
|
SET @TYPEMAIL='SIGN_APP'
|
494
|
SET @IS_SIGN = 1
|
495
|
END
|
496
|
IF(@COMPLETE <> 1)
|
497
|
BEGIN
|
498
|
IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDK'))
|
499
|
BEGIN
|
500
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
501
|
(
|
502
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
503
|
)
|
504
|
VALUES
|
505
|
(
|
506
|
@p_REQ_ID,'TDV_APP',CASE WHEN @IS_SIGN=1 THEN 'U' ELSE 'C' END,'PTGD',NULL,NULL,'',NULL,CASE WHEN @IS_SIGN=1 THEN 'SIGN_APP' ELSE 'TRAIN_UPD' END,'N','',(SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEPT_ID),N'Chờ phó tổng giám đốc phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
507
|
)
|
508
|
END
|
509
|
ELSE IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDDV'))
|
510
|
BEGIN
|
511
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
512
|
(
|
513
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
514
|
)
|
515
|
VALUES
|
516
|
(
|
517
|
@p_REQ_ID,'TDV_APP',CASE WHEN @IS_SIGN=1 THEN 'U' ELSE 'C' END,'GDK',NULL,NULL,'',NULL,CASE WHEN @IS_SIGN=1 THEN 'SIGN_APP' ELSE 'TRAIN_UPD' END,'N','',(SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEPT_ID), N'Chờ giám đốc phê khối duyệt' ,NULL -- IS_HAS_CHILD - bit
|
518
|
)
|
519
|
END
|
520
|
ELSE
|
521
|
BEGIN
|
522
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
523
|
(
|
524
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
525
|
)
|
526
|
VALUES
|
527
|
(
|
528
|
@p_REQ_ID,'TDV_APP',CASE WHEN @IS_SIGN=1 THEN 'U' ELSE 'C' END,'GDDV',@BRANCH_ID,CASE WHEN @BRANCH_ID='DV0001' THEN @DEPT_ID ELSE '' END,'',NULL,CASE WHEN @IS_SIGN=1 THEN 'SIGN_APP' ELSE 'TRAIN_UPD' END,'N','','', N'Chờ trưởng phòng phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
529
|
)
|
530
|
|
531
|
END
|
532
|
|
533
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
534
|
(
|
535
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
536
|
)
|
537
|
VALUES
|
538
|
(
|
539
|
@p_REQ_ID,'HOAPP','U','NVDV',@BRANCH_CREATE,'','',NULL,'TDV_APP','N','','',N'Chờ Hành chính xác nhận hoàn thành' ,NULL
|
540
|
)
|
541
|
SET @COMPLETE = 1
|
542
|
IF(@TYPEMAIL IS NULL OR @TYPEMAIL ='')
|
543
|
BEGIN
|
544
|
SET @TYPEMAIL='TDV_APP'
|
545
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
546
|
N' đã chỉnh sửa và gửi yêu cầu hoàn tất. Vui lòng đợi trưởng phòng phê duyệt'
|
547
|
END
|
548
|
END
|
549
|
-- end
|
550
|
|
551
|
END
|
552
|
ELSE
|
553
|
BEGIN
|
554
|
SET @PROCESS_ID_OLD ='MAKER_APP'
|
555
|
SET @TYPEMAIL ='APPROVE'
|
556
|
UPDATE TR_REQUEST_JOB_FORM
|
557
|
SET AUTH_STATUS = 'A',PROCESS_ID='APPROVE',CHECKER_ID = @p_CHECKER_ID,
|
558
|
APPROVE_DT = CONVERT(DATETIME, @p_APPROVE_DT, 103)
|
559
|
WHERE REQ_ID = @p_REQ_ID
|
560
|
END
|
561
|
|
562
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
563
|
(
|
564
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,NOTES
|
565
|
)
|
566
|
VALUES
|
567
|
(
|
568
|
@p_REQ_ID,'APPROVE', (CASE @PROCESS_ID_OLD WHEN 'MAKER_APP' THEN 'C'ELSE 'U'END),'','','',NULL,@PROCESS_ID_OLD,'Y',N'Hoàn tất'
|
569
|
)
|
570
|
|
571
|
END
|
572
|
ELSE IF(@PROCESS_CURR='HOAPP')
|
573
|
BEGIN
|
574
|
IF NOT EXISTS(SELECT 1 FROM [dbo].[TL_USER_GET_ROLES](@p_CHECKER_ID) WHERE ROLE_ID='NVDV')
|
575
|
BEGIN
|
576
|
ROLLBACK TRANSACTION
|
577
|
SELECT '-1' Result, N'Xác nhận thất bại! Bạn không phải nhân viên đặt vé phòng hành chính' ErrorDesc
|
578
|
RETURN '-1'
|
579
|
END
|
580
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103),NOTES=N'Người tạo xác nhận hoàn thành chuyến công tác thành công'
|
581
|
WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID='HOAPP'
|
582
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='C' WHERE PARENT_PROCESS_ID=@PROCESS_CURR AND REQ_ID=@p_REQ_ID AND STATUS ='U'
|
583
|
SELECT @PROCESS_NEXT=PROCESS_ID,@ROLE=ROLE_USER,@BRANCH_NEXT=BRANCH_ID,@DEP_NEXT=DEP_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
|
584
|
|
585
|
UPDATE TR_REQUEST_JOB_FORM SET PROCESS_ID='APPROVE',AUTH_STATUS='A',CHECKER_ID=@p_CHECKER_ID
|
586
|
WHERE REQ_ID = @p_REQ_ID
|
587
|
IF @@ERROR <> 0 GOTO ABORT
|
588
|
|
589
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
590
|
N' đã xác nhận hoàn tất thành công'
|
591
|
|
592
|
INSERT INTO dbo.PL_PROCESS
|
593
|
(
|
594
|
REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES
|
595
|
)
|
596
|
VALUES
|
597
|
(
|
598
|
@p_REQ_ID,'HOAPP',@p_CHECKER_ID,GETDATE(),@p_NOTES,N'Hành chính HO đã phê duyệt'
|
599
|
)
|
600
|
END
|
601
|
END
|
602
|
ELSE IF(@p_TYPE_PROCESS='CANCEL')
|
603
|
BEGIN
|
604
|
UPDATE dbo.TR_REQUEST_JOB_FORM SET PROCESS_ID='CANCEL',AUTH_STATUS='D' WHERE REQ_ID=@p_REQ_ID
|
605
|
IF @@Error <> 0 GOTO ABORT
|
606
|
|
607
|
SET @COMPLETE=1
|
608
|
SET @TYPEMAIL='CANCEL'
|
609
|
|
610
|
IF(EXISTS (SELECT 1 FROM CM_REJECT_LOG WHERE TRN_ID = @p_REQ_ID))
|
611
|
BEGIN
|
612
|
UPDATE CM_REJECT_LOG SET IS_LATEST ='N' WHERE TRN_ID =@p_REQ_ID
|
613
|
END
|
614
|
EXEC SYS_CodeMasters_Gen 'CM_REJECT_LOG', @p_LOG_ID out
|
615
|
IF @p_LOG_ID='' OR @p_LOG_ID IS NULL GOTO ABORT
|
616
|
INSERT INTO [dbo].[CM_REJECT_LOG] VALUES (@p_LOG_ID,'HC',@p_REQ_ID,'TR_REQUEST_JOB_FORM',CONVERT(DATETIME,GETDATE(),103),'R',@p_NOTES,'N',@p_CHECKER_ID,CONVERT(DATETIME,GETDATE(),103))
|
617
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P' WHERE REQ_ID=@p_REQ_ID AND STATUS ='C'
|
618
|
DELETE dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS ='U'
|
619
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
620
|
(
|
621
|
REQ_ID,PROCESS_ID,STATUS, ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID,SUB_PROCESS_ID
|
622
|
)
|
623
|
VALUES
|
624
|
(
|
625
|
@p_REQ_ID,'CANCEL','C','','','',GETDATE(),'','','','',N'',NULL,'', ''
|
626
|
)
|
627
|
-- insert log
|
628
|
INSERT INTO dbo.PL_PROCESS
|
629
|
(
|
630
|
REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES
|
631
|
)
|
632
|
VALUES
|
633
|
(
|
634
|
@p_REQ_ID,'CANCEL',@p_CHECKER_ID,CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_NOTES,N'Hủy phiếu thành công'
|
635
|
)
|
636
|
DECLARE @REQ_CAR_ID VARCHAR(20)
|
637
|
SELECT @REQ_CAR_ID=REQ_CAR_ID FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID
|
638
|
IF(@REQ_CAR_ID IS NOT NULL)
|
639
|
BEGIN
|
640
|
UPDATE dbo.TR_REQUEST_CAR SET AUTH_STATUS='D' WHERE REQ_ID=@REQ_CAR_ID
|
641
|
END
|
642
|
SET @NOTIFATION =N'Phiếu yêu cầu công tác số: '+ @REQ_CODE+N' đã bị hủy'
|
643
|
END
|
644
|
ELSE IF(@p_TYPE_PROCESS='TRAIN_UPD')
|
645
|
BEGIN
|
646
|
INSERT INTO dbo.PL_PROCESS
|
647
|
(
|
648
|
REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES
|
649
|
)
|
650
|
VALUES
|
651
|
(
|
652
|
@p_REQ_ID,'TRAIN_UPD', @p_CHECKER_ID, GETDATE(),N'Người tạo thay đổi lộ trình thành công', N'Người tạo thay đổi lộ trình'
|
653
|
)
|
654
|
UPDATE dbo.TR_REQUEST_JOB_FORM SET PROCESS_ID ='TRAIN_UPD' WHERE REQ_ID=@p_REQ_ID
|
655
|
/* declare variables */
|
656
|
|
657
|
DECLARE
|
658
|
@FROM_TRAIN VARCHAR(15),
|
659
|
@TO_TRAIN VARCHAR(15),
|
660
|
@VEHICLE_TYPE VARCHAR(15),
|
661
|
@CONSIGNMENT VARCHAR(5)
|
662
|
|
663
|
DECLARE @lstID TABLE(
|
664
|
TRAIN_ID VARCHAR(15)
|
665
|
)
|
666
|
|
667
|
DECLARE @lstRJT TABLE(
|
668
|
FROM_TRAIN VARCHAR(15),
|
669
|
TO_TRAIN VARCHAR(15),
|
670
|
VEHICLE_TYPE VARCHAR(15),
|
671
|
CONSIGNMENT VARCHAR(5)
|
672
|
)
|
673
|
|
674
|
--Lưới Danh sách Lộ Trình
|
675
|
INSERT INTO @lstRJT
|
676
|
SELECT FROM_TRAIN,TO_TRAIN,VEHICLE_TYPE,CONSIGNMENT FROM dbo.TR_REQUEST_JOB_TRAIN WHERE REQ_ID=@p_REQ_ID AND IS_OLD=0
|
677
|
|
678
|
DECLARE crTrain CURSOR FOR SELECT FROM_TRAIN,TO_TRAIN,VEHICLE_TYPE,CONSIGNMENT FROM @lstRJT
|
679
|
|
680
|
OPEN crTrain
|
681
|
|
682
|
FETCH NEXT FROM crTrain INTO @FROM_TRAIN,@TO_TRAIN,@VEHICLE_TYPE,@CONSIGNMENT
|
683
|
|
684
|
WHILE @@FETCH_STATUS = 0
|
685
|
BEGIN
|
686
|
DECLARE @l_RJT_ID VARCHAR(15)
|
687
|
EXEC SYS_CodeMasters_Gen 'TR_REQUEST_JOB_TRAIN', @l_RJT_ID OUT
|
688
|
INSERT INTO @lstID VALUES (@l_RJT_ID)
|
689
|
INSERT INTO dbo.TR_REQUEST_JOB_TRAIN
|
690
|
(TRAIN_ID,REQ_ID,FROM_TRAIN,TO_TRAIN,VEHICLE_TYPE,CONSIGNMENT,IS_OLD)
|
691
|
VALUES
|
692
|
(@l_RJT_ID, @p_REQ_ID,@FROM_TRAIN,@TO_TRAIN,@VEHICLE_TYPE, @CONSIGNMENT,0)
|
693
|
FETCH NEXT FROM crTrain INTO @FROM_TRAIN,@TO_TRAIN,@VEHICLE_TYPE,@CONSIGNMENT
|
694
|
IF @@ERROR <> 0 GOTO ABORT
|
695
|
END
|
696
|
CLOSE crTrain
|
697
|
DEALLOCATE crTrain
|
698
|
UPDATE TR_REQUEST_JOB_TRAIN SET IS_OLD=1 WHERE REQ_ID=@p_REQ_ID AND TRAIN_ID NOT IN (SELECT TRAIN_ID FROM @lstID)
|
699
|
UPDATE TR_REQ_JOB_FLY SET IS_OLD = 1 WHERE REQ_ID =@p_REQ_ID
|
700
|
UPDATE TR_REQ_JOB_TRIP SET RECORD_STATUS='0' WHERE REQ_ID =@p_REQ_ID
|
701
|
UPDATE TR_REQ_JOB_RETURN_TRIP SET RECORD_STATUS='0' WHERE REQ_ID =@p_REQ_ID
|
702
|
DELETE PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND (STATUS='U' OR STATUS='C')
|
703
|
|
704
|
|
705
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
706
|
(
|
707
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
708
|
)
|
709
|
VALUES
|
710
|
(
|
711
|
@p_REQ_ID,'TRAIN_UPD','C',@MAKER_ID,'','','','HCHO_XL','N','','',N'Chờ người tạo thay đổi thông tin',NULL,''
|
712
|
)
|
713
|
--------------------------------LUONG GUI DUYET TRUONG PHONG--------------------------------
|
714
|
IF(EXISTS(SELECT 1 FROM CM_ALLCODE WHERE CDTYPE='REQ' AND CDNAME='CT_PASS' AND CDVAL=@EMP_ID))
|
715
|
BEGIN
|
716
|
|
717
|
SELECT @REQ_TYPE_BOOKING_AIR=REQ_TYPE_BOOKING_AIR,@REQ_TYPE_BOOKING_HOTEL=REQ_TYPE_BOOKING_HOTEL FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID=@p_REQ_ID
|
718
|
|
719
|
IF(@REQ_TYPE_BOOKING_AIR='AIR_B')
|
720
|
BEGIN
|
721
|
SET @TYPEMAIL='SENDHO'
|
722
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
723
|
(
|
724
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
725
|
)
|
726
|
VALUES
|
727
|
(
|
728
|
@p_REQ_ID,'HO_APP','U','NVDV',@BRANCH_CREATE,'',NULL,'TRAIN_UPD','N','','',N'Chờ Hành chính HO xử lý',NULL,''
|
729
|
)
|
730
|
|
731
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
732
|
(
|
733
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
734
|
)
|
735
|
VALUES
|
736
|
(
|
737
|
@p_REQ_ID,'MAKER_CONF','U',@MAKER_ID,@BRANCH_CREATE, '', NULL,'HO_APP','N','','',N'Chờ người tạo xác nhận',NULL,''
|
738
|
)
|
739
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
740
|
(
|
741
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
742
|
)
|
743
|
VALUES
|
744
|
(
|
745
|
@p_REQ_ID,'HCHO_XL','U','NVDV',@BRANCH_CREATE,'',NULL,'MAKER_CONF','N','','', N'Chờ Hành chính HO xử lý',NULL,''
|
746
|
)
|
747
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
748
|
(
|
749
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD,DEP_ID
|
750
|
)
|
751
|
VALUES
|
752
|
(
|
753
|
@p_REQ_ID,'MAKER_APP','U',@MAKER_ID,@BRANCH_CREATE,'',NULL,'HCHO_XL','N','','',N'Chờ người tạo phiếu xác nhận chuyến đi hoàn tất',NULL,''
|
754
|
)
|
755
|
END
|
756
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
757
|
N' đã được gửi duyệt thành công. Vui lòng đợi nhân viên hành chính HO xử lý phiếu'
|
758
|
SET @COMPLETE = 1
|
759
|
END
|
760
|
--TH Giám đốc khối tạo phiếu yêu cầu CT -> Không có PTGD, TGD duyệt trực tiếp
|
761
|
ELSE IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDK') AND NOT EXISTS(SELECT 1 FROM dbo.FN_GET_USER_MANAGER_BY_DVCM((SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID =@DEP_ID),'PTGD')))
|
762
|
BEGIN
|
763
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
764
|
(
|
765
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
766
|
)
|
767
|
VALUES
|
768
|
(
|
769
|
@p_REQ_ID,'SIGN','U','TKTGD',NULL,NULL,NULL,'','TRAIN_UPD','','','',N'Chờ Thư ký tổng giám đốc phê duyệt', NULL -- IS_HAS_CHILD - bit
|
770
|
)
|
771
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
772
|
(
|
773
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
774
|
)
|
775
|
VALUES
|
776
|
(
|
777
|
@p_REQ_ID,'APPNEW','U','TGD',NULL,NULL,'',NULL,'SIGN','N','','', N'Chờ tổng giám đốc phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
778
|
)
|
779
|
UPDATE dbo.TR_REQUEST_JOB_FORM SET SIGN_USER='TKTGD' WHERE REQ_ID =@p_REQ_ID
|
780
|
SET @TYPEMAIL='SEND'
|
781
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
782
|
N' đã được gửi duyệt thành công. Vui lòng đợi thư ký tổng giám đốc vị phê duyệt'
|
783
|
SET @COMPLETE = 1
|
784
|
END
|
785
|
-----------------TH gửi phê duyệt có cấp duyệt trung gian-----------
|
786
|
ELSE IF(EXISTS(SELECT 1 FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @p_REQ_ID AND SIGN_USER IS NOT NULL))
|
787
|
BEGIN
|
788
|
|
789
|
SELECT @BRANCH_SIGN_ID=TLSUBBRID,@DEP_SIGN_ID=SECUR_CODE,@BRANCH_SIGN_TYPE=BRANCH_TYPE,@ROLE_SIGN=RoleName FROM dbo.TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM dbo.TR_REQUEST_JOB_FORM WHERE REQ_ID =@p_REQ_ID)
|
790
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
791
|
N' đã được gửi phê duyệt thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận'
|
792
|
SET @IS_SIGN = 1
|
793
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
794
|
(
|
795
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
796
|
)
|
797
|
VALUES
|
798
|
(
|
799
|
@p_REQ_ID,'SIGN','U',@ROLE_SIGN,@BRANCH_SIGN_ID,CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END,'',NULL,'TRAIN_UPD','N','','',N'Chờ cấp phê duyệt trung gian xác nhận phiếu', NULL -- IS_HAS_CHILD - bit
|
800
|
)
|
801
|
SET @TYPEMAIL='SEND'
|
802
|
END
|
803
|
IF(@COMPLETE <> 1)
|
804
|
BEGIN
|
805
|
IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDK'))
|
806
|
BEGIN
|
807
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
808
|
(
|
809
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
810
|
)
|
811
|
VALUES
|
812
|
(
|
813
|
@p_REQ_ID,'APPNEW','U','PTGD',NULL,NULL,'',NULL,CASE WHEN @IS_SIGN=1 THEN 'SIGN' ELSE 'TRAIN_UPD' END,'N','',(SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEPT_ID),N'Chờ phó tổng giám đốc phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
814
|
)
|
815
|
END
|
816
|
ELSE IF(EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@EMP_ID)WHERE ROLE_ID ='GDDV'))
|
817
|
BEGIN
|
818
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
819
|
(
|
820
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
821
|
)
|
822
|
VALUES
|
823
|
(
|
824
|
@p_REQ_ID,'APPNEW','U','GDK',NULL,NULL,'',NULL,CASE WHEN @IS_SIGN=1 THEN 'SIGN' ELSE 'TRAIN_UPD' END,'N','',(SELECT KHOI_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID=@DEPT_ID), N'Chờ giám đốc phê khối duyệt' ,NULL -- IS_HAS_CHILD - bit
|
825
|
)
|
826
|
END
|
827
|
ELSE
|
828
|
BEGIN
|
829
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
830
|
(
|
831
|
REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,DEP_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,COST_ID,DVDM_ID,NOTES,IS_HAS_CHILD
|
832
|
)
|
833
|
VALUES
|
834
|
(
|
835
|
@p_REQ_ID,'APPNEW','U','GDDV',@BRANCH_ID,CASE WHEN @BRANCH_ID='DV0001' THEN @DEPT_ID ELSE '' END,'',NULL,CASE WHEN @IS_SIGN=1 THEN 'SIGN' ELSE 'TRAIN_UPD' END,'N','','', N'Chờ trưởng phòng phê duyệt' ,NULL -- IS_HAS_CHILD - bit
|
836
|
)
|
837
|
END
|
838
|
SET @NOTIFATION = N'PYC công tác số: ' +@REQ_CODE+
|
839
|
N' gửi yêu cầu đổi lịch trình thành công. Vui lòng đợi trưởng phòng phê duyệt'
|
840
|
SET @COMPLETE = 1
|
841
|
SET @TYPEMAIL = 'TRAIN_UPD'
|
842
|
END
|
843
|
END
|
844
|
|
845
|
UPDATE dbo.PL_PROCESS SET PROCESS_ID='UPDATE_NT' WHERE REQ_ID=@p_REQ_ID AND PROCESS_ID='UPDATE'
|
846
|
COMMIT TRANSACTION
|
847
|
SELECT '0' as Result, @NOTIFATION AS NOTIFATION, '' ErrorDesc, @TYPEMAIL AS TYPEMAIL, @COMPLETE COMPLETE
|
848
|
RETURN '0'
|
849
|
ABORT:
|
850
|
BEGIN
|
851
|
ROLLBACK TRANSACTION
|
852
|
SELECT '-1' AS RESULT
|
853
|
RETURN '-1'
|
854
|
End
|
855
|
END
|
856
|
|
857
|
|
858
|
|
859
|
|
860
|
|
861
|
|
862
|
|
863
|
|
864
|
GO
|