Project

General

Profile

TR_ROLE_NOTIFI_ID.txt

Sang Đặng Thái, 10/27/2020 02:29 PM

 
1

    
2
ALTER PROCEDURE [dbo].[TR_ROLE_NOTIFI_ID]
3
@PO_ID	varchar(500),
4
@TYPE VARCHAR(100)
5
AS
6
	PRINT @TYPE
7

    
8
	DECLARE 
9
		@BRANCH_CREATE VARCHAR(15),
10
		@DEP_CREATE VARCHAR(15),
11
		@BRANCH_TYPE VARCHAR(15),
12
		@FATHER_ID VARCHAR(15),
13
		@FLAG VARCHAR(1), -- FLAG = 1: THANH TOÁN / TẠM ỨNG
14
		@AUTH_STATUS VARCHAR(10),
15
		@PROCESS VARCHAR(10),
16
		@MAKER_ID VARCHAR(15),
17
		@DEP_CODE VARCHAR(15)
18
	DECLARE @ROLE_CURRENT VARCHAR(15), @USER_RECIVE_MAIL VARCHAR(15), @REQ_TYPE VARCHAR(15)
19
	DECLARE @l_LST_REQ_ID TABLE (
20
	[ID] [int] IDENTITY(1,1) NOT NULL,
21
	[REQ_PAY_ID] [VARCHAR](15) NULL)
22
	INSERT INTO @l_LST_REQ_ID SELECT VALUE FROM WSISPLIT(@PO_ID,',')
23
	DECLARE @LST_POID TABLE(ID VARCHAR(15))
24
	DECLARE @LST_USER_RECIVE TABLE (TLNAME VARCHAR(10))
25
	--- DECLARE TABLE NHAN DU LIEU LA USER NAME DANG O BUOC PHE DUYET HIEN TAI
26
	DECLARE @PL_PROCESS_CURRENT_SEARCH_TEMP TABLE
27
	(
28
	REQ_ID varchar(15),
29
	PROCESS_ID varchar(10),
30
	DVDM_NAME nvarchar(500),
31
	TLNAME nvarchar(255),
32
	TLFullName nvarchar(255),
33
	NOTES nvarchar(500)
34
	)
35
	IF @TYPE = 'PO'
36
	BEGIN
37
		INSERT INTO @LST_POID VALUES(@PO_ID)
38
		SET @FLAG = 0
39
	END ELSE
40
	IF @TYPE = 'USE'
41
	BEGIN
42
		INSERT INTO @LST_POID SELECT B.PO_ID 
43
		FROM ASS_MASTER_PO B WHERE B.ASSET_ID = (SELECT A.ASSET_ID FROM ASS_USE A WHERE A.USE_ID = @PO_ID)
44
		SET @FLAG = 0
45
	END ELSE
46
	IF @TYPE = 'USE_MUILT'
47
	BEGIN
48
		INSERT INTO @LST_POID SELECT B.PO_ID 
49
		FROM ASS_MASTER_PO B WHERE B.ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @PO_ID)
50
		GROUP BY B.PO_ID
51
		SET @FLAG = 0
52
	END ELSE
53
	IF @TYPE = 'USE_ADDNEW'
54
	BEGIN
55
		INSERT INTO @LST_POID SELECT B.PO_ID 
56
		FROM ASS_ADDNEW_PO B WHERE B.ADDNEW_ID = @PO_ID
57
		SET @FLAG = 0
58
	END 	
59
	-- Tạm ứng 
60
	ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_SEND_APR')
61
	BEGIN
62
		SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
63
		--IF(@AUTH_STATUS  = 'U')
64
		--BEGIN
65
		--	INSERT INTO @LST_USER_RECIVE (TLNAME) 
66
		--	(SELECT TRASFER_USER_RECIVE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
67
		--	SET @FLAG = 1
68
		--END
69
		IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>'')))
70
			BEGIN
71
				INSERT INTO @LST_USER_RECIVE (TLNAME) 
