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