Project

General

Profile

[dbo].[PL_PROCESS_CURRENT_SEARCH].txt

Luc Tran Van, 10/07/2024 02:17 PM

 
1

    
2
alter PROCEDURE [dbo].[PL_PROCESS_CURRENT_SEARCH]
3
	@p_REQ_ID VARCHAR(20)=NULL,
4
	@p_USER_LOGIN VARCHAR(20)=NULL,
5
	@p_TYPE VARCHAR(20)=NULL,
6
	@MENU_PERMISSON NVARCHAR(500),
7
	@PROCESS_ID VARCHAR(10) = NULL
8
AS
9
BEGIN
10

    
11
DECLARE @PROCESS_CURR VARCHAR(20),@IS_HAS_CHILD BIT, @AUTH_STATUS VARCHAR(10),@BRANCH_NAME_HS NVARCHAR(250)
12
SELECT TOP 1 @BRANCH_NAME_HS = BRANCH_NAME FROM dbo.CM_BRANCH WHERE BRANCH_ID = 'DV0001'
13

    
14
SELECT TOP 1 @PROCESS_CURR = PROCESS_ID,@IS_HAS_CHILD=IS_HAS_CHILD FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
15

    
16
DECLARE @SIGN_USER VARCHAR(15), @CURENT_PROCESS VARCHAR(50)
17

    
18
IF(@p_TYPE LIKE 'TTCT%')
19
BEGIN
20
IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
21
BEGIN
22
	SET @SIGN_USER = (SELECT SIGN_USER FROM dbo.PL_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID)
23
	SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
24

    
25
	-- Nếu có cấp phê duyệt trung gian
26
	IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'SIGN')
27
	BEGIN
28
	    SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM dbo.PL_REQUEST_PROCESS PL
29
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID = PL.DVDM_ID
30
		LEFT JOIN 