72
				(SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
73
			END
74
			ELSE
75
			BEGIN
76
				SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
77
				SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
78
				SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
79
				SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
80
				SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
81
				IF(@BRANCH_TYPE = 'PGD' )
82
				BEGIN
83
					INSERT INTO @LST_USER_RECIVE (TLNAME) 
84
					SELECT TLNANME FROM TL_USER 
85
					WHERE 1=1
86
					AND TLSUBBRID = @BRANCH_CREATE
87
					AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
88
				
89
				END
90
				ELSE IF(@BRANCH_TYPE = 'CN' )
91
				BEGIN
92
					INSERT INTO @LST_USER_RECIVE (TLNAME) 
93
					SELECT TLNANME FROM TL_USER 
94
					WHERE 1=1
95
					AND TLSUBBRID = @BRANCH_CREATE 
96
					AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
97
				END
98
				ELSE IF(@BRANCH_TYPE = 'HS' )
99
				BEGIN
100
						INSERT INTO @LST_USER_RECIVE (TLNAME) 
101
						SELECT TLNANME FROM TL_USER
102
						WHERE 1=1
103
						AND TLSUBBRID = @BRANCH_CREATE
104
						AND SECUR_CODE = @DEP_CREATE
105
						AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
106
				END
107
			END
108
	END 
109
	ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_CONFIRM')
110
	BEGIN
111
		SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
112
		SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
113
		SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
114
		SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
115
		SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
116
		SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID)
117
		IF(@BRANCH_TYPE = 'PGD' )
118
		BEGIN
119
			INSERT INTO @LST_USER_RECIVE (TLNAME) 
120
			SELECT TLNANME FROM TL_USER 
121
			WHERE 1=1
122
			AND TLSUBBRID = @FATHER_ID
123
			AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
124
			
125
		END
126
		ELSE IF(@BRANCH_TYPE = 'CN' )
127
		BEGIN
128
			INSERT INTO @LST_USER_RECIVE (TLNAME) 
129
			SELECT TLNANME FROM TL_USER 
130
			WHERE 1=1
131
			AND TLSUBBRID = @BRANCH_CREATE 
132
			AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
133
		END
134
		ELSE IF(@BRANCH_TYPE = 'HS' )
135
		BEGIN
136
			IF(EXISTS(SELECT PROCESS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (PROCESS ='' OR PROCESS IS NULL)))
137
			BEGIN
138
				INSERT INTO @LST_USER_RECIVE (TLNAME) 
139
				SELECT TLNANME FROM TL_USER
140
				WHERE 1=1
141
				AND TLSUBBRID = @BRANCH_CREATE
142
				AND SECUR_CODE = @DEP_CREATE
143
				AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
144
			END
145
			ELSE
146
			BEGIN
147
				IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I'))
148
				BEGIN
149
					IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
150
					BEGIN
151
						SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt')
152
						INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
153
					END
154
					ELSE IF((@DEP_CODE LIKE'%06909%'))
155
					BEGIN
156
						SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv')
157
						INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
158
					END
159
					ELSE IF((@DEP_CODE LIKE'%06921%'))
160
					BEGIN
161
						SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='cuongpv2')
162
						INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
163
					END
164
					ELSE IF((@DEP_CODE LIKE'%06907%'))
165
					BEGIN
166
						SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk')
167
						INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
168
					END
169
				END
170
				-- NEU CAP TIEP THEO LA PTGD
171
				ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I'))
172
				BEGIN
173
					IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
174
					BEGIN
175
						SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt')
176
						INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
177
					END
178
					ELSE IF((@DEP_CODE LIKE'%06908%' OR @DEP_CODE ='0690605'))
179
					BEGIN
180
						SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
181
						INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
182
					END
183
				END
184
			END
185
		END
186
		SET @FLAG = 1
187
	END 
188
	ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_APR')
189
	BEGIN
190
		  SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID)
191
		--SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
192
		 SET @BRANCH_CREATE = (SELECT TOP 1 BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
193
		 SET @DEP_CREATE = (SELECT TOP 1 DEP_ID FROM TR_REQ_ADVANCE_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
194
		 SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_CREATE)
195
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TGD' AND @REQ_TYPE ='I'))
196
		BEGIN
197
			SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='TGD')
198
			INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
199
		END
200
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I'))
201
		BEGIN
202
			IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
203
			BEGIN
204
				SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt')
205
				INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
206
			END
207
			ELSE IF((@DEP_CODE LIKE'%06909%'))
