1
|
|
2
|
ALTER PROCEDURE [dbo].[PL_REQUEST_DOC_TRANSFER_Upd]
|
3
|
@p_REQ_ID varchar(15) = NULL,
|
4
|
@p_TYPE_PROCESS varchar(50) = 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_USERNAME varchar(100) = NULL,
|
10
|
@p_NOTES NVARCHAR(MAX)= NULL,
|
11
|
@p_DVKD_USER_APP NVARCHAR(500)= NULL
|
12
|
|
13
|
AS
|
14
|
BEGIN
|
15
|
|
16
|
DECLARE
|
17
|
@NOTIFATION NVARCHAR(100) = NULL,
|
18
|
@BRANCHID VARCHAR(20)= NULL,
|
19
|
@DEP_ID VARCHAR(20),
|
20
|
@NOTIFY_TO_USER VARCHAR(MAX) = '',
|
21
|
@COMPLETE BIT = 0,
|
22
|
@REQ_TYPE VARCHAR(20) = (SELECT TOP 1 trsd.REQ_TYPE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @p_REQ_ID),
|
23
|
@CURR_PROCESS VARCHAR(50) = (SELECT TOP 1 A.PROCESS_ID FROM PL_REQUEST_PROCESS A WHERE A.REQ_ID = @p_REQ_ID AND A.STATUS = 'C')
|
24
|
|
25
|
|
26
|
SELECT @BRANCHID = tu.TLSUBBRID, @DEP_ID = tu.DEP_ID FROM TL_USER tu WHERE tu.TLNANME = @p_CHECKER_ID
|
27
|
|
28
|
DECLARE @ASSET_ID_LST VARCHAR(MAX), @CURRENT_TRANS_ERROR NVARCHAR(MAX)
|
29
|
|
30
|
|
31
|
BEGIN TRANSACTION
|
32
|
|
33
|
IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'REJECT'))
|
34
|
BEGIN
|
35
|
ROLLBACK TRANSACTION
|
36
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đang bị trả về' ErrorDesc
|
37
|
RETURN '-1'
|
38
|
END
|
39
|
|
40
|
-- GỬI TRƯỞNG ĐƠN VỊ
|
41
|
IF(@p_TYPE_PROCESS='S_DVKD')
|
42
|
BEGIN
|
43
|
|
44
|
--PHUCVH 26/12/22 RÀNG BUỘC KHÔNG CHO TẠO 2 PYC CÙNG 1 TÀI SẢN CHƯA HOÀN THÀNH SỬA CHỮA
|
45
|
--&& TS ĐÃ ĐƯỢC THÊM Ở LƯỚI TS CẦN THAY THẾ TRÊN PYC CẤP PHÁT KHÔNG ĐƯỢC YÊU CẦU SỬA CHỮA
|
46
|
IF(@REQ_TYPE = 'SC')
|
47
|
BEGIN
|
48
|
DECLARE @MESSAGE_VALIDATION NVARCHAR(MAX)
|
49
|
|
50
|
DECLARE @TABLE_ASSCODE_VALIDATION TABLE (ASSET_CODE VARCHAR(100), REQ_CODE VARCHAR(100))
|
51
|
|
52
|
--RÀNG BUỘC TS ĐÃ ĐƯỢC THÊM Ở LƯỚI TS CẦN THAY THẾ TRÊN PYC CẤP PHÁT KHÔNG ĐƯỢC YÊU CẦU SỬA CHỮA
|
53
|
INSERT INTO @TABLE_ASSCODE_VALIDATION
|
54
|
SELECT ISNULL(G.ASSET_CODE,G.ASS_CODE_TMP) ASSET_CODE, F.REQ_CODE
|
55
|
FROM (
|
56
|
SELECT B.ASS_ID, C.REQ_CODE
|
57
|
FROM TR_REQUEST_SHOP_DOC_DT B
|
58
|
LEFT JOIN TR_REQUEST_SHOP_DOC C ON B.REQ_DOC_ID = C.REQ_ID
|
59
|
WHERE C.AUTH_STATUS NOT IN ('E','R','D') AND B.REQ_DT_TYPE = 'ASSET_BROKEN'
|
60
|
AND B.ASS_ID IN (SELECT D.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT D WHERE D.REQ_DOC_ID = @p_REQ_ID)
|
61
|
GROUP BY B.ASS_ID, C.REQ_CODE
|
62
|
) F
|
63
|
LEFT JOIN ASS_MASTER G ON F.ASS_ID = G.ASSET_ID
|
64
|
|
65
|
IF(EXISTS(SELECT 1 FROM @TABLE_ASSCODE_VALIDATION))
|
66
|
BEGIN
|
67
|
SET @MESSAGE_VALIDATION = (SELECT REPLACE((SELECT
|
68
|
CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN ''
|
69
|
ELSE '|' END
|
70
|
+ N'Tài sản ' + C.ASSET_CODE + N' đã được yêu cầu thay thế trong phiếu số' + C.REQ_CODE
|
71
|
FROM ( SELECT ASSET_CODE,REQ_CODE FROM @TABLE_ASSCODE_VALIDATION) C
|
72
|
FOR XML PATH (''))
|
73
|
, '|', '<br />'))
|
74
|
ROLLBACK TRANSACTION
|
75
|
SELECT '-1' as Result, @MESSAGE_VALIDATION ErrorDesc
|
76
|
RETURN '-1'
|
77
|
END
|
78
|
|
79
|
--RÀNG BUỘC KHÔNG CHO TẠO 2 PYC CÙNG 1 TÀI SẢN CHƯA HOÀN THÀNH SỬA CHỮA
|
80
|
INSERT INTO @TABLE_ASSCODE_VALIDATION
|
81
|
SELECT ISNULL(C.ASSET_CODE,C.ASS_CODE_TMP),B.REQ_CODE
|
82
|
FROM TR_REQUEST_SHOP_DOC_DT A
|
83
|
LEFT JOIN TR_REQUEST_SHOP_DOC B ON A.REQ_DOC_ID = B.REQ_ID
|
84
|
LEFT JOIN ASS_MASTER C ON A.ASS_ID = C.ASSET_ID
|
85
|
WHERE A.ASS_ID IN (SELECT C.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT C WHERE C.REQ_DOC_ID = @p_REQ_ID)
|
86
|
AND B.IS_DONE = '0'
|
87
|
AND B.REQ_TYPE = 'SC'
|
88
|
AND B.AUTH_STATUS NOT IN ('E','D','R')
|
89
|
AND A.REQ_DOC_ID <> @p_REQ_ID
|
90
|
|
91
|
IF(EXISTS(SELECT 1 FROM @TABLE_ASSCODE_VALIDATION))
|
92
|
BEGIN
|
93
|
SET @MESSAGE_VALIDATION = (SELECT REPLACE((SELECT
|
94
|
CASE WHEN ROW_NUMBER() OVER (ORDER BY (SELECT 0)) = 1 THEN ''
|
95
|
ELSE '|' END
|
96
|
+ N'Tài sản ' + C.ASSET_CODE + N' trong ' + C.REQ_CODE + N' chưa được hoàn thành sửa chữa'
|
97
|
FROM (SELECT ASSET_CODE,REQ_CODE FROM @TABLE_ASSCODE_VALIDATION) C
|
98
|
FOR XML PATH (''))
|
99
|
, '|', '<br />'))
|
100
|
ROLLBACK TRANSACTION
|
101
|
SELECT '-1' as Result, @MESSAGE_VALIDATION ErrorDesc
|
102
|
RETURN '-1'
|
103
|
END
|
104
|
|
105
|
END
|
106
|
|
107
|
|
108
|
IF(@REQ_TYPE = 'TH')
|
109
|
BEGIN
|
110
|
-- KIỂM TRA TÀI SẢN ĐANG TREO TRONG GIAO DỊCH KHÁC
|
111
|
SET @ASSET_ID_LST = (SELECT B.ASSET_ID + '|' FROM (SELECT A.ASSET_ID
|
112
|
FROM TR_REQUEST_DOC_ASSET_DT A
|
113
|
where A.REQ_DOC_ID = @p_REQ_ID) B
|
114
|
FOR XML PATH (''))
|
115
|
SELECT @CURRENT_TRANS_ERROR = dbo.ASSET_CHECK_CURRENT_TRANS(@ASSET_ID_LST)
|
116
|
IF(@CURRENT_TRANS_ERROR IS NOT NULL AND @CURRENT_TRANS_ERROR <> '')
|
117
|
BEGIN
|
118
|
ROLLBACK TRANSACTION
|
119
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, @CURRENT_TRANS_ERROR ErrorDesc
|
120
|
RETURN '-1'
|
121
|
END
|
122
|
END
|
123
|
ELSE
|
124
|
BEGIN
|
125
|
-- KIỂM TRA TÀI SẢN ĐANG TREO TRONG GIAO DỊCH KHÁC
|
126
|
SET @ASSET_ID_LST = (SELECT B.ASS_ID + '|' FROM (SELECT A.ASS_ID
|
127
|
FROM TR_REQUEST_SHOP_DOC_DT A
|
128
|
where A.REQ_DOC_ID = @p_REQ_ID) B
|
129
|
FOR XML PATH (''))
|
130
|
SELECT @CURRENT_TRANS_ERROR = dbo.ASSET_CHECK_CURRENT_TRANS(@ASSET_ID_LST)
|
131
|
IF(@CURRENT_TRANS_ERROR IS NOT NULL AND @CURRENT_TRANS_ERROR <> '')
|
132
|
BEGIN
|
133
|
ROLLBACK TRANSACTION
|
134
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, @CURRENT_TRANS_ERROR ErrorDesc
|
135
|
RETURN '-1'
|
136
|
END
|
137
|
END
|
138
|
|
139
|
|
140
|
--PHUCVH 09/11/22 UPDATE TÀI SẢN TREO GIAO DỊCH
|
141
|
IF(@REQ_TYPE = 'TH')
|
142
|
BEGIN
|
143
|
UPDATE ASS_MASTER SET CURRENT_TRANS = @p_REQ_ID, CURRENT_TRANS_TYPE = (SELECT A.REQ_TYPE FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID)
|
144
|
WHERE ASSET_ID IN (SELECT B.ASSET_ID FROM TR_REQUEST_DOC_ASSET_DT B WHERE B.REQ_DOC_ID = @p_REQ_ID)
|
145
|
END
|
146
|
ELSE
|
147
|
BEGIN
|
148
|
UPDATE ASS_MASTER SET CURRENT_TRANS = @p_REQ_ID, CURRENT_TRANS_TYPE = (SELECT A.REQ_TYPE FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID)
|
149
|
WHERE ASSET_ID IN (SELECT B.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT B WHERE B.REQ_DOC_ID = @p_REQ_ID)
|
150
|
END
|
151
|
|
152
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,DEP_ID,PARENT_PROCESS_ID,IS_LEAF,NOTES,PROCESS_TYPE)
|
153
|
VALUES(@p_REQ_ID,'APPNEW','C','GDDV',@BRANCHID,@DEP_ID,'','N',NULL,'Approve')
|
154
|
|
155
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
156
|
VALUES (@p_REQ_ID, 'S_DVKD', @p_CHECKER_ID, GETDATE(), N'Gửi trưởng đơn vị', N'Gửi trưởng đơn vị thành công');
|
157
|
|
158
|
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPNEW', AUTH_STATUS = 'U' WHERE REQ_ID=@p_REQ_ID
|
159
|
UPDATE TR_REQUEST_SHOP_DOC_DT SET AUTH_STATUS = 'U' WHERE REQ_DOC_ID = @p_REQ_ID
|
160
|
|
161
|
SET @NOTIFATION= N'Gửi trưởng đơn vị thành công'
|
162
|
|
163
|
--UPDATE NGÀY GỬI DUYỆT
|
164
|
UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE()
|
165
|
WHERE REQ_ID = @p_REQ_ID
|
166
|
|
167
|
IF @@Error <> 0 GOTO ABORT
|
168
|
END
|
169
|
-- --QLTS gửi DVCM
|
170
|
ELSE IF(@p_TYPE_PROCESS='S_DVCM')
|
171
|
BEGIN
|
172
|
IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'REJECT'))
|
173
|
BEGIN
|
174
|
ROLLBACK TRANSACTION
|
175
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đã bị trả về. Gửi duyệt thất bại.' ErrorDesc
|
176
|
RETURN '-1'
|
177
|
END
|
178
|
|
179
|
IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND (HO_NOTES IS NULL OR HO_NOTES = '')))
|
180
|
BEGIN
|
181
|
ROLLBACK TRANSACTION
|
182
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS trước khi gửi duyệt.' ErrorDesc
|
183
|
RETURN '-1'
|
184
|
END
|
185
|
|
186
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
187
|
VALUES (@p_REQ_ID, 'S_DVCM', @p_CHECKER_ID, GETDATE(), N'Gửi DVCM', N'QLTS gửi DVCM thành công');
|
188
|
|
189
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'DVCM' WHERE REQ_ID = @p_REQ_ID
|
190
|
|
191
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'QLTS_N'
|
192
|
|
193
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'DVCM' AND REQ_ID = @p_REQ_ID
|
194
|
|
195
|
SET @p_NOTES = N'Gửi DVCM thành công'
|
196
|
|
197
|
IF @@Error <> 0 GOTO ABORT
|
198
|
|
199
|
--END
|
200
|
SET @NOTIFATION= N'Gửi DVCM thành công'
|
201
|
|
202
|
--UPDATE NGÀY GỬI DUYỆT
|
203
|
UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE()
|
204
|
WHERE REQ_ID = @p_REQ_ID
|
205
|
|
206
|
END
|
207
|
-- QLTS DUYỆT
|
208
|
ELSE IF(@p_TYPE_PROCESS='QLTS_D')
|
209
|
BEGIN
|
210
|
|
211
|
IF(EXISTS(SELECT TOP 1 A.HO_NOTES FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID AND (A.HO_NOTES IS NULL OR A.HO_NOTES = '')))
|
212
|
BEGIN
|
213
|
ROLLBACK TRANSACTION
|
214
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'QLTS chưa nhập ý kiến. Duyệt thất bại' ErrorDesc
|
215
|
RETURN '-1'
|
216
|
END
|
217
|
|
218
|
IF(EXISTS(SELECT trsd.REQ_ID FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @p_REQ_ID AND trsd.MAKER_ID = @p_CHECKER_ID))
|
219
|
BEGIN
|
220
|
ROLLBACK TRANSACTION
|
221
|
SELECT '-1' as Result, @p_REQ_ID AS ID, N'Bạn không có quyền duyệt phiếu này' ErrorDesc
|
222
|
RETURN '-1'
|
223
|
END
|
224
|
|
225
|
IF((SELECT TOP 1 STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID) = 'TBP_D')
|
226
|
BEGIN --TRƯỞNG BỘ PHẬN QLTS DUYỆT
|
227
|
|
228
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P',NOTES = @p_NOTES ,CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C' AND PROCESS_ID = 'TBP_D'
|
229
|
|
230
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
231
|
VALUES (@p_REQ_ID, 'TBP_D', @p_CHECKER_ID, GETDATE(), N'Trưởng bộ phận QLTS duyệt', @p_NOTES);
|
232
|
|
233
|
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='QLTS_D' WHERE REQ_ID=@p_REQ_ID
|
234
|
|
235
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE)
|
236
|
VALUES(@p_REQ_ID,'QLTS_D','C','GDDV_QLTS','DV0001','TBP_D','DEP000000000048','N',NULL,'Approve')
|
237
|
|
238
|
SET @NOTIFATION= N'Trưởng bộ phận QLTS duyệt thành công'
|
239
|
END
|
240
|
ELSE IF((SELECT TOP 1 STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID) = 'QLTS_D')
|
241
|
BEGIN --TRƯỞNG ĐƠN VỊ QLTS DUYỆT
|
242
|
|
243
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P', NOTES = @p_NOTES , CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C'
|
244
|
IF @@Error <> 0 GOTO ABORT
|
245
|
|
246
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
247
|
VALUES (@p_REQ_ID, 'QLTS_D', @p_CHECKER_ID, GETDATE(), N'Trưởng đơn vị QLTS duyệt', @p_NOTES);
|
248
|
|
249
|
IF(@REQ_TYPE <> 'DCTS')
|
250
|
BEGIN --PHIẾU SỬA CHỮA TÀI SẢN, THU HỒI TÀI SẢN
|
251
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],IS_LEAF)
|
252
|
VALUES(@p_REQ_ID,'APPROVE','C','N')
|
253
|
|
254
|
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPROVE',AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,GETDATE(),103) WHERE REQ_ID=@p_REQ_ID
|
255
|
|
256
|
IF(@REQ_TYPE = 'TH')
|
257
|
BEGIN
|
258
|
--UPDATE ASS_MASTER XONG GIAO DỊCH
|
259
|
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM TR_REQUEST_DOC_ASSET_DT A WHERE A.REQ_DOC_ID = @p_REQ_ID)
|
260
|
END
|
261
|
ELSE
|
262
|
BEGIN
|
263
|
--UPDATE ASS_MASTER XONG GIAO DỊCH
|
264
|
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_REQ_ID)
|
265
|
END
|
266
|
SET @NOTIFATION= N'Phê duyệt thành công'
|
267
|
END
|
268
|
ELSE
|
269
|
BEGIN
|
270
|
DECLARE @PRICE_OF_ASSET DECIMAL = (SELECT MAX(b.BUY_PRICE)
|
271
|
FROM TR_REQUEST_SHOP_DOC_DT A
|
272
|
LEFT JOIN ASS_MASTER B ON A.ASS_ID = B.ASSET_ID
|
273
|
WHERE A.REQ_DOC_ID = @p_REQ_ID)
|
274
|
|
275
|
IF(@PRICE_OF_ASSET > 30000000)
|
276
|
BEGIN --LÊN TTDVNB
|
277
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE)
|
278
|
VALUES(@p_REQ_ID,'TTQLTS_D','C','GDDV','DV0001','QLTS_D',(SELECT TOP 1 DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE = '05N20'),'N',NULL,'Approve')
|
279
|
|
280
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'TTQLTS_D' WHERE REQ_ID = @p_REQ_ID
|
281
|
SET @NOTIFATION= N'Trưởng đơn vị phê duyệt thành công. Phiếu đã gừi lên Trung tâm dịch vụ nội bộ.'
|
282
|
END
|
283
|
ELSE
|
284
|
BEGIN
|
285
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],IS_LEAF)
|
286
|
VALUES(@p_REQ_ID,'APPROVE','C','N')
|
287
|
|
288
|
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPROVE',AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,GETDATE(),103) WHERE REQ_ID=@p_REQ_ID
|
289
|
|
290
|
--UPDATE ASS_MASTER XONG GIAO DỊCH
|
291
|
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_REQ_ID)
|
292
|
|
293
|
SET @NOTIFATION= N'Phê duyệt thành công.'
|
294
|
END
|
295
|
END
|
296
|
|
297
|
|
298
|
END
|
299
|
ELSE IF((SELECT TOP 1 STATUS FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID) = 'TTQLTS_D')
|
300
|
BEGIN --TRUNG TÂM DỊCH VỤ NỘI BỘ DUYỆT
|
301
|
UPDATE PL_REQUEST_PROCESS SET [STATUS]='P', NOTES = @p_NOTES , CHECKER_ID=@p_CHECKER_ID,APPROVE_DT=CONVERT(DATETIME, @p_APPROVE_DT, 103) WHERE REQ_ID=@p_REQ_ID AND [STATUS]='C'
|
302
|
IF @@Error <> 0 GOTO ABORT
|
303
|
|
304
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],IS_LEAF)
|
305
|
VALUES(@p_REQ_ID,'APPROVE','C','N')
|
306
|
|
307
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
308
|
VALUES (@p_REQ_ID, 'TTQLTS_D', @p_CHECKER_ID, GETDATE(), N'Trung tâm dịch vụ nội bộ phê duyệt', @p_NOTES);
|
309
|
|
310
|
UPDATE TR_REQUEST_SHOP_DOC SET [STATUS]='APPROVE',AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,GETDATE(),103) WHERE REQ_ID=@p_REQ_ID
|
311
|
|
312
|
--UPDATE ASS_MASTER XONG GIAO DỊCH
|
313
|
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_REQ_ID)
|
314
|
|
315
|
SET @NOTIFATION= N'Phê duyệt thành công'
|
316
|
END
|
317
|
|
318
|
--UPDATE NGÀY GỬI DUYỆT
|
319
|
UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE()
|
320
|
WHERE REQ_ID = @p_REQ_ID
|
321
|
|
322
|
IF @@Error <> 0 GOTO ABORT
|
323
|
END
|
324
|
ELSE IF(@p_TYPE_PROCESS = 'DVCM_D')
|
325
|
BEGIN
|
326
|
UPDATE TR_REQUEST_SHOP_COSTCENTER SET AUTH_STATUS = 'A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
|
327
|
WHERE REQ_ID = @p_REQ_ID AND COST_ID = @DEP_ID
|
328
|
|
329
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103), NOTES = @p_NOTES
|
330
|
WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'DVCM_D' AND PARENT_PROCESS_ID = 'DVCM' AND DEP_ID = @DEP_ID
|
331
|
|
332
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
333
|
VALUES (@p_REQ_ID, 'DVCM_D', @p_CHECKER_ID, GETDATE(), N'Trưởng bộ phận DVCM duyệt', @p_NOTES);
|
334
|
|
335
|
-- CHECK DVCM ĐÃ NHẬP ĐỦ HẾT CHƯA
|
336
|
IF(NOT EXISTS(SELECT TOP 1 trsc.REQ_COST_ID FROM TR_REQUEST_SHOP_COSTCENTER trsc
|
337
|
WHERE trsc.REQ_ID = @p_REQ_ID AND (trsc.AUTH_STATUS = 'U' OR trsc.AUTH_STATUS = 'E')))
|
338
|
BEGIN
|
339
|
|
340
|
IF(@REQ_TYPE = 'SC')
|
341
|
BEGIN
|
342
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'QLTS_NL',HO_NOTES = N'- Kế hoạch (Trong/Ngoài NS):' + CHAR(10) + N'- Nội dung đề xuất:' + CHAR(10) + N'- Ghi chú khác:' WHERE REQ_ID = @p_REQ_ID
|
343
|
|
344
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE)
|
345
|
VALUES(@p_REQ_ID,'QLTS_NL','C','QLTS','DV0001','DVCM_D','DEP000000000048','N',NULL,'Update')
|
346
|
END
|
347
|
ELSE
|
348
|
BEGIN
|
349
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'TBP_D' WHERE REQ_ID = @p_REQ_ID
|
350
|
|
351
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE)
|
352
|
VALUES(@p_REQ_ID,'TBP_D','C','TBP_QLTS','DV0001','DVCM_D','DEP000000000048','N',NULL,'Approve')
|
353
|
END
|
354
|
|
355
|
--UPDATE NGÀY GỬI DUYỆT
|
356
|
UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE()
|
357
|
WHERE REQ_ID = @p_REQ_ID
|
358
|
END
|
359
|
|
360
|
|
361
|
SET @NOTIFATION= N'Trưởng phòng DVCM duyệt thành công'
|
362
|
IF @@Error <> 0 GOTO ABORT
|
363
|
END
|
364
|
ELSE IF(@p_TYPE_PROCESS = 'S_GDDV_QLTS')
|
365
|
BEGIN -- GỬI TRƯỞNG BỘ PHẬN QLTS DUYỆT
|
366
|
IF(EXISTS(SELECT TOP 1 A.HO_NOTES FROM TR_REQUEST_SHOP_DOC A WHERE A.REQ_ID = @p_REQ_ID AND (A.HO_NOTES IS NULL OR A.HO_NOTES = '')))
|
367
|
BEGIN
|
368
|
ROLLBACK TRANSACTION
|
369
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS trước khi gửi duyệt.' ErrorDesc
|
370
|
RETURN '-1'
|
371
|
END
|
372
|
|
373
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
374
|
VALUES (@p_REQ_ID, 'S_TBP_QLTS', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'QLTS gửi phê duyệt', N'QLTS gửi trưởng bộ phận QLTS phê duyệt thành công');
|
375
|
|
376
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103)
|
377
|
WHERE REQ_ID = @p_REQ_ID AND (PROCESS_ID = 'QLTS_N'
|
378
|
OR PROCESS_ID = 'QLTS_NL')--PYC_SC
|
379
|
|
380
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE)
|
381
|
VALUES(@p_REQ_ID,'TBP_D','C','TBP_QLTS','DV0001','QLTS_N','DEP000000000048','N',NULL,'Approve')
|
382
|
|
383
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'TBP_D' WHERE REQ_ID = @p_REQ_ID
|
384
|
|
385
|
IF @@Error <> 0 GOTO ABORT
|
386
|
|
387
|
SET @NOTIFATION= N'Gửi trưởng bộ phận QLTS phê duyệt thành công'
|
388
|
|
389
|
--UPDATE NGÀY GỬI DUYỆT
|
390
|
UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE()
|
391
|
WHERE REQ_ID = @p_REQ_ID
|
392
|
END
|
393
|
ELSE IF(@p_TYPE_PROCESS = 'S_GDDV_DVCM')
|
394
|
BEGIN
|
395
|
IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER trsc WHERE trsc.REQ_ID = @p_REQ_ID
|
396
|
AND trsc.COST_ID = @DEP_ID
|
397
|
AND trsc.AUTH_STATUS = 'E'
|
398
|
AND (trsc.RE_CONTENT IS NULL OR trsc.RE_CONTENT = '')))
|
399
|
BEGIN
|
400
|
ROLLBACK TRANSACTION
|
401
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Vui lòng nhập Nội Dung Đề Xuất của bạn trước khi gửi Trưởng bộ phận DVCM phê duyệt' ErrorDesc
|
402
|
RETURN '-1'
|
403
|
END
|
404
|
|
405
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
406
|
VALUES (@p_REQ_ID, 'S_GDDVDVCM', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'DVCM gửi Trưởng bộ phận DVCM', N'DVCM gửi Trưởng bộ phận DVCM phê duyệt thành công');
|
407
|
|
408
|
UPDATE TR_REQUEST_SHOP_COSTCENTER SET AUTH_STATUS = 'U' WHERE REQ_ID = @p_REQ_ID AND COST_ID = @DEP_ID
|
409
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND DEP_ID = @DEP_ID AND PROCESS_ID = 'DVCM' AND PARENT_PROCESS_ID = 'QLTS_N'
|
410
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_REQ_ID AND DEP_ID = @DEP_ID AND PROCESS_ID = 'DVCM_D' AND PARENT_PROCESS_ID = 'DVCM'
|
411
|
|
412
|
IF @@Error <> 0 GOTO ABORT
|
413
|
|
414
|
SET @NOTIFATION= N'Gửi trưởng bộ phận DVCM phê duyệt thành công'
|
415
|
END
|
416
|
ELSE IF(@p_TYPE_PROCESS = 'S_DVCM_OR_QLTSNL')
|
417
|
BEGIN --PYC SỬA CHỮA: NẾU CÓ DVCM THÌ GỬI DVCM. NẾU KO CÓ THÌ QUAY LẠI QLTS_NL
|
418
|
IF(EXISTS(SELECT REQ_ID FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'REJECT'))
|
419
|
BEGIN
|
420
|
ROLLBACK TRANSACTION
|
421
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Phiếu yêu cầu đã bị trả về. Gửi duyệt thất bại.' ErrorDesc
|
422
|
RETURN '-1'
|
423
|
END
|
424
|
|
425
|
IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @p_REQ_ID))
|
426
|
BEGIN --GỬI DVCM
|
427
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
428
|
VALUES (@p_REQ_ID, 'S_DVCM', @p_CHECKER_ID, GETDATE(), N'Gửi DVCM', N'QLTS gửi DVCM thành công');
|
429
|
|
430
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'DVCM' WHERE REQ_ID = @p_REQ_ID
|
431
|
|
432
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'QLTS_N'
|
433
|
|
434
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'C' WHERE PROCESS_ID = 'DVCM' AND REQ_ID = @p_REQ_ID
|
435
|
|
436
|
SET @p_NOTES = N'Gửi DVCM thành công'
|
437
|
SET @NOTIFATION= N'Gửi DVCM thành công'
|
438
|
END
|
439
|
ELSE --QUAY LẠI QLTS
|
440
|
BEGIN
|
441
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
442
|
VALUES (@p_REQ_ID, 'S_QLTS_NL', @p_CHECKER_ID, GETDATE(), N'Gửi bộ phận QLTS xử lý', N'Gửi bộ phận QLTS xử lý thành công');
|
443
|
|
444
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'QLTS_NL',
|
445
|
HO_NOTES = N'- Kế hoạch (Trong/Ngoài NS):' + CHAR(10) + N'- Nội dung đề xuất: ' + CHAR(10) + N'- Ghi chú khác:'
|
446
|
WHERE REQ_ID = @p_REQ_ID
|
447
|
|
448
|
UPDATE PL_REQUEST_PROCESS SET STATUS = 'P', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@p_APPROVE_DT,103) WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID = 'QLTS_N'
|
449
|
|
450
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,BRANCH_ID,PARENT_PROCESS_ID,DEP_ID,IS_LEAF,NOTES,PROCESS_TYPE)
|
451
|
VALUES(@p_REQ_ID,'QLTS_NL','C','QLTS','DV0001','QLTS_N','DEP000000000048','N',NULL,'Update')
|
452
|
|
453
|
SET @p_NOTES = N'Gửi bộ phận QLTS xử lý thành công'
|
454
|
SET @NOTIFATION= N'Gửi bộ phận QLTS xử lý thành công'
|
455
|
END
|
456
|
|
457
|
--UPDATE NGÀY GỬI DUYỆT
|
458
|
UPDATE TR_REQUEST_SHOP_DOC SET SEND_APP_DT = GETDATE()
|
459
|
WHERE REQ_ID = @p_REQ_ID
|
460
|
IF @@Error <> 0 GOTO ABORT
|
461
|
END
|
462
|
ELSE IF(@p_TYPE_PROCESS = 'CANCEL')
|
463
|
BEGIN --QLTS HUỶ PHIẾU
|
464
|
IF(NOT EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC A
|
465
|
WHERE A.REQ_ID = @p_REQ_ID AND ((A.REQ_TYPE IN ('DCTS','TH') AND A.STATUS = 'QLTS_N')
|
466
|
OR(A.REQ_TYPE = 'SC' AND A.STATUS IN ('QLTS_N','QLTS_NL')))))
|
467
|
BEGIN
|
468
|
ROLLBACK TRANSACTION
|
469
|
SELECT '-1' as Result, '' WH_O_HCQT_MUL_ID, N'Huỷ thất phải. Vui lòng kiểm tra lại trạng thái phiếu' ErrorDesc
|
470
|
RETURN '-1'
|
471
|
END
|
472
|
|
473
|
IF(@REQ_TYPE = 'TH')
|
474
|
BEGIN
|
475
|
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
|
476
|
WHERE ASSET_ID IN (SELECT A.ASSET_ID FROM TR_REQUEST_DOC_ASSET_DT A WHERE A.REQ_DOC_ID = @p_REQ_ID)
|
477
|
END
|
478
|
ELSE IF(@REQ_TYPE IN ('DCTS','SC'))
|
479
|
BEGIN
|
480
|
UPDATE ASS_MASTER SET CURRENT_TRANS = NULL, CURRENT_TRANS_TYPE = NULL
|
481
|
WHERE ASSET_ID IN (SELECT A.ASS_ID FROM TR_REQUEST_SHOP_DOC_DT A WHERE A.REQ_DOC_ID = @p_REQ_ID)
|
482
|
END
|
483
|
|
484
|
UPDATE TR_REQUEST_SHOP_DOC SET STATUS = 'CANCEL', AUTH_STATUS = 'D' WHERE REQ_ID = @p_REQ_ID
|
485
|
|
486
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
487
|
VALUES (@p_REQ_ID, 'CANCEL', @p_CHECKER_ID, GETDATE(), N'Chuyên viên QLTS huỷ phiếu.', @p_NOTES);
|
488
|
|
489
|
-- DELETE PL_REQUEST_PROCESS
|
490
|
-- WHERE REQ_ID = @p_REQ_ID AND STATUS = 'C' AND PROCESS_ID IN ('QLTS_N','QLTS_NL')
|
491
|
|
492
|
DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND ((STATUS = 'C' AND PROCESS_ID IN ('QLTS_N','QLTS_NL'))
|
493
|
OR STATUS = 'U')
|
494
|
|
495
|
INSERT INTO PL_REQUEST_PROCESS(REQ_ID,[PROCESS_ID],[STATUS],ROLE_USER,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF,NOTES,BRANCH_ID,DEP_ID)
|
496
|
VALUES(@p_REQ_ID,'CANCEL','C','QLTS',@p_CHECKER_ID,GETDATE(),@CURR_PROCESS,'Y',N'Chuyên viên QLTS huỷ phiếu',@BRANCHID,@DEP_ID)
|
497
|
|
498
|
SET @p_NOTES = N'Huỷ phiếu thành công'
|
499
|
SET @NOTIFATION= N'Huỷ phiếu thành công'
|
500
|
END
|
501
|
COMMIT TRANSACTION
|
502
|
SELECT '0' as Result, @NOTIFATION AS NOTIFATION, '' ErrorDesc, @NOTIFY_TO_USER AS NEXT_USER_NOTIFI, @COMPLETE AS COMPLETE
|
503
|
RETURN '0'
|
504
|
ABORT:
|
505
|
BEGIN
|
506
|
ROLLBACK TRANSACTION
|
507
|
SELECT '-1' AS RESULT, '' ErrorDesc
|
508
|
RETURN '-1'
|
509
|
End
|
510
|
END
|
511
|
GO
|
512
|
IF @@ERROR <> 0 SET NOEXEC ON
|
513
|
GO
|
514
|
PRINT N'Altering [dbo].[TR_REQUEST_REPAIR_ASS_Upd_QLTS]'
|
515
|
GO
|
516
|
ALTER PROCEDURE [dbo].[TR_REQUEST_REPAIR_ASS_Upd_QLTS]
|
517
|
@p_REQ_ID varchar(15) = null ,
|
518
|
@p_REQ_TYPE VARCHAR(10) = NULL,
|
519
|
@p_CHECKER_ID VARCHAR(100) = NULL,
|
520
|
@p_APPROVE_DT VARCHAR(100) = NULL,
|
521
|
@p_HO_NOTES NVARCHAR(1000) = NULL,
|
522
|
@p_NOTES NVARCHAR(MAX) = NULL,
|
523
|
@p_ListCostCenter XML
|
524
|
AS
|
525
|
|
526
|
BEGIN TRANSACTION
|
527
|
|
528
|
DECLARE @TYPE_PYC VARCHAR(10) = (SELECT TOP 1 trsd.REQ_TYPE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @p_REQ_ID)
|
529
|
|
530
|
IF(@TYPE_PYC <> 'SC')
|
531
|
BEGIN --PYC ĐIỀU CHUYỂN && THU HỒI
|
532
|
|
533
|
IF(@p_HO_NOTES IS NULL OR @p_HO_NOTES = '')
|
534
|
BEGIN
|
535
|
ROLLBACK TRANSACTION
|
536
|
SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS' ErrorDesc
|
537
|
RETURN '-1'
|
538
|
END
|
539
|
|
540
|
IF(ISNULL(@p_NOTES,'') <> 'SKIP_PL_PROCESS')
|
541
|
BEGIN
|
542
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
543
|
VALUES (@p_REQ_ID, 'QLTS_N', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'QLTS nhập ý kiến', N'QLTS nhập ý kiến thành công');
|
544
|
END
|
545
|
|
546
|
UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = @p_HO_NOTES WHERE REQ_ID = @p_REQ_ID
|
547
|
|
548
|
DELETE TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @p_REQ_ID
|
549
|
|
550
|
DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND (PROCESS_ID = 'DVCM' OR PROCESS_ID = 'DVCM_D')
|
551
|
|
552
|
--START THÊM DVCM
|
553
|
DECLARE @hdoc2 INT
|
554
|
|
555
|
Declare
|
556
|
@l_NOTES NVARCHAR(MAX),
|
557
|
@l_AUTH_STATUS VARCHAR(5),
|
558
|
@COST_ID varchar(15),
|
559
|
@REQ_COST_ID varchar(15),
|
560
|
@MAKER_ID VARCHAR(100),
|
561
|
@CREATE_DT VARCHAR(50),
|
562
|
@CHECKER_ID VARCHAR(100),
|
563
|
@APPROVE_DT VARCHAR(50),
|
564
|
@l_ASS_STATUS NVARCHAR(MAX),
|
565
|
@l_RE_CONTENT NVARCHAR(MAX),
|
566
|
@l_QUANTITY INT
|
567
|
|
568
|
Exec sp_xml_preparedocument @hdoc2 Output,@p_ListCostCenter
|
569
|
DECLARE ListCostCenters CURSOR FOR
|
570
|
SELECT *
|
571
|
FROM OPENXML(@hdoc2,'/Root/ListCostCenter',2)
|
572
|
WITH
|
573
|
(
|
574
|
REQ_COST_ID VARCHAR(15),
|
575
|
COST_ID varchar(15),
|
576
|
AUTH_STATUS VARCHAR(5),
|
577
|
NOTES nvarchar(MAX),
|
578
|
MAKER_ID VARCHAR(100),
|
579
|
CREATE_DT VARCHAR(50),
|
580
|
CHECKER_ID VARCHAR(100),
|
581
|
APPROVE_DT VARCHAR(50),
|
582
|
ASS_STATUS NVARCHAR(MAX),
|
583
|
RE_CONTENT NVARCHAR(MAX),
|
584
|
QUANTITY INT
|
585
|
|
586
|
)
|
587
|
OPEN ListCostCenters
|
588
|
|
589
|
FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@l_AUTH_STATUS, @l_NOTES, @MAKER_ID, @CREATE_DT, @CHECKER_ID, @APPROVE_DT, @l_ASS_STATUS, @l_RE_CONTENT, @l_QUANTITY
|
590
|
WHILE @@FETCH_STATUS = 0
|
591
|
BEGIN
|
592
|
IF( NOT EXISTS(SELECT 1 FROM dbo.TR_REQUEST_SHOP_COSTCENTER WHERE COST_ID=@COST_ID AND REQ_ID=@p_REQ_ID))
|
593
|
BEGIN
|
594
|
EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_COSTCENTER', @REQ_COST_ID out
|
595
|
IF @REQ_COST_ID='' OR @REQ_COST_ID IS NULL GOTO ABORT
|
596
|
INSERT INTO dbo.TR_REQUEST_SHOP_COSTCENTER
|
597
|
(
|
598
|
REQ_COST_ID,
|
599
|
COST_ID,
|
600
|
REQ_ID,
|
601
|
NOTES,
|
602
|
AUTH_STATUS,
|
603
|
MAKER_ID,
|
604
|
CREATE_DT,
|
605
|
CHECKER_ID,
|
606
|
APPROVE_DT,
|
607
|
ASS_STATUS,
|
608
|
RE_CONTENT,
|
609
|
QUANTITY
|
610
|
)
|
611
|
VALUES
|
612
|
( @REQ_COST_ID, -- REQ_COST_ID - varchar(15)
|
613
|
@COST_ID, -- COST_ID - varchar(15)
|
614
|
@p_REQ_ID, -- REQ_ID - varchar(15)
|
615
|
@l_NOTES, -- NOTES - nvarchar(500)
|
616
|
@l_AUTH_STATUS, -- AUTH_STATUS - varchar(1)
|
617
|
@MAKER_ID, -- MAKER_ID - varchar(15)
|
618
|
CONVERT(DATETIME,@CREATE_DT,103), -- CREATE_DT - datetime
|
619
|
@CHECKER_ID, -- CHECKER_ID - varchar(15)
|
620
|
CONVERT(DATETIME,@APPROVE_DT,103) -- APPROVE_DT - datetime
|
621
|
, @l_ASS_STATUS
|
622
|
, @l_RE_CONTENT
|
623
|
, @l_QUANTITY
|
624
|
)
|
625
|
END
|
626
|
IF @@ERROR <> 0 GOTO ABORT2
|
627
|
|
628
|
FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID,@COST_ID,@l_AUTH_STATUS, @l_NOTES, @MAKER_ID, @CREATE_DT, @CHECKER_ID, @APPROVE_DT, @l_ASS_STATUS, @l_RE_CONTENT, @l_QUANTITY
|
629
|
END
|
630
|
CLOSE ListCostCenters
|
631
|
DEALLOCATE ListCostCenters
|
632
|
--END DVCM
|
633
|
|
634
|
|
635
|
INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE)
|
636
|
SELECT
|
637
|
@p_REQ_ID,
|
638
|
'DVCM',
|
639
|
'U',
|
640
|
'DVCM',
|
641
|
(CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID,
|
642
|
A.COST_ID, --DEP_ID
|
643
|
'QLTS_N',
|
644
|
'N',
|
645
|
NULL,
|
646
|
'Update'
|
647
|
FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID
|
648
|
|
649
|
--TRƯỞNG DVCM CẬP DUYỆT
|
650
|
INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE)
|
651
|
SELECT
|
652
|
@p_REQ_ID,
|
653
|
'DVCM_D',
|
654
|
'U',
|
655
|
'GDDV',
|
656
|
(CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID,
|
657
|
A.COST_ID, --DEP_ID
|
658
|
'DVCM',
|
659
|
'N',
|
660
|
NULL,
|
661
|
'Approve'
|
662
|
FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID
|
663
|
END
|
664
|
ELSE
|
665
|
BEGIN --PYC SỬA CHỮA
|
666
|
|
667
|
IF(ISNULL(@p_NOTES,'') <> 'SKIP_PL_PROCESS')
|
668
|
BEGIN
|
669
|
INSERT INTO PL_PROCESS (REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES)
|
670
|
VALUES (@p_REQ_ID, 'QLTS_N', @p_CHECKER_ID, CONVERT(DATETIME,@p_APPROVE_DT,103), N'QLTS xử lý', N'QLTS xử lý thành công');
|
671
|
END
|
672
|
|
673
|
IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC WHERE REQ_ID = @p_REQ_ID AND STATUS = 'QLTS_N'))
|
674
|
BEGIN --ĐANG Ở BƯỚC QLTS CHỌN DVCM
|
675
|
DELETE TR_REQUEST_SHOP_COSTCENTER WHERE REQ_ID = @p_REQ_ID
|
676
|
|
677
|
DELETE PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND (PROCESS_ID = 'DVCM' OR PROCESS_ID = 'DVCM_D')
|
678
|
|
679
|
--START THÊM DVCM
|
680
|
DECLARE @hdoc3 INT
|
681
|
|
682
|
Declare
|
683
|
@l_NOTES_1 NVARCHAR(MAX),
|
684
|
@l_AUTH_STATUS_1 VARCHAR(5),
|
685
|
@COST_ID_1 varchar(15),
|
686
|
@REQ_COST_ID_1 varchar(15),
|
687
|
@MAKER_ID_1 VARCHAR(100),
|
688
|
@CREATE_DT_1 VARCHAR(50),
|
689
|
@CHECKER_ID_1 VARCHAR(100),
|
690
|
@APPROVE_DT_1 VARCHAR(50),
|
691
|
@l_ASS_STATUS_1 NVARCHAR(MAX),
|
692
|
@l_RE_CONTENT_1 NVARCHAR(MAX),
|
693
|
@l_QUANTITY_1 INT
|
694
|
|
695
|
Exec sp_xml_preparedocument @hdoc3 Output,@p_ListCostCenter
|
696
|
DECLARE ListCostCenters CURSOR FOR
|
697
|
SELECT *
|
698
|
FROM OPENXML(@hdoc3,'/Root/ListCostCenter',2)
|
699
|
WITH
|
700
|
(
|
701
|
REQ_COST_ID VARCHAR(15),
|
702
|
COST_ID varchar(15),
|
703
|
AUTH_STATUS VARCHAR(5),
|
704
|
NOTES nvarchar(MAX),
|
705
|
MAKER_ID VARCHAR(100),
|
706
|
CREATE_DT VARCHAR(50),
|
707
|
CHECKER_ID VARCHAR(100),
|
708
|
APPROVE_DT VARCHAR(50),
|
709
|
ASS_STATUS NVARCHAR(MAX),
|
710
|
RE_CONTENT NVARCHAR(MAX),
|
711
|
QUANTITY INT
|
712
|
|
713
|
)
|
714
|
OPEN ListCostCenters
|
715
|
|
716
|
FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID_1,@COST_ID_1,@l_AUTH_STATUS_1, @l_NOTES_1, @MAKER_ID_1, @CREATE_DT_1, @CHECKER_ID_1, @APPROVE_DT_1, @l_ASS_STATUS_1, @l_RE_CONTENT_1, @l_QUANTITY_1
|
717
|
WHILE @@FETCH_STATUS = 0
|
718
|
BEGIN
|
719
|
IF( NOT EXISTS(SELECT 1 FROM dbo.TR_REQUEST_SHOP_COSTCENTER WHERE COST_ID=@COST_ID_1 AND REQ_ID=@p_REQ_ID))
|
720
|
BEGIN
|
721
|
EXEC SYS_CodeMasters_Gen 'TR_REQUEST_SHOP_COSTCENTER', @REQ_COST_ID_1 out
|
722
|
IF @REQ_COST_ID_1='' OR @REQ_COST_ID_1 IS NULL GOTO ABORT
|
723
|
INSERT INTO dbo.TR_REQUEST_SHOP_COSTCENTER
|
724
|
(
|
725
|
REQ_COST_ID,
|
726
|
COST_ID,
|
727
|
REQ_ID,
|
728
|
NOTES,
|
729
|
AUTH_STATUS,
|
730
|
MAKER_ID,
|
731
|
CREATE_DT,
|
732
|
CHECKER_ID,
|
733
|
APPROVE_DT,
|
734
|
ASS_STATUS,
|
735
|
RE_CONTENT,
|
736
|
QUANTITY
|
737
|
)
|
738
|
VALUES
|
739
|
( @REQ_COST_ID_1, -- REQ_COST_ID - varchar(15)
|
740
|
@COST_ID_1, -- COST_ID - varchar(15)
|
741
|
@p_REQ_ID, -- REQ_ID - varchar(15)
|
742
|
@l_NOTES_1, -- NOTES - nvarchar(500)
|
743
|
@l_AUTH_STATUS_1, -- AUTH_STATUS - varchar(1)
|
744
|
@MAKER_ID_1, -- MAKER_ID - varchar(15)
|
745
|
CONVERT(DATETIME,@CREATE_DT_1,103), -- CREATE_DT - datetime
|
746
|
@CHECKER_ID_1, -- CHECKER_ID - varchar(15)
|
747
|
CONVERT(DATETIME,@APPROVE_DT_1,103) -- APPROVE_DT - datetime
|
748
|
, @l_ASS_STATUS_1
|
749
|
, @l_RE_CONTENT_1
|
750
|
, @l_QUANTITY_1
|
751
|
)
|
752
|
END
|
753
|
IF @@ERROR <> 0 GOTO ABORT2
|
754
|
|
755
|
FETCH NEXT FROM ListCostCenters INTO @REQ_COST_ID_1,@COST_ID_1,@l_AUTH_STATUS_1, @l_NOTES_1, @MAKER_ID_1, @CREATE_DT_1, @CHECKER_ID_1, @APPROVE_DT_1, @l_ASS_STATUS_1, @l_RE_CONTENT_1, @l_QUANTITY_1
|
756
|
END
|
757
|
CLOSE ListCostCenters
|
758
|
DEALLOCATE ListCostCenters
|
759
|
--END DVCM
|
760
|
|
761
|
|
762
|
INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE)
|
763
|
SELECT
|
764
|
@p_REQ_ID,
|
765
|
'DVCM',
|
766
|
'U',
|
767
|
'DVCM',
|
768
|
(CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID,
|
769
|
A.COST_ID, --DEP_ID
|
770
|
'QLTS_N',
|
771
|
'N',
|
772
|
NULL,
|
773
|
'Update'
|
774
|
FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID
|
775
|
|
776
|
--TRƯỞNG DVCM CẬP DUYỆT
|
777
|
INSERT INTO PL_REQUEST_PROCESS (REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID,DEP_ID, PARENT_PROCESS_ID, IS_LEAF, NOTES, PROCESS_TYPE)
|
778
|
SELECT
|
779
|
@p_REQ_ID,
|
780
|
'DVCM_D',
|
781
|
'U',
|
782
|
'GDDV',
|
783
|
(CASE WHEN 1=1 THEN (SELECT B.BRANCH_ID FROM CM_DEPARTMENT B WHERE B.DEP_ID = A.COST_ID)END) AS BRANCH_ID,
|
784
|
A.COST_ID, --DEP_ID
|
785
|
'DVCM',
|
786
|
'N',
|
787
|
NULL,
|
788
|
'Approve'
|
789
|
FROM TR_REQUEST_SHOP_COSTCENTER A WHERE REQ_ID = @p_REQ_ID
|
790
|
|
791
|
END
|
792
|
ELSE
|
793
|
BEGIN
|
794
|
IF(@p_HO_NOTES IS NULL OR @p_HO_NOTES = '')
|
795
|
BEGIN
|
796
|
ROLLBACK TRANSACTION
|
797
|
SELECT '-1' as Result, @p_REQ_ID REQ_ID, N'Vui lòng nhập ý kiến của bộ phận QLTS' ErrorDesc
|
798
|
RETURN '-1'
|
799
|
END
|
800
|
|
801
|
UPDATE TR_REQUEST_SHOP_DOC SET HO_NOTES = @p_HO_NOTES WHERE REQ_ID = @p_REQ_ID
|
802
|
END
|
803
|
|
804
|
END
|
805
|
COMMIT TRANSACTION
|
806
|
SELECT '0' as Result, @p_REQ_ID REQ_ID, '' ErrorDesc, N'QLTS xử lý thành công' Message
|
807
|
RETURN '0'
|
808
|
ABORT:
|
809
|
BEGIN
|
810
|
ROLLBACK TRANSACTION
|
811
|
SELECT '-1' AS RESULT
|
812
|
RETURN '-1'
|
813
|
END
|
814
|
ABORT2:
|
815
|
BEGIN
|
816
|
ROLLBACK TRANSACTION
|
817
|
CLOSE ListCostCenters
|
818
|
DEALLOCATE ListCostCenters
|
819
|
SELECT '-1' AS RESULT
|
820
|
RETURN '-1'
|
821
|
END
|
822
|
GO
|
823
|
IF @@ERROR <> 0 SET NOEXEC ON
|
824
|
GO
|
825
|
PRINT N'Altering [dbo].[rpt_PYC_CAPPHAT]'
|
826
|
GO
|
827
|
ALTER PROC [dbo].[rpt_PYC_CAPPHAT]
|
828
|
@REQ_ID VARCHAR(15) = NULL
|
829
|
|
830
|
AS
|
831
|
BEGIN
|
832
|
|
833
|
DECLARE
|
834
|
@SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL
|
835
|
|
836
|
--TABLE 0
|
837
|
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, AG.GROUP_NAME AS GR_NAME, AG.GROUP_CODE AS GR_CODE,
|
838
|
cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName AS MAKER, TU2.TLFullName AS TDV
|
839
|
FROM TR_REQUEST_SHOP_DOC_DT trsdd
|
840
|
LEFT JOIN TR_REQUEST_SHOP_DOC trsd ON trsdd.REQ_DOC_ID = trsd.REQ_ID
|
841
|
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
|
842
|
LEFT JOIN CM_EMPLOYEE ce ON trsdd.EMP_ID = ce.EMP_ID
|
843
|
LEFT JOIN ASS_GROUP AG ON trsdd.ASS_GROUP_ID = AG.GROUP_ID
|
844
|
LEFT JOIN TL_USER TU ON TU.TLNANME = trsd.MAKER_ID
|
845
|
LEFT JOIN TL_USER TU2 ON TU2.TLNANME = trsd.CHECKER_ID
|
846
|
WHERE trsdd.REQ_DOC_ID = @REQ_ID AND REQ_DT_TYPE = 'ORGINAL'
|
847
|
--GROUP BY AG.GROUP_NAME, AG.GROUP_CODE,
|
848
|
--cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName, TU2.TLNANME
|
849
|
ORDER BY STT
|
850
|
|
851
|
--TABLE 1 DVCM KHOI CNTT
|
852
|
IF(EXISTS(SELECT 1
|
853
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
854
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
855
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00'))
|
856
|
BEGIN
|
857
|
SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
858
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
859
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
860
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
861
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
862
|
LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND A.MAKER_ID = PP.CHECKER_ID
|
863
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00'
|
864
|
ORDER BY PP.APPROVE_DT DESC
|
865
|
|
866
|
SET @SHOW_TABLE_DVCM_IT = '1'
|
867
|
END
|
868
|
ELSE
|
869
|
BEGIN
|
870
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
871
|
END
|
872
|
|
873
|
|
874
|
--TABLE 2 DVCM KHAC
|
875
|
IF(EXISTS(SELECT 1
|
876
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
877
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
878
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00'))
|
879
|
BEGIN
|
880
|
SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' +
|
881
|
FORMAT(
|
882
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.APPROVE_DT DESC)
|
883
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
884
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
885
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
886
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
887
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
888
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00'
|
889
|
ORDER BY A.COST_ID
|
890
|
|
891
|
SET @SHOW_TABLE_DVCM_KHAC = '1'
|
892
|
END
|
893
|
ELSE
|
894
|
BEGIN
|
895
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
896
|
END
|
897
|
|
898
|
--TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS
|
899
|
IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC trsd
|
900
|
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
|
901
|
LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL'
|
902
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
903
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
904
|
WHERE trsd.REQ_ID = @REQ_ID))
|
905
|
BEGIN
|
906
|
SELECT DISTINCT trsd.HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
907
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = trsd.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
908
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
909
|
FROM TR_REQUEST_SHOP_DOC trsd
|
910
|
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
|
911
|
LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL'
|
912
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
913
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
914
|
WHERE trsd.REQ_ID = @REQ_ID
|
915
|
END
|
916
|
ELSE BEGIN SELECT N'' NOTES, N'' TLFullName, N'' POS_NAME END
|
917
|
|
918
|
--TABLE 4 PHE DUYET DVCM KHOI CNTT
|
919
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
920
|
BEGIN
|
921
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
922
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
923
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'))
|
924
|
BEGIN
|
925
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
926
|
FROM PL_REQUEST_PROCESS A
|
927
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
928
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
929
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
930
|
LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID
|
931
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'
|
932
|
ORDER BY PP.APPROVE_DT DESC
|
933
|
END
|
934
|
ELSE
|
935
|
BEGIN
|
936
|
SELECT '' AS NOTES
|
937
|
END
|
938
|
END
|
939
|
ELSE
|
940
|
BEGIN
|
941
|
SELECT N'' NOTES
|
942
|
END
|
943
|
|
944
|
--QTLS_D 5
|
945
|
IF(EXISTS(SELECT 1
|
946
|
FROM PL_REQUEST_PROCESS PRP
|
947
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
948
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
949
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D'))
|
950
|
BEGIN
|
951
|
SELECT DISTINCT PRP.NOTES AS HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
952
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
953
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
954
|
FROM PL_REQUEST_PROCESS PRP
|
955
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
956
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
957
|
LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
|
958
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D'
|
959
|
END
|
960
|
ELSE BEGIN SELECT N'' HO_NOTES, N'' TLFullName, N'' POS_NAME END
|
961
|
|
962
|
--TTQTLS_D 6
|
963
|
SELECT DISTINCT ISNULL(PRP.NOTES, '') AS HO_NOTES, ISNULL(tu.TLFullName, '') AS TLFullName , ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
964
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
965
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
966
|
FROM PL_REQUEST_PROCESS PRP
|
967
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
968
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
969
|
--LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
|
970
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'TTQLTS_D'
|
971
|
|
972
|
--TABLE 7
|
973
|
SELECT TU.TLFullName AS MAKER, TU2.TLFullName AS TDV, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
974
|
A.CREATE_DT
|
975
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_MAKER,
|
976
|
ISNULL(CE2.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
977
|
A.APPROVE_DT
|
978
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_TDV
|
979
|
FROM TR_REQUEST_SHOP_DOC A
|
980
|
LEFT JOIN TL_USER TU ON TU.TLNANME = A.MAKER_ID
|
981
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = A.MAKER_ID
|
982
|
LEFT JOIN TL_USER TU2 ON TU2.TLNANME = A.CHECKER_ID
|
983
|
LEFT JOIN CM_EMPLOYEE_LOG CE2 ON CE2.USER_DOMAIN = A.CHECKER_ID
|
984
|
WHERE A.REQ_ID = @REQ_ID
|
985
|
|
986
|
--TABLE 8 SỐ PYC
|
987
|
SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID
|
988
|
|
989
|
--PHUCVH TABLE 9 NGÀY TDV DUYỆT
|
990
|
SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) +
|
991
|
N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) +
|
992
|
N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT
|
993
|
FROM PL_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC
|
994
|
|
995
|
--TABLE 10 PHÊ DUYỆT DVCM KHÁC
|
996
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
997
|
BEGIN
|
998
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
999
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1000
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'))
|
1001
|
BEGIN
|
1002
|
SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(A.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1003
|
FROM PL_REQUEST_PROCESS A
|
1004
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1005
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1006
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1007
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'
|
1008
|
ORDER BY C.DEP_ID
|
1009
|
END
|
1010
|
ELSE
|
1011
|
BEGIN
|
1012
|
SELECT '' AS NOTES
|
1013
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1014
|
LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID
|
1015
|
WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00'
|
1016
|
END
|
1017
|
END
|
1018
|
ELSE
|
1019
|
BEGIN
|
1020
|
SELECT N'' NOTES
|
1021
|
END
|
1022
|
|
1023
|
--TABLE 11 PHÊ DUYỆT TBP_QLTS
|
1024
|
SELECT DISTINCT ISNULL(PRP.NOTES, ISNULL((SELECT TOP 1 PP.NOTES FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID AND PRP.STATUS = 'P' ORDER BY PP.APPROVE_DT DESC),'')) AS HO_NOTES, ISNULL(tu.TLFullName, '') AS TLFullName , ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
1025
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
1026
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1027
|
FROM PL_REQUEST_PROCESS PRP
|
1028
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
1029
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
1030
|
--LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
|
1031
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'TBP_D'
|
1032
|
|
1033
|
|
1034
|
--SHOW TABLE DVCM IT
|
1035
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
1036
|
BEGIN
|
1037
|
SELECT N'DVCMIT' AS MERGE_REGION
|
1038
|
END
|
1039
|
|
1040
|
--SHOW TABLE DVCM KHÁC
|
1041
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1042
|
BEGIN
|
1043
|
SELECT N'DVCMKHAC' AS MERGE_REGION
|
1044
|
END
|
1045
|
|
1046
|
--SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN
|
1047
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1048
|
BEGIN
|
1049
|
SELECT N'TITLEDVCM' AS MERGE_REGION
|
1050
|
END
|
1051
|
|
1052
|
|
1053
|
END
|
1054
|
GO
|
1055
|
IF @@ERROR <> 0 SET NOEXEC ON
|
1056
|
GO
|
1057
|
PRINT N'Altering [dbo].[rpt_PYC_DIEUCHUYEN]'
|
1058
|
GO
|
1059
|
ALTER PROC [dbo].[rpt_PYC_DIEUCHUYEN]
|
1060
|
@REQ_ID VARCHAR(15) = NULL
|
1061
|
|
1062
|
AS
|
1063
|
BEGIN
|
1064
|
|
1065
|
DECLARE
|
1066
|
@SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL
|
1067
|
|
1068
|
--TABLE 0
|
1069
|
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT,
|
1070
|
am.ASSET_NAME AS ASS_NAME,
|
1071
|
ISNULL(am.ASSET_CODE,am.ASS_CODE_TMP) AS ASSET_CODE,
|
1072
|
ISNULL(PB.DEP_NAME,ISNULL(TT.DEP_NAME,K.DEP_NAME)) AS DEP_NAME,
|
1073
|
ce.EMP_NAME, '1' QTY_ETM,
|
1074
|
B.REASON AS REQ_CONTENT
|
1075
|
FROM TR_REQUEST_SHOP_DOC A
|
1076
|
LEFT JOIN TR_REQUEST_SHOP_DOC_DT B ON A.REQ_ID = B.REQ_DOC_ID
|
1077
|
LEFT JOIN CM_DEPARTMENT K ON B.SUBBRANCH_OLD = K.DEP_ID
|
1078
|
LEFT JOIN CM_DEPARTMENT TT ON B.FATHER_OLD = TT.DEP_ID
|
1079
|
LEFT JOIN CM_DEPARTMENT PB ON B.DEP_OLD = PB.DEP_ID
|
1080
|
LEFT JOIN ASS_MASTER am ON am.ASSET_ID = B.ASS_ID
|
1081
|
LEFT JOIN CM_EMPLOYEE ce ON B.EMP_ID = ce.EMP_ID
|
1082
|
WHERE A.REQ_ID = @REQ_ID
|
1083
|
|
1084
|
--TABLE 1 DVCM KHOI CNTT
|
1085
|
IF(EXISTS(SELECT 1
|
1086
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1087
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
1088
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00'))
|
1089
|
BEGIN
|
1090
|
SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT(D.APPROVE_DT,'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1091
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1092
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
1093
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
1094
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
1095
|
LEFT JOIN PL_PROCESS D ON A.REQ_ID = D.REQ_ID AND D.PROCESS_ID = 'S_GDDVDVCM' AND A.MAKER_ID = D.CHECKER_ID
|
1096
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00'
|
1097
|
ORDER BY D.ID DESC
|
1098
|
|
1099
|
SET @SHOW_TABLE_DVCM_IT = '1'
|
1100
|
END
|
1101
|
ELSE
|
1102
|
BEGIN
|
1103
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
1104
|
END
|
1105
|
|
1106
|
|
1107
|
--TABLE 2 DVCM KHAC
|
1108
|
IF(EXISTS(SELECT 1
|
1109
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1110
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
1111
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00'))
|
1112
|
BEGIN
|
1113
|
SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF,
|
1114
|
ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1115
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'S_GDDVDVCM'
|
1116
|
AND PP.CHECKER_ID = A.MAKER_ID
|
1117
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1118
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1119
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
1120
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
1121
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
1122
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00'
|
1123
|
ORDER BY A.COST_ID
|
1124
|
|
1125
|
SET @SHOW_TABLE_DVCM_KHAC = '1'
|
1126
|
END
|
1127
|
ELSE
|
1128
|
BEGIN
|
1129
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
1130
|
END
|
1131
|
|
1132
|
--TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS
|
1133
|
SELECT TOP 1 A.HO_NOTES, D.TLFullName, ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1134
|
WHERE PP.REQ_ID = A.REQ_ID AND (PP.PROCESS_ID = 'S_DVCM' OR PP.PROCESS_ID = 'S_TBP_QLTS')
|
1135
|
AND PP.CHECKER_ID = PL.CHECKER_ID
|
1136
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1137
|
FROM TR_REQUEST_SHOP_DOC A
|
1138
|
LEFT JOIN PL_REQUEST_PROCESS PL ON A.REQ_ID = PL.REQ_ID AND PL.PROCESS_ID = 'QLTS_N'
|
1139
|
LEFT JOIN CM_EMPLOYEE_LOG C ON PL.CHECKER_ID = C.USER_DOMAIN
|
1140
|
LEFT JOIN TL_USER D ON C.USER_DOMAIN = D.TLNANME
|
1141
|
WHERE A.REQ_ID = @REQ_ID
|
1142
|
|
1143
|
--TABLE 4 PHE DUYET DVCM KHOI CNTT
|
1144
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
1145
|
BEGIN
|
1146
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
1147
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1148
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'))
|
1149
|
BEGIN
|
1150
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1151
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D'
|
1152
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1153
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1154
|
FROM PL_REQUEST_PROCESS A
|
1155
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1156
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1157
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1158
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'
|
1159
|
ORDER BY C.DEP_ID
|
1160
|
END
|
1161
|
ELSE
|
1162
|
BEGIN
|
1163
|
SELECT '' AS NOTES
|
1164
|
END
|
1165
|
END
|
1166
|
ELSE
|
1167
|
BEGIN
|
1168
|
SELECT N'' NOTES
|
1169
|
END
|
1170
|
|
1171
|
--table 5 PHÊ DUYỆT PHÒNG QLTS
|
1172
|
IF(EXISTS(SELECT 1
|
1173
|
FROM PL_REQUEST_PROCESS A
|
1174
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1175
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1176
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D'))
|
1177
|
BEGIN
|
1178
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1179
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'QLTS_D'
|
1180
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1181
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1182
|
FROM PL_REQUEST_PROCESS A
|
1183
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1184
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1185
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D'
|
1186
|
END
|
1187
|
ELSE
|
1188
|
BEGIN
|
1189
|
SELECT N'' NOTES, '' TLFullName, '' POS_NAME
|
1190
|
END
|
1191
|
|
1192
|
--Phucvh table 6 USER TẠO DUYỆT
|
1193
|
SELECT TOP 1 C.TLFullName AS USER_CREATE, CHAR(13) + ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1
|
1194
|
WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'S_DVKD'
|
1195
|
AND PP1.CHECKER_ID = A.MAKER_ID
|
1196
|
ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME,
|
1197
|
E.TLFullName AS USER_APPROVE, CHAR(13) + ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1
|
1198
|
WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'DVKD_D'
|
1199
|
ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_1
|
1200
|
FROM TR_REQUEST_SHOP_DOC A
|
1201
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN --NGƯỜI TẠO
|
1202
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --NGƯỜI TẠO
|
1203
|
LEFT JOIN PL_REQUEST_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND PP.PROCESS_ID = 'APPNEW'
|
1204
|
LEFT JOIN CM_EMPLOYEE_LOG D ON PP.CHECKER_ID = D.USER_DOMAIN --NGƯỜI DUYỆT
|
1205
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME --NGƯỜI DUYỆT
|
1206
|
WHERE A.REQ_ID = @REQ_ID
|
1207
|
|
1208
|
--PHUCVH TABLE 7 SỐ PYC
|
1209
|
SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID
|
1210
|
|
1211
|
--PHUCVH TABLE 8 NGÀY TDV DUYỆT
|
1212
|
SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) +
|
1213
|
N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) +
|
1214
|
N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT
|
1215
|
FROM PL_REQUEST_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW'
|
1216
|
END
|
1217
|
|
1218
|
--TABLE 9 PHÊ DUYỆT DVCM KHÁC
|
1219
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1220
|
BEGIN
|
1221
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
1222
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1223
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'))
|
1224
|
BEGIN
|
1225
|
SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1226
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D'
|
1227
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1228
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1229
|
FROM PL_REQUEST_PROCESS A
|
1230
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1231
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1232
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1233
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'
|
1234
|
ORDER BY C.DEP_ID
|
1235
|
END
|
1236
|
ELSE
|
1237
|
BEGIN
|
1238
|
SELECT '' AS NOTES
|
1239
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1240
|
LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID
|
1241
|
WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00'
|
1242
|
END
|
1243
|
END
|
1244
|
ELSE
|
1245
|
BEGIN
|
1246
|
SELECT N'' NOTES
|
1247
|
END
|
1248
|
|
1249
|
--TABLE 10 PHÊ DUYỆT TBP_QLTS
|
1250
|
IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS WHERE REQ_ID = @REQ_ID AND PROCESS_ID = 'TBP_D'))
|
1251
|
BEGIN
|
1252
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS HO_NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1253
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TBP_D'
|
1254
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1255
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1256
|
FROM PL_REQUEST_PROCESS A
|
1257
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1258
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1259
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TBP_D'
|
1260
|
END
|
1261
|
ELSE
|
1262
|
BEGIN
|
1263
|
SELECT N'' HO_NOTES, '' TLFullName, '' POS_NAME
|
1264
|
END
|
1265
|
|
1266
|
|
1267
|
|
1268
|
--TABLE 11 PHÊ DUYỆT TRUNG TÂM DỊCH VỤ NỘI BỘ
|
1269
|
DECLARE @PRICE_OF_ASSET DECIMAL = (SELECT MAX(b.BUY_PRICE)
|
1270
|
FROM TR_REQUEST_SHOP_DOC_DT A
|
1271
|
LEFT JOIN ASS_MASTER B ON A.ASS_ID = B.ASSET_ID
|
1272
|
WHERE A.REQ_DOC_ID = @REQ_ID)
|
1273
|
IF(@PRICE_OF_ASSET > 30000000)
|
1274
|
BEGIN
|
1275
|
IF(EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS prp WHERE prp.REQ_ID = @REQ_ID AND prp.PROCESS_ID = 'TTQLTS_D'))
|
1276
|
BEGIN
|
1277
|
SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1278
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TTQLTS_D'
|
1279
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1280
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1281
|
FROM PL_REQUEST_PROCESS A
|
1282
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1283
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1284
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TTQLTS_D'
|
1285
|
END
|
1286
|
END
|
1287
|
|
1288
|
--SHOW TABLE DVCM IT
|
1289
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
1290
|
BEGIN
|
1291
|
SELECT N'DVCMIT' AS MERGE_REGION
|
1292
|
END
|
1293
|
|
1294
|
--SHOW TABLE DVCM KHÁC
|
1295
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1296
|
BEGIN
|
1297
|
SELECT N'DVCMKHAC' AS MERGE_REGION
|
1298
|
END
|
1299
|
|
1300
|
--SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN
|
1301
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1302
|
BEGIN
|
1303
|
SELECT N'TITLEDVCM' AS MERGE_REGION
|
1304
|
END
|
1305
|
GO
|
1306
|
IF @@ERROR <> 0 SET NOEXEC ON
|
1307
|
GO
|
1308
|
PRINT N'Altering [dbo].[rpt_PYC_SUACHUA]'
|
1309
|
GO
|
1310
|
ALTER PROC [dbo].[rpt_PYC_SUACHUA]
|
1311
|
@REQ_ID VARCHAR(15) = NULL
|
1312
|
|
1313
|
AS
|
1314
|
BEGIN
|
1315
|
|
1316
|
DECLARE
|
1317
|
@SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL
|
1318
|
|
1319
|
|
1320
|
--TABLE 0
|
1321
|
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT,
|
1322
|
am.ASSET_NAME AS ASS_NAME,
|
1323
|
ISNULL(am.ASSET_CODE,am.ASS_CODE_TMP) AS ASSET_CODE,
|
1324
|
ISNULL(PB.DEP_NAME,ISNULL(TT.DEP_NAME,K.DEP_NAME)) AS DEP_NAME,
|
1325
|
ce.EMP_NAME, '1' QTY_ETM,
|
1326
|
B.REPAIR_REASON AS REQ_CONTENT
|
1327
|
FROM TR_REQUEST_SHOP_DOC A
|
1328
|
LEFT JOIN TR_REQUEST_SHOP_DOC_DT B ON A.REQ_ID = B.REQ_DOC_ID
|
1329
|
LEFT JOIN CM_DEPARTMENT K ON B.SUBBRANCH_OLD = K.DEP_ID
|
1330
|
LEFT JOIN CM_DEPARTMENT TT ON B.FATHER_OLD = TT.DEP_ID
|
1331
|
LEFT JOIN CM_DEPARTMENT PB ON B.DEP_OLD = PB.DEP_ID
|
1332
|
LEFT JOIN ASS_MASTER am ON am.ASSET_ID = B.ASS_ID
|
1333
|
LEFT JOIN CM_EMPLOYEE ce ON B.EMP_ID = ce.EMP_ID
|
1334
|
WHERE A.REQ_ID = @REQ_ID
|
1335
|
|
1336
|
|
1337
|
--TABLE 1 DVCM KHOI CNTT
|
1338
|
IF(EXISTS(SELECT 1
|
1339
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1340
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
1341
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00'))
|
1342
|
BEGIN
|
1343
|
SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT(D.APPROVE_DT,'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1344
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1345
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
1346
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
1347
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
1348
|
LEFT JOIN PL_PROCESS D ON A.REQ_ID = D.REQ_ID AND D.PROCESS_ID = 'S_GDDVDVCM' AND A.MAKER_ID = D.CHECKER_ID
|
1349
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00'
|
1350
|
|
1351
|
SET @SHOW_TABLE_DVCM_IT = '1'
|
1352
|
END
|
1353
|
ELSE
|
1354
|
BEGIN
|
1355
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
1356
|
END
|
1357
|
|
1358
|
--TABLE 2 DVCM KHAC
|
1359
|
IF(EXISTS(SELECT 1
|
1360
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1361
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
1362
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00'))
|
1363
|
BEGIN
|
1364
|
SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1365
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'S_GDDVDVCM'
|
1366
|
AND PP.CHECKER_ID = A.MAKER_ID
|
1367
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1368
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1369
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
1370
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
1371
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
1372
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00'
|
1373
|
ORDER BY A.COST_ID
|
1374
|
|
1375
|
|
1376
|
SET @SHOW_TABLE_DVCM_KHAC = '1'
|
1377
|
END
|
1378
|
ELSE
|
1379
|
BEGIN
|
1380
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
1381
|
END
|
1382
|
|
1383
|
--TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS
|
1384
|
SELECT TOP 1 A.HO_NOTES, D.TLFullName, ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1385
|
WHERE PP.REQ_ID = A.REQ_ID AND (PP.PROCESS_ID = 'S_DVCM' OR PP.PROCESS_ID = 'S_TBP_QLTS')
|
1386
|
AND PP.CHECKER_ID = PL.CHECKER_ID
|
1387
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1388
|
FROM TR_REQUEST_SHOP_DOC A
|
1389
|
LEFT JOIN PL_REQUEST_PROCESS PL ON A.REQ_ID = PL.REQ_ID AND PL.PROCESS_ID = 'QLTS_NL'
|
1390
|
LEFT JOIN CM_EMPLOYEE_LOG C ON PL.CHECKER_ID = C.USER_DOMAIN
|
1391
|
LEFT JOIN TL_USER D ON C.USER_DOMAIN = D.TLNANME
|
1392
|
--LEFT JOIN CM_EMPLOYEE D ON C.EMP_CODE = D.EMP_CODE
|
1393
|
WHERE A.REQ_ID = @REQ_ID
|
1394
|
|
1395
|
--table 4 phe duyet dvcm khoi cntt
|
1396
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
1397
|
BEGIN
|
1398
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
1399
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1400
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'))
|
1401
|
BEGIN
|
1402
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1403
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D'
|
1404
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1405
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1406
|
FROM PL_REQUEST_PROCESS A
|
1407
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1408
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1409
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1410
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'
|
1411
|
ORDER BY C.DEP_ID
|
1412
|
END
|
1413
|
ELSE
|
1414
|
BEGIN
|
1415
|
SELECT '' AS NOTES
|
1416
|
END
|
1417
|
END
|
1418
|
ELSE
|
1419
|
BEGIN
|
1420
|
SELECT N'' NOTES
|
1421
|
END
|
1422
|
|
1423
|
--table 5 PHÊ DUYỆT PHÒNG QLTS
|
1424
|
IF(EXISTS(SELECT 1
|
1425
|
FROM PL_REQUEST_PROCESS A
|
1426
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1427
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1428
|
--LEFT JOIN CM_EMPLOYEE C ON B.EMP_CODE = C.EMP_CODE
|
1429
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D'))
|
1430
|
BEGIN
|
1431
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1432
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'QLTS_D'
|
1433
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1434
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1435
|
FROM PL_REQUEST_PROCESS A
|
1436
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1437
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1438
|
--LEFT JOIN CM_EMPLOYEE C ON B.EMP_CODE = C.EMP_CODE
|
1439
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D'
|
1440
|
ORDER BY A.ID DESC
|
1441
|
END
|
1442
|
ELSE
|
1443
|
BEGIN
|
1444
|
SELECT N'' NOTES
|
1445
|
END
|
1446
|
|
1447
|
--Phucvh table 6 USER TẠO DUYỆT
|
1448
|
SELECT TOP 1 C.TLFullName AS USER_CREATE, CHAR(13) + ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1
|
1449
|
WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'S_DVKD'
|
1450
|
AND PP1.CHECKER_ID = A.MAKER_ID
|
1451
|
ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME,
|
1452
|
E.TLFullName AS USER_APPROVE, CHAR(13) + ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1
|
1453
|
WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'DVKD_D'
|
1454
|
ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_1
|
1455
|
FROM TR_REQUEST_SHOP_DOC A
|
1456
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN --NGƯỜI TẠO
|
1457
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --NGƯỜI TẠO
|
1458
|
LEFT JOIN PL_REQUEST_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND PP.PROCESS_ID = 'APPNEW'
|
1459
|
LEFT JOIN CM_EMPLOYEE_LOG D ON PP.CHECKER_ID = D.USER_DOMAIN --NGƯỜI DUYỆT
|
1460
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME --NGƯỜI DUYỆT
|
1461
|
WHERE A.REQ_ID = @REQ_ID
|
1462
|
|
1463
|
--PHUCVH TABLE 7 SỐ PYC
|
1464
|
SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID
|
1465
|
|
1466
|
--PHUCVH TABLE 8 NGÀY TDV DUYỆT
|
1467
|
SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) +
|
1468
|
N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) +
|
1469
|
N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT
|
1470
|
FROM PL_REQUEST_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC
|
1471
|
|
1472
|
END
|
1473
|
|
1474
|
--TABLE 9 PHÊ DUYỆT DVCM KHÁC
|
1475
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1476
|
BEGIN
|
1477
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
1478
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1479
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'))
|
1480
|
BEGIN
|
1481
|
SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1482
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D'
|
1483
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1484
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1485
|
FROM PL_REQUEST_PROCESS A
|
1486
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1487
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1488
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1489
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'
|
1490
|
ORDER BY C.DEP_ID
|
1491
|
END
|
1492
|
ELSE
|
1493
|
BEGIN
|
1494
|
SELECT '' AS NOTES
|
1495
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1496
|
LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID
|
1497
|
WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00'
|
1498
|
END
|
1499
|
END
|
1500
|
ELSE
|
1501
|
BEGIN
|
1502
|
SELECT N'' NOTES
|
1503
|
END
|
1504
|
|
1505
|
--TABLE 10 PHÊ DUYỆT TBP_QLTS
|
1506
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS HO_NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1507
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TBP_D'
|
1508
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1509
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1510
|
FROM PL_REQUEST_PROCESS A
|
1511
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1512
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1513
|
--LEFT JOIN CM_EMPLOYEE C ON B.EMP_CODE = C.EMP_CODE
|
1514
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TBP_D'
|
1515
|
ORDER BY A.ID DESC
|
1516
|
|
1517
|
--SHOW TABLE DVCM IT
|
1518
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
1519
|
BEGIN
|
1520
|
SELECT N'DVCMIT' AS MERGE_REGION
|
1521
|
SET @SHOW_TABLE_DVCM_IT = '1'
|
1522
|
END
|
1523
|
|
1524
|
--SHOW TABLE DVCM KHÁC
|
1525
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1526
|
BEGIN
|
1527
|
SELECT N'DVCMKHAC' AS MERGE_REGION
|
1528
|
END
|
1529
|
|
1530
|
--SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN
|
1531
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1532
|
BEGIN
|
1533
|
SELECT N'TITLEDVCM' AS MERGE_REGION
|
1534
|
END
|
1535
|
GO
|
1536
|
IF @@ERROR <> 0 SET NOEXEC ON
|
1537
|
GO
|
1538
|
PRINT N'Altering [dbo].[rpt_PYC_THUHOI]'
|
1539
|
GO
|
1540
|
ALTER PROC [dbo].[rpt_PYC_THUHOI]
|
1541
|
@REQ_ID VARCHAR(15) = NULL
|
1542
|
|
1543
|
AS
|
1544
|
BEGIN
|
1545
|
|
1546
|
DECLARE
|
1547
|
@SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL
|
1548
|
|
1549
|
--TABLE 0
|
1550
|
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT,
|
1551
|
am.ASSET_NAME AS ASS_NAME,
|
1552
|
ISNULL(am.ASSET_CODE,am.ASS_CODE_TMP) AS ASSET_CODE,
|
1553
|
ISNULL(PB.DEP_NAME,ISNULL(TT.DEP_NAME,K.DEP_NAME)) AS DEP_NAME,
|
1554
|
ce.EMP_NAME, '1' QTY_ETM,
|
1555
|
CA.CONTENT AS REQ_CONTENT
|
1556
|
FROM TR_REQUEST_SHOP_DOC A
|
1557
|
LEFT JOIN TR_REQUEST_DOC_ASSET_DT B ON A.REQ_ID = B.REQ_DOC_ID
|
1558
|
LEFT JOIN CM_ALLCODE CA ON B.REQ_ASSET_REASON = CA.CDVAL AND CA.CDNAME = 'REASON_ASS_REQ' AND CA.CDTYPE = 'REQ_ASSET'
|
1559
|
LEFT JOIN CM_DEPARTMENT K ON B.SUBBRANCH_OLD = K.DEP_ID
|
1560
|
LEFT JOIN CM_DEPARTMENT TT ON B.FATHER_OLD = TT.DEP_ID
|
1561
|
LEFT JOIN CM_DEPARTMENT PB ON B.DEP_OLD = PB.DEP_ID
|
1562
|
LEFT JOIN ASS_MASTER am ON am.ASSET_ID = B.ASSET_ID
|
1563
|
LEFT JOIN CM_EMPLOYEE ce ON B.EMP_OLD = ce.EMP_ID
|
1564
|
WHERE A.REQ_ID = @REQ_ID
|
1565
|
|
1566
|
--TABLE 1 DVCM KHOI CNTT
|
1567
|
IF(EXISTS(SELECT 1
|
1568
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1569
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
1570
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00'))
|
1571
|
BEGIN
|
1572
|
SELECT DISTINCT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT(D.APPROVE_DT,'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1573
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1574
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
1575
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
1576
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
1577
|
LEFT JOIN PL_PROCESS D ON A.REQ_ID = D.REQ_ID AND D.PROCESS_ID = 'S_GDDVDVCM' AND A.MAKER_ID = D.CHECKER_ID
|
1578
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00'
|
1579
|
|
1580
|
SET @SHOW_TABLE_DVCM_IT = '1'
|
1581
|
END
|
1582
|
ELSE
|
1583
|
BEGIN
|
1584
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
1585
|
END
|
1586
|
|
1587
|
--TABLE 2 DVCM KHAC
|
1588
|
IF(EXISTS(SELECT 1
|
1589
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1590
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
1591
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00'))
|
1592
|
BEGIN
|
1593
|
SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1594
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'S_GDDVDVCM'
|
1595
|
AND PP.CHECKER_ID = A.MAKER_ID
|
1596
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1597
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1598
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
1599
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
1600
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
1601
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00'
|
1602
|
ORDER BY A.COST_ID
|
1603
|
|
1604
|
SET @SHOW_TABLE_DVCM_KHAC = '1'
|
1605
|
END
|
1606
|
ELSE
|
1607
|
BEGIN
|
1608
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
1609
|
END
|
1610
|
|
1611
|
--TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS
|
1612
|
SELECT TOP 1 A.HO_NOTES, D.TLFullName, ISNULL(C.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1613
|
WHERE PP.REQ_ID = A.REQ_ID AND (PP.PROCESS_ID = 'S_DVCM' OR PP.PROCESS_ID = 'S_TBP_QLTS')
|
1614
|
AND PP.CHECKER_ID = PL.CHECKER_ID
|
1615
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1616
|
FROM TR_REQUEST_SHOP_DOC A
|
1617
|
LEFT JOIN PL_REQUEST_PROCESS PL ON A.REQ_ID = PL.REQ_ID AND PL.PROCESS_ID = 'QLTS_N'
|
1618
|
LEFT JOIN CM_EMPLOYEE_LOG C ON PL.CHECKER_ID = C.USER_DOMAIN
|
1619
|
LEFT JOIN TL_USER D ON C.USER_DOMAIN = D.TLNANME
|
1620
|
WHERE A.REQ_ID = @REQ_ID
|
1621
|
|
1622
|
--TABLE 4 PHE DUYET DVCM KHOI CNTT
|
1623
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
1624
|
BEGIN
|
1625
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
1626
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1627
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'))
|
1628
|
BEGIN
|
1629
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1630
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D'
|
1631
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1632
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1633
|
FROM PL_REQUEST_PROCESS A
|
1634
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1635
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1636
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1637
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'
|
1638
|
ORDER BY C.DEP_ID
|
1639
|
END
|
1640
|
ELSE
|
1641
|
BEGIN
|
1642
|
SELECT '' AS NOTES
|
1643
|
END
|
1644
|
END
|
1645
|
ELSE
|
1646
|
BEGIN
|
1647
|
SELECT N'' NOTES
|
1648
|
END
|
1649
|
|
1650
|
--table 5 PHÊ DUYỆT PHÒNG QLTS
|
1651
|
IF(EXISTS(SELECT 1
|
1652
|
FROM PL_REQUEST_PROCESS A
|
1653
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1654
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1655
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D'))
|
1656
|
BEGIN
|
1657
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1658
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'QLTS_D'
|
1659
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1660
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1661
|
FROM PL_REQUEST_PROCESS A
|
1662
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1663
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1664
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'QLTS_D'
|
1665
|
END
|
1666
|
ELSE
|
1667
|
BEGIN
|
1668
|
SELECT N'' NOTES
|
1669
|
END
|
1670
|
|
1671
|
--Phucvh table 6 USER TẠO DUYỆT
|
1672
|
SELECT TOP 1 C.TLFullName AS USER_CREATE, CHAR(13) + ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1
|
1673
|
WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'S_DVKD'
|
1674
|
AND PP1.CHECKER_ID = A.MAKER_ID
|
1675
|
ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME,
|
1676
|
E.TLFullName AS USER_APPROVE, CHAR(13) + ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP1.APPROVE_DT FROM PL_PROCESS PP1
|
1677
|
WHERE PP1.REQ_ID = A.REQ_ID AND PP1.PROCESS_ID = 'DVKD_D'
|
1678
|
ORDER BY PP1.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME_1
|
1679
|
FROM TR_REQUEST_SHOP_DOC A
|
1680
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN --NGƯỜI TẠO
|
1681
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME --NGƯỜI TẠO
|
1682
|
LEFT JOIN PL_REQUEST_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND PP.PROCESS_ID = 'APPNEW'
|
1683
|
LEFT JOIN CM_EMPLOYEE_LOG D ON PP.CHECKER_ID = D.USER_DOMAIN --NGƯỜI DUYỆT
|
1684
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME --NGƯỜI DUYỆT
|
1685
|
WHERE A.REQ_ID = @REQ_ID
|
1686
|
ORDER BY PP.ID DESC
|
1687
|
|
1688
|
--PHUCVH TABLE 7 SỐ PYC
|
1689
|
SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID
|
1690
|
|
1691
|
--PHUCVH TABLE 8 NGÀY TDV DUYỆT
|
1692
|
SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) +
|
1693
|
N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) +
|
1694
|
N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT
|
1695
|
FROM PL_REQUEST_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC
|
1696
|
END
|
1697
|
|
1698
|
--TABLE 9 PHÊ DUYỆT DVCM KHÁC
|
1699
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1700
|
BEGIN
|
1701
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
1702
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1703
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'))
|
1704
|
BEGIN
|
1705
|
SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1706
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'DVCM_D'
|
1707
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1708
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1709
|
FROM PL_REQUEST_PROCESS A
|
1710
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
1711
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
1712
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
1713
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'
|
1714
|
ORDER BY C.DEP_ID
|
1715
|
END
|
1716
|
ELSE
|
1717
|
BEGIN
|
1718
|
SELECT '' AS NOTES
|
1719
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
1720
|
LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID
|
1721
|
WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00'
|
1722
|
END
|
1723
|
END
|
1724
|
ELSE
|
1725
|
BEGIN
|
1726
|
SELECT N'' NOTES
|
1727
|
END
|
1728
|
|
1729
|
--TABLE 10 PHÊ DUYỆT TBP_QLTS
|
1730
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS HO_NOTES, C.TLFullName, ISNULL(B.POS_NAME,'') + CHAR(13) + N'Đã ký ngày ' + FORMAT((SELECT top 1 PP.APPROVE_DT FROM PL_PROCESS PP
|
1731
|
WHERE PP.REQ_ID = A.REQ_ID AND PP.PROCESS_ID = 'TBP_D'
|
1732
|
AND PP.CHECKER_ID = A.CHECKER_ID
|
1733
|
ORDER BY PP.ID DESC),'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
1734
|
FROM PL_REQUEST_PROCESS A
|
1735
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.CHECKER_ID = B.USER_DOMAIN
|
1736
|
LEFT JOIN TL_USER C ON B.USER_DOMAIN = C.TLNANME
|
1737
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'TBP_D'
|
1738
|
|
1739
|
--SHOW TABLE DVCM IT
|
1740
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
1741
|
BEGIN
|
1742
|
SELECT N'DVCMIT' AS MERGE_REGION
|
1743
|
END
|
1744
|
|
1745
|
--SHOW TABLE DVCM KHÁC
|
1746
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1747
|
BEGIN
|
1748
|
SELECT N'DVCMKHAC' AS MERGE_REGION
|
1749
|
END
|
1750
|
|
1751
|
--SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN
|
1752
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
1753
|
BEGIN
|
1754
|
SELECT N'TITLEDVCM' AS MERGE_REGION
|
1755
|
END
|
1756
|
GO
|
1757
|
IF @@ERROR <> 0 SET NOEXEC ON
|
1758
|
GO
|
1759
|
PRINT N'Altering [dbo].[TR_REQUEST_SHOP_DOC_Search]'
|
1760
|
GO
|
1761
|
ALTER PROCEDURE [dbo].[TR_REQUEST_SHOP_DOC_Search]
|
1762
|
@p_REQ_ID varchar(15) = NULL,
|
1763
|
@p_REQ_CODE nvarchar(100) = NULL,
|
1764
|
@p_REQ_NAME nvarchar(200) = NULL,
|
1765
|
@p_REQ_DT VARCHAR(20) = NULL,
|
1766
|
@p_REQ_TYPE varchar(20) = NULL,
|
1767
|
@p_REQ_CONTENT NVARCHAR(1000)=NULL,
|
1768
|
@p_TOTAL_AMT decimal = NULL,
|
1769
|
@p_NOTES nvarchar(1000) = NULL,
|
1770
|
@p_RECORD_STATUS varchar(1) = NULL,
|
1771
|
@p_MAKER_ID NVARCHAR(100) = NULL,
|
1772
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
1773
|
@p_AUTH_STATUS varchar(50) = NULL,
|
1774
|
@p_CHECKER_ID VARCHAR(100) = NULL,
|
1775
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
1776
|
@p_RECEIVE_BRANCH VARCHAR(15) = NULL,
|
1777
|
@p_USERNAME VARCHAR(100) = NULL,
|
1778
|
@p_BRANCH_ID VARCHAR(15)=NULL,
|
1779
|
@p_DEP_ID VARCHAR(15)=NULL,
|
1780
|
@p_STATUS VARCHAR(15)=NULL,
|
1781
|
@p_TOP INT = 10,
|
1782
|
@p_DVKD_MANAGE_APP_FROM VARCHAR(20) = NULL,
|
1783
|
@p_DVKD_MANAGE_APP_TO VARCHAR(20) = NULL,
|
1784
|
@p_REGION_ID varchar(15) = NULL,
|
1785
|
@p_CDTYPE_PYC VARCHAR(20) = NULL --Phucvh Truyền thêm CDTYPE để xác định loại PYC
|
1786
|
|
1787
|
|
1788
|
AS
|
1789
|
BEGIN -- PAGING
|
1790
|
DECLARE @ROLE_KT VARCHAR(50) = (SELECT TU.RoleName FROM TL_USER TU WHERE TU.TLNANME = @p_USERNAME)
|
1791
|
DECLARE @DEP_ID VARCHAR(20),@BRANCH_ID VARCHAR(20)
|
1792
|
DECLARE @ROLE_LOGIN TABLE(ROLE_USER VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
|
1793
|
-- INSERT INTO @ROLE_LOGIN SELECT DisplayName AS ROLE_USER FROM AbpRoles WHERE Id IN (SELECT A.RoleId FROM AbpUserRoles A
|
1794
|
-- LEFT JOIN TL_USER B ON A.UserId = B.ID
|
1795
|
-- WHERE B.TLNANME = @p_USERNAME)
|
1796
|
INSERT INTO @ROLE_LOGIN
|
1797
|
SELECT tugr.ROLE_ID, tugr.BRANCH_ID, tugr.DEPT_ID FROM dbo.TL_USER_GET_ROLES(@p_USERNAME) tugr
|
1798
|
SET @DEP_ID= (SELECT DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
|
1799
|
SET @BRANCH_ID= (SELECT TLSUBBRID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME)
|
1800
|
DECLARE @lstCOST TABLE
|
1801
|
(
|
1802
|
COST_ID VARCHAR(20)
|
1803
|
)
|
1804
|
INSERT INTO @lstCOST
|
1805
|
SELECT COST_ID FROM dbo.CM_COSTCENTER_DT WHERE BRANCH_ID=@BRANCH_ID AND DEP_ID=@DEP_ID
|
1806
|
-- TienLee 11/14/21 --
|
1807
|
|
1808
|
--
|
1809
|
|
1810
|
DECLARE @TempSTATUS TABLE
|
1811
|
(
|
1812
|
STATUS VARCHAR(20)
|
1813
|
)
|
1814
|
|
1815
|
IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='QLTS' ))
|
1816
|
BEGIN
|
1817
|
INSERT INTO @TempSTATUS VALUES('DVKD')
|
1818
|
INSERT INTO @TempSTATUS VALUES('DVCM')
|
1819
|
END
|
1820
|
ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' ))
|
1821
|
BEGIN
|
1822
|
INSERT INTO @TempSTATUS VALUES('QLTS_N')
|
1823
|
INSERT INTO @TempSTATUS VALUES('DVCM')
|
1824
|
END
|
1825
|
ELSE IF(EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='CVMS' ))
|
1826
|
BEGIN
|
1827
|
INSERT INTO @TempSTATUS VALUES('QLTS_N')
|
1828
|
INSERT INTO @TempSTATUS VALUES('QLTS_XL')
|
1829
|
INSERT INTO @TempSTATUS VALUES('DVCM')
|
1830
|
END
|
1831
|
|
1832
|
DECLARE @lstBRANCH_DEP TABLE
|
1833
|
(
|
1834
|
BRANCH_ID VARCHAR(20),
|
1835
|
DEP_ID VARCHAR(20)
|
1836
|
)
|
1837
|
|
1838
|
-- IF(NOT EXISTS(SELECT ROLE_USER FROM @ROLE_LOGIN WHERE ROLE_USER ='DVCM' OR ROLE_USER='CVMS_TBP' ))
|
1839
|
-- BEGIN
|
1840
|
-- INSERT INTO @lstBRANCH_DEP
|
1841
|
-- (BRANCH_ID,DEP_ID)
|
1842
|
-- SELECT TLSUBBRID,DEP_ID FROM dbo.TL_USER WHERE TLNANME=@p_USERNAME
|
1843
|
--
|
1844
|
-- INSERT INTO @lstBRANCH_DEP
|
1845
|
-- (BRANCH_ID,DEP_ID)
|
1846
|
-- SELECT BRANCH_ID,DEP_ID FROM dbo.CM_KHOI_DT
|
1847
|
-- WHERE KHOI_ID IN (SELECT KHOI_ID FROM dbo.CM_KHOI_DT WHERE DEP_ID= @DEP_ID AND BRANCH_ID=@BRANCH_ID)
|
1848
|
-- END
|
1849
|
--
|
1850
|
--
|
1851
|
--
|
1852
|
-- DECLARE @tbDep TABLE(DEP_ID VARCHAR(20))
|
1853
|
--INSERT INTO @tbDep
|
1854
|
--SELECT ckd.DEP_ID FROM CM_DEPARTMENT cd
|
1855
|
----LEFT JOIN CM_KHOI ck ON cd.DEP_CODE=ck.KHOI_CODE
|
1856
|
----LEFT JOIN CM_KHOI_DT ckd ON ck.KHOI_ID = ckd.KHOI_ID
|
1857
|
--WHERE cd.DEP_ID=@p_DEP_ID
|
1858
|
|
1859
|
DECLARE @REQ_ID_Temp TABLE(REQ_ID VARCHAR(20))
|
1860
|
INSERT INTO @REQ_ID_Temp
|
1861
|
SELECT A.REQ_ID FROM TR_REQUEST_SHOP_DOC A
|
1862
|
LEFT JOIN PL_REQUEST_PROCESS B ON A.REQ_ID = B.REQ_ID AND B.STATUS = 'C'
|
1863
|
WHERE (EXISTS(SELECT RL.ROLE_USER FROM @ROLE_LOGIN RL WHERE RL.BRANCH_ID = B.BRANCH_ID
|
1864
|
AND (B.BRANCH_ID = 'DV0001' AND B.DEP_ID = RL.DEP_ID OR B.BRANCH_ID <> 'DV0001')
|
1865
|
AND RL.ROLE_USER = B.ROLE_USER)
|
1866
|
OR EXISTS(SELECT * FROM @ROLE_LOGIN RL
|
1867
|
JOIN PL_REQUEST_PROCESS C ON C.REQ_ID = A.REQ_ID AND C.STATUS = 'P' AND RL.BRANCH_ID = C.BRANCH_ID
|
1868
|
AND (C.BRANCH_ID = 'DV0001' AND C.DEP_ID = RL.DEP_ID OR C.BRANCH_ID <> 'DV0001')
|
1869
|
AND RL.ROLE_USER = C.ROLE_USER)
|
1870
|
OR A.MAKER_ID = @p_USERNAME)
|
1871
|
GROUP BY A.REQ_ID
|
1872
|
|
1873
|
IF((EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_SLAS' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
|
1874
|
BEGIN
|
1875
|
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
|
1876
|
BEGIN
|
1877
|
-- PAGING BEGIN
|
1878
|
SELECT A.REQ_ID,
|
1879
|
A.REQ_CODE,
|
1880
|
A.REQ_NAME,
|
1881
|
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
|
1882
|
A.REQ_DT,
|
1883
|
A.REQ_TYPE,
|
1884
|
A.REQ_CONTENT,
|
1885
|
A.TOTAL_AMT,
|
1886
|
A.NOTES,
|
1887
|
A.RECORD_STATUS,
|
1888
|
A.MAKER_ID,
|
1889
|
A.CREATE_DT,
|
1890
|
A.AUTH_STATUS,
|
1891
|
A.CHECKER_ID,
|
1892
|
A.APPROVE_DT,
|
1893
|
A.BRANCH_ID,
|
1894
|
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
|
1895
|
A.DEP_ID,
|
1896
|
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
|
1897
|
--I.CONTENT AS REQ_STATUS_NAME,
|
1898
|
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
|
1899
|
ELSE I.CONTENT
|
1900
|
END REQ_STATUS_NAME,
|
1901
|
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
|
1902
|
CASE
|
1903
|
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
|
1904
|
ELSE G.BRANCH_NAME
|
1905
|
END AS BRANCH_NAME,
|
1906
|
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
|
1907
|
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
|
1908
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
|
1909
|
I.CONTENT AS REQ_TYPE_NAME,
|
1910
|
CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
|
1911
|
END AS COLOR
|
1912
|
--D.AUTH_STATUS_NAME
|
1913
|
-- SELECT END
|
1914
|
FROM TR_REQUEST_SHOP_DOC A
|
1915
|
|
1916
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
1917
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
1918
|
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
|
1919
|
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
|
1920
|
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
|
1921
|
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
|
1922
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
|
1923
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
|
1924
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
|
1925
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
|
1926
|
|
1927
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
|
1928
|
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
|
1929
|
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
|
1930
|
WHERE 1 = 1
|
1931
|
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
|
1932
|
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
|
1933
|
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
|
1934
|
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
|
1935
|
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
|
1936
|
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
1937
|
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
1938
|
)
|
1939
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
|
1940
|
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
|
1941
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
|
1942
|
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
|
1943
|
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
1944
|
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
1945
|
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
1946
|
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
1947
|
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1948
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1949
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
1950
|
|
1951
|
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
1952
|
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
1953
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
1954
|
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
1955
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
|
1956
|
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
|
1957
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
1958
|
WHERE US.TLNANME = @p_USERNAME))
|
1959
|
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
|
1960
|
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
|
1961
|
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
|
1962
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
1963
|
WHERE US.TLNANME = @p_USERNAME))
|
1964
|
|
1965
|
AND A.RECORD_STATUS = '1'
|
1966
|
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
|
1967
|
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
1968
|
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
|
1969
|
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
1970
|
|
1971
|
ORDER BY A.REQ_DT DESC
|
1972
|
-- PAGING END
|
1973
|
END
|
1974
|
ELSE
|
1975
|
BEGIN
|
1976
|
-- PAGING BEGIN
|
1977
|
SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID,
|
1978
|
A.REQ_CODE,
|
1979
|
A.REQ_NAME,
|
1980
|
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
|
1981
|
A.REQ_DT,
|
1982
|
A.REQ_TYPE,
|
1983
|
A.REQ_CONTENT,
|
1984
|
A.TOTAL_AMT,
|
1985
|
A.NOTES,
|
1986
|
A.RECORD_STATUS,
|
1987
|
A.MAKER_ID,
|
1988
|
A.CREATE_DT,
|
1989
|
A.AUTH_STATUS,
|
1990
|
A.CHECKER_ID,
|
1991
|
A.APPROVE_DT,
|
1992
|
A.BRANCH_ID,
|
1993
|
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
|
1994
|
A.DEP_ID,
|
1995
|
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
|
1996
|
--I.CONTENT AS REQ_STATUS_NAME,
|
1997
|
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
|
1998
|
ELSE I.CONTENT
|
1999
|
END REQ_STATUS_NAME,
|
2000
|
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
|
2001
|
CASE
|
2002
|
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
|
2003
|
ELSE G.BRANCH_NAME
|
2004
|
END AS BRANCH_NAME,
|
2005
|
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
|
2006
|
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
|
2007
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
|
2008
|
I.CONTENT AS REQ_TYPE_NAME,
|
2009
|
CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A' AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
|
2010
|
END AS COLOR
|
2011
|
--D.AUTH_STATUS_NAME
|
2012
|
-- SELECT END
|
2013
|
FROM TR_REQUEST_SHOP_DOC A
|
2014
|
|
2015
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
2016
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
2017
|
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
|
2018
|
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
|
2019
|
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
|
2020
|
|
2021
|
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
|
2022
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
|
2023
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
|
2024
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
|
2025
|
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
|
2026
|
|
2027
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
|
2028
|
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
|
2029
|
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
|
2030
|
WHERE 1 = 1
|
2031
|
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
|
2032
|
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
|
2033
|
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
|
2034
|
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
|
2035
|
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
|
2036
|
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
2037
|
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
2038
|
)
|
2039
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
|
2040
|
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
|
2041
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
|
2042
|
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
|
2043
|
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
2044
|
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
2045
|
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
2046
|
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
2047
|
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2048
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2049
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
2050
|
|
2051
|
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
2052
|
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
2053
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
2054
|
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
2055
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
|
2056
|
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
|
2057
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
2058
|
WHERE US.TLNANME = @p_USERNAME))
|
2059
|
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
|
2060
|
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
|
2061
|
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
|
2062
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
2063
|
WHERE US.TLNANME = @p_USERNAME))
|
2064
|
AND A.RECORD_STATUS = '1'
|
2065
|
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
|
2066
|
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2067
|
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
|
2068
|
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
2069
|
ORDER BY A.REQ_DT DESC
|
2070
|
-- PAGING END
|
2071
|
END
|
2072
|
END
|
2073
|
ELSE
|
2074
|
BEGIN
|
2075
|
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
|
2076
|
BEGIN
|
2077
|
-- PAGING BEGIN
|
2078
|
SELECT A.REQ_ID,
|
2079
|
A.REQ_CODE,
|
2080
|
A.REQ_NAME,
|
2081
|
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
|
2082
|
A.REQ_DT,
|
2083
|
A.REQ_TYPE,
|
2084
|
A.REQ_CONTENT,
|
2085
|
A.TOTAL_AMT,
|
2086
|
A.NOTES,
|
2087
|
A.RECORD_STATUS,
|
2088
|
A.MAKER_ID,
|
2089
|
A.CREATE_DT,
|
2090
|
A.AUTH_STATUS,
|
2091
|
A.CHECKER_ID,
|
2092
|
A.APPROVE_DT,
|
2093
|
A.BRANCH_ID,
|
2094
|
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
|
2095
|
A.DEP_ID,
|
2096
|
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
|
2097
|
--I.CONTENT AS REQ_STATUS_NAME,
|
2098
|
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
|
2099
|
ELSE I.CONTENT
|
2100
|
END REQ_STATUS_NAME,
|
2101
|
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
|
2102
|
CASE
|
2103
|
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
|
2104
|
ELSE G.BRANCH_NAME
|
2105
|
END AS BRANCH_NAME,
|
2106
|
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
|
2107
|
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
|
2108
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
|
2109
|
CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A'
|
2110
|
AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
|
2111
|
END AS COLOR
|
2112
|
--D.AUTH_STATUS_NAME
|
2113
|
-- SELECT END
|
2114
|
FROM TR_REQUEST_SHOP_DOC A
|
2115
|
|
2116
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
2117
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
2118
|
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
|
2119
|
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
|
2120
|
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
|
2121
|
|
2122
|
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
|
2123
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
|
2124
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
|
2125
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
|
2126
|
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
|
2127
|
|
2128
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
|
2129
|
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
|
2130
|
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
|
2131
|
WHERE 1 = 1
|
2132
|
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
|
2133
|
-- AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
|
2134
|
-- AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
|
2135
|
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
|
2136
|
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
|
2137
|
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
2138
|
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
2139
|
)
|
2140
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
|
2141
|
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
|
2142
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
|
2143
|
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
|
2144
|
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
2145
|
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
2146
|
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
2147
|
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
2148
|
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2149
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2150
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
2151
|
|
2152
|
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
2153
|
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
2154
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
2155
|
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
2156
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
|
2157
|
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
|
2158
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
2159
|
WHERE US.TLNANME = @p_USERNAME))
|
2160
|
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
|
2161
|
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
|
2162
|
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
|
2163
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
2164
|
WHERE US.TLNANME = @p_USERNAME))
|
2165
|
|
2166
|
AND A.RECORD_STATUS = '1'
|
2167
|
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
|
2168
|
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2169
|
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
|
2170
|
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
2171
|
ORDER BY A.REQ_DT DESC
|
2172
|
-- PAGING END
|
2173
|
END
|
2174
|
ELSE
|
2175
|
BEGIN
|
2176
|
-- PAGING BEGIN
|
2177
|
SELECT TOP(CONVERT(INT,@p_TOP)) A.REQ_ID,
|
2178
|
A.REQ_CODE,
|
2179
|
A.REQ_NAME,
|
2180
|
--ISNULL(PRP.APPROVE_DT,PRP2.APPROVE_DT) AS REQ_DT,
|
2181
|
A.REQ_DT,
|
2182
|
A.REQ_TYPE,
|
2183
|
A.REQ_CONTENT,
|
2184
|
A.TOTAL_AMT,
|
2185
|
A.NOTES,
|
2186
|
A.RECORD_STATUS,
|
2187
|
A.MAKER_ID,
|
2188
|
A.CREATE_DT,
|
2189
|
A.AUTH_STATUS,
|
2190
|
A.CHECKER_ID,
|
2191
|
A.APPROVE_DT,
|
2192
|
A.BRANCH_ID,
|
2193
|
CASE WHEN A.REQ_TYPE = 'CPTS' AND A.IS_DONE = '1' AND A.STATUS = 'DONE' THEN 'APPROVE' ELSE A.STATUS END AS STATUS,
|
2194
|
A.DEP_ID,
|
2195
|
A.HO_NOTES, K.CONTENT AS REQ_TYPE_NAME,
|
2196
|
--I.CONTENT AS REQ_STATUS_NAME,
|
2197
|
CASE WHEN A.IS_DONE = '1' AND A.STATUS = 'APPROVE' THEN N'Hoàn tất'
|
2198
|
ELSE I.CONTENT
|
2199
|
END REQ_STATUS_NAME,
|
2200
|
@p_RECEIVE_BRANCH AS RECEIVE_BRANCH,G.BRANCH_CODE,
|
2201
|
CASE
|
2202
|
WHEN A.DEP_ID IS NOT NULL AND A.DEP_ID <> '' THEN G.BRANCH_NAME + ' - ' + CD.DEP_NAME
|
2203
|
ELSE G.BRANCH_NAME
|
2204
|
END AS BRANCH_NAME,
|
2205
|
--CASE WHEN RQT.STATUS = 'C' OR RQT.STATUS = 'U' THEN N'Chờ duyệt'
|
2206
|
--ELSE N'Đã duyệt' END AS AUTH_STATUS_NAME
|
2207
|
D.AUTH_STATUS_NAME AS AUTH_STATUS_NAME,
|
2208
|
CASE WHEN A.STATUS = 'APPROVE'AND A.AUTH_STATUS = 'A'
|
2209
|
AND DATEDIFF(DAY,GETDATE(),DATEADD(DAY,CONVERT(INT,SP.ParaValue),A.SEND_APP_DT)) < 0 THEN '#f2dede' ELSE ''
|
2210
|
END AS COLOR
|
2211
|
--D.AUTH_STATUS_NAME
|
2212
|
-- SELECT END
|
2213
|
FROM TR_REQUEST_SHOP_DOC A
|
2214
|
|
2215
|
LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
|
2216
|
LEFT JOIN CM_BRANCH G ON A.BRANCH_ID=G.BRANCH_ID
|
2217
|
LEFT JOIN CM_ALLCODE K ON K.CDNAME = 'TRREQASSTYPE' AND K.CDVAL = A.REQ_TYPE
|
2218
|
LEFT JOIN CM_ALLCODE I ON I.CDNAME = 'TRREQSTATUS' AND I.CDVAL = A.[STATUS] AND I.CDTYPE = @p_CDTYPE_PYC
|
2219
|
-- LEFT JOIN PL_REQUEST_PROCESS prp1 ON prp1.REQ_ID = A.REQ_ID AND prp1.STATUS = 'C'
|
2220
|
|
2221
|
--LEFT JOIN dbo.CM_AUTH_STATUS AUTH ON AUTH.AUTH_STATUS = A.AUTH_STATUS
|
2222
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS RQT ON RQT.REQ_ID = A.REQ_ID
|
2223
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR (RQT.PROCESS_ID = A.STATUS AND EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN))))
|
2224
|
--LEFT JOIN dbo.PL_REQUEST_PROCESS PRP1 ON PRP1.REQ_ID = A.REQ_ID AND PRP1.PROCESS_ID = 'CVMS_N'
|
2225
|
LEFT JOIN dbo.PL_REQUEST_PROCESS PRP2 ON PRP2.REQ_ID = A.REQ_ID AND PRP2.PROCESS_ID = 'DVKD'
|
2226
|
|
2227
|
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=A.MAKER_ID
|
2228
|
LEFT JOIN SYS_PARAMETERS SP ON 1=1 AND SP.ParaKey = 'NUM_OF_DAYS_LATE'
|
2229
|
LEFT JOIN CM_DEPARTMENT CD ON A.DEP_ID = CD.DEP_ID
|
2230
|
WHERE 1 = 1
|
2231
|
AND (G.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR @p_REGION_ID IS NULL OR @p_REGION_ID = '')
|
2232
|
--AND (CONVERT(DATETIME,@p_DVKD_MANAGE_APP_FROM,103) <= CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_FROM IS NULL OR @p_DVKD_MANAGE_APP_FROM = '')
|
2233
|
--AND (DATEADD(day,1,CONVERT(DATETIME,@p_DVKD_MANAGE_APP_TO,103)) > CAST (PRP2.RECEPTION_DT AS DATE) OR @p_DVKD_MANAGE_APP_TO IS NULL OR @p_DVKD_MANAGE_APP_TO = '')
|
2234
|
AND (@p_DVKD_MANAGE_APP_FROM IS NULL AND @p_DVKD_MANAGE_APP_TO IS NULL OR
|
2235
|
@p_DVKD_MANAGE_APP_TO IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103))
|
2236
|
OR @p_DVKD_MANAGE_APP_FROM IS NULL AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
2237
|
OR (CONVERT(DATE, A.REQ_DT, 103)) >= (CONVERT(DATE, @p_DVKD_MANAGE_APP_FROM, 103)) AND (CONVERT(DATE, A.REQ_DT, 103)) <= (CONVERT(DATE, @p_DVKD_MANAGE_APP_TO, 103))
|
2238
|
)
|
2239
|
--AND (((RQT.PROCESS_ID = A.STATUS AND RQT.ROLE_USER IN (SELECT ROLE_USER FROM @ROLE_LOGIN) AND (@p_USERNAME = RQT.DVKD_USER_APP OR (RQT.DVKD_USER_APP IS NULL OR RQT.DVKD_USER_APP = ''))) OR (RQT.STATUS = 'U' AND RQT.PROCESS_ID = 'DVKD')) OR EXISTS(SELECT * FROM PL_CONFIG_DATA WHERE TYPE_DATA = 'REQUEST_DOC_ROLE' AND REF_ID IN (SELECT ROLE_USER FROM @ROLE_LOGIN)))
|
2240
|
--AND ((@p_AUTH_STATUS = 'U' AND (RQT.STATUS = 'C' OR RQT.STATUS = 'U')) OR (@p_AUTH_STATUS = 'A' AND (RQT.STATUS = 'P' OR RQT.STATUS IS NULL))OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = ''))
|
2241
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%'
|
2242
|
--OR A.REQ_ID LIKE '%' + @p_REQ_CODE + '%'
|
2243
|
OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
2244
|
AND (A.REQ_ID LIKE '%' + @p_REQ_ID + '%' OR @p_REQ_ID IS NULL OR @p_REQ_ID = '')
|
2245
|
AND (A.REQ_CONTENT LIKE '%' + @p_REQ_CONTENT + '%' OR @p_REQ_CONTENT IS NULL OR @p_REQ_CONTENT = '')
|
2246
|
AND (A.TOTAL_AMT=@p_TOTAL_AMT OR @p_TOTAL_AMT IS NULL OR @p_TOTAL_AMT =0)
|
2247
|
--AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2248
|
AND (A.REQ_NAME LIKE '%' + @p_REQ_NAME + '%' OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2249
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
2250
|
|
2251
|
AND (DATEDIFF(DAY,A.CREATE_DT , CONVERT(DATETIME,@p_CREATE_DT,103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
2252
|
-- AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
2253
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
2254
|
AND (DATEDIFF(DAY,A.APPROVE_DT , CONVERT(DATETIME,@p_APPROVE_DT,103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
2255
|
AND (A.REQ_TYPE = @p_REQ_TYPE OR @p_REQ_TYPE IS NULL OR @p_REQ_TYPE = '')
|
2256
|
AND (A.STATUS IN ('NEW','REJECT') AND A.MAKER_ID = @p_USERNAME OR A.STATUS NOT IN ('NEW','REJECT')
|
2257
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
2258
|
WHERE US.TLNANME = @p_USERNAME))
|
2259
|
AND (@p_STATUS IS NULL OR @p_STATUS = '' OR A.STATUS = @p_STATUS)
|
2260
|
AND (EXISTS(SELECT 1 FROM @REQ_ID_Temp RL WHERE RL.REQ_ID = A.REQ_ID)
|
2261
|
OR (@ROLE_KT IN ('GDV','KSV') AND A.AUTH_STATUS = 'A' )
|
2262
|
OR EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE_VB('QLTS',NULL,NULL) US
|
2263
|
WHERE US.TLNANME = @p_USERNAME))
|
2264
|
|
2265
|
AND A.RECORD_STATUS = '1'
|
2266
|
AND (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' OR A.BRANCH_ID = @p_BRANCH_ID)
|
2267
|
AND (A.REQ_NAME COLLATE Latin1_general_CI_AI Like N'%' + @p_REQ_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_REQ_NAME IS NULL OR @p_REQ_NAME = '')
|
2268
|
AND( TU.TLFullName COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI OR TU.TLNANME COLLATE Latin1_general_CI_AI Like N'%' + @p_MAKER_ID + N'%' COLLATE Latin1_general_CI_AI
|
2269
|
OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
2270
|
ORDER BY A.REQ_DT DESC
|
2271
|
-- PAGING END
|
2272
|
END
|
2273
|
END
|
2274
|
|
2275
|
|
2276
|
|
2277
|
END
|
2278
|
GO
|
2279
|
|
2280
|
ALTER TRIGGER dbo.TRIG_CM_EMPLOYEE_SYNC_Ins
|
2281
|
ON dbo.CM_EMPLOYEE_SYNC
|
2282
|
AFTER INSERT
|
2283
|
AS
|
2284
|
BEGIN
|
2285
|
--STORE ĐỒNG BỘ NHÂN VIÊN VÀ ĐIỀU CHUYỂN TÀI SẢN NHÂN SỰ
|
2286
|
--29/09/22
|
2287
|
SET NOCOUNT ON;
|
2288
|
IF (EXISTS(SELECT TOP 1 MaNS FROM INSERTED))
|
2289
|
BEGIN
|
2290
|
|
2291
|
DECLARE @MaDV_Cu_SYNC VARCHAR(500) = (SELECT TOP 1 MaDVCu FROM INSERTED)
|
2292
|
DECLARE @MaDV_Moi_SYNC VARCHAR(500) = (SELECT TOP 1 MaDVMoi FROM INSERTED)
|
2293
|
|
2294
|
--UPDATE MÃ MỚI DO KT UPDATE
|
2295
|
IF(@MaDV_Cu_SYNC = '0100')
|
2296
|
BEGIN
|
2297
|
SET @MaDV_Cu_SYNC = '0600'
|
2298
|
END
|
2299
|
|
2300
|
IF(@MaDV_Cu_SYNC = '0101')
|
2301
|
BEGIN
|
2302
|
SET @MaDV_Cu_SYNC = '0601'
|
2303
|
END
|
2304
|
|
2305
|
IF(@MaDV_Moi_SYNC = '0100')
|
2306
|
BEGIN
|
2307
|
SET @MaDV_Moi_SYNC = '0600'
|
2308
|
END
|
2309
|
|
2310
|
IF(@MaDV_Moi_SYNC = '0101')
|
2311
|
BEGIN
|
2312
|
SET @MaDV_Moi_SYNC = '0601'
|
2313
|
END
|
2314
|
|
2315
|
--MAP DATA HR VỚI KT
|
2316
|
IF(EXISTS(SELECT 1 FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Cu_SYNC))
|
2317
|
BEGIN
|
2318
|
SET @MaDV_Cu_SYNC = (SELECT TOP 1 KT_ID FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Cu_SYNC)
|
2319
|
END
|
2320
|
IF(EXISTS(SELECT 1 FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Moi_SYNC))
|
2321
|
BEGIN
|
2322
|
SET @MaDV_Moi_SYNC = (SELECT TOP 1 KT_ID FROM CM_BRANCH_DEP_MAP WHERE HR_ID = @MaDV_Moi_SYNC)
|
2323
|
END
|
2324
|
DECLARE @MACD_CU_SYNC VARCHAR(500) = (SELECT TOP 1 MaCDCu FROM INSERTED)
|
2325
|
DECLARE @MACD_MOI_SYNC VARCHAR(500) = (SELECT TOP 1 MaCDMoi FROM INSERTED)
|
2326
|
|
2327
|
--START: PARAM INSERT NHÂN VIÊN MỚI
|
2328
|
DECLARE @l_EMP_ID VARCHAR(500)
|
2329
|
DECLARE @p_EMP_CODE varchar(500) = (SELECT TOP 1 MaNS FROM INSERTED)
|
2330
|
DECLARE @p_EMP_NAME nvarchar(500) = (SELECT TOP 1 HoTen FROM INSERTED)
|
2331
|
|
2332
|
DECLARE @p_BRANCH_ID varchar(15) = NULL
|
2333
|
DECLARE @p_DEP_ID varchar(15) = NULL
|
2334
|
|
2335
|
DECLARE @p_POS_CODE VARCHAR(50) = NULL
|
2336
|
DECLARE @p_POS_NAME NVARCHAR(MAX) = NULL
|
2337
|
|
2338
|
DECLARE @p_NOTES nvarchar(1000) = N'ĐỒNG BỘ'
|
2339
|
DECLARE @p_RECORD_STATUS varchar(1) = '1'
|
2340
|
DECLARE @p_AUTH_STATUS varchar(1) = 'A'
|
2341
|
DECLARE @p_MAKER_ID varchar(15) = 'ADMIN'
|
2342
|
DECLARE @p_CREATE_DT VARCHAR(50) = GETDATE()
|
2343
|
DECLARE @p_CHECKER_ID varchar(15) = 'ADMIN'
|
2344
|
DECLARE @p_APPROVE_DT VARCHAR(50) = GETDATE()
|
2345
|
--END: PARAM INSERT NHÂN VIÊN MỚI
|
2346
|
|
2347
|
--START: PARAM INSERT CM_EMPLOYEE_TRANSFER_LOG
|
2348
|
DECLARE @I_EMP_ID VARCHAR(20) = (SELECT TOP 1 ce.EMP_ID FROM CM_EMPLOYEE ce WHERE ce.EMP_CODE = (SELECT MaNS FROM INSERTED))
|
2349
|
DECLARE @I_STATUS VARCHAR(5)
|
2350
|
|
2351
|
DECLARE @C_Ma_DV_Cu VARCHAR(500) = NULL --MÃ ĐV CŨ ĐỂ CHECK IF
|
2352
|
DECLARE @C_Ma_DV_Moi VARCHAR(500) = NULL --MÃ DV MỚI ĐỂ CHECK IF
|
2353
|
DECLARE @C_Ma_PB_Cu VARCHAR(500) = NULL --MÃ PB CŨ ĐỂ CHECK IF
|
2354
|
DECLARE @C_Ma_PB_Moi VARCHAR(500) = NULL --MÃ PB MỚI ĐỂ CHECK IF
|
2355
|
--END: PARAM INSERT CM_EMPLOYEE_TRANSFER_LOG
|
2356
|
|
2357
|
DECLARE @TLNAME VARCHAR(200) = NULL
|
2358
|
|
2359
|
DECLARE @BLOCK_ID_OLD VARCHAR(15) = NULL --Mã khối cũ check điều chuyển nhân sự
|
2360
|
DECLARE @CENTER_ID_OLD VARCHAR(15) = NULL --Mã trung tâm cũ check điều chuyển nhân sự
|
2361
|
DECLARE @DEP_ID_OLD VARCHAR(15) = NULL --Mã phòng ban cũ check điều chuyển nhân sự
|
2362
|
|
2363
|
DECLARE @BLOCK_ID_NEW VARCHAR(15) = NULL --Mã khối mới check điều chuyển nhân sự
|
2364
|
DECLARE @CENTER_ID_NEW VARCHAR(15) = NULL --Mã trung tâm mới check điều chuyển nhân sự
|
2365
|
DECLARE @DEP_ID_NEW VARCHAR(15) = NULL --Mã phòng ban mới check điều chuyển nhân sự
|
2366
|
|
2367
|
--START: PARAM INSERT
|
2368
|
|
2369
|
--CHECK XEM ĐƠN VỊ/PHÒNG BAN CỦA NHÂN VIÊN MỚI CỬA KH LƯU TRONG CỘT MaDVCu HAY CỘT MaDVMoi
|
2370
|
IF (EXISTS(SELECT TOP 1 MaDVCu FROM INSERTED WHERE MaDVCu IS NOT NULL AND MaDVCu <> ''))
|
2371
|
BEGIN
|
2372
|
--CHECK XEM MÃ LÀ ĐƠN VỊ HAY PHÒNG BAN
|
2373
|
IF(EXISTS(SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Cu_SYNC))
|
2374
|
BEGIN
|
2375
|
SET @p_BRANCH_ID = 'DV0001'
|
2376
|
SET @C_Ma_DV_Cu = 'DV0001'
|
2377
|
SET @p_DEP_ID = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Cu_SYNC)
|
2378
|
SET @C_Ma_PB_Cu = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Cu_SYNC)
|
2379
|
END
|
2380
|
ELSE
|
2381
|
BEGIN
|
2382
|
SET @p_BRANCH_ID = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Cu_SYNC)
|
2383
|
SET @C_Ma_DV_Cu = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Cu_SYNC)
|
2384
|
END
|
2385
|
END
|
2386
|
--ELSE
|
2387
|
|
2388
|
IF(EXISTS(SELECT TOP 1 MaDVMoi FROM INSERTED WHERE MaDVMoi IS NOT NULL AND MaDVMoi <> ''))
|
2389
|
BEGIN
|
2390
|
--CHECK XEM MÃ LÀ ĐƠN VỊ HAY PHÒNG BAN
|
2391
|
IF(EXISTS(SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = (SELECT MaDVMoi FROM INSERTED)))
|
2392
|
BEGIN
|
2393
|
SET @p_BRANCH_ID = 'DV0001'
|
2394
|
SET @C_Ma_DV_Moi = 'DV0001'
|
2395
|
SET @p_DEP_ID = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Moi_SYNC)
|
2396
|
SET @C_Ma_PB_Moi = (SELECT TOP 1 cd.DEP_ID FROM CM_DEPARTMENT cd WHERE cd.DEP_CODE = @MaDV_Moi_SYNC)
|
2397
|
END
|
2398
|
ELSE
|
2399
|
BEGIN
|
2400
|
SET @p_BRANCH_ID = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Moi_SYNC)
|
2401
|
SET @C_Ma_DV_Moi = (SELECT TOP 1 cb.BRANCH_ID FROM CM_BRANCH cb WHERE cb.BRANCH_CODE = @MaDV_Moi_SYNC)
|
2402
|
END
|
2403
|
END
|
2404
|
|
2405
|
--GET KHỐI, TRUNG TÂM, PHÒNG BAN
|
2406
|
EXEC CM_DEPARTMENT_GET_BLOCK_CENTER @C_Ma_PB_Cu ,@BLOCK_ID_OLD OUT ,@CENTER_ID_OLD OUT , @DEP_ID_OLD OUT
|
2407
|
|
2408
|
--GET KHỐI, TRUNG TÂM, PHÒNG BAN
|
2409
|
EXEC CM_DEPARTMENT_GET_BLOCK_CENTER @C_Ma_PB_Moi, @BLOCK_ID_NEW OUT ,@CENTER_ID_NEW OUT ,@DEP_ID_NEW OUT
|
2410
|
|
2411
|
IF(@p_BRANCH_ID <> 'DV0001')
|
2412
|
BEGIN
|
2413
|
SET @p_DEP_ID = NULL
|
2414
|
END
|
2415
|
|
2416
|
PRINT @C_Ma_DV_Cu
|
2417
|
PRINT @C_Ma_DV_Moi
|
2418
|
IF((@C_Ma_DV_Cu IS NULL OR @C_Ma_DV_Cu = '') AND (@C_Ma_DV_Moi IS NULL OR @C_Ma_DV_Moi = ''))
|
2419
|
BEGIN
|
2420
|
--N'Mã DV cũ và Mã DV mới không có giá trị'
|
2421
|
PRINT 1
|
2422
|
END
|
2423
|
ELSE
|
2424
|
BEGIN
|
2425
|
|
2426
|
IF((SELECT COUNT(*) FROM CM_EMPLOYEE_LOG CEL WHERE CEL.EMP_CODE = @p_EMP_CODE) > 1)
|
2427
|
BEGIN
|
2428
|
SET @TLNAME = (SELECT TOP 1 CEL.USER_DOMAIN FROM CM_EMPLOYEE_LOG CEL WHERE CEL.EMP_CODE = @p_EMP_CODE
|
2429
|
AND CEL.BRANCH_CODE = @MaDV_Cu_SYNC
|
2430
|
AND (CEL.DEP_CODE = @C_Ma_PB_Cu OR @C_Ma_PB_Cu IS NULL))
|
2431
|
END
|
2432
|
ELSE
|
2433
|
BEGIN
|
2434
|
SET @TLNAME = (SELECT TOP 1 CEL.USER_DOMAIN FROM CM_EMPLOYEE_LOG CEL WHERE CEL.EMP_CODE = @p_EMP_CODE)
|
2435
|
END
|
2436
|
|
2437
|
--CHECK DATA CHỨC DANH LƯU CỘT CDMOI HAY CDCU
|
2438
|
IF(EXISTS(SELECT 1 FROM INSERTED WHERE MaCDMoi IS NOT NULL AND MaCDMoi <> ''))
|
2439
|
BEGIN
|
2440
|
--NẾU CHỨC DANH CHƯA CÓ TRONG HỆ THỐNG THÌ THÊM MỚI CHỨC DANH
|
2441
|
IF(NOT EXISTS(SELECT 1 FROM CM_MAPPING_CHUCDANH_ROLE WHERE MA_CHUC_DANH = @MACD_MOI_SYNC))
|
2442
|
BEGIN
|
2443
|
INSERT INTO CM_MAPPING_CHUCDANH_ROLE (MA_CHUC_DANH, TEN_CHUC_DANH, NHOM_CHUC_DANH, ROLE_ID)
|
2444
|
VALUES (@MACD_MOI_SYNC, (SELECT TOP 1 CDMoi FROM INSERTED), NULL, NULL);
|
2445
|
END
|
2446
|
|
2447
|
SET @p_POS_CODE = @MACD_MOI_SYNC
|
2448
|
SET @p_POS_NAME = (SELECT TOP 1 CDMoi FROM INSERTED)
|
2449
|
END
|
2450
|
ELSE IF(EXISTS(SELECT 1 FROM INSERTED WHERE MaCDCu IS NOT NULL AND MaCDCu <> ''))
|
2451
|
BEGIN
|
2452
|
--NẾU CHỨC DANH CHƯA CÓ TRONG HỆ THỐNG THÌ THÊM MỚI CHỨC DANH
|
2453
|
IF(NOT EXISTS(SELECT 1 FROM CM_MAPPING_CHUCDANH_ROLE WHERE MA_CHUC_DANH = @MACD_CU_SYNC))
|
2454
|
BEGIN
|
2455
|
INSERT INTO CM_MAPPING_CHUCDANH_ROLE (MA_CHUC_DANH, TEN_CHUC_DANH, NHOM_CHUC_DANH, ROLE_ID)
|
2456
|
VALUES (@MACD_CU_SYNC, (SELECT TOP 1 CDCu FROM INSERTED), NULL, NULL);
|
2457
|
END
|
2458
|
|
2459
|
SET @p_POS_CODE = @MACD_CU_SYNC
|
2460
|
SET @p_POS_NAME = (SELECT TOP 1 CDCu FROM INSERTED)
|
2461
|
END
|
2462
|
|
2463
|
|
2464
|
--CHECK NHÂN VIÊN XEM CÓ XEM TRONG HỆ THỐNG KHÔNG
|
2465
|
IF(EXISTS(SELECT TOP 1 ce.EMP_ID FROM CM_EMPLOYEE ce WHERE ce.EMP_CODE = (SELECT MaNS FROM INSERTED)))
|
2466
|
BEGIN
|
2467
|
|
2468
|
IF(EXISTS(
|
2469
|
SELECT atmd.ASSET_ID FROM ASS_TRANSFER_MULTI_DT atmd
|
2470
|
WHERE (atmd.EMP_ID = @I_EMP_ID AND atmd.EMP_ID_OLD = @I_EMP_ID
|
2471
|
AND (atmd.BRANCH_ID = @C_Ma_DV_Moi AND atmd.BRANCH_ID_OLD = @C_Ma_DV_Cu
|
2472
|
AND ISNULL(atmd.KHOI_ID_OLD,'') = ISNULL(@BLOCK_ID_OLD,'') AND ISNULL(atmd.KHOI_ID,'') = ISNULL(@BLOCK_ID_NEW,'')
|
2473
|
AND ISNULL(atmd.CENTER_ID_OLD,'') = ISNULL(@CENTER_ID_OLD,'') AND ISNULL(atmd.CENTER_ID,'') = ISNULL(@CENTER_ID_NEW,'')
|
2474
|
AND ISNULL(atmd.DEPT_ID_OLD,'') = ISNULL(@DEP_ID_OLD,'') AND ISNULL(atmd.DEPT_ID,'') = ISNULL(@DEP_ID_NEW,''))
|
2475
|
AND atmd.AUTH_STATUS_KT <> 'A') --ĐIỀU CHUYỂN TS TỪ ĐV NÀY SANG ĐV KHÁC CHO CÙNG NV
|
2476
|
OR (atmd.EMP_ID_OLD = @I_EMP_ID AND atmd.EMP_ID <> @I_EMP_ID
|
2477
|
AND atmd.BRANCH_ID_OLD = @C_Ma_DV_Cu
|
2478
|
AND ISNULL(atmd.KHOI_ID_OLD,'') = ISNULL(@BLOCK_ID_OLD,'')
|
2479
|
AND ISNULL(atmd.CENTER_ID_OLD,'') = ISNULL(@CENTER_ID_OLD,'')
|
2480
|
AND ISNULL(atmd.DEPT_ID_OLD,'') = ISNULL(@DEP_ID_OLD,'')
|
2481
|
AND atmd.AUTH_STATUS_KT <> 'A') --ĐIỀU CHUYỂN TS TỪ ĐV NÀY SANG ĐV KHÁC NHƯNG KHÁC NV
|
2482
|
UNION ALL
|
2483
|
SELECT am.ASSET_ID FROM ASS_MASTER am WHERE am.BRANCH_ID = @C_Ma_DV_Cu AND ISNULL(am.DEPT_ID,'') = ISNULL(@C_Ma_PB_Cu,'') AND am.EMP_ID = @I_EMP_ID ))
|
2484
|
SET @I_STATUS = '0'
|
2485
|
ELSE
|
2486
|
SET @I_STATUS = '1'
|
2487
|
|
2488
|
INSERT INTO CM_EMPLOYEE_TRANSFER_LOG (EMP_ID, TRANSFER_DT, BRANCH_ID_OLD, DEP_ID_OLD, BRANCH_ID_NEW, DEP_ID_NEW, STATUS)
|
2489
|
VALUES (@I_EMP_ID, CONVERT(DATETIME,(SELECT TOP 1 TGTao FROM INSERTED),103), @C_Ma_DV_Cu,@C_Ma_PB_Cu, @C_Ma_DV_Moi, @C_Ma_PB_Moi, @I_STATUS);
|
2490
|
|
2491
|
--CHECK TRƯỜNG HỢP 1 NHÂN VIÊN CÓ QUYỀN 2 CHI NHÁNH TRỞ TRÊN (KHÁC TLNAME)
|
2492
|
|
2493
|
--PHUCVH 22/12/22 CHECK NẾU MADV,PB MỚI THAY ĐỔI THÌ UPDATE LẠI MADV,PB CHO NHANVIEN
|
2494
|
IF(EXISTS(SELECT 1 FROM CM_EMPLOYEE A WHERE A.EMP_CODE = @p_EMP_CODE
|
2495
|
AND ISNULL(@p_BRANCH_ID,'') <> ''
|
2496
|
AND ((ISNULL(@p_BRANCH_ID,'') = 'DV0001' AND ISNULL(@p_DEP_ID,'') <> '')
|
2497
|
OR (ISNULL(@p_BRANCH_ID,'') <> 'DV0001' AND ISNULL(@p_DEP_ID,'') = ''))
|
2498
|
AND (ISNULL(A.BRANCH_ID,'') <> ISNULL(@p_BRANCH_ID,'')
|
2499
|
OR ISNULL(A.DEP_ID,'') <> ISNULL(@p_DEP_ID,''))))
|
2500
|
BEGIN
|
2501
|
--NẾU LÀ DVCM THÌ SKIP. KHÔNG UPDATE BRANCH VÀ DEP
|
2502
|
IF(NOT EXISTS(SELECT 1
|
2503
|
FROM TL_USER A
|
2504
|
LEFT JOIN AbpUserRoles B ON A.ID = B.UserId
|
2505
|
LEFT JOIN AbpRoles C ON B.RoleId = C.Id
|
2506
|
WHERE A.TLNANME = @TLNAME AND C.DisplayName = 'DVCM'))
|
2507
|
BEGIN
|
2508
|
|
2509
|
UPDATE CM_EMPLOYEE SET BRANCH_ID = @p_BRANCH_ID, DEP_ID = @p_DEP_ID
|
2510
|
WHERE EMP_CODE = @p_EMP_CODE
|
2511
|
|
2512
|
--CHECK UPDATE TL_USER VÀ CM_EMPLOYEE_LOG
|
2513
|
IF(EXISTS(SELECT 1 FROM CM_EMPLOYEE_LOG WHERE EMP_CODE = @p_EMP_CODE))
|
2514
|
BEGIN
|
2515
|
UPDATE CM_EMPLOYEE_LOG SET BRANCH_CODE = (SELECT TOP 1 BRANCH_CODE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID),
|
2516
|
DEP_CODE = (SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID = @p_DEP_ID)
|
2517
|
WHERE EMP_CODE = @p_EMP_CODE AND USER_DOMAIN = @TLNAME
|
2518
|
|
2519
|
UPDATE TL_USER SET TLSUBBRID = @p_BRANCH_ID, SECUR_CODE = @p_DEP_ID, DEP_ID = @p_DEP_ID
|
2520
|
WHERE TLNANME = @TLNAME
|
2521
|
END
|
2522
|
END
|
2523
|
|
2524
|
END
|
2525
|
|
2526
|
--PHUCVH 22/12/22 CHECK NẾU MA CHUC DANH THAY ĐỔI THÌ UPDATE
|
2527
|
IF(EXISTS(SELECT 1 FROM CM_EMPLOYEE A WHERE A.EMP_CODE = @p_EMP_CODE
|
2528
|
AND ISNULL(A.POS_CODE,'') <> ISNULL(@p_POS_CODE,'')))
|
2529
|
BEGIN
|
2530
|
UPDATE CM_EMPLOYEE SET POS_CODE = @p_POS_CODE, POS_NAME = @p_POS_NAME
|
2531
|
WHERE EMP_CODE = @p_EMP_CODE
|
2532
|
|
2533
|
UPDATE CM_EMPLOYEE_LOG SET POS_CODE = @p_POS_CODE, POS_NAME = @p_POS_NAME
|
2534
|
WHERE EMP_CODE = @p_EMP_CODE AND USER_DOMAIN = @TLNAME
|
2535
|
END
|
2536
|
|
2537
|
--IF @@Error <> 0 GOTO ABORT
|
2538
|
--SET @Message = N'Đồng bộ điều chuyển nhân sự thành công'
|
2539
|
END
|
2540
|
ELSE
|
2541
|
BEGIN
|
2542
|
--KHÔNG CÓ TRONG HỆ THỐNG
|
2543
|
--THÊM THÔNG TIN NHÂN VIÊN
|
2544
|
EXEC SYS_CodeMasters_Gen 'CM_EMPLOYEE', @l_EMP_ID out
|
2545
|
INSERT INTO CM_EMPLOYEE([EMP_ID],[EMP_CODE],[EMP_NAME],[BRANCH_ID],[DEP_ID],[NOTES],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT],[POS_CODE],[POS_NAME])
|
2546
|
VALUES(@l_EMP_ID ,@p_EMP_CODE ,@p_EMP_NAME ,@p_BRANCH_ID ,@p_DEP_ID ,@p_NOTES ,@p_RECORD_STATUS ,@p_AUTH_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103), @p_POS_CODE, @p_POS_NAME )
|
2547
|
--IF @@Error <> 0 GOTO ABORT
|
2548
|
--SET @Message = N'Đồng bộ nhân viên mới thành công'
|
2549
|
END
|
2550
|
END
|
2551
|
|
2552
|
|
2553
|
END
|
2554
|
END
|
2555
|
|
2556
|
|
2557
|
|