Project

General

Profile

RET_MASTER_Search.txt

Hot Fix xuất Excel - Luc Tran Van, 04/08/2022 01:45 PM

 
1

    
2
ALTER PROCEDURE [dbo].[RET_MASTER_Search]
3
@p_RET_ID	varchar(15)  = NULL,
4
@p_ASSET_ID VARCHAR(15) = NULL,
5
@P_ASSET_CODE VARCHAR(15) = NULL,
6
@P_DIV_ID VARCHAR(15) = NULL,
7
@P_DIV_CODE VARCHAR(15) = NULL,
8
@P_OWNER VARCHAR(50) = NULL,
9
@p_LENGTH	DECIMAL(18,2) = NULL,
10
@p_WIDTH	DECIMAL(18,2) = NULL,
11
@p_CURRENT_STATE	nvarchar(100)  = NULL,
12
@p_RET_TYPE	varchar(15)  = NULL,
13
@p_STATUS	varchar(15)  = NULL,
14
@p_LAND_SQUARE	DECIMAL(18,2)  = NULL,
15
@p_CONSTRUCT_SQUARE	DECIMAL(18,2)  = NULL,
16
@p_TOTAL_SQUARE	DECIMAL(18,2)  = NULL,
17
@p_BOUNDARY	nvarchar(100)  = NULL,
18
@p_HOUSEDES	nvarchar(100)  = NULL,
19
@p_PURPOSE_IN_USE	nvarchar(100)  = NULL,
20
@P_W_USE_CON NVARCHAR(100) = NULL,
21
@p_USE_STATUS	varchar(15)  = NULL,
22
@p_CONST_STATUS	varchar(15)  = NULL,
23
@p_OWNER_TYPE	varchar(15)  = NULL,
24
@p_USE_PERIOD	int  = NULL,
25
@p_PERSON_HOLDER	nvarchar(100)  = NULL,
26
@p_NOTES	nvarchar(100)  = NULL,
27
@p_RECORD_STATUS	varchar(1)  = NULL,
28
@p_AUTH_STATUS	varchar(1)  = NULL,
29
@p_MAKER_ID	varchar(15)  = NULL,
30
@p_CREATE_DT	VARCHAR(20) = NULL,
31
@p_CHECKER_ID	varchar(15)  = NULL,
32
@p_APPROVE_DT	VARCHAR(20) = NULL,
33
@p_TOP	INT = 10,
34
------------------BAODNQ 16/2/2022: Thêm tham số------------
35
@p_USER_LOGIN VARCHAR(15),
36
@p_BRANCH_ID VARCHAR(15) = NULL
37

    
38
AS
39
	--Validation is here
40
/*
41
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
42
	IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE  [CONDITION] ))
43
		 SET @ERRORSYS = ''
44
	IF @ERRORSYS <> '' 
45
	BEGIN
46
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
47
		RETURN '0'
48
	END */