208
			BEGIN
209
				SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv')
210
				INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
211
			END
212
			ELSE IF((@DEP_CODE LIKE'%06921%'))
213
			BEGIN
214
				SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='cuongpv2')
215
				INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
216
			END
217
			ELSE IF((@DEP_CODE LIKE'%06907%'))
218
			BEGIN
219
				SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk')
220
				INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
221
			END
222
		END
223
		IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I'))
224
		BEGIN
225
			IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
226
			BEGIN
227
				SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt')
228
				INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
229
			END
230
			ELSE IF((@DEP_CODE LIKE'%06908%' OR @DEP_CODE ='0690605'))
231
			BEGIN
232
				SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
233
				INSERT INTO @LST_USER_RECIVE (TLNAME)  VALUES (@USER_RECIVE_MAIL)
234
			END
235
		END
236
		IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND AUTH_STATUS ='A'))
237
		BEGIN
238
			INSERT INTO @LST_USER_RECIVE (TLNAME) 
239
			SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID 
240
			--INSERT INTO @LST_USER_RECIVE (TLNAME) 
241
			--SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID 
242
		END
243
		SET @FLAG = 1
244
	END
245
	-- Điều phối tạm ứng/ thanh toán PL_REQUEST_PROCESS_CHILD
246
	ELSE IF (@TYPE = 'TR_REQ_PAYMENT_TRANSFER')
247
	BEGIN
248
		INSERT INTO @LST_USER_RECIVE (TLNAME) 
249
		SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID IN (SELECT REQ_PAY_ID FROM @l_LST_REQ_ID) AND TYPE_JOB = 'XL'
250
	END
251
	-- 
252
	ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_SEND_APR')
253
	BEGIN
254
		INSERT INTO @LST_USER_RECIVE (TLNAME) 
255
		SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
256
	END
257
	ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_APPR')
258
	BEGIN
259
		INSERT INTO @LST_USER_RECIVE (TLNAME) 
260
		SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID 
261
		INSERT INTO @LST_USER_RECIVE (TLNAME) 
262
		SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID 
263
		SET @FLAG = 1
264
	END
265
	-- Thanh toán
266
	ELSE IF (@TYPE = 'TR_REQ_PAYMENT_SEND_APR')
267
	BEGIN
268
		SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
269
			IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>'')))
270
			BEGIN
271
				INSERT INTO @LST_USER_RECIVE (TLNAME) 
272
				(SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
273
			END
274
			ELSE
275
			BEGIN
276
				SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
277
				SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
278
				SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
279
				SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
280
				SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
281
				IF(@BRANCH_TYPE = 'PGD' )
282
				BEGIN
283
					INSERT INTO @LST_USER_RECIVE (TLNAME) 
284
					SELECT TLNANME FROM TL_USER 
285
					WHERE 1=1
286
					AND TLSUBBRID = @BRANCH_CREATE
287
					AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
288
				
289
				END
290
				ELSE IF(@BRANCH_TYPE = 'CN' )
291
				BEGIN
292
					INSERT INTO @LST_USER_RECIVE (TLNAME) 
293
					SELECT TLNANME FROM TL_USER 
294
					WHERE 1=1
295
					AND TLSUBBRID = @BRANCH_CREATE 
296
					AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
297
				END
298
				ELSE IF(@BRANCH_TYPE = 'HS' )
299
				BEGIN
300
					INSERT INTO @LST_USER_RECIVE (TLNAME) 
301
					SELECT TLNANME FROM TL_USER
302
					WHERE 1=1
303
					AND TLSUBBRID = @BRANCH_CREATE
304
					AND SECUR_CODE = @DEP_CREATE
305
					AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
306
				END
307
			END
308
			SET @FLAG = 1
309
	END 
310
	ELSE IF(@TYPE = 'TR_REQ_PAYMENT_APR')
311
	BEGIN
312
		SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
313
		IF(@AUTH_STATUS  = 'A')
314
		BEGIN
315
			SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
316
			SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
317
			SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
318
			SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
319
			SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
320
			INSERT INTO @LST_USER_RECIVE (TLNAME) 
321
			SELECT TLNANME FROM TL_USER 
322
			WHERE 1=1
323
			--AND TLSUBBRID = @BRANCH_CREATE 
324
			AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW = 'KSV'))