31
		(
32
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
33
		LEFT JOIN(
34
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
35
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
36
		) TempU ON (TempU.RoleName=PL.ROLE_USER)
37
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
38
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
39
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
40
		LEFT JOIN dbo.PL_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
41
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
42
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
43
		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
44

    
45
	END
46
	ELSE
47
	BEGIN
48
		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,
49
			CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,
50
			TempU.TLNANME AS TLNAME,
51
			TempU.TLFullName,
52
			PL.NOTES
53
		FROM dbo.PL_REQUEST_PROCESS PL
54
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
55
		LEFT JOIN 
56
		(
57
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
58
		LEFT JOIN(
59
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
60
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
61
		UNION ALL
62
		SELECT TU.TLNAME, US.TLFullName, TU.RoleDisplayName RoleName, Temp.DVDM_ID, TU.DEP_ID SECUR_CODE, TU.BRANCH_ID TLSUBBRID
63
		FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
64
		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
65
		LEFT JOIN(
66
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
67
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID = TU.BRANCH_ID
68
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
69
		AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
70
		AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
71
		AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
72
		---- LUCTV 20062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
73
		UNION ALL
74
		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
75
		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
76
		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
77
		LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
78
		LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
79
		WHERE RL.DisplayName <>'DISABLE'
80
		--- END LUCTV 19062023
81
		) TempU ON (TempU.RoleName=PL.ROLE_USER)
82
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
83
		AND (((SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) = 'HS' AND TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
84
		OR (SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) <> 'HS') 
85
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
86
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
87
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
88
		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C'
89
	END
90

    
91
END
92
ELSE IF(@IS_HAS_CHILD=1)
93
BEGIN
94
	SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,
95
	CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,
96
	CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES FROM dbo.PL_REQUEST_PROCESS PL
97
LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
98
LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
99
LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
100
LEFT JOIN 
101
(
102
SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
103
LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
104
WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
105
)TempC ON TempC.PROCESS_ID =PL.ID AND TempC.REQ_ID = PL.REQ_ID AND PL.IS_HAS_CHILD=1
106
LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
107
LEFT JOIN 
108
	(
109
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
110
		LEFT JOIN(
111
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
112
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
113
		UNION ALL
114
		SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
115
		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
116
		LEFT JOIN(
117
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
118
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
119
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
120
		AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
121
		AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
122
		AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
123
		---- LUCTV 24102023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
124
		UNION ALL
125
		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
126
		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
127
		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
128
		LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
129
		LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
130
		WHERE RL.DisplayName <>'DISABLE'
131
		--- END LUCTV 19062023
132
	) TempU ON (TempU.RoleName=PL.ROLE_USER) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
133
	AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
134
	AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
135
WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'
136
END
137
END
138
ELSE IF(@p_TYPE LIKE 'PYC-XE')
139
BEGIN
140
IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
141
BEGIN
142
	DECLARE @Role VARCHAR(50)
143
  DECLARE @BR VARCHAR(50)
144
	SELECT TOP 1 @Role = ROLE_USER, @BR = BRANCH_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_REQ_ID AND STATUS='C'
145
	SET @Role= REPLACE(@Role,'-',',')
146
  SET @BR= REPLACE(@BR,'-',',')
147
	SELECT distinct PL.REQ_ID,PL.PROCESS_ID, BR.BRANCH_NAME  AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES 
148
	FROM dbo.PL_REQUEST_PROCESS PL
149
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
150
--  LEFT JOIN dbo.FN_GET_USER_BY_ROLE('','','') TempU ON (TempU.ROLE_OLD IN ( SELECT value from wsiSplit(@Role,',')) OR TempU.ROLE_NEW IN (SELECT value from wsiSplit(@Role,',')) OR TempU.TLNANME IN (SELECT value from wsiSplit(@Role,','))) AND (TempU.BRANCH_ID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') AND (TempU.DEP_ID=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
151
	LEFT JOIN dbo.FN_GET_USER_BY_ROLE('', @BR, '', @MENU_PERMISSON) TempU ON (TempU.ROLE_OLD IN ( SELECT value from wsiSplit(@Role,',')) OR TempU.ROLE_NEW IN (SELECT value from wsiSplit(@Role,',')) OR TempU.TLNANME IN (SELECT value from wsiSplit(@Role,','))) AND (TempU.BRANCH_ID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') AND (TempU.DEP_ID=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')-- NGUYENTD 10102023_SECRETKEY: FIX LỖI NGƯỜI XỬ LÝ TIẾP THEO KHÔNG LẤY ĐƯỢC USER CÓ ROLE GDDV
152
	WHERE REQ_ID =@p_REQ_ID AND STATUS='C'
153
--  UNION
154
--  SELECT distinct PL.REQ_ID,PL.PROCESS_ID, BR.BRANCH_NAME  AS DVDM_NAME,tmp.CDVAL AS TLNAME,tmp.CONTENT,PL.NOTES
155
--	FROM dbo.PL_REQUEST_PROCESS PL
156
--	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
157
--  LEFT JOIN (SELECT ca.CDVAL,ca.CONTENT,tu.TLSUBBRID FROM CM_ALLCODE ca LEFT JOIN TL_USER tu ON ca.CDVAL= tu.TLNANME WHERE ca.CDTYPE ='TR' AND ca.CDNAME='REQCAR') tmp ON (PL.ROLE_USER='CVDDX' AND pl.BRANCH_ID=tmp.TLSUBBRID)
158
--  WHERE REQ_ID =@p_REQ_ID AND STATUS='C'
159
END
160
ELSE IF(@IS_HAS_CHILD=1)
161
BEGIN
162
	SELECT distinct PL.REQ_ID,PL.PROCESS_ID, BR.BRANCH_NAME AS DVDM_NAME,TempC.TLNAME AS TLNANME , TU.TLFullName AS  TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES FROM dbo.PL_REQUEST_PROCESS PL
163
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
164
	LEFT JOIN 
165
	(
166
	SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
167
	LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='CAR_TYPE' AND CDTYPE='REQ'
168
	WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
169
	)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
170
	LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
171
	WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'
172
END
173
END
174
ELSE IF(@p_TYPE LIKE 'PYC%' AND @p_TYPE NOT LIKE 'PYC-KVL' AND @p_TYPE NOT LIKE 'PYCQLX')
175
BEGIN
176
IF(@PROCESS_CURR='DMMS')
177
BEGIN
178
	SELECT distinct PL.REQ_ID,PL.PROCESS_ID,
179
	CASE 
180
		WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME 
181
		WHEN CD1.DMMS_ID IS NOT NULL AND CD1.DMMS_ID <> '' THEN IIF(BR1.BRANCH_TYPE = 'HS',ISNULL(BR1.BRANCH_NAME,'') + ' - ' + ISNULL(DEP1.DEP_NAME,''),BR.BRANCH_NAME )
182
		ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) 
183
	END AS DVDM_NAME,
184
	CASE 
185
		WHEN TempC.ID IS NULL THEN TempU.TLNANME 
186
		ELSE TU.TLNANME 
187
	END AS TLNAME,
188
	CASE 
189
		WHEN TempC.ID IS NULL THEN TempU.TLFullName 
190
		ELSE TU.TLFullName 
191
	END AS TLFullName,
192
	CASE 
193
		WHEN TempC.ID IS NULL THEN PL.NOTES 
194
		ELSE TempC.CONTENT 
195
	END AS NOTES 
196
	FROM dbo.PL_REQUEST_PROCESS PL
197
	LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
198
	LEFT JOIN dbo.CM_DMMS CD1 ON CD1.DMMS_ID = PL.DVDM_ID
199
	LEFT JOIN dbo.CM_BRANCH BR1 ON CD1.BRANCH_ID = BR1.BRANCH_ID
200
	LEFT JOIN dbo.CM_DEPARTMENT DEP1 ON CD1.DEP_ID = DEP1.DEP_ID
201
	LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
202
	LEFT JOIN dbo.TR_REQUEST_DOC TR ON TR.REQ_ID=PL.REQ_ID
203
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
204
	LEFT JOIN 
205
	(
206
	SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
207
	LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
208
	WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
209
	)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
210
	LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
211
	LEFT JOIN 
212
	(
213
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DMMS_ID 
214
		FROM
215
		(
216
		SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
217
		dbo.TL_USER TS 
218
		UNION ALL
219
		SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.RoleDisplayName RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
220
		dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
221
		LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
222
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
223
		AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
224
		AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
225
		AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
226
		---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
227
		UNION ALL
228
		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,TU.TLSUBBRID,TU.SECUR_CODE FROM TL_USER TU
229
		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
230
		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
231
		WHERE RL.DisplayName <>'DISABLE'
232
		--- END LUCTV 19062023
233
		) TU
234
		LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
235
		LEFT JOIN(
236
		SELECT PC.DMMS_ID,PC.DEP_ID,PC.BRANCH_ID FROM dbo.CM_DMMS PC
237
		UNION ALL
238
		SELECT DVDM.DVDM_ID AS DMMS_ID,DVDM.DEP_ID,DVDM.BRANCH_ID  FROM 
239
		(
240
			SELECT CD.DVDM_ID,PCDT.BRANCH_ID,PCDT.DEP_ID FROM dbo.CM_DVDM CD
241
			LEFT JOIN dbo.PL_COSTCENTER PC ON PC.DVDM_ID=CD.DVDM_ID
242
			LEFT JOIN dbo.PL_COSTCENTER_DT PCDT ON PCDT.COST_ID = PC.COST_ID
243
			WHERE CD.IS_KHOI <>1
244
			GROUP BY CD.DVDM_ID,PCDT.BRANCH_ID,PCDT.DEP_ID
245
		) DVDM
246
		) Temp ON (Temp.DEP_ID=TU.SECUR_CODE OR CB.BRANCH_TYPE<>'HS') AND Temp.BRANCH_ID=TU.TLSUBBRID
247

    
248
	) TempU ON TempU.RoleName = PL.ROLE_USER AND TempU.DMMS_ID = TR.DMMS_ID AND TempC.ID IS NULL
249
	
250
	WHERE PL.REQ_ID = @p_REQ_ID AND PL.STATUS='C'	
251
END
252
ELSE IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
253

    
254
BEGIN
255
	SET @SIGN_USER = (SELECT SIGN_USER FROM dbo.TR_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID)
256
	SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
257
	-- Nếu có cấp phê duyệt trung gian
258
	IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'SIGN')
259
	BEGIN
260
	    SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM dbo.PL_REQUEST_PROCESS PL
261
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
262
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
263
		LEFT JOIN 
264
		(
265
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
266
		LEFT JOIN(
267
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
268
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
269
		) TempU ON TempU.RoleName = PL.ROLE_USER  
270
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
271
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
272
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
273
		LEFT JOIN dbo.TR_REQUEST_DOC RD ON RD.REQ_ID = PL.REQ_ID
274
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
275
		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
276

    
277
	END
278
	ELSE
279
	BEGIN
280
		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM dbo.PL_REQUEST_PROCESS PL
281
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
282
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
283
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
284
		LEFT JOIN 
285
		(
286
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
287
		FROM (
288
			SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
289
			dbo.TL_USER TS 
290
			UNION ALL
291
			SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.RoleDisplayName RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
292
			dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
293
			LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
294
			WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
295
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
296
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
297
			AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
298
			---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
299
			UNION ALL
300
			SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,TU.TLSUBBRID,TU.SECUR_CODE FROM TL_USER TU
301
			INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
302
			INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
303
			WHERE RL.DisplayName <>'DISABLE'
304
		--- END LUCTV 19062023
305
			) TU
306
		LEFT JOIN
307
			(
308
			SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
309
			LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID
310
			) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
311
		) TempU ON TempU.RoleName = PL.ROLE_USER
312
    AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
313
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
314
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
315
		WHERE REQ_ID =@p_REQ_ID AND STATUS='C'
316
	END
317
	 
318
END
319
ELSE IF(@IS_HAS_CHILD=1)
320
BEGIN
321
	SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES FROM dbo.PL_REQUEST_PROCESS PL
322
	LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
323
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
324
	LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
325
	LEFT JOIN 
326
	(
327
	SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
328
	LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
329
	WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
330
	)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
331
	LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
332
	LEFT JOIN 
333
	(
334
	SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
335
	FROM       (
336
		SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
337
		dbo.TL_USER TS 
338
		UNION ALL
339
		SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.RoleDisplayName RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
340
		dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
341
		LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
342
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
343
		AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
344
		AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
345
		AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
346
		---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
347
		UNION ALL
348
		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,TU.TLSUBBRID,TU.SECUR_CODE FROM TL_USER TU
349
		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
350
		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
351
		WHERE RL.DisplayName <>'DISABLE'
352
		--- END LUCTV 19062023
353
		)  TU 
354
	LEFT JOIN(
355
	SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
356
	LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
357
	) TempU ON TempU.RoleName=PL.ROLE_USER AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
358
	AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
359
	AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
360
	WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'		
361
END
362
END
363

    
364
ELSE IF(@p_TYPE = 'INVENT')
365
BEGIN
366
	SET @SIGN_USER = (SELECT SIGN_USER FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_REQ_ID)
367
	SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
368

    
369
	-- Nếu có cấp phê duyệt trung gian
370
	IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'SIGN')
371
	BEGIN
372
	    SELECT distinct PL.REQ_ID,PL.PROCESS_ID, BR.BRANCH_NAME AS DVDM_NAME,TU.TLNANME AS TLNAME,TU.TLFullName,PL.NOTES
373
		FROM dbo.PL_REQUEST_PROCESS PL
374
		LEFT JOIN dbo.ASS_INVENTORY_MASTER AI ON AI.INVENT_ID = PL.REQ_ID
375
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
376
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME = AI.SIGN_USER
377
		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND PL.PROCESS_ID = 'SIGN'
378
	END
379
	ELSE IF(@CURENT_PROCESS = 'APPNEW')
380
	BEGIN
381
		SELECT PL.REQ_ID, Pl.PROCESS_ID,BR.BRANCH_NAME AS DVDM_NAME, TmpU.TLNANME, TmpU.TLFullName, PL.NOTES
382
		FROM dbo.PL_REQUEST_PROCESS PL
383
		LEFT JOIN (
384
			SELECT * FROM [dbo].[FN_GET_USER_BY_ROLE] ('', '', '', @MENU_PERMISSON)
385
		) TmpU ON 1=1
386
		LEFT JOIN dbo.CM_BRANCH BR ON BR.BRANCH_ID = PL.BRANCH_ID
387
		WHERE PL.REQ_ID = @p_REQ_ID AND PL.STATUS = 'C'
388
		AND ((TmpU.ROLE_OLD = PL.ROLE_USER OR TmpU.ROLE_NEW = PL.ROLE_USER) OR PL.ROLE_USER IS NULL OR PL.ROLE_USER = '')
389
		AND ((BR.BRANCH_TYPE = 'HS' AND TmpU.BRANCH_ID = PL.BRANCH_ID AND TmpU.DEP_ID = PL.DEP_ID)
390
			OR (BR.BRANCH_TYPE <> 'HS' AND TmpU.BRANCH_ID = PL.BRANCH_ID)
391
			OR (PL.BRANCH_ID IS NULL OR PL.BRANCH_ID = '')
392
		)
393
	END
394
	ELSE IF(@CURENT_PROCESS <> 'APPNEW')
395
	BEGIN
396
		 SELECT PL.REQ_ID, Pl.PROCESS_ID,BR.BRANCH_NAME AS DVDM_NAME, TU.TLNANME, TU.TLFullName, PL.NOTES
397
		 FROM dbo.PL_REQUEST_PROCESS PL
398
		 LEFT JOIN dbo.TL_USER TU ON TU.TLNANME = PL.ROLE_USER
399
		 LEFT JOIN dbo.CM_BRANCH BR ON BR.BRANCH_ID = TU.TLSUBBRID
400
		 WHERE PL.REQ_ID = @p_REQ_ID AND PL.STATUS = 'C'
401
	END
402
END
403

    
404
----------------BAODNQ 6/6/2022 TỜ TRÌNH CHỈ ĐỊNH THẦU--------------
405
ELSE IF (@p_TYPE = 'TT_CDT')
406
BEGIN
407
	SET @SIGN_USER = (SELECT SIGN_USER FROM PL_APPOINT_CONTRACTOR WHERE REQ_ID = @p_REQ_ID)
408
	SET @CURENT_PROCESS = (
409
		SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS = 'C'
410
	)
411
	-------------CÓ CẤP DUYỆT TRUNG GIAN-----------
412
	IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'SIGN')
413
	BEGIN
414
		SELECT DISTINCT
415
		PRP.REQ_ID,
416
		PRP.PROCESS_ID,
417
		CASE
418
			WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME
419
			ELSE CB.BRANCH_NAME
420
		END AS DVDM_NAME,
421
		TLUSER.TLNANME AS TLNAME, TLUSER.TLFullName, PRP.NOTES
422
		FROM PL_REQUEST_PROCESS PRP
423
		LEFT JOIN CM_DVDM CD ON PRP.DVDM_ID = CD.DVDM_ID
424
		LEFT JOIN(
425
			SELECT
426
			TU.TLNANME, TU.TLFullName, TU.RoleName, PCOST.DVDM_ID, TU.SECUR_CODE,
427
			TU.DEP_ID, TU.TLSUBBRID
428
			FROM TL_USER TU
429
			LEFT JOIN (
430
				SELECT PC.DVDM_ID, PD.BRANCH_ID, PD.DEP_ID
431
				FROM PL_COSTCENTER PC
432
				LEFT JOIN PL_COSTCENTER_DT PD ON PD.COST_ID = PC.COST_ID
433
			) PCOST ON TU.TLSUBBRID = PCOST.BRANCH_ID AND TU.DEP_ID = PCOST.DEP_ID
434
		
435
		) TLUSER ON TLUSER.RoleName = PRP.ROLE_USER
436
		AND (TLUSER.TLSUBBRID = PRP.BRANCH_ID OR PRP.BRANCH_ID IS NULL OR PRP.BRANCH_ID = '')
437
		AND (TLUSER.DEP_ID = PRP.DEP_ID OR PRP.DEP_ID IS NULL OR PRP.DEP_ID = '')
438
		AND (TLUSER.DVDM_ID = PRP.DVDM_ID OR PRP.DVDM_ID IS NULL OR PRP.DVDM_ID = '')
439
		LEFT JOIN PL_APPOINT_CONTRACTOR PAC ON PRP.REQ_ID = PAC.REQ_ID
440
		LEFT JOIN CM_BRANCH CB ON PRP.BRANCH_ID = CB.BRANCH_ID
441
		WHERE PRP.REQ_ID = @p_REQ_ID
442
		AND STATUS = 'C'
443
		AND (PRP.PROCESS_ID = 'SIGN' AND TLUSER.TLNANME = PAC.SIGN_USER)
444
	END
445
	ELSE
446
	----------KO CÓ CẤP DUYỆT TRUNG GIAN-------------
447
	BEGIN
448
		SELECT DISTINCT
449
		PRP.REQ_ID,
450
		PRP.PROCESS_ID,
451
		CASE
452
			WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME
453
			ELSE CB.BRANCH_NAME
454
		END AS DVDM_NAME,
455
		TLUSER.TLNANME AS TLNAME, TLUSER.TLFullName, PRP.NOTES
456
		FROM PL_REQUEST_PROCESS PRP
457
		LEFT JOIN CM_DVDM CD ON CD.DVDM_ID = PRP.DVDM_ID
458
		LEFT JOIN 
459
		(
460
			SELECT TU.TLNANME, TU.TLFullName, TU.RoleName, PCOST.DVDM_ID, TU.SECUR_CODE,
461
			TU.DEP_ID, TU.TLSUBBRID
462
			FROM TL_USER TU
463
			LEFT JOIN (
464
				SELECT PC.DVDM_ID, PD.BRANCH_ID, PD.DEP_ID
465
				FROM PL_COSTCENTER PC
466
				LEFT JOIN PL_COSTCENTER_DT PD ON PD.COST_ID = PC.COST_ID
467
			) PCOST ON TU.TLSUBBRID = PCOST.BRANCH_ID AND TU.DEP_ID = PCOST.DEP_ID
468
			UNION ALL
469
			SELECT TM.TLNAME, TLU.TLFullName, TM.RoleDisplayName AS RoleName, PCOST.DVDM_ID, 
470
			TM.DEP_ID AS SECUR_CODE, TM.DEP_ID AS DEP_ID, TM.BRANCH_ID AS TLSUBBRID
471
			FROM SYS_PERMISSIONS_PAGE_FOR_USER TM
472
			LEFT JOIN TL_USER TLU ON TM.TLNAME = TLU.TLNANME
473
			LEFT JOIN (
474
				SELECT PC.DVDM_ID, PD.BRANCH_ID, PD.DEP_ID
475
				FROM PL_COSTCENTER PC
476
				LEFT JOIN PL_COSTCENTER_DT PD ON PD.COST_ID = PC.COST_ID
477
			) PCOST ON TM.BRANCH_ID = PCOST.BRANCH_ID AND TM.DEP_ID = PCOST.DEP_ID
478
			WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
479
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
480
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
481
			AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
482
			---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
483
			UNION ALL
484
			SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE, TU.DEP_ID,TU.TLSUBBRID FROM TL_USER TU
485
			INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
486
			INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
487
			LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
488
			LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
489
			WHERE RL.DisplayName <>'DISABLE'
490
			--- END LUCTV 19062023
491
		) TLUSER ON (TLUSER.RoleName = PRP.ROLE_USER)
492
		AND (TLUSER.TLSUBBRID = PRP.BRANCH_ID OR PRP.BRANCH_ID IS NULL OR PRP.BRANCH_ID = '')
493
		AND (
494
			((SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE PRP.BRANCH_ID = BRANCH_ID) = 'HS'
495
			AND TLUSER.SECUR_CODE = PRP.DEP_ID OR PRP.DEP_ID IS NULL OR PRP.DEP_ID = '')
496
			OR (SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE PRP.BRANCH_ID = BRANCH_ID) <> 'HS'
497
		)
498
		AND (TLUSER.DVDM_ID = PRP.DVDM_ID OR PRP.DVDM_ID IS NULL OR PRP.DVDM_ID = '')
499
		LEFT JOIN CM_BRANCH CB ON PRP.BRANCH_ID = CB.BRANCH_ID
500
		WHERE PRP.REQ_ID = @p_REQ_ID
501
		AND STATUS = 'C'
502
	END
503
END
504

    
505
-----------------------BAODNQ 13/7/2022 ĐÁNH GIÁ NCC---------------------------
506
ELSE IF (@p_TYPE = 'RATE_SUP')
507
BEGIN
508
    IF(@PROCESS_CURR='DMMS')
509
    BEGIN
510
        SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES FROM dbo.PL_REQUEST_PROCESS PL
511
        LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
512
        LEFT JOIN TR_RATE_SUPPLIER_MASTER TR ON TR.RATE_ID=PL.REQ_ID
513
        LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
514
		    LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
515
        LEFT JOIN 
516
        (
517
        ------------BAODNQ 11/10/2022 : Ở bước điều phối lần đầu tiên cả GDDV và KSV cùng thấy phiếu--------------
518
        --SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
519
        --LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
520
        --WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
521
        SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
522
        LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
523
        WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' 
524
            OR (PRC.STATUS_JOB = 'U' AND EXISTS(
525
                        SELECT PC.ID FROM PL_REQUEST_PROCESS_CHILD PC
526
                        WHERE PC.REQ_ID = PRC.REQ_ID AND PC.TYPE_JOB = 'KS' 
527
                        AND PC.MAKER_ID IS NULL AND PC.TRANFER_DT IS NULL 
528
                    )
529
                    AND NOT EXISTS(SELECT PC_2.ID FROM PL_REQUEST_PROCESS_CHILD PC_2 WHERE PC_2.REQ_ID = PRC.REQ_ID AND PC_2.TYPE_JOB = 'XL')
530
                
531
            )
532
        )
533
        --------------------END BAODNQ 11/10/2022----------------
534
        )TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
535
        LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
536
        LEFT JOIN 
537
        (
538
            SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DMMS_ID 
539
            FROM
540
            (
541
            SELECT TS.TLNANME,TS.TLFullName,
542
            --TS.RoleName,
543
            AR.DisplayName AS RoleName,
544
            TS.TLSUBBRID,TS.SECUR_CODE FROM
545
            dbo.TL_USER TS
546
            JOIN AbpUserRoles AU ON TS.ID = AU.UserId
547
            JOIN AbpRoles AR ON AU.RoleId = AR.Id 
548
            UNION ALL
549
            SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.RoleDisplayName RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
550
            dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
551
            LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
552
            WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
553
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
554
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
555
			AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
556
            ---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
557
            UNION ALL
558
            SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName,TU.TLSUBBRID,TU.SECUR_CODE FROM TL_USER TU
559
            INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
560
            INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
561
            LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
562
            LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
563
            WHERE RL.DisplayName <>'DISABLE'
564
            --- END LUCTV 19062023
565
            ) TU
566
            LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
567
            LEFT JOIN(
568
            SELECT PC.DMMS_ID,PC.DEP_ID,PC.BRANCH_ID FROM dbo.CM_DMMS PC
569
            UNION ALL
570
            SELECT DVDM.DVDM_ID AS DMMS_ID,DVDM.DEP_ID,DVDM.BRANCH_ID  FROM 
571
            (
572
                SELECT CD.DVDM_ID,PCDT.BRANCH_ID,PCDT.DEP_ID FROM dbo.CM_DVDM CD
573
                LEFT JOIN dbo.PL_COSTCENTER PC ON PC.DVDM_ID=CD.DVDM_ID
574
                LEFT JOIN dbo.PL_COSTCENTER_DT PCDT ON PCDT.COST_ID = PC.COST_ID
575
                WHERE CD.IS_KHOI <>1
576
                GROUP BY CD.DVDM_ID,PCDT.BRANCH_ID,PCDT.DEP_ID
577
            ) DVDM
578
            ) Temp ON (Temp.DEP_ID=TU.SECUR_CODE OR CB.BRANCH_TYPE<>'HS') AND Temp.BRANCH_ID=TU.TLSUBBRID
579

    
580
        ) TempU ON TempU.RoleName=PL.ROLE_USER AND TempU.DMMS_ID = TR.DMMS_ID AND TempC.ID IS NULL
581

    
582
        WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'	
583
    END
584
	IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
585
	BEGIN
586
		SET @SIGN_USER = (SELECT SIGN_USER FROM TR_RATE_SUPPLIER_MASTER WHERE RATE_ID = @p_REQ_ID)
587
		SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
588

    
589
		-- Nếu có cấp phê duyệt trung gian
590
		IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'SIGN')
591
		BEGIN
592
			SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM dbo.PL_REQUEST_PROCESS PL
593
			LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
594
			LEFT JOIN 
595
			(
596
			SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
597
			LEFT JOIN(
598
			SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
599
			LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
600
			) TempU ON TempU.RoleName = PL.ROLE_USER
601
			AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
602
			AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
603
			AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
604
			LEFT JOIN dbo.TR_RATE_SUPPLIER_MASTER TRS ON TRS.RATE_ID = PL.REQ_ID
605
			LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
606
		  LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
607
			WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = TRS.SIGN_USER)
608

    
609
		END
610
		ELSE
611
		BEGIN
612
			SELECT distinct PL.REQ_ID,PL.PROCESS_ID,
613
				CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,
614
				TempU.TLNANME AS TLNAME,
615
				TempU.TLFullName,
616
				PL.NOTES
617
			FROM dbo.PL_REQUEST_PROCESS PL
618
			LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
619
			LEFT JOIN 
620
			(
621
				SELECT TU.TLNANME,TU.TLFullName,
622
				--TU.RoleName,
623
				AR.DisplayName AS RoleName,
624
				Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
625
				FROM dbo.TL_USER TU
626
				JOIN AbpUserRoles AU ON TU.ID = AU.UserId
627
				JOIN AbpRoles AR ON AU.RoleId = AR.Id 
628
				LEFT JOIN(
629
					SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
630
					LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID
631
				) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
632
				UNION ALL
633
				SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID
634
				FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
635
				LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
636
				LEFT JOIN(
637
					SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
638
					LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID
639
					) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
640
				WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
641
				AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
642
				AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
643
				AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
644
				---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
645
				UNION ALL
646
				SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
647
				INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
648
				INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
649
				LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
650
				LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
651
				WHERE RL.DisplayName <>'DISABLE'
652
			--- END LUCTV 19062023
653
				) TempU ON TempU.RoleName = PL.ROLE_USER
654
				AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
655
				AND (((SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) = 'HS' AND TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
656
				OR (SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) <> 'HS') 
657
				AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
658
				LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
659
		    LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
660
				WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C'
661
		END
662
	END
663
	ELSE IF(@IS_HAS_CHILD=1)
664
	BEGIN
665
		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES FROM dbo.PL_REQUEST_PROCESS PL
666
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
667
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
668
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON PL.DEP_ID = DEP.DEP_ID
669
		LEFT JOIN 
670
		(
671
		SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
672
		LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
673
		WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
674
		)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
675
		LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
676
		LEFT JOIN 
677
		(
678
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
679
		FROM       (
680
			SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
681
			dbo.TL_USER TS 
682
			UNION ALL
683
			SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.RoleDisplayName RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
684
			dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
685
			LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
686
			WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
687
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
688
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
689
			AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
690
			---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
691
			UNION ALL
692
			SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,TU.TLSUBBRID, TU.SECUR_CODE FROM TL_USER TU
693
			INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
694
			INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
695
			WHERE RL.DisplayName <>'DISABLE'
696
			--- END LUCTV 19062023
697
			)  TU 
698
		LEFT JOIN(
699
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
700
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
701
		) TempU ON TempU.RoleName=PL.ROLE_USER AND (TempU.TLSUBBRID = PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
702
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
703
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
704
		WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'		
705
	END
706
END
707
-----------HIEUHM 15/11/2022 LAYOUT BẢN VẼ---
708
ELSE IF(@p_TYPE LIKE 'LAYOUT_BV')
709
BEGIN
710
    IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
711
    BEGIN
712
        SET @SIGN_USER = (SELECT SIGN_USER FROM dbo.CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID = @p_REQ_ID)
713
        SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
714

    
715
        -- Nếu có cấp phê duyệt trung gian
716
        IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'SIGN')
717
        BEGIN
718
            SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM dbo.PL_REQUEST_PROCESS PL
719
            LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
720
            LEFT JOIN 
721
            (
722
            SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
723
            LEFT JOIN(
724
            SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
725
            LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
726
            ) TempU ON TempU.RoleName = PL.ROLE_USER 
727
            AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
728
            AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
729
            AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
730
            LEFT JOIN dbo.CON_LAYOUT_BLUEPRINT RD ON RD.CON_LAYOUT_BLUEPRINT_ID = PL.REQ_ID
731
            LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
732
            WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
733

    
734
        END
735
        ELSE
736
        BEGIN
737
            SELECT distinct PL.REQ_ID,PL.PROCESS_ID,
738
                CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,
739
                TempU.TLNANME AS TLNAME,
740
                TempU.TLFullName,
741
                PL.NOTES
742
            FROM dbo.PL_REQUEST_PROCESS PL
743
            LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
744
            LEFT JOIN 
745
            (
746
            SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
747
            LEFT JOIN(
748
            SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
749
            LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) 
750
            Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
751
            UNION ALL
752
            SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID
753
            FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
754
            LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
755
            LEFT JOIN(
756
            SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
757
            LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
758
            WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
759
			AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
760
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
761
			AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
762
            ---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
763
            UNION ALL
764
            SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
765
            INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
766
            INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
767
            LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
768
            LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
769
            WHERE RL.DisplayName <>'DISABLE'
770
            --- END LUCTV 19062023
771
            ) TempU ON (TempU.RoleName=PL.ROLE_USER)
772
            AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
773
            AND (((SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) = 'HS' AND TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
774
            OR (SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) <> 'HS') 
775
            AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
776
            LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
777
            WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C'
778
        END
779

    
780
    END
781

    
782
    ELSE IF(@IS_HAS_CHILD=1)
783
    BEGIN
784
        SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES FROM dbo.PL_REQUEST_PROCESS PL
785
    LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
786
    LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
787
    LEFT JOIN 
788
    (
789
    SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
790
    LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
791
    WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
792
    )TempC ON TempC.PROCESS_ID =PL.ID AND TempC.REQ_ID = PL.REQ_ID AND PL.IS_HAS_CHILD=1
793
    LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
794
    LEFT JOIN 
795
        (
796
            SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
797
            LEFT JOIN(
798
            SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
799
            LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
800
            UNION ALL
801
            SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID 
802
			FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
803
            LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
804
            LEFT JOIN(
805
            SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
806
            LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
807
            WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
808
			AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
809
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
810
			AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
811
            ---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
812
            UNION ALL
813
            SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
814
            INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
815
            INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
816
            LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
817
            LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
818
            WHERE RL.DisplayName <>'DISABLE'
819
            --- END LUCTV 19062023
820
        ) TempU ON TempU.RoleName = PL.ROLE_USER AND (TempU.TLSUBBRID = PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID = '') 
821
        AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
822
        AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
823
    WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'
824
    END
825
END
826
-----------HIEUHM 15/11/2022 LAYOUT BẢN VẼ---
827

    
828
--NGUYENTD 20/07/2024 PHIẾU YÊU CẦU QUẢN LÝ XE
829
ELSE IF(@p_TYPE LIKE 'PYCQLX')
830
BEGIN
831
IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
832

    
833
BEGIN
834
	SET @SIGN_USER = (SELECT SIGN_USER FROM dbo.TR_REQUEST_CAR_COST WHERE REQ_COST_ID = @p_REQ_ID)
835
	SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
836
	-- Nếu có cấp phê duyệt trung gian
837
	IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'SIGN')
838
	BEGIN
839
	    SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM dbo.PL_REQUEST_PROCESS PL
840
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
841
		LEFT JOIN 
842
		(
843
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
844
		LEFT JOIN(
845
		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
846
		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
847
		) TempU ON TempU.RoleName=PL.ROLE_USER 
848
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
849
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
850
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
851
		LEFT JOIN dbo.TR_REQUEST_CAR_COST RD ON RD.REQ_COST_ID = PL.REQ_ID
852
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
853
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID = PL.DEP_ID
854
		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND (PL.PROCESS_ID = 'SIGN' AND TempU.TLNANME = RD.SIGN_USER)
855

    
856
	END
857
	ELSE
858
	BEGIN
859
		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES FROM dbo.PL_REQUEST_PROCESS PL
860
		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
861
		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
862
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID = PL.DEP_ID
863
		LEFT JOIN 
864
		(
865
		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
866
		FROM (
867
			SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
868
			dbo.TL_USER TS 
869
			UNION ALL
870
			SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.RoleDisplayName RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
871
			dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
872
			LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
873
			WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
874
			AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
875
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
876
			AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
877
			---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
878
			UNION ALL
879
			SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,TU.TLSUBBRID,TU.SECUR_CODE FROM TL_USER TU
880
			INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
881
			INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
882
			WHERE RL.DisplayName <>'DISABLE'
883
		--- END LUCTV 19062023
884
			) TU
885
		LEFT JOIN
886
			(
887
			SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
888
			LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID
889
			) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
890
		) TempU ON TempU.RoleName=PL.ROLE_USER
891
		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
892
		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
893
		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
894
		WHERE REQ_ID =@p_REQ_ID AND STATUS='C'
895
	END
896
	 
897
END
898
ELSE IF(@IS_HAS_CHILD=1)
899
BEGIN
900
	SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN ISNULL(@BRANCH_NAME_HS,'') + ' - ' + CD.DVDM_NAME ELSE IIF(BR.BRANCH_TYPE = 'HS',BR.BRANCH_NAME + ' - ' + DEP.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES FROM dbo.PL_REQUEST_PROCESS PL
901
	LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
902
	LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
903
		LEFT JOIN dbo.CM_DEPARTMENT DEP ON DEP.DEP_ID = PL.DEP_ID
904
	LEFT JOIN 
905
	(
906
	SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
907
	LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
908
	WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
909
	)TempC ON TempC.PROCESS_ID =PL.ID AND PL.IS_HAS_CHILD=1
910
	LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
911
	LEFT JOIN 
912
	(
913
	SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID 
914
	FROM       (
915
		SELECT TS.TLNANME,TS.TLFullName,TS.RoleName,TS.TLSUBBRID,TS.SECUR_CODE FROM
916
		dbo.TL_USER TS 
917
		UNION ALL
918
		SELECT  TM.TLNAME TLNANME,TS.TLFullName,TM.RoleDisplayName RoleName,TM.BRANCH_ID TLSUBBRID,TM.DEP_ID SECUR_CODE FROM
919
		dbo.SYS_PERMISSIONS_PAGE_FOR_USER TM
920
		LEFT JOIN dbo.TL_USER TS ON TS.TLNANME=TM.TLNAME
921
		WHERE (DATEDIFF(DAY, CONVERT(DATE, TM.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TM.EffectiveDate IS NULL OR TM.EffectiveDate = '')
922
		AND (DATEDIFF(DAY, CONVERT(DATE, TM.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TM.ExpirationDate IS NULL OR TM.ExpirationDate = '')
923
		AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TM.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
924
		AND TM.AUTH_STATUS = 'A' AND TM.RECORD_STATUS = '1'
925
		---- LUCTV 19062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
926
		UNION ALL
927
		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,TU.TLSUBBRID,TU.SECUR_CODE FROM TL_USER TU
928
		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
929
		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
930
		WHERE RL.DisplayName <>'DISABLE'
931
		--- END LUCTV 19062023
932
		)  TU 
933
	LEFT JOIN(
934
	SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
935
	LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
936
	) TempU ON TempU.RoleName=PL.ROLE_USER AND (TempU.TLSUBBRID = PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
937
	AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
938
	AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
939
	WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'		
940
END
941
END
942
--NGUYENTD 20/07/2024 PHIẾU YÊU CẦU QUẢN LÝ XE
943
-- PHIẾU YÊU CẦU KHO VẬT LIỆU --
944
ELSE IF (@p_TYPE = 'PYC-KVL')
945
BEGIN
946
    IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
947
    BEGIN
948
    	SET @SIGN_USER = (SELECT USER_APPROVAL FROM dbo.MW_REQUEST_DOC WHERE REQ_ID = @p_REQ_ID)
949
    	SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
950
		DECLARE @ID_KSV_PROCESS VARCHAR(20) = (SELECT TOP 1 ID FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_ID AND TYPE_JOB='KS')
951
		DECLARE @ID_KSV_CHILD VARCHAR(20) = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @p_REQ_ID AND PROCESS_ID=@ID_KSV_PROCESS)
952
    
953
    	-- Nếu có cấp phê duyệt trung gian
954
    	IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'MED_APP')
955
    	BEGIN
956
    	    SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME 
957
                                                     ELSE ISNULL(BR.BRANCH_NAME + ' - ' + CD1.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES 
958
            FROM dbo.PL_REQUEST_PROCESS PL
959
    		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
960
    		LEFT JOIN 
961
    		(
962
    		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
963
    		LEFT JOIN(
964
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
965
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
966
    		) TempU ON (TempU.RoleName=PL.ROLE_USER OR PL.ROLE_USER IS NULL OR PL.ROLE_USER = '')
967
    		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
968
    		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
969
    		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
970
    		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
971
    		LEFT JOIN CM_DEPARTMENT CD1 ON PL.DEP_ID = CD1.DEP_ID
972
    		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND (PL.PROCESS_ID = 'MED_APP' AND TempU.TLNANME = @SIGN_USER)
973
    
974
    	END
975
    	ELSE
976
    	BEGIN
977
    		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,
978
    			CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,
979
    			TempU.TLNANME AS TLNAME,
980
    			TempU.TLFullName,
981
    			PL.NOTES
982
    		FROM dbo.PL_REQUEST_PROCESS PL
983
    		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
984
    		LEFT JOIN 
985
    		(
986
    		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
987
    		LEFT JOIN(
988
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
989
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
990
    		UNION ALL
991
    		SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID
992
    		FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
993
    		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
994
    		LEFT JOIN(
995
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
996
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
997
    		WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
998
			AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
999
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
1000
			AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
1001
    		---- LUCTV 20062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
1002
    		UNION ALL
1003
    		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
1004
    		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
1005
    		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
1006
    		LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
1007
    		LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
1008
    		WHERE RL.DisplayName <>'DISABLE'
1009
    		--- END LUCTV 19062023
1010
    		) TempU ON (TempU.RoleName=PL.ROLE_USER)
1011
    		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
1012
    		AND (((SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) = 'HS' AND TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
1013
    		OR (SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) <> 'HS') 
1014
    		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
1015
    		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
1016
    		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C'
1017
    	END
1018
    
1019
    END
1020
    ELSE IF(@IS_HAS_CHILD=1)
1021
    BEGIN
1022
    	SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,
1023
    	CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,
1024
    	CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES,
1025
        CASE WHEN TempC.LEVEL_JOB = 1 OR (TempC.TYPE_JOB = 'KS' AND EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = PL.REQ_ID AND MAKER_ID=TempC.TLNAME AND TYPE_JOB='XL' AND STATUS_JOB='P'))
1026
			 THEN 'Approve' ELSE NULL END AS STATUS 
1027
        FROM dbo.PL_REQUEST_PROCESS PL
1028
    LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
1029
    LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
1030
    LEFT JOIN 
1031
    (
1032
    SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT, PRC.LEVEL_JOB, PRC.TYPE_JOB FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
1033
    LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
1034
    WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
1035
    )TempC ON TempC.PROCESS_ID =PL.ID AND TempC.REQ_ID = PL.REQ_ID AND PL.IS_HAS_CHILD=1
1036
    LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
1037
    LEFT JOIN 
1038
    	(
1039
    		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
1040
    		LEFT JOIN(
1041
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
1042
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
1043
    		UNION ALL
1044
    		SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
1045
    		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
1046
    		LEFT JOIN(
1047
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
1048
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
1049
    		WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
1050
			AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
1051
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
1052
			AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
1053
    		---- LUCTV 24102023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
1054
    		UNION ALL
1055
    		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
1056
    		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
1057
    		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
1058
    		LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
1059
    		LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
1060
    		WHERE RL.DisplayName <>'DISABLE'
1061
    		--- END LUCTV 19062023
1062
    	) TempU ON (TempU.RoleName=PL.ROLE_USER) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
1063
    	AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
1064
    	AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
1065
    WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'
1066
    END
1067
END
1068
-- END PHIẾU YÊU CẦU KHO VẬT LIỆU --
1069
-- TỜ TRÌNH THANH LÝ TÀI SẢN --
1070
ELSE IF (@p_TYPE LIKE 'TTTL')
1071
BEGIN
1072
    IF(@IS_HAS_CHILD=0 OR @IS_HAS_CHILD IS NULL)
1073
    BEGIN
1074
    	SET @SIGN_USER = (SELECT USER_APPROVAL FROM dbo.ASS_PLAN_REQUEST_LIQUID_MASTER WHERE REQ_ID = @p_REQ_ID)
1075
    	SET @CURENT_PROCESS = (SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_ID AND STATUS='C')
1076

    
1077
		IF(@CURENT_PROCESS IN ('NEW', 'HC_APP'))--ĐANG Ở BƯỚC ĐƠN VỊ TẠO VÀ GDDV DUYỆT
1078
		BEGIN
1079
		  SET @MENU_PERMISSON = 'Pages.Administration.AssReqDocLiquidation'
1080
		END
1081
		ELSE IF(@CURENT_PROCESS IN ('DVCM_DP'))--ĐANG Ở BƯỚC DVCM ĐIỀU PHỐI
1082
		BEGIN
1083
		  SET @MENU_PERMISSON = 'Pages.Administration.PlanTransfer'
1084
		END
1085
		ELSE IF(@CURENT_PROCESS IN ('GDK_APP', 'TKTGD_APP', 'TGD_APP', 'TKHDQT_APP', 'TKHDQT_APP'))--ĐANG ĐẾN BƯỚC PHÊ DUYỆT TỜ TRÌNH
1086
		BEGIN
1087
		  SET @MENU_PERMISSON = 'Pages.Administration.AssReqDocLiqApprove'
1088
		END
1089

    
1090
    	-- Nếu có cấp phê duyệt trung gian
1091
    	IF(@SIGN_USER IS NOT NULL AND @SIGN_USER <> '' AND @CURENT_PROCESS = 'MED_APP')
1092
    	BEGIN
1093
    	    SELECT distinct PL.REQ_ID,PL.PROCESS_ID, CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME 
1094
                                                     ELSE ISNULL(BR.BRANCH_NAME + ' - ' + CD1.DEP_NAME, BR.BRANCH_NAME) END AS DVDM_NAME,TempU.TLNANME AS TLNAME,TempU.TLFullName,PL.NOTES, PL.ROLE_USER 
1095
            FROM dbo.PL_REQUEST_PROCESS PL
1096
    		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
1097
    		LEFT JOIN 
1098
    		(
1099
    		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
1100
    		LEFT JOIN(
1101
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
1102
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
1103
    		) TempU ON (TempU.RoleName=PL.ROLE_USER OR PL.ROLE_USER IS NULL OR PL.ROLE_USER = '')
1104
    		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
1105
    		AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
1106
    		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
1107
    		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
1108
    		LEFT JOIN CM_DEPARTMENT CD1 ON PL.DEP_ID = CD1.DEP_ID
1109
    		WHERE PL.REQ_ID = @p_REQ_ID AND STATUS='C' AND (PL.PROCESS_ID = 'MED_APP' AND TempU.TLNANME = @SIGN_USER)
1110
    
1111
    	END
1112
    	ELSE
1113
    	BEGIN
1114
    		SELECT distinct PL.REQ_ID,PL.PROCESS_ID,
1115
    			CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,
1116
    			TempU.TLNANME AS TLNAME,
1117
    			TempU.TLFullName,
1118
    			PL.NOTES, PL.ROLE_USER
1119
    		FROM dbo.PL_REQUEST_PROCESS PL
1120
    		LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
1121
    		LEFT JOIN 
1122
    		(
1123
    		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
1124
    		LEFT JOIN(
1125
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
1126
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
1127
    		UNION ALL
1128
    		SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID
1129
    		FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
1130
    		LEFT JOIN dbo.TL_USER US ON US.TLNANME=TU.TLNAME
1131
    		LEFT JOIN(
1132
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
1133
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
1134
    		WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
1135
			AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
1136
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
1137
			AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
1138
    		---- LUCTV 20062023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
1139
    		UNION ALL
1140
    		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
1141
    		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
1142
    		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
1143
    		LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
1144
    		LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
1145
    		WHERE RL.DisplayName <>'DISABLE'
1146
    		--- END LUCTV 19062023
1147
    		) TempU ON (TempU.RoleName=PL.ROLE_USER)
1148
    		AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
1149
    		AND (((SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) = 'HS' AND TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='')
1150
    		OR (SELECT TOP 1 BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = PL.BRANCH_ID) <> 'HS') 
1151
    		AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
1152
    		LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
1153
    		WHERE PL.REQ_ID = @p_REQ_ID 
1154
			AND STATUS='C' 
1155
			AND (PL.ID = @PROCESS_ID OR @PROCESS_ID = '' OR @PROCESS_ID IS NULL)
1156
    	END
1157
    
1158
    END
1159
    ELSE IF(@IS_HAS_CHILD=1)
1160
    BEGIN
1161
    	SELECT distinct PL.REQ_ID,PL.PROCESS_ID,CASE WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME ELSE BR.BRANCH_NAME END AS DVDM_NAME,
1162
    	CASE WHEN TempC.ID IS NULL THEN TempU.TLNANME ELSE TU.TLNANME END AS TLNAME,
1163
    	CASE WHEN TempC.ID IS NULL THEN TempU.TLFullName ELSE TU.TLFullName END AS TLFullName,CASE WHEN TempC.ID IS NULL THEN PL.NOTES ELSE TempC.CONTENT END AS NOTES, PL.ROLE_USER,
1164
        CASE WHEN TempC.LEVEL_JOB = 1  THEN 'Approve'
1165
			 WHEN (TempC.TYPE_JOB = 'KS' AND EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = PL.REQ_ID AND MAKER_ID=TempC.TLNAME AND TYPE_JOB='XL' AND STATUS_JOB='P')) THEN 'Confirm' 
1166
			 ELSE NULL END AS STATUS
1167
        FROM dbo.PL_REQUEST_PROCESS PL
1168
        LEFT JOIN dbo.CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
1169
        LEFT JOIN CM_BRANCH BR ON PL.BRANCH_ID = BR.BRANCH_ID
1170
        LEFT JOIN 
1171
        (
1172
        SELECT PRC.ID, PRC.PROCESS_ID,PRC.REQ_ID,PRC.TLNAME,AC.CONTENT, PRC.LEVEL_JOB, PRC.TYPE_JOB FROM dbo.PL_REQUEST_PROCESS_CHILD PRC 
1173
        LEFT JOIN dbo.CM_ALLCODE AC ON AC.CDVAL=PRC.TYPE_JOB AND AC.CDNAME='JOB_TYPE' AND CDTYPE='REQ'
1174
        WHERE (PRC.STATUS_JOB='C' OR PRC.STATUS_JOB='R' )
1175
        )TempC ON TempC.PROCESS_ID =PL.ID AND TempC.REQ_ID = PL.REQ_ID AND PL.IS_HAS_CHILD=1
1176
        LEFT JOIN dbo.TL_USER TU ON TU.TLNANME=TempC.TLNAME
1177
        LEFT JOIN 
1178
        	(
1179
    		SELECT TU.TLNANME,TU.TLFullName,TU.RoleName,Temp.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM dbo.TL_USER TU 
1180
    		LEFT JOIN(
1181
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
1182
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.SECUR_CODE AND Temp.BRANCH_ID=TU.TLSUBBRID
1183
    		UNION ALL
1184
    		SELECT TU.TLNAME,US.TLFullName,TU.RoleDisplayName RoleName,Temp.DVDM_ID,TU.DEP_ID SECUR_CODE,TU.BRANCH_ID TLSUBBRID FROM dbo.SYS_PERMISSIONS_PAGE_FOR_USER TU
1185
    		LEFT JOIN dbo.TL_USER US ON US.TLNANME = TU.TLNAME
1186
    		LEFT JOIN(
1187
    		SELECT PC.DVDM_ID,PD.DEP_ID,PD.BRANCH_ID FROM dbo.PL_COSTCENTER PC 
1188
    		LEFT JOIN dbo.PL_COSTCENTER_DT PD ON PC.COST_ID=PD.COST_ID) Temp ON Temp.DEP_ID=TU.DEP_ID AND Temp.BRANCH_ID=TU.BRANCH_ID
1189
    		WHERE (DATEDIFF(DAY, CONVERT(DATE, TU.EffectiveDate, 103) , CONVERT(DATE, GETDATE(), 103)) >= 0 OR TU.EffectiveDate IS NULL OR TU.EffectiveDate = '')
1190
			AND (DATEDIFF(DAY, CONVERT(DATE, TU.ExpirationDate, 103) , CONVERT(DATE, GETDATE(), 103)) <= 0 OR TU.ExpirationDate IS NULL OR TU.ExpirationDate = '')
1191
			AND EXISTS(SELECT DT.PER_PAGE_FOR_USER_DT_ID FROM SYS_PERMISSIONS_PAGE_FOR_USER_DT DT WHERE DT.PER_PAGE_FOR_USER_ID = TU.PER_PAGE_FOR_USER_ID AND DT.MENU_PERMISSION = @MENU_PERMISSON)
1192
			AND TU.AUTH_STATUS = 'A' AND TU.RECORD_STATUS = '1'
1193
    		---- LUCTV 24102023_SECRETKEY BỔ SUNG VÀO BẢNG ROLE LẤY TỪ GỐC ABPUSERROLES
1194
    		UNION ALL
1195
    		SELECT TU.TLNANME, TU.TLFullName, RL.DisplayName ,PC.DVDM_ID,TU.SECUR_CODE,TU.TLSUBBRID FROM TL_USER TU
1196
    		INNER JOIN AbpUserRoles UR ON TU.ID = UR.UserId
1197
    		INNER JOIN AbpRoles RL ON UR.RoleId = RL.Id
1198
    		LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
1199
    		LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
1200
    		WHERE RL.DisplayName <>'DISABLE'
1201
    		--- END LUCTV 19062023
1202
    	) TempU ON (TempU.RoleName=PL.ROLE_USER) AND (TempU.TLSUBBRID=PL.BRANCH_ID OR PL.BRANCH_ID IS NULL OR PL.BRANCH_ID='') 
1203
    	AND (TempU.SECUR_CODE=PL.DEP_ID OR PL.DEP_ID IS NULL OR PL.DEP_ID='') 
1204
    	AND (TempU.DVDM_ID=PL.DVDM_ID OR PL.DVDM_ID IS NULL OR PL.DVDM_ID ='')
1205
    WHERE PL.REQ_ID =@p_REQ_ID AND PL.STATUS='C'
1206
    END
1207
END
1208
-- END TỜ TRÌNH THANH LÝ TS --
1209
-- BEGIN PHIẾU YÊU CẦU DỊCH VỤ VĂN PHÒNG HO --
1210
ELSE IF (@P_TYPE = 'SHO')
1211
BEGIN 
1212
	
1213
    SELECT @CURENT_PROCESS=PROCESS_ID, @AUTH_STATUS=AUTH_STATUS
1214
    FROM SHO_REQ_SERVICE 
1215
    WHERE REQ_ID=@p_REQ_ID 
1216

    
1217
    -- LƯU NHÁP
1218
    IF(@CURENT_PROCESS IS NULL AND @AUTH_STATUS='E')
1219
    BEGIN
1220
        SELECT 'SEND_APPR' AS PROCESS_ID, MAKER_ID AS TLNAME
1221
        FROM SHO_REQ_SERVICE
1222
        WHERE REQ_ID=@p_REQ_ID
1223
    END
1224
    -- TỪ CHỐI
1225
    ELSE IF(@AUTH_STATUS='R')
1226
    BEGIN
1227
        SELECT 'REJECT' AS PROCESS_ID, MAKER_ID AS TLNAME
1228
        FROM SHO_REQ_SERVICE A
1229
        WHERE A.REQ_ID=@p_REQ_ID AND A.AUTH_STATUS='R'
1230
    END
1231
    -- CHỜ CẤP TRUNG GIAN PHÊ DUYỆT
1232
    ELSE IF(@CURENT_PROCESS='SIGN')
1233
    BEGIN
1234
        SELECT A.PROCESS_ID, CHECKER_ID AS TLNAME
1235
        FROM SHO_REQUEST_PROCESS A
1236
        WHERE A.REQ_ID=@p_REQ_ID AND A.[STATUS]='C' AND A.PROCESS_ID=@CURENT_PROCESS AND A.CHECKER_ID=@p_USER_LOGIN
1237
    END
1238
    -- CHỜ CẤP TRUNG GIAN PHÊ DUYỆT
1239
    ELSE IF(@CURENT_PROCESS='CONFIRM')
1240
    BEGIN
1241
        SELECT 'CONFIRM' AS PROCESS_ID, ROLE_USER, A.CHECKER_ID AS TLNAME
1242
        FROM SHO_REQUEST_PROCESS A 
1243
        WHERE A.REQ_ID=@p_REQ_ID 
1244
            AND A.PROCESS_ID='APPNEW'
1245
            AND A.CHECKER_ID IS NOT NULL 
1246
            AND A.CHECKER_ID=@p_USER_LOGIN
1247
    END
1248
    -- CHỜ TRƯỞNG ĐƠN VỊ PHÊ DUYỆT
1249
    ELSE IF(@CURENT_PROCESS='APPNEW')
1250
    BEGIN
1251
        -- TRƯỞNG ĐƠN VỊ MẶC ĐỊNH
1252
        SELECT A.PROCESS_ID, ROLE_USER, U.TLNANME AS TLNAME
1253
        FROM SHO_REQUEST_PROCESS A
1254
            INNER JOIN AbpRoles R ON A.ROLE_USER=R.DisplayName
1255
            INNER JOIN AbpUserRoles UR ON R.Id=UR.RoleId
1256
            INNER JOIN TL_USER U ON UR.UserId=U.ID AND A.DEP_ID=U.SECUR_CODE AND A.BRANCH_ID=U.TLSUBBRID
1257
        WHERE A.REQ_ID=@p_REQ_ID 
1258
            AND A.[STATUS]='C' 
1259
            AND A.CHECKER_ID IS NULL
1260
            AND A.PROCESS_ID=@CURENT_PROCESS
1261
            AND U.TLNANME=@p_USER_LOGIN
1262
        -- ỦY QUYỀN TRƯỞNG ĐƠN VỊ
1263
        UNION
1264
        SELECT A.PROCESS_ID, ROLE_USER, U.TLNANME AS TLNAME
1265
        FROM SHO_REQUEST_PROCESS A
1266
            INNER JOIN FN_GET_USER_BY_ROLE(NULL,NULL,NULL, @MENU_PERMISSON) U ON A.ROLE_USER=U.ROLE_NEW AND A.DEP_ID=U.DEP_ID AND A.BRANCH_ID=U.BRANCH_ID
1267
        WHERE A.REQ_ID=@p_REQ_ID 
1268
            AND A.[STATUS]='C' 
1269
            AND A.CHECKER_ID IS NULL
1270
            AND A.PROCESS_ID=@CURENT_PROCESS
1271
            AND U.TLNANME=@p_USER_LOGIN
1272
    END
1273
    ELSE IF(@CURENT_PROCESS='DVCM')
1274
    BEGIN
1275
        -- TRƯỞNG ĐƠN VỊ CHUYÊN MÔN PHÊ DUYỆT
1276
        SELECT A.DVDM_ID, A.BRANCH_ID, A.DEP_ID, 'TRUONG_DVCM' AS PROCESS_ID, ROLE_USER, A.CHECKER_ID AS TLNAME, NULL AS NOTES
1277
        FROM SHO_REQ_SERVICE_DVCM D 
1278
            INNER JOIN SHO_REQUEST_PROCESS A ON D.REQ_ID=A.REQ_ID AND D.BRANCH_ID=A.BRANCH_ID AND D.DVCM_ID=A.DEP_ID 
1279
        WHERE A.REQ_ID=@p_REQ_ID 
1280
            AND A.[STATUS]='C'  
1281
            AND A.CHECKER_ID=@p_USER_LOGIN
1282
            AND A.PROCESS_ID=@CURENT_PROCESS
1283
            AND D.STEP_APPROVE=1
1284
        UNION 
1285
        -- KIỂM SOÁT VIÊN ĐƠN VỊ CHUYÊN MÔN PHÊ DUYỆT
1286
        SELECT A.DVDM_ID, A.BRANCH_ID, A.DEP_ID, 'KSV_DVCM' AS PROCESS_ID, ROLE_USER, C.TLNAME AS TLNAME, NULL AS NOTES
1287
        FROM SHO_REQ_SERVICE_DVCM D 
1288
            INNER JOIN SHO_REQUEST_PROCESS A ON D.REQ_ID=A.REQ_ID AND D.BRANCH_ID=A.BRANCH_ID AND D.DVCM_ID=A.DEP_ID
1289
            INNER JOIN SHO_REQUEST_PROCESS_CHILD C ON D.REQ_ID=C.REQ_ID AND A.ID=C.PROCESS_ID
1290
        WHERE D.REQ_ID=@p_REQ_ID
1291
            AND A.PROCESS_ID=@CURENT_PROCESS
1292
            AND C.TLNAME=@p_USER_LOGIN
1293
            AND A.CHECKER_ID IS NOT NULL
1294
            AND D.STEP_APPROVE IS NOT NULL
1295
            AND D.STEP_APPROVE=C.LEVEL_JOB+1
1296
        UNION
1297
        -- NHÂN VIÊN XỬ LÝ ĐƠN VỊ CHUYÊN MÔN
1298
        SELECT A.DVDM_ID, A.BRANCH_ID, A.DEP_ID, 'NVXL_DVCM' AS PROCESS_ID, C.TYPE_JOB AS ROLE_USER, C.TLNAME AS TLNAME, D.REF_CONTENT AS NOTES 
1299
        FROM SHO_REQ_SERVICE_DVCM D 
1300
            INNER JOIN SHO_REQUEST_PROCESS A ON D.REQ_ID=A.REQ_ID AND D.BRANCH_ID=A.BRANCH_ID AND D.DVCM_ID=A.DEP_ID
1301
            INNER JOIN SHO_REQUEST_PROCESS_CHILD C ON D.REQ_ID=C.REQ_ID AND A.ID=C.PROCESS_ID AND C.TYPE_JOB='XL'
1302
        WHERE D.REQ_ID=@p_REQ_ID
1303
            AND A.PROCESS_ID=@CURENT_PROCESS
1304
            AND A.CHECKER_ID IS NOT NULL
1305
            AND C.TLNAME=@p_USER_LOGIN
1306
            AND D.REQ_STATUS='E'
1307

    
1308
    END
1309
END
1310
-- END PHIẾU YÊU CẦU DỊCH VỤ VĂN PHÒNG HO --
1311
-- BEGIN PHIẾU YÊU CẦU Nhập kho tập trung --
1312

    
1313
DECLARE @BRN VARCHAR(15) = '', @DEP VARCHAR(15) = ''
1314
IF (@P_TYPE = 'IN_DOC_QLK')
1315
BEGIN 
1316
    SELECT @AUTH_STATUS=AUTH_STATUS
1317
    FROM REQ_IN_DOCUMENT_GATHER ridg 
1318
    WHERE ridg.REQ_IN_DOC_GATHER_ID=@p_REQ_ID 
1319

    
1320
    -- LƯU NHÁP
1321
    IF(@AUTH_STATUS ='E')
1322
    BEGIN
1323
        SELECT 'SEND_APPR' AS PROCESS_ID, MAKER_ID AS TLNAME
1324
        FROM REQ_IN_DOCUMENT_GATHER ridg
1325
        WHERE ridg.REQ_IN_DOC_GATHER_ID=@p_REQ_ID
1326
    END
1327
    -- TỪ CHỐI
1328
    ELSE IF(@AUTH_STATUS='R')
1329
    BEGIN
1330
        SELECT 'REJECT' AS PROCESS_ID, MAKER_ID AS TLNAME
1331
         FROM REQ_IN_DOCUMENT_GATHER ridg
1332
        WHERE ridg.REQ_IN_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'R'
1333
    END
1334
    -- CHỜ CẤP TRUNG GIAN PHÊ DUYỆT
1335
    ELSE IF(@AUTH_STATUS='P')
1336
    BEGIN
1337
        SELECT 'MID_APP' AS PROCESS_ID, ridg.CHECKER_MID_ID AS TLNAME
1338
      FROM REQ_IN_DOCUMENT_GATHER ridg
1339
        WHERE ridg.REQ_IN_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'P'
1340
    END
1341
  
1342
    -- CHỜ TRƯỞNG ĐƠN VỊ PHÊ DUYỆT
1343
    ELSE IF(@AUTH_STATUS IN ('U'))
1344
    BEGIN
1345

    
1346
        SELECT @DEP = DEP_ID FROM REQ_IN_DOCUMENT_GATHER WHERE REQ_IN_DOC_GATHER_ID = @p_REQ_ID 
1347
    		SELECT @BRN = BRANCH_ID FROM REQ_IN_DOCUMENT_GATHER WHERE REQ_IN_DOC_GATHER_ID = @p_REQ_ID 
1348
     
1349
--    		IF (ISNULL(@BRN, '') = '')
1350
--    		BEGIN
1351
--    			SET @BRN = @DEP
1352
--    			SET @DEP = ''
1353
--    		END
1354
     
1355
    		SELECT 'APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1356
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubReqAddDocument')
1357
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1358
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1359
    END
1360
      ELSE IF(@AUTH_STATUS IN ('A'))
1361
    BEGIN
1362
   
1363
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_IN_DOCUMENT_GATHER WHERE REQ_IN_DOC_GATHER_ID = @p_REQ_ID 
1364
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1365
     
1366
    		IF (ISNULL(@BRN, '') = '')
1367
    		BEGIN
1368
    			SET @BRN = @DEP
1369
    			SET @DEP = ''
1370
    		END
1371
     
1372
    		SELECT 'DPXL' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1373
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubReqAddDocument')
1374
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1375
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1376

    
1377
    END
1378
      ELSE IF(@AUTH_STATUS IN ('N'))
1379
    BEGIN
1380

    
1381
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_IN_DOCUMENT_GATHER WHERE REQ_IN_DOC_GATHER_ID = @p_REQ_ID 
1382
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1383
     
1384
    		IF (ISNULL(@BRN, '') = '')
1385
    		BEGIN
1386
    			SET @BRN = @DEP
1387
    			SET @DEP = ''
1388
    		END
1389
     
1390
    		SELECT 'GDDV_APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1391
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubReqAddDocument')
1392
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1393
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1394

    
1395
    END
1396
    ELSE IF(@AUTH_STATUS IN ('S','C','M','T'))
1397
    BEGIN
1398
        -- Xử lý điều phối
1399
      SELECT 'XL' AS PROCESS_ID, ridg.CHECKER_ID_XL AS TLNAME
1400
      FROM REQ_IN_DOCUMENT_GATHER ridg
1401
        WHERE ridg.REQ_IN_DOC_GATHER_ID=@p_REQ_ID AND  @AUTH_STATUS IN ('S','C','M','T') AND @p_USER_LOGIN = ridg.CHECKER_ID_XL
1402

    
1403
    END
1404
END
1405
-- END PYC Nhập kho tập trung --
1406
-- BEGIN PHIẾU YÊU CẦU mượn kho tập trung --
1407
ELSE IF (@P_TYPE = 'BOR_DOC_QLK')
1408
BEGIN 
1409
	
1410
    SELECT @AUTH_STATUS=AUTH_STATUS
1411
    FROM REQ_BOR_DOCUMENT_GATHER ridg 
1412
    WHERE ridg.REQ_BOR_DOC_GATHER_ID=@p_REQ_ID 
1413

    
1414
    -- LƯU NHÁP
1415
    IF(@AUTH_STATUS ='E')
1416
    BEGIN
1417
        SELECT 'SEND_APPR' AS PROCESS_ID, MAKER_ID AS TLNAME
1418
        FROM REQ_BOR_DOCUMENT_GATHER ridg
1419
        WHERE ridg.REQ_BOR_DOC_GATHER_ID=@p_REQ_ID
1420
    END
1421
    -- TỪ CHỐI
1422
    ELSE IF(@AUTH_STATUS='R')
1423
    BEGIN
1424
        SELECT 'REJECT' AS PROCESS_ID, MAKER_ID AS TLNAME
1425
         FROM REQ_BOR_DOCUMENT_GATHER ridg
1426
        WHERE ridg.REQ_BOR_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'R'
1427
    END
1428
    -- CHỜ CẤP TRUNG GIAN PHÊ DUYỆT
1429
    ELSE IF(@AUTH_STATUS='P')
1430
    BEGIN
1431
        SELECT 'MID_APP' AS PROCESS_ID, ridg.CHECKER_MID_ID AS TLNAME
1432
      FROM REQ_BOR_DOCUMENT_GATHER ridg
1433
        WHERE ridg.REQ_BOR_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'P'
1434
    END
1435
  
1436
    -- CHỜ TRƯỞNG ĐƠN VỊ PHÊ DUYỆT
1437
    ELSE IF(@AUTH_STATUS IN ('U'))
1438
    BEGIN
1439

    
1440
        SELECT @DEP = DEP_ID FROM REQ_BOR_DOCUMENT_GATHER WHERE REQ_BOR_DOC_GATHER_ID = @p_REQ_ID 
1441
    		SELECT @BRN = BRANCH_ID FROM REQ_BOR_DOCUMENT_GATHER WHERE REQ_BOR_DOC_GATHER_ID = @p_REQ_ID 
1442
     
1443
--    		IF (ISNULL(@BRN, '') = '')
1444
--    		BEGIN
1445
--    			SET @BRN = @DEP
1446
--    			SET @DEP = ''
1447
--    		END
1448
     
1449
    		SELECT 'APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1450
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubBorrDocument')
1451
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1452
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1453
    END
1454
      ELSE IF(@AUTH_STATUS IN ('A'))
1455
    BEGIN
1456
   
1457
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_BOR_DOCUMENT_GATHER WHERE REQ_BOR_DOC_GATHER_ID = @p_REQ_ID 
1458
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1459
     
1460
    		IF (ISNULL(@BRN, '') = '')
1461
    		BEGIN
1462
    			SET @BRN = @DEP
1463
    			SET @DEP = ''
1464
    		END
1465
     
1466
    		SELECT 'DPXL' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1467
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubBorrDocument')
1468
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1469
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1470

    
1471
    END
1472
      ELSE IF(@AUTH_STATUS IN ('N'))
1473
    BEGIN
1474

    
1475
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_BOR_DOCUMENT_GATHER WHERE REQ_BOR_DOC_GATHER_ID = @p_REQ_ID 
1476
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1477
     
1478
    		IF (ISNULL(@BRN, '') = '')
1479
    		BEGIN
1480
    			SET @BRN = @DEP
1481
    			SET @DEP = ''
1482
    		END
1483
     
1484
    		SELECT 'GDDV_APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1485
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubBorrDocument')
1486
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1487
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1488

    
1489
    END
1490
    ELSE IF(@AUTH_STATUS IN ('S','C','M','T'))
1491
    BEGIN
1492
        -- Xử lý điều phối
1493
      SELECT 'XL' AS PROCESS_ID, ridg.CHECKER_ID_XL AS TLNAME
1494
      FROM REQ_BOR_DOCUMENT_GATHER ridg
1495
        WHERE ridg.REQ_BOR_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS IN ('S','C','M','T') AND @p_USER_LOGIN = ridg.CHECKER_ID_XL
1496

    
1497
    END
1498
END
1499
-- END PYC mượn kho tập trung --
1500
-- BEGIN PHIẾU YÊU CẦU xuất kho tập trung --
1501
ELSE IF (@P_TYPE = 'OUT_DOC_QLK')
1502
BEGIN 
1503
	
1504
    SELECT @AUTH_STATUS=AUTH_STATUS
1505
    FROM REQ_OUT_DOCUMENT_GATHER ridg 
1506
    WHERE ridg.REQ_OUT_DOC_GATHER_ID=@p_REQ_ID 
1507

    
1508
    -- LƯU NHÁP
1509
    IF(@AUTH_STATUS ='E')
1510
    BEGIN
1511
        SELECT 'SEND_APPR' AS PROCESS_ID, MAKER_ID AS TLNAME
1512
        FROM REQ_OUT_DOCUMENT_GATHER ridg
1513
        WHERE ridg.REQ_OUT_DOC_GATHER_ID=@p_REQ_ID
1514
    END
1515
    -- TỪ CHỐI
1516
    ELSE IF(@AUTH_STATUS='R')
1517
    BEGIN
1518
        SELECT 'REJECT' AS PROCESS_ID, MAKER_ID AS TLNAME
1519
         FROM REQ_OUT_DOCUMENT_GATHER ridg
1520
        WHERE ridg.REQ_OUT_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'R'
1521
    END
1522
    -- CHỜ CẤP TRUNG GIAN PHÊ DUYỆT
1523
    ELSE IF(@AUTH_STATUS='P')
1524
    BEGIN
1525
        SELECT 'MID_APP' AS PROCESS_ID, ridg.CHECKER_MID_ID AS TLNAME
1526
      FROM REQ_OUT_DOCUMENT_GATHER ridg
1527
        WHERE ridg.REQ_OUT_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'P'
1528
    END
1529
  
1530
    -- CHỜ TRƯỞNG ĐƠN VỊ PHÊ DUYỆT
1531
    ELSE IF(@AUTH_STATUS IN ('U'))
1532
    BEGIN
1533

    
1534
        SELECT @DEP = DEP_ID FROM REQ_OUT_DOCUMENT_GATHER WHERE REQ_OUT_DOC_GATHER_ID = @p_REQ_ID 
1535
    		SELECT @BRN = BRANCH_ID FROM REQ_OUT_DOCUMENT_GATHER WHERE REQ_OUT_DOC_GATHER_ID = @p_REQ_ID 
1536
     
1537
--    		IF (ISNULL(@BRN, '') = '')
1538
--    		BEGIN
1539
--    			SET @BRN = @DEP
1540
--    			SET @DEP = ''
1541
--    		END
1542
     
1543
    		SELECT 'APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1544
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubExportDocument')
1545
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1546
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1547
    END
1548
      ELSE IF(@AUTH_STATUS IN ('A'))
1549
    BEGIN
1550
   
1551
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_OUT_DOCUMENT_GATHER WHERE REQ_OUT_DOC_GATHER_ID = @p_REQ_ID 
1552
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1553
     
1554
    		IF (ISNULL(@BRN, '') = '')
1555
    		BEGIN
1556
    			SET @BRN = @DEP
1557
    			SET @DEP = ''
1558
    		END
1559
     
1560
    		SELECT 'DPXL' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1561
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubExportDocument')
1562
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1563
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1564

    
1565
    END
1566
      ELSE IF(@AUTH_STATUS IN ('N'))
1567
    BEGIN
1568

    
1569
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_OUT_DOCUMENT_GATHER WHERE REQ_OUT_DOC_GATHER_ID = @p_REQ_ID 
1570
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1571
     
1572
    		IF (ISNULL(@BRN, '') = '')
1573
    		BEGIN
1574
    			SET @BRN = @DEP
1575
    			SET @DEP = ''
1576
    		END
1577
     
1578
    		SELECT 'GDDV_APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1579
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubExportDocument')
1580
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1581
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1582

    
1583
    END
1584
    ELSE IF(@AUTH_STATUS IN ('S','C','M','T'))
1585
    BEGIN
1586
        -- Xử lý điều phối
1587
      SELECT 'XL' AS PROCESS_ID, ridg.CHECKER_ID_XL AS TLNAME
1588
      FROM REQ_OUT_DOCUMENT_GATHER ridg
1589
        WHERE ridg.REQ_OUT_DOC_GATHER_ID=@p_REQ_ID AND  @AUTH_STATUS IN ('S','C','M','T') AND @p_USER_LOGIN = ridg.CHECKER_ID_XL
1590

    
1591
    END
1592
END
1593
-- END PYC xuất kho tập trung --
1594
-- BEGIN PHIẾU YÊU CẦU hoàn kho tập trung --
1595
ELSE IF (@P_TYPE = 'COL_DOC_QLK')
1596
BEGIN 
1597
	
1598
    SELECT @AUTH_STATUS=AUTH_STATUS
1599
    FROM REQ_COL_DOCUMENT_GATHER ridg 
1600
    WHERE ridg.REQ_COL_DOC_GATHER_ID=@p_REQ_ID 
1601

    
1602
    -- LƯU NHÁP
1603
    IF(@AUTH_STATUS ='E')
1604
    BEGIN
1605
        SELECT 'SEND_APPR' AS PROCESS_ID, MAKER_ID AS TLNAME
1606
        FROM REQ_COL_DOCUMENT_GATHER ridg
1607
        WHERE ridg.REQ_COL_DOC_GATHER_ID=@p_REQ_ID
1608
    END
1609
    -- TỪ CHỐI
1610
    ELSE IF(@AUTH_STATUS='R')
1611
    BEGIN
1612
        SELECT 'REJECT' AS PROCESS_ID, MAKER_ID AS TLNAME
1613
         FROM REQ_COL_DOCUMENT_GATHER ridg
1614
        WHERE ridg.REQ_COL_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'R'
1615
    END
1616
    -- CHỜ CẤP TRUNG GIAN PHÊ DUYỆT
1617
    ELSE IF(@AUTH_STATUS='P')
1618
    BEGIN
1619
        SELECT 'MID_APP' AS PROCESS_ID, ridg.CHECKER_MID_ID AS TLNAME
1620
      FROM REQ_COL_DOCUMENT_GATHER ridg
1621
        WHERE ridg.REQ_COL_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'P'
1622
    END
1623
  
1624
    -- CHỜ TRƯỞNG ĐƠN VỊ PHÊ DUYỆT
1625
    ELSE IF(@AUTH_STATUS IN ('U'))
1626
    BEGIN
1627

    
1628
        SELECT @DEP = DEP_ID FROM REQ_COL_DOCUMENT_GATHER WHERE REQ_COL_DOC_GATHER_ID = @p_REQ_ID 
1629
    		SELECT @BRN = BRANCH_ID FROM REQ_COL_DOCUMENT_GATHER WHERE REQ_COL_DOC_GATHER_ID = @p_REQ_ID 
1630
     
1631
--    		IF (ISNULL(@BRN, '') = '')
1632
--    		BEGIN
1633
--    			SET @BRN = @DEP
1634
--    			SET @DEP = ''
1635
--    		END
1636
     
1637
    		SELECT 'APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1638
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubRefundDocument')
1639
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1640
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1641
    END
1642
      ELSE IF(@AUTH_STATUS IN ('A'))
1643
    BEGIN
1644
   
1645
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_COL_DOCUMENT_GATHER WHERE REQ_COL_DOC_GATHER_ID = @p_REQ_ID 
1646
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1647
     
1648
    		IF (ISNULL(@BRN, '') = '')
1649
    		BEGIN
1650
    			SET @BRN = @DEP
1651
    			SET @DEP = ''
1652
    		END
1653
     
1654
    		SELECT 'DPXL' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1655
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubRefundDocument')
1656
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1657
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1658

    
1659
    END
1660
      ELSE IF(@AUTH_STATUS IN ('N'))
1661
    BEGIN
1662

    
1663
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_COL_DOCUMENT_GATHER WHERE REQ_COL_DOC_GATHER_ID = @p_REQ_ID 
1664
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1665
     
1666
    		IF (ISNULL(@BRN, '') = '')
1667
    		BEGIN
1668
    			SET @BRN = @DEP
1669
    			SET @DEP = ''
1670
    		END
1671
     
1672
    		SELECT 'GDDV_APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1673
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubRefundDocument')
1674
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1675
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1676

    
1677
    END
1678
    ELSE IF(@AUTH_STATUS IN ('S','C','M','T'))
1679
    BEGIN
1680
        -- Xử lý điều phối
1681
      SELECT 'XL' AS PROCESS_ID, ridg.CHECKER_ID_XL AS TLNAME
1682
      FROM REQ_COL_DOCUMENT_GATHER ridg
1683
        WHERE ridg.REQ_COL_DOC_GATHER_ID=@p_REQ_ID AND  @AUTH_STATUS IN ('S','C','M','T') AND @p_USER_LOGIN = ridg.CHECKER_ID_XL
1684

    
1685
    END
1686
END
1687
-- END PYC hoàn  kho tập trung --
1688
-- BEGIN PHIẾU YÊU CẦU hủy kho tập trung --
1689
ELSE IF (@P_TYPE = 'DES_DOC_QLK')
1690
BEGIN 
1691
	
1692
    SELECT @AUTH_STATUS=AUTH_STATUS
1693
    FROM REQ_DES_DOCUMENT_GATHER ridg 
1694
    WHERE ridg.REQ_DES_DOC_GATHER_ID=@p_REQ_ID 
1695

    
1696
    -- LƯU NHÁP
1697
    IF(@AUTH_STATUS ='E')
1698
    BEGIN
1699
        SELECT 'SEND_APPR' AS PROCESS_ID, MAKER_ID AS TLNAME
1700
        FROM REQ_DES_DOCUMENT_GATHER ridg
1701
        WHERE ridg.REQ_DES_DOC_GATHER_ID=@p_REQ_ID
1702
    END
1703
    -- TỪ CHỐI
1704
    ELSE IF(@AUTH_STATUS='R')
1705
    BEGIN
1706
        SELECT 'REJECT' AS PROCESS_ID, MAKER_ID AS TLNAME
1707
         FROM REQ_DES_DOCUMENT_GATHER ridg
1708
        WHERE ridg.REQ_DES_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'R'
1709
    END
1710
    -- CHỜ CẤP TRUNG GIAN PHÊ DUYỆT
1711
    ELSE IF(@AUTH_STATUS='P')
1712
    BEGIN
1713
        SELECT 'MID_APP' AS PROCESS_ID, ridg.CHECKER_MID_ID AS TLNAME
1714
      FROM REQ_DES_DOCUMENT_GATHER ridg
1715
        WHERE ridg.REQ_DES_DOC_GATHER_ID=@p_REQ_ID AND @AUTH_STATUS = 'P'
1716
    END
1717
  
1718
    -- CHỜ TRƯỞNG ĐƠN VỊ PHÊ DUYỆT
1719
    ELSE IF(@AUTH_STATUS IN ('U'))
1720
    BEGIN
1721

    
1722
        SELECT @DEP = DEP_ID FROM REQ_DES_DOCUMENT_GATHER WHERE REQ_DES_DOC_GATHER_ID = @p_REQ_ID 
1723
    		SELECT @BRN = BRANCH_ID FROM REQ_DES_DOCUMENT_GATHER WHERE REQ_DES_DOC_GATHER_ID = @p_REQ_ID 
1724
     
1725
--    		IF (ISNULL(@BRN, '') = '')
1726
--    		BEGIN
1727
--    			SET @BRN = @DEP
1728
--    			SET @DEP = ''
1729
--    		END
1730
     
1731
    		SELECT 'APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1732
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubReqCancelDocument')
1733
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1734
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1735
    END
1736
      ELSE IF(@AUTH_STATUS IN ('A'))
1737
    BEGIN
1738
   
1739
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_DES_DOCUMENT_GATHER WHERE REQ_DES_DOC_GATHER_ID = @p_REQ_ID 
1740
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1741
     
1742
    		IF (ISNULL(@BRN, '') = '')
1743
    		BEGIN
1744
    			SET @BRN = @DEP
1745
    			SET @DEP = ''
1746
    		END
1747
     
1748
    		SELECT 'DPXL' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1749
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubReqCancelDocument')
1750
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1751
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1752

    
1753
    END
1754
      ELSE IF(@AUTH_STATUS IN ('N'))
1755
    BEGIN
1756

    
1757
    		SELECT @DEP = BRANCH_MANAGER_ID FROM REQ_DES_DOCUMENT_GATHER WHERE REQ_DES_DOC_GATHER_ID = @p_REQ_ID 
1758
    		SELECT @BRN = BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID = @DEP
1759
     
1760
    		IF (ISNULL(@BRN, '') = '')
1761
    		BEGIN
1762
    			SET @BRN = @DEP
1763
    			SET @DEP = ''
1764
    		END
1765
     
1766
    		SELECT 'GDDV_APPR' AS PROCESS_ID, 'GDDV' AS ROLE_USER, @p_USER_LOGIN AS TLNAME
1767
    		FROM FN_GET_ROLE_USER_BY_TLNAME(@p_USER_LOGIN, 'Pages.Administration.HubReqCancelDocument')
1768
    		WHERE ROLE_DISPLAYNAME IN ('GDDV','TBP','KSV') 
1769
    		AND (DEP_ID = @DEP OR BRANCH_ID = @BRN)
1770

    
1771
    END
1772
    ELSE IF(@AUTH_STATUS IN ('S','C','M','T'))
1773
    BEGIN
1774
        -- Xử lý điều phối
1775
      SELECT 'XL' AS PROCESS_ID, ridg.CHECKER_ID_XL AS TLNAME
1776
      FROM REQ_DES_DOCUMENT_GATHER ridg
1777
        WHERE ridg.REQ_DES_DOC_GATHER_ID=@p_REQ_ID AND  @AUTH_STATUS IN ('S','C','M','T') AND @p_USER_LOGIN = ridg.CHECKER_ID_XL
1778

    
1779
    END
1780
END
1781
-- END PYC hủy kho tập trung --
1782
END
1783
----LUCTV: 19062023_SECRETKEY - FIX LỖI SHOW THIẾU TÊN GIÁM ĐỐC KHỐI