49

    
50
BEGIN -- PAGING
51

    
52
--DECLARE @p_USER_LOGIN_ROLE VARCHAR(50) = (SELECT RoleName FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
53
DECLARE @t_USER_LOGIN_ROLE_TABLE TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
54

    
55
INSERT INTO @t_USER_LOGIN_ROLE_TABLE(BRANCH_ID, DEPT_ID, ROLE_ID)
56
	SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
57

    
58

    
59
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
60
-- PAGING BEGIN
61
SELECT A.*,(CASE WHEN USE_PERIOD = 0 THEN N'Lâu dài' ELSE convert(varchar(100),USE_PERIOD_DT, 103) END) AS USE_PERIOD_NAME, B.AUTH_STATUS_NAME, C.CONTENT, D.ASSET_NAME, D.BRANCH_ID, 
62
CASE WHEN BR.BRANCH_TYPE = 'HS' THEN DP.DEP_NAME ELSE BR.BRANCH_NAME END AS BRANCH_NAME, 
63
G.ADDR as ASS_ADDR,
64
D.BUY_PRICE,G.DIV_ID,G.DIV_CODE,G.DIV_NAME,E.CONTENT AS RET_STATUS, AST.TYPE_NAME AS ASSET_TYPE, ASG.GROUP_NAME AS ASS_GROUP,
65
-----------BAODNQ 15/3/2022 Lấy thông tin xuất excel
66
C.CONTENT AS RET_TYPE_NAME, --loại BDS
67
UF.CONTENT AS USE_FORM_NAME, -- hình thức sử dụng
68
US.CONTENT AS USE_STATUS_NAME, --tình trạng sử dụng đất
69
CS.CONTENT AS CONST_STATUS_NAME, --tình trạng xây dựng
70
E.CONTENT AS RET_STATUS_NAME, --hiện trạng pháp lý gắn liền vs đất
71
OT.CONTENT AS OWNER_TYPE_NAME -- loại sỡ hữu
72
-- SELECT END
73

    
74
FROM RET_MASTER A 
75
INNER JOIN CM_AUTH_STATUS B ON B.AUTH_STATUS = A.AUTH_STATUS
76
--INNER JOIN CM_ALLCODE C ON C.CDVAL = A.RET_TYPE AND C.CDNAME = 'RET_TYPE'AND C.CDTYPE = 'RET'
77
INNER JOIN CM_ALLCODE C ON C.CDVAL = A.RET_TYPE AND C.CDNAME = 'RET_TYPE_2'AND C.CDTYPE = 'RET'
78
INNER JOIN CM_ALLCODE E ON E.CDVAL = A.[STATUS] AND E.CDNAME = 'RET_STATUS' AND E.CDTYPE = 'RET'
79
INNER JOIN ASS_MASTER D ON D.ASSET_ID = A.ASSET_ID
80
LEFT JOIN CM_DIVISION G ON G.DIV_ID=D.DIVISION_ID
81
--LEFT JOIN CM_BRANCH BR ON D.BRANCH_CREATE = BR.BRANCH_ID
82
LEFT JOIN CM_BRANCH BR ON D.BRANCH_ID = BR.BRANCH_ID
83
LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = D.DEPT_ID
84
LEFT JOIN ASS_MASTER AMS ON A.ASSET_ID = AMS.ASSET_ID
85
LEFT JOIN ASS_TYPE AST ON AMS.TYPE_ID = AST.TYPE_ID
86
LEFT JOIN ASS_GROUP ASG ON AMS.GROUP_ID = ASG.GROUP_ID
87
----------------------BAODNQ 15/3/2022: Lấy thông tin xuất excel-----
88
LEFT JOIN CM_ALLCODE UF ON A.USE_FORM = UF.CDVAL AND UF.CDNAME = 'USE_FORM' AND UF.CDTYPE = 'RET'
89
LEFT JOIN CM_ALLCODE US ON A.USE_STATUS = US.CDVAL AND US.CDNAME = 'USE_STATUS' AND US.CDTYPE = 'RET'
90
LEFT JOIN CM_ALLCODE CS ON A.CONST_STATUS = CS.CDVAL AND CS.CDNAME = 'CONST_STATUS' AND CS.CDTYPE = 'RET'
91
LEFT JOIN CM_ALLCODE OT ON A.OWNER_TYPE = OT.CDVAL AND OT.CDNAME = 'OWNER_TYPE' AND OT.CDTYPE = 'RET'
92

    
93

    
94
 WHERE 1 = 1
95
	AND (A.RET_ID LIKE '%' + @p_RET_ID + '%' OR  @p_RET_ID IS NULL OR @p_RET_ID = '')
96
	AND (A.ASSET_ID LIKE '%' + @p_ASSET_ID + '%' OR  @p_ASSET_ID IS NULL OR @p_ASSET_ID = '')
97
	AND (A.ASSET_CODE LIKE '%' + @P_ASSET_CODE + '%' OR  @P_ASSET_CODE IS NULL OR @P_ASSET_CODE = '')
98
	AND (A.OWNER LIKE '%' + @P_OWNER + '%' OR  @P_OWNER IS NULL OR @P_OWNER = '')
99
	AND (A.LENGTH = @p_LENGTH OR  @p_LENGTH IS NULL)
100
	AND (A.WIDTH = @p_WIDTH OR  @p_WIDTH IS NULL)
101
	AND (A.CURRENT_STATE LIKE '%' + @p_CURRENT_STATE + '%' OR  @p_CURRENT_STATE IS NULL OR @p_CURRENT_STATE = '')
102
	AND (A.RET_TYPE LIKE '%' + @p_RET_TYPE + '%' OR  @p_RET_TYPE IS NULL OR @p_RET_TYPE = '')
103
	AND (A.STATUS LIKE '%' + @p_STATUS + '%' OR  @p_STATUS IS NULL OR @p_STATUS = '')
104
	AND (A.LAND_SQUARE = @p_LAND_SQUARE OR  @p_LAND_SQUARE IS NULL)
105
	AND (A.CONSTRUCT_SQUARE = @p_CONSTRUCT_SQUARE OR  @p_CONSTRUCT_SQUARE IS NULL)
106
	AND (A.TOTAL_SQUARE = @p_TOTAL_SQUARE OR  @p_TOTAL_SQUARE IS NULL)
107
	AND (A.BOUNDARY LIKE '%' + @p_BOUNDARY + '%' OR  @p_BOUNDARY IS NULL OR @p_BOUNDARY = '')
108
	AND (A.HOUSEDES LIKE '%' + @p_HOUSEDES + '%' OR  @p_HOUSEDES IS NULL OR @p_HOUSEDES = '')
109
	AND (A.PURPOSE_IN_USE LIKE '%' + @p_PURPOSE_IN_USE + '%' OR  @p_PURPOSE_IN_USE IS NULL OR @p_PURPOSE_IN_USE = '')
110
	AND (A.W_USE_CON LIKE '%' + @P_W_USE_CON + '%' OR  @P_W_USE_CON IS NULL OR @P_W_USE_CON = '')
111
	AND (A.USE_STATUS LIKE '%' + @p_USE_STATUS + '%' OR  @p_USE_STATUS IS NULL OR @p_USE_STATUS = '')
112
	AND (A.CONST_STATUS LIKE '%' + @p_CONST_STATUS + '%' OR  @p_CONST_STATUS IS NULL OR @p_CONST_STATUS = '')
113
	AND (A.OWNER_TYPE LIKE '%' + @p_OWNER_TYPE + '%' OR  @p_OWNER_TYPE IS NULL OR @p_OWNER_TYPE = '')
114
	AND (A.USE_PERIOD = @p_USE_PERIOD OR  @p_USE_PERIOD IS NULL)
115
	AND (A.PERSON_HOLDER LIKE '%' + @p_PERSON_HOLDER + '%' OR  @p_PERSON_HOLDER IS NULL OR @p_PERSON_HOLDER = '')
116
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
117
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
118
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
119
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
120
	AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
121
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
122
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
123
	AND (A.RECORD_STATUS = '1')
124
	AND (G.DIV_ID LIKE '%' + @P_DIV_ID + '%' OR @P_DIV_ID = '' OR @P_DIV_ID IS NULL)
125
	AND (G.DIV_CODE LIKE '%' + @P_DIV_CODE + '%' OR @P_DIV_CODE = '' OR @P_DIV_CODE IS NULL)
126
	AND (AMS.BRANCH_CREATE = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
127
	-------BAODNQ 16/2/2022: Thêm điều kiện search-------
128
		AND	(A.MAKER_ID = @p_USER_LOGIN		---- user login là ng tạo
129
			OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y') --- user login là cấp duyệt trung gian và đã gửi YC phê duyệt
130
			OR	(	
131
					--user login là trưởng ĐV và đã gửi YC phê duyệt
132
					(
133
						------user login là trưởng ĐV ở hội sở--------
134
						(
135
							EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = AMS.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
136
							AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
137
								= (SELECT DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
138
						)
139
						------user login là trưởng ĐV ở CN/PGD
140
						OR
141
						(
142
							NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = AMS.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
143
							AND AMS.BRANCH_CREATE = (SELECT BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
144
						)
145
					)
146
					AND A.IS_SEND_APPR = 'Y'
147
					AND	(
148
							ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
149
						)
150
			
151
				)
152
			)
153
	
154
-- PAGING END
155
ELSE
156
-- PAGING BEGIN
157
SELECT TOP(CONVERT(INT,@P_TOP)) A.*, B.AUTH_STATUS_NAME, C.CONTENT, D.ASSET_NAME, D.BRANCH_ID, 
158
CASE WHEN BR.BRANCH_TYPE = 'HS' THEN DP.DEP_NAME ELSE BR.BRANCH_NAME END AS BRANCH_NAME, 
159
 D.BUY_PRICE,G.DIV_ID,G.DIV_CODE,G.DIV_NAME, E.CONTENT AS RET_STATUS,
160
 -----------BAODNQ 15/3/2022 Lấy thông tin xuất excel
161
C.CONTENT AS RET_TYPE_NAME, --loại BDS
162
UF.CONTENT AS USE_FORM_NAME, -- hình thức sử dụng
163
US.CONTENT AS USE_STATUS_NAME, --tình trạng sử dụng đất
164
CS.CONTENT AS CONST_STATUS_NAME, --tình trạng xây dựng
165
E.CONTENT AS RET_STATUS_NAME, --hiện trạng pháp lý gắn liền vs đất
166
OT.CONTENT AS OWNER_TYPE_NAME -- loại sỡ hữu
167
 -- SELECT END
168
FROM RET_MASTER A 
169
INNER JOIN CM_AUTH_STATUS B ON B.AUTH_STATUS = A.AUTH_STATUS
170
--INNER JOIN CM_ALLCODE C ON C.CDVAL = A.RET_TYPE AND C.CDNAME = 'RET_TYPE'AND C.CDTYPE = 'RET'
171
INNER JOIN CM_ALLCODE C ON C.CDVAL = A.RET_TYPE AND C.CDNAME = 'RET_TYPE_2'AND C.CDTYPE = 'RET'
172
INNER JOIN CM_ALLCODE E ON E.CDVAL = A.[STATUS] AND E.CDNAME = 'RET_STATUS' AND E.CDTYPE = 'RET'
173
INNER JOIN ASS_MASTER D ON D.ASSET_ID = A.ASSET_ID
174
LEFT JOIN CM_DIVISION G ON G.DIV_ID=D.DIVISION_ID
175
--LEFT JOIN CM_BRANCH BR ON D.BRANCH_CREATE = BR.BRANCH_ID
176
LEFT JOIN CM_BRANCH BR ON D.BRANCH_ID = BR.BRANCH_ID
177
LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = D.DEPT_ID
178
----------------------BAODNQ 15/3/2022: Lấy thông tin xuất excel-----
179
LEFT JOIN CM_ALLCODE UF ON A.USE_FORM = UF.CDVAL AND UF.CDNAME = 'USE_FORM' AND UF.CDTYPE = 'RET'
180
LEFT JOIN CM_ALLCODE US ON A.USE_STATUS = US.CDVAL AND US.CDNAME = 'USE_STATUS' AND US.CDTYPE = 'RET'
181
LEFT JOIN CM_ALLCODE CS ON A.CONST_STATUS = CS.CDVAL AND CS.CDNAME = 'CONST_STATUS' AND CS.CDTYPE = 'RET'
182
LEFT JOIN CM_ALLCODE OT ON A.OWNER_TYPE = OT.CDVAL AND OT.CDNAME = 'OWNER_TYPE' AND OT.CDTYPE = 'RET'
183

    
184
 WHERE 1 = 1
185
	AND (A.RET_ID LIKE '%' + @p_RET_ID + '%' OR  @p_RET_ID IS NULL OR @p_RET_ID = '')
186
	AND (A.ASSET_ID LIKE '%' + @p_ASSET_ID + '%' OR  @p_ASSET_ID IS NULL OR @p_ASSET_ID = '')
187
	AND (A.ASSET_CODE LIKE '%' + @P_ASSET_CODE + '%' OR  @P_ASSET_CODE IS NULL OR @P_ASSET_CODE = '')
188
	AND (A.OWNER LIKE '%' + @P_OWNER + '%' OR  @P_OWNER IS NULL OR @P_OWNER = '')
189
	AND (A.LENGTH = @p_LENGTH OR  @p_LENGTH IS NULL)
190
	AND (A.WIDTH = @p_WIDTH OR  @p_WIDTH IS NULL)
191
	AND (A.CURRENT_STATE LIKE '%' + @p_CURRENT_STATE + '%' OR  @p_CURRENT_STATE IS NULL OR @p_CURRENT_STATE = '')
192
	AND (A.RET_TYPE LIKE '%' + @p_RET_TYPE + '%' OR  @p_RET_TYPE IS NULL OR @p_RET_TYPE = '')
193
	AND (A.STATUS LIKE '%' + @p_STATUS + '%' OR  @p_STATUS IS NULL OR @p_STATUS = '')
194
	AND (A.LAND_SQUARE = @p_LAND_SQUARE OR  @p_LAND_SQUARE IS NULL)
195
	AND (A.CONSTRUCT_SQUARE = @p_CONSTRUCT_SQUARE OR  @p_CONSTRUCT_SQUARE IS NULL)
196
	AND (A.TOTAL_SQUARE = @p_TOTAL_SQUARE OR  @p_TOTAL_SQUARE IS NULL)
197
	AND (A.BOUNDARY LIKE '%' + @p_BOUNDARY + '%' OR  @p_BOUNDARY IS NULL OR @p_BOUNDARY = '')
198
	AND (A.HOUSEDES LIKE '%' + @p_HOUSEDES + '%' OR  @p_HOUSEDES IS NULL OR @p_HOUSEDES = '')
199
	AND (A.PURPOSE_IN_USE LIKE '%' + @p_PURPOSE_IN_USE + '%' OR  @p_PURPOSE_IN_USE IS NULL OR @p_PURPOSE_IN_USE = '')
200
	AND (A.W_USE_CON LIKE '%' + @P_W_USE_CON + '%' OR  @P_W_USE_CON IS NULL OR @P_W_USE_CON = '')
201
	AND (A.USE_STATUS LIKE '%' + @p_USE_STATUS + '%' OR  @p_USE_STATUS IS NULL OR @p_USE_STATUS = '')
202
	AND (A.CONST_STATUS LIKE '%' + @p_CONST_STATUS + '%' OR  @p_CONST_STATUS IS NULL OR @p_CONST_STATUS = '')
203
	AND (A.OWNER_TYPE LIKE '%' + @p_OWNER_TYPE + '%' OR  @p_OWNER_TYPE IS NULL OR @p_OWNER_TYPE = '')
204
	AND (A.USE_PERIOD = @p_USE_PERIOD OR  @p_USE_PERIOD IS NULL)
205
	AND (A.PERSON_HOLDER LIKE '%' + @p_PERSON_HOLDER + '%' OR  @p_PERSON_HOLDER IS NULL OR @p_PERSON_HOLDER = '')
206
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
207
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
208
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
209
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
210
	AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
211
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
212
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
213
	AND (A.RECORD_STATUS = '1')
214
	AND (G.DIV_ID LIKE '%' + @P_DIV_ID + '%' OR @P_DIV_ID = '' OR @P_DIV_ID IS NULL)
215
	AND (G.DIV_CODE LIKE '%' + @P_DIV_CODE + '%' OR @P_DIV_CODE = '' OR @P_DIV_CODE IS NULL)
216
	AND (D.BRANCH_CREATE = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
217
	-------BAODNQ 16/2/2022: Thêm điều kiện search-------
218
		--AND	(A.MAKER_ID = @p_USER_LOGIN		---- user login là ng tạo
219
		--	OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y') --- user login là cấp duyệt trung gian và đã gửi YC phê duyệt
220
		--	OR	(
221
		--			((SELECT ROLE_NAME FROM @t_USER_LOGIN_ROLE_TABLE) IN('GDDV','PGD', 'TP', 'PP','TPGD','PPGD', 'TBP')) --- user login là trưởng ĐV và đã gửi YC phê duyệt
222
		--			AND A.IS_SEND_APPR = 'Y'
223
		--			AND	(
224
		--					ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
225
		--				)
226
			
227
		--		)
228
		--	)
229
		AND	(A.MAKER_ID = @p_USER_LOGIN		---- user login là ng tạo
230
			OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y') --- user login là cấp duyệt trung gian và đã gửi YC phê duyệt
231
			OR	(	
232
					--user login là trưởng ĐV và đã gửi YC phê duyệt
233
					(
234
						------user login là trưởng ĐV ở hội sở--------
235
						(
236
							EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = D.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
237
							AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
238
								= (SELECT DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
239
						)
240
						------user login là trưởng ĐV ở CN/PGD
241
						OR 
242
						(
243
							NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = D.BRANCH_CREATE AND BRANCH_TYPE = 'HS')
244
							AND D.BRANCH_CREATE = (SELECT BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
245
						)
246
					)
247
					AND A.IS_SEND_APPR = 'Y'
248
					AND	(
249
							ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
250
						)
251
			
252
				)
253
			)
254
-- PAGING END
255
END -- PAGING
256