325
			AND TLSUBBRID = 'DV0001' AND SECUR_CODE ='DEP000000000022'
326
			--IF (@BRANCH_TYPE <> 'HS')
327
			--BEGIN
328
			--	INSERT INTO @LST_USER_RECIVE (TLNAME) 
329
			--	SELECT TLNANME FROM TL_USER
330
			--	WHERE 1=1
331
			--	AND TLSUBBRID = @FATHER_ID 
332
			--	AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW = 'KSV'))
333
			--END
334
			--ELSE IF (@BRANCH_TYPE = 'HS')
335
			--BEGIN
336
			--	INSERT INTO @LST_USER_RECIVE (TLNAME) 
337
			--	SELECT TLNANME FROM TL_USER 
338
			--	WHERE 1=1
339
			--	AND TLSUBBRID = @BRANCH_CREATE 
340
			--	AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW = 'KSV'))
341
			--END
342
			SET @FLAG = 1
343
		END
344
	END
345
	ELSE IF(@TYPE = 'TR_REQ_PAYMENT_CONFIRM')
346
	BEGIN
347
		SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
348
		SET @PROCESS = ( SELECT TOP 1 PROCESS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
349
		IF(@AUTH_STATUS  = 'U' AND @PROCESS = '0')
350
		BEGIN
351
			SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =  @PO_ID)
352
			SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
353
			SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT  WHERE REQ_PAY_ID =  @PO_ID)
354
			SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
355
			SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
356
			IF(@BRANCH_TYPE = 'PGD' )
357
			BEGIN
358
				INSERT INTO @LST_USER_RECIVE (TLNAME) 
359
				SELECT TLNANME FROM TL_USER 
360
				WHERE 1=1
361
				AND TLSUBBRID = @FATHER_ID
362
				AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('TPGD','PP')))
363
				
364
			END
365
			ELSE IF(@BRANCH_TYPE = 'CN' )
366
			BEGIN
367
				INSERT INTO @LST_USER_RECIVE (TLNAME) 
368
				SELECT TLNANME FROM TL_USER 
369
				WHERE 1=1
370
				AND TLSUBBRID = @BRANCH_CREATE 
371
				AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PGD')))
372
			END
373
			ELSE IF(@BRANCH_TYPE = 'HS' )
374
			BEGIN
375
				INSERT INTO @LST_USER_RECIVE (TLNAME) 
376
				SELECT TLNANME FROM TL_USER
377
				WHERE 1=1
378
				AND TLSUBBRID = @BRANCH_CREATE
379
				AND SECUR_CODE = @DEP_CREATE
380
				AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP')))
381
			END
382
			SET @FLAG = 1
383
		END
384
	END
385
	ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_SEND_APR')
386
	BEGIN
387
		INSERT INTO @LST_USER_RECIVE (TLNAME) 
388
		SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
389
		SET @FLAG = 1
390
	END
391
	ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_APR')
392
	BEGIN
393
		INSERT INTO @LST_USER_RECIVE (TLNAME) 
394
		SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID 
395
		INSERT INTO @LST_USER_RECIVE (TLNAME) 
396
		SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID 
397
		SET @FLAG = 1
398
	END
399
	-- Tờ trình chủ trương
400
	ELSE IF(@TYPE = 'PL_SEND_APP' OR @TYPE ='PL_REQUEST_DOC_App'  OR @TYPE ='REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App')
401
	BEGIN
402
		SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
403
		INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
404
		EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
405
		SET @FLAG = 2
406
	END
407
	ELSE IF(@TYPE='PL_REQ_PROCESS_CHILD_Ins')
408
	BEGIN
409
		DECLARE @PLREQ_ID VARCHAR(15)
410
		WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0)
411
		BEGIN
412
			SET @PLREQ_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID)
413
			SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
414
			INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
415
			EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PLREQ_ID,@MAKER_ID,'TTCT-DVKD'
416
			DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@PLREQ_ID
417
		END
418
		SET @FLAG = 2
419
	END
420
	ELSE IF(@TYPE='REQUEST_DOC_PROCESS_Approve')
421
	BEGIN
