Project

General

Profile

TR_ROLE_NOTIFY.txt

Luc Tran Van, 02/04/2021 08:50 AM

 
1

    
2

    
3

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

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

    
541