422
		--DECLARE @REQ_ID VARCHAR(15)
423
		--WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0)
424
		--BEGIN
425
			--SET @REQ_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID)
426
			--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
427
			--INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
428
			--EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_ID,@MAKER_ID,'TTCT-DVKD'
429
			--DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@REQ_ID
430
		--END
431
		-- NEU TOI TGD THI GUI MAIL CHO ANH THIEU, ANH HUNG
432
		--IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID=@PO_ID AND PROCESS_ID ='TGD'))
433
		--BEGIN
434
		--	INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP SELECT @PO_ID,'','','thieuvq','',''
435
		--	INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP SELECT @PO_ID,'','','hungdv','',''
436
		--END
437
		IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE'))
438
		BEGIN
439
			IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='TGD'))
440
			BEGIN
441
				SET @FLAG = 2
442
				--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
443
				INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
444
				EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
445
			END
446
		END
447
		ELSE
448
		BEGIN
449
			SET @FLAG = 3
450
			SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
451
			--INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
452
			--EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_ID,@MAKER_ID,'TTCT-DVKD'
453
		END
454
	END
455
	-------------------------------------------------------------------------------------------------------
456
	----- PHIẾU YÊU CẦU MUA SẮM --------------
457
	ELSE IF(@TYPE = 'TR_REQUEST_DOC_SendApp' OR @TYPE ='TR_REQUEST_DOC_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App')
458
	BEGIN
459
		SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
460
		INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
461
		EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD'
462
		SET @FLAG = 2
463
	END
464
	ELSE IF(@TYPE='TR_REQ_PROCESS_CHILD_Ins')
465
	BEGIN
466
		
467
		DECLARE @REQ_DOC_ID VARCHAR(15)
468
		WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0)
469
		BEGIN
470
			SET @REQ_DOC_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID)
471
			SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
472
			INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
473
			EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_DOC_ID,@MAKER_ID,'PYCMS-DVKD'
474
			DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@REQ_DOC_ID
475
		END
476
		SET @FLAG = 2
477
	END
478
	ELSE IF(@TYPE='TR_REQUEST_DOC_PROCESS_Approve')
479
	BEGIN
480
		IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE'))
481
		BEGIN
482
			--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
483
			INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
484
			EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD'
485
			SET @FLAG = 3
486
		END
487
		ELSE
488
		BEGIN
489
			SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
490
		END
491
	END
492
	----- END PYC MUA SẮM --------------------
493
	IF(@FLAG = 0)
494
	BEGIN
495
		SELECT A.*,B.TLFullName,B.EMAIL 
496
		FROM TL_ROLE_NOTIFICATION A
497
		LEFT JOIN TL_USER B ON A.TL_NAME=B.TLNANME
498
		WHERE EXISTS(SELECT * FROM @LST_POID WHERE ID = A.PO_ID)
499
		AND B.TLNANME <>'trungnq1'
500
	END
501
	ELSE IF(@FLAG = 1)
502
	BEGIN 
503
		SELECT B.*,A.TLFullName,A.EMAIL 
504
		FROM TL_USER  A
505
		LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME
506
		WHERE A.TLNANME IN (SELECT * FROM @LST_USER_RECIVE)
507
		AND A.TLNANME <>'trungnq1'
508
	END
509
	-- NEU LA TO TRINH CHU TRUONG, PYC MS THÌ TRA VE FLAG =2
510
	ELSE IF(@FLAG = 2)
511
	BEGIN 
512
		SELECT B.*,A.TLFullName,A.EMAIL 
513
		FROM TL_USER  A
514
		LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME
515
		WHERE A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP)
516
		AND A.TLNANME <>'trungnq1'
517
	END
518
	-- SAU KHI TT CHU TRUONG DUOC PHE DUYET THI THONG BAO CHO NGUOI TAO TO TRINH
519
	ELSE IF(@FLAG = 3)
520
	BEGIN 
521
		SELECT B.*,A.TLFullName,A.EMAIL 
522
		FROM TL_USER  A
523
		LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME
524
		WHERE (A.TLNANME  =@MAKER_ID OR A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP))
525
		AND A.TLNANME <>'trungnq1'
526
	END
527

    
528