Project

General

Profile

TR_CONTRACT_Search.txt

Luc Tran Van, 10/19/2022 10:52 AM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_CONTRACT_Search]
3
	@p_CONSTRACT_CODE	varchar(50)  = NULL,
4
	@p_CONTRACT_ID	varchar(15)  = NULL,
5
	@p_CONSTRACT_TYPE	varchar(1)  = NULL,
6
	@p_CONSTRACT_NAME	NVARCHAR(200)  = NULL,
7
	@p_BID_ID	varchar(15)  = NULL,
8
	@p_BID_CODE	varchar(15)  = NULL,
9
	@p_SUP_ID	varchar(15)  = NULL,
10
	@p_SUP_CODE	varchar(15)  = NULL,
11
	@P_SIGN_DT  VARCHAR(20)  = NULL,
12
	@P_CREATE_DT VARCHAR(50) = NULL,	
13
	@p_AUTH_STATUS VARCHAR(1) = NULL,
14
	@P_CONSTRUCT_ID VARCHAR(15) = NULL,
15
	@P_CONSTRUCT_CODE VARCHAR(15) = NULL,
16
	@P_START_DT VARCHAR(20) = NULL,
17
	@P_END_DT VARCHAR(20) = NULL,
18
	@P_CONTRACT_PARENT varchar(15) = NULL,
19
	@p_REQUEST_ID varchar(15)=NULL,
20
	@P_TOP INT =10,
21
	@p_PYC_CODE VARCHAR(125) = NULL,
22
	@p_PYC_NAME NVARCHAR(250) = NULL,
23
	@p_TTCT_CODE VARCHAR(25) = NULL,
24
	@p_TTCT_NAME NVARCHAR(250) = NULL,
25
	@p_HH_TYPE_CODE VARCHAR(25) = NULL,
26
	@p_HH_TYPE_NAME NVARCHAR(250) = NULL,
27
	@p_CUST_ID VARCHAR(15) = NULL,
28
	@p_CONT_TYPE VARCHAR(150) = NULL,
29
	@p_BRANCH_ID VARCHAR(15)= NULL,
30
	@p_BRANCH_LOGIN VARCHAR(15) = NULL,
31
	@p_LEVEL VARCHAR(15) = 'ALL',
32
	@p_MAKER_ID VARCHAR(15) = NULL,
33
	--------------BAODNQ 23/2/2022: Thêm tham số---------------
34
	@p_CONTRACT_STATUS VARCHAR(1) = NULL,
35
	@p_REQ_DOC_ID VARCHAR(15) = NULL,
36
	@p_USER_LOGIN VARCHAR(15) = NULL,
37
	-------------BAODNQ 13/9/2022 : Thêm DEP_LOGIN----------
38
	@p_DEP_LOGIN VARCHAR(15) = NULL
39
AS
40
BEGIN -- PAGING
41
	--set @p_MAKER_ID = TRIM(@p_MAKER_ID)
42
	--SET @p_LEVEL='ALL'
43

    
44
	IF(@p_LEVEL IS NULL OR @p_LEVEL = '')
45
	BEGIN
46
		SET @p_LEVEL = 'ALL'
47
	END
48

    
49
	-----------BAODNQ 13/9/2022 : Nếu phòng ban đăng nhập là phòng KT, set LEVEL = ALL------
50
	IF(@p_DEP_LOGIN = 'DEP000000000022')
51
	BEGIN
52
		SET @p_LEVEL = 'ALL'
53
	END
54

    
55
	SET @P_TOP =2000
56
	declare @tmp table(BRANCH_ID varchar(15))
57
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
58
	--- KHAI BAO TABLE SPLIT CHUOI 
59
	DECLARE @l_LST_CONTYPE TABLE ([ID] [int] IDENTITY(1,1) NOT NULL,[VALUE] [NVARCHAR](MAX) NULL)
60
	INSERT INTO @l_LST_CONTYPE SELECT VALUE FROM WSISPLIT(@p_CONT_TYPE,',')
61

    
62
	DECLARE @t_CONTRACT_PAYMENT TABLE(
63
	REF_ID VARCHAR(15), TOTAL_AMT_PAY DECIMAL(18,0), TRN_TYPE VARCHAR(20))
64

    
65
INSERT INTO @t_CONTRACT_PAYMENT
66
	SELECT REF_ID, ISNULL(SUM(AMT_PAY_REAL),0) AS TOTAL_AMT_PAY, TRN_TYPE
67
	FROM TR_REQ_PAY_SCHEDULE
68
	WHERE AUTH_STATUS_KT = 'A'
69
	GROUP BY TRN_TYPE, REF_ID
70

    
71
DECLARE @t_USER_LOGIN_ROLE_TABLE TABLE 
72
	(BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
73
INSERT INTO @t_USER_LOGIN_ROLE_TABLE(BRANCH_ID, DEPT_ID, ROLE_ID)
74
	SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
75

    
76
IF(@p_CONSTRACT_TYPE = '2')
77
	IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
78
	-- PAGING BEGIN
79
		SELECT A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
80
		 D.AUTH_STATUS_NAME,F.CONSTRUCT_CODE,F.CONSTRUCT_ID,
81
		ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,'' AS SO_PYC, '' AS TEN_PYC,
82
		'' AS SO_TT_CT, '' AS TEN_TT_CT, A.CREATE_DT   AS NGAY_NHAN_TT, A.CREATE_DT  AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME,
83
		'' AS NCC_ADDR, B.TAX_NO,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME,CA.CONTENT AS CONT_TYPE_NAME, LS.CUSTOMER_NAME AS  CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,
84
		BR.BRANCH_CODE, BR.BRANCH_NAME, '' AS TO_TRINH_ID,B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,
85
		0.0 AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
86
		0.0 AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
87
		0.0 AS TOTAL_REMAIN_AMT,
88
		'' AS IS_FLAG_END, TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
89
		---------BAODNQ 16/5/2022: Lấy thêm cột-------
90
		CASE
91
			WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
92
			ELSE B.ADDR
93
		END
94
		AS ADDR
95
		--A.ADDRESS AS ADDR
96
		-- SELECT END
97
		FROM TR_CONTRACT A
98
		LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
99
		LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
100
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
101
		LEFT JOIN BID_MASTER E ON E.BID_ID = A.BID_ID
102
		LEFT JOIN CON_MASTER F ON F.CONSTRUCT_ID = E.PROJECT_ID
103
		LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
104
		LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
105
		LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
106
		LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
107
		LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
108
		LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
109

    
110
		WHERE 1=1
111
		AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
112
		AND (F.CONSTRUCT_ID like '%'+@P_CONSTRUCT_ID+'%' OR @P_CONSTRUCT_ID IS NULL OR @P_CONSTRUCT_ID like '')
113
	    AND (F.CONSTRUCT_CODE like '%'+@P_CONSTRUCT_CODE+'%' OR @P_CONSTRUCT_CODE IS NULL OR @P_CONSTRUCT_CODE like '')
114
		AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
115
		AND (A.CONTRACT_ID like '%'+@p_CONTRACT_ID+'%' OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
116
		AND (A.[CONTRACT_NAME] like '%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
117
		AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
118
		AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
119
		AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
120
		AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
121
		AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
122
		AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
123
		AND (DATEDIFF(DAY,A.START_DT,CONVERT(DATETIME, @P_START_DT, 103)) = 0 OR @P_START_DT IS NULL OR @P_START_DT='')
124
		AND (DATEDIFF(DAY,A.END_DT,CONVERT(DATETIME, @P_END_DT, 103)) = 0 OR @P_END_DT IS NULL OR @P_END_DT='')
125
		AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
126
		AND (A.CONTRACT_TYPE like '%'+@p_CONSTRACT_TYPE +'%' OR @p_CONSTRACT_TYPE IS NULL OR @p_CONSTRACT_TYPE like '')
127
		AND (A.CONTRACT_PARENT like '%'+@P_CONTRACT_PARENT+'%' OR @P_CONTRACT_PARENT IS NULL OR @P_CONTRACT_PARENT like '')
128
		AND A.RECORD_STATUS = '1'
129
		AND (A.REQUEST_ID LIKE '%' + @p_REQUEST_ID + '%' OR  @p_REQUEST_ID IS NULL OR @p_REQUEST_ID = '')
130
		AND(EXISTS(SELECT HH_ID FROM CM_HANGHOA HH LEFT JOIN CM_HANGHOA_TYPE HT ON HH.HH_TYPE_ID=HT.HH_TYPE_ID WHERE 
131
		 (HT.HH_TYPE_CODE LIKE '%' + @p_HH_TYPE_CODE + '%' OR @p_HH_TYPE_CODE = '' OR @p_HH_TYPE_CODE IS NULL)
132
		AND (HT.HH_TYPE_NAME LIKE N'%' + @p_HH_TYPE_NAME + '%' OR @p_HH_TYPE_NAME = '' OR @p_HH_TYPE_NAME IS NULL) AND HH.HH_ID=PT.GOODS_ID))
133
		AND (A.CUST_ID =@p_CUST_ID OR @p_CUST_ID IS NULL OR @p_CUST_ID ='')
134
		AND (A.CONT_TYPE IN (SELECT VALUE FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
135
		AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
136
		OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL
137
		--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
138
		AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
139
		--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
140
		--AND(
141
		--	A.MAKER_ID = @p_USER_LOGIN
142
		--	OR(
143
		--		------user login là trưởng ĐV ở hội sở--------
144
		--			(
145
		--				EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
146
		--				AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
147
		--					= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
148
		--			)
149
		--			------user login là trưởng ĐV ở CN/PGD
150
		--			OR
151
		--			(
152
		--				NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
153
		--				AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
154
		--			)
155
		--			AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
156
		--	)
157
		--	OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
158
		--)
159
	)
160
	ORDER BY A.CREATE_DT DESC
161
	-- PAGING END
162
   ELSE
163
    -- PAGING BEGIN
164
		SELECT TOP(CONVERT(INT,@P_TOP)) A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL,
165
		 B.CONTACT_PERSON AS SUP_CONTACT_PERSON, D.AUTH_STATUS_NAME,F.CONSTRUCT_CODE,F.CONSTRUCT_ID,
166
		ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,'' AS TEN_PYC,
167
		'' AS SO_TT_CT, A.CREATE_DT   AS NGAY_NHAN_TT, '' AS TEN_TT_CT, A.CREATE_DT  AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR,B.TAX_NO,
168
		CA.CONTENT AS CONT_TYPE_NAME,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME, LS.CUSTOMER_NAME AS CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,BR.BRANCH_CODE, BR.BRANCH_NAME,'' AS TO_TRINH_ID,
169
		B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,0.0 AS TOTAL_ADV_AMT, 0.0 AS TOTAL_PAY_AMT,'' AS IS_FLAG_END,
170
		TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
171
		---------BAODNQ 16/5/2022: Lấy thêm cột-------
172
		CASE
173
			WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
174
			ELSE B.ADDR
175
		END
176
		AS ADDR
177
		--A.ADDRESS AS ADDR
178
		-- SELECT END
179
		FROM TR_CONTRACT A
180
		LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
181
		LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
182
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
183
		LEFT JOIN BID_MASTER E ON E.BID_ID = A.BID_ID
184
		LEFT JOIN CON_MASTER F ON F.CONSTRUCT_ID = E.PROJECT_ID
185
		LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
186
		LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
187
		LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
188
		LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
189
		LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
190
		LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
191

    
192
		WHERE 1=1
193
		AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
194
		AND (F.CONSTRUCT_ID like '%'+@P_CONSTRUCT_ID+'%' OR @P_CONSTRUCT_ID IS NULL OR @P_CONSTRUCT_ID like '')
195
	    AND (F.CONSTRUCT_CODE like '%'+@P_CONSTRUCT_CODE+'%' OR @P_CONSTRUCT_CODE IS NULL OR @P_CONSTRUCT_CODE like '')
196
		AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
197
		AND (A.CONTRACT_ID like '%'+@p_CONTRACT_ID+'%' OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
198
		AND (A.[CONTRACT_NAME] like '%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
199
		AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
200
		AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
201
		AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
202
		AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
203
		AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
204
		AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
205
		AND (DATEDIFF(DAY,A.START_DT,CONVERT(DATETIME, @P_START_DT, 103)) = 0 OR @P_START_DT IS NULL OR @P_START_DT='')
206
		AND (DATEDIFF(DAY,A.END_DT,CONVERT(DATETIME, @P_END_DT, 103)) = 0 OR @P_END_DT IS NULL OR @P_END_DT='')
207
		AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
208
		AND (A.CONTRACT_TYPE like '%'+@p_CONSTRACT_TYPE +'%' OR @p_CONSTRACT_TYPE IS NULL OR @p_CONSTRACT_TYPE like '')
209
		AND (A.CONTRACT_PARENT like '%'+@P_CONTRACT_PARENT+'%' OR @P_CONTRACT_PARENT IS NULL OR @P_CONTRACT_PARENT like '')
210
		AND A.RECORD_STATUS = '1'
211
		AND (A.REQUEST_ID LIKE '%' + @p_REQUEST_ID + '%' OR  @p_REQUEST_ID IS NULL OR @p_REQUEST_ID = '')
212
		AND(EXISTS(SELECT HH_ID FROM CM_HANGHOA HH LEFT JOIN CM_HANGHOA_TYPE HT ON HH.HH_TYPE_ID=HT.HH_TYPE_ID WHERE 
213
		 (HT.HH_TYPE_CODE LIKE '%' + @p_HH_TYPE_CODE + '%' OR @p_HH_TYPE_CODE = '' OR @p_HH_TYPE_CODE IS NULL)
214
		AND (HT.HH_TYPE_NAME LIKE N'%' + @p_HH_TYPE_NAME + '%' OR @p_HH_TYPE_NAME = '' OR @p_HH_TYPE_NAME IS NULL) AND HH.HH_ID=PT.GOODS_ID))
215
		AND (A.CUST_ID =@p_CUST_ID OR @p_CUST_ID IS NULL OR @p_CUST_ID ='')
216
		--AND (A.CONT_TYPE =@p_CONT_TYPE OR (@p_CONT_TYPE IS NULL OR @p_CONT_TYPE =''))
217
		AND (A.CONT_TYPE IN (SELECT VALUE FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
218
		AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
219
		OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL)
220
		--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
221
		AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
222
		--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
223
		--AND(
224
		--	A.MAKER_ID = @p_USER_LOGIN
225
		--	OR(
226
		--		------user login là trưởng ĐV ở hội sở--------
227
		--			(
228
		--				EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
229
		--				AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
230
		--					= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
231
		--			)
232
		--			------user login là trưởng ĐV ở CN/PGD
233
		--			OR
234
		--			(
235
		--				NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
236
		--				AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
237
		--			)
238
		--			AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
239
		--	)
240
		--	OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
241
		--)
242
		ORDER BY A.CREATE_DT DESC
243
		-- PAGING END
244
ELSE
245
	IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
246
	-- PAGING BEGIN
247
		SELECT A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
248
		 D.AUTH_STATUS_NAME,
249
		ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,
250
		DC.REQ_CODE AS SO_PYC, DC.REQ_NAME AS TEN_PYC, DC.REQ_ID AS PYC_ID, DC.REQ_ID AS TR_REQ_ID,
251
		T.REQ_CODE AS SO_TT_CT, T.REQ_NAME AS TEN_TT_CT, T.CREATE_DT   AS NGAY_NHAN_TT, T.APPROVE_DT  AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, '' AS NCC_ADDR, B.TAX_NO,
252
		CA.CONTENT AS CONT_TYPE_NAME,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME, LS.CUSTOMER_NAME AS CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,BR.BRANCH_CODE, BR.BRANCH_NAME,T.REQ_ID AS TO_TRINH_ID,
253
		B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,
254
		ISNULL(ADV.TOTAL_AMT_PAY,0) AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
255
		ISNULL(PA.TOTAL_AMT_PAY,0) AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
256
		A.TOTAL_AMT - ISNULL((PA.TOTAL_AMT_PAY),0) AS TOTAL_REMAIN_AMT,
257
		CASE
258
			WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
259
				THEN N'Đang tạm ứng'
260
			WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND (A.TOTAL_AMT - ISNULL((ADV.TOTAL_AMT_PAY + PA.TOTAL_AMT_PAY),0)) <> 0
261
				THEN N'Thanh toán 1 phần'
262
			WHEN (A.TOTAL_AMT - (ADV.TOTAL_AMT_PAY - PA.TOTAL_AMT_PAY)) = 0
263
				THEN N'Thanh toán xong'
264
			WHEN ISNULL(ADV.TOTAL_AMT_PAY, 0) = 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
265
				THEN N'Chưa thanh toán'
266
		END
267
		AS STATUS,
268
		'' AS IS_FLAG_END, TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
269
		---------BAODNQ 16/5/2022: Lấy thêm cột-------
270
		CASE
271
			WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
272
			ELSE B.ADDR
273
		END
274
		AS ADDR,
275
		--------------BAODNQ 12/7/2022----------
276
		CMS.DMMS_NAME
277
		--A.ADDRESS AS ADDR
278
		-- SELECT END
279
		FROM TR_CONTRACT A
280
		LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
281
		LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
282
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
283
		LEFT JOIN TR_REQUEST_DOC DC ON A.REQ_DOC_ID = DC.REQ_ID
284
		LEFT JOIN PL_REQUEST_DOC T ON DC.PL_REQ_ID = T.REQ_ID
285
		LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
286
		--LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
287
		LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
288
		LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
289
		-------------BAODNQ 12/7/2022------------------
290
		LEFT JOIN(
291
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
292
			dbo.CM_DMMS 
293
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
294
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
295
			UNION ALL
296
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
297
			FROM dbo.CM_DVDM
298
		)CMS ON CMS.DMMS_ID = DC.DMMS_ID
299
		LEFT JOIN @t_CONTRACT_PAYMENT ADV ON ADV.REF_ID = A.CONTRACT_ID AND ADV.TRN_TYPE = 'ADV_PAY'
300
		LEFT JOIN @t_CONTRACT_PAYMENT PA ON PA.REF_ID = A.CONTRACT_ID AND PA.TRN_TYPE = 'PAY'
301
		LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
302
		LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
303
		
304
		WHERE 1=1
305
		AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
306
		AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
307
		AND (A.CONTRACT_ID =@p_CONTRACT_ID  OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
308
		AND (A.[CONTRACT_NAME] like N'%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
309
		AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
310
		AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
311
		AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
312
		AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
313
		AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
314
		AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
315
		AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
316
		AND (A.CONTRACT_TYPE like '%'+@p_CONSTRACT_TYPE +'%' OR @p_CONSTRACT_TYPE IS NULL OR @p_CONSTRACT_TYPE like '')
317
		AND (A.CONT_TYPE IN (SELECT VALUE FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
318
		AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
319
		OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL OR A.CONT_TYPE ='DK')
320
		--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
321
		AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
322
		AND (DC.REQ_CODE =@p_PYC_CODE OR @p_PYC_CODE IS NULL OR @p_PYC_CODE ='' OR DC.REQ_ID =@p_PYC_CODE)
323
		AND (T.REQ_CODE =@p_TTCT_CODE OR @p_TTCT_CODE IS NULL OR @p_TTCT_CODE ='' OR T.REQ_ID =@p_TTCT_CODE)
324
		AND ( (LEN(@p_CUST_ID)=1 AND 
325
									((@p_CUST_ID ='Y' AND (CONVERT(DATE, GETDATE(),103) <= CONVERT(DATE, A.END_DT,103) OR A.END_DT IS NULL))
326
									OR (@p_CUST_ID ='N' AND (CONVERT(DATE, GETDATE(),103) > CONVERT(DATE, A.END_DT,103)))
327
									))
328
				OR (LEN(@p_CUST_ID) >1 AND A.CUST_ID =@p_CUST_ID)
329
				OR (@p_CUST_ID IS NULL OR @p_CUST_ID ='')
330
			)
331
		----------------------BAODNQ 23/2/2022-----------Thêm điều kiện tìm kiếm-----------------
332
		AND(
333
			--------Còn hiệu lực------
334
			--------------BAODNQ 19/10/2022 : Nếu k nhập ngày hết hiệu lực thì tình trạng là còn hiệu lực-----
335
			((@p_CONTRACT_STATUS = 'C') 
336
				AND (CONVERT(DATE, A.END_DT, 103) >= CONVERT(DATE, GETDATE(), 103))
337
				OR(A.END_DT IS NULL OR A.END_DT = '')
338
			)
339
			OR
340
			--------Hết hiệu lực------
341
			((@p_CONTRACT_STATUS = 'H') AND (CONVERT(DATE, A.END_DT, 103) < CONVERT(DATE, GETDATE(), 103)))
342
			OR (@p_CONTRACT_STATUS IS NULL OR @p_CONTRACT_STATUS = '')
343
		)
344
		AND (A.REQ_DOC_ID = @p_REQ_DOC_ID OR @p_REQ_DOC_ID IS NULL OR @p_REQ_DOC_ID = '')
345
		--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
346
		--AND(
347
		--	A.MAKER_ID = @p_USER_LOGIN
348
		--	OR(
349
		--		------user login là trưởng ĐV ở hội sở--------
350
		--			(
351
		--				EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
352
		--				AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
353
		--					= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
354
		--			)
355
		--			------user login là trưởng ĐV ở CN/PGD
356
		--			OR
357
		--			(
358
		--				NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
359
		--				AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
360
		--			)
361
		--			AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
362
		--	)
363
		--	OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
364
		--)
365
		ORDER BY A.CREATE_DT DESC
366
	-- PAGING END
367
   ELSE
368
    -- PAGING BEGIN
369
		SELECT TOP(CONVERT(INT,@P_TOP)) A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
370
		 D.AUTH_STATUS_NAME,
371
		ISNULL((SELECT SUM(TR_PO.TOTAL_AMT) FROM TR_PO_MASTER TR_PO WHERE TR_PO.CONTRACT_ID = A.CONTRACT_ID),0) AS DONE_AMT,
372
		DC.REQ_CODE AS SO_PYC, DC.REQ_NAME AS TEN_PYC, DC.REQ_ID AS PYC_ID, DC.REQ_ID AS TR_REQ_ID,
373
		T.REQ_CODE AS SO_TT_CT, T.REQ_NAME AS TEN_TT_CT, T.CREATE_DT   AS NGAY_NHAN_TT, T.APPROVE_DT  AS NGAY_DUYET_TT, '' AS NCC_CODE, '' NCC_NAME, N'Họp đồng số: '+ A.CONTRACT_ID +N' đã hết hiệu lực' NCC_ADDR, B.TAX_NO,
374
		CA.CONTENT AS CONT_TYPE_NAME,'' AS HH_TYPE_CODE,'' AS HH_TYPE_NAME, LS.CUSTOMER_NAME AS CUST_NAME, LS.CUSTOMER_CODE AS CUST_CODE,BR.BRANCH_CODE, BR.BRANCH_NAME, T.REQ_ID AS TO_TRINH_ID,
375
		B.ACC_NUM,B.ACC_NAME,B.BANK_NAME,B.ACC_NAME_OUT,B.ACC_NUM_OUT,B.BANK_NAME_OUT,
376
		ISNULL(ADV.TOTAL_AMT_PAY,0) AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
377
		ISNULL(PA.TOTAL_AMT_PAY,0) AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
378
		A.TOTAL_AMT - ISNULL((PA.TOTAL_AMT_PAY),0) AS TOTAL_REMAIN_AMT,
379
		CASE
380
			WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
381
				THEN N'Đang tạm ứng'
382
			WHEN ISNULL(ADV.TOTAL_AMT_PAY,0) > 0 AND (A.TOTAL_AMT - ISNULL((ADV.TOTAL_AMT_PAY + PA.TOTAL_AMT_PAY),0)) <> 0
383
				THEN N'Thanh toán 1 phần'
384
			WHEN (A.TOTAL_AMT - (ADV.TOTAL_AMT_PAY - PA.TOTAL_AMT_PAY)) = 0
385
				THEN N'Thanh toán xong'
386
			WHEN ISNULL(ADV.TOTAL_AMT_PAY, 0) = 0 AND ISNULL(PA.TOTAL_AMT_PAY,0) = 0
387
				THEN N'Chưa thanh toán'
388
		END
389
		AS STATUS,
390
		CASE WHEN CONVERT(DATE, A.END_DT, 103) < CONVERT(DATE, GETDATE(), 103) AND A.END_DT IS NOT NULL AND A.END_DT <> '' 
391
		THEN N'Hợp đồng số :' + A.CONTRACT_ID + N' đã hết hiệu lực kể từ ngày ' + FORMAT(DATEADD(DAY,1,A.END_DT),'dd/MM/yyyy') ELSE '' END AS IS_FLAG_END,
392
		TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
393
		---------BAODNQ 16/5/2022: Lấy thêm cột-------
394
		CASE
395
			WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
396
			ELSE B.ADDR
397
		END
398
		AS ADDR,
399
		CMS.DMMS_NAME
400
		--A.ADDRESS AS ADDR
401
		-- SELECT END
402
		FROM TR_CONTRACT A
403
		LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
404
		LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
405
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
406
		LEFT JOIN TR_REQUEST_DOC DC ON A.REQ_DOC_ID = DC.REQ_ID
407
		LEFT JOIN PL_REQUEST_DOC T ON DC.PL_REQ_ID = T.REQ_ID
408
		LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
409
		--LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
410
		LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
411
		LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
412
		-------------BAODNQ 12/7/2022------------------
413
		LEFT JOIN(
414
			SELECT DMMS_ID,DEP_NAME+'-'+BRANCH_NAME AS DMMS_NAME FROM
415
			dbo.CM_DMMS 
416
			LEFT JOIN dbo.CM_BRANCH ON CM_BRANCH.BRANCH_ID=CM_DMMS.BRANCH_ID
417
			LEFT JOIN dbo.CM_DEPARTMENT ON CM_DEPARTMENT.DEP_ID = CM_DMMS.DEP_ID
418
			UNION ALL
419
			SELECT DVDM_ID AS DMMS_ID ,DVDM_NAME AS DMMS_NAME
420
			FROM dbo.CM_DVDM
421
		)CMS ON CMS.DMMS_ID = DC.DMMS_ID
422
		LEFT JOIN @t_CONTRACT_PAYMENT ADV ON ADV.REF_ID = A.CONTRACT_ID AND ADV.TRN_TYPE = 'ADV_PAY'
423
		LEFT JOIN @t_CONTRACT_PAYMENT PA ON PA.REF_ID = A.CONTRACT_ID AND PA.TRN_TYPE = 'PAY'
424
		LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
425
		LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
426

    
427
		WHERE 1=1
428
		AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
429
		AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
430
		AND (A.CONTRACT_ID =@p_CONTRACT_ID OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
431
		AND (A.[CONTRACT_NAME] like N'%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
432
		AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
433
		AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
434
		AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
435
		AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
436
		AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
437
		AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
438
		AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
439
		AND( DC.REQ_CODE like '%'+@p_PYC_CODE +'%' OR @p_PYC_CODE IS NULL OR @p_PYC_CODE like '' )
440
		AND( T.REQ_CODE like '%'+@p_TTCT_CODE +'%' OR @p_TTCT_CODE IS NULL OR @p_TTCT_CODE like '' )
441
		AND( T.REQ_NAME like N'%'+@p_TTCT_NAME +'%' OR @p_TTCT_NAME IS NULL OR @p_TTCT_NAME like '' )
442
		AND A.RECORD_STATUS = '1'
443
		AND ((LEN(@p_CUST_ID)=1 AND 
444
									((@p_CUST_ID ='Y' AND (CONVERT(DATE, GETDATE(),103) <= CONVERT(DATE, A.END_DT,103) OR A.END_DT IS NULL))
445
									OR (@p_CUST_ID ='N' AND (CONVERT(DATE, GETDATE(),103) > CONVERT(DATE, A.END_DT,103)))
446
									))
447
				OR (LEN(@p_CUST_ID) >1 AND A.CUST_ID =@p_CUST_ID)
448
				OR (@p_CUST_ID IS NULL OR @p_CUST_ID ='')
449
			)
450
		AND (A.CONT_TYPE IN (SELECT [VALUE] FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
451
		AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
452
		OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL  OR A.CONT_TYPE ='NT')
453
		--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
454
		AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
455
		AND (DC.REQ_CODE =@p_PYC_CODE OR @p_PYC_CODE IS NULL OR @p_PYC_CODE ='' OR DC.REQ_ID =@p_PYC_CODE)
456
		--AND (T.REQ_CODE =@p_TTCT_CODE OR @p_TTCT_CODE IS NULL OR @p_TTCT_CODE ='' OR T.REQ_ID =@p_TTCT_CODE)
457
		----------------------BAODNQ 23/2/2022-----------Thêm điều kiện tìm kiếm-----------------
458
		AND(
459
			--------Còn hiệu lực------
460
			((@p_CONTRACT_STATUS = 'C') 
461
				AND (CONVERT(DATE, A.END_DT, 103) >= CONVERT(DATE, GETDATE(), 103))
462
				OR(A.END_DT IS NULL OR A.END_DT = '')
463
			)
464
			OR
465
			--------Hết hiệu lực------
466
			((@p_CONTRACT_STATUS = 'H') AND (CONVERT(DATE, A.END_DT, 103) < CONVERT(DATE, GETDATE(), 103)))
467
			OR (@p_CONTRACT_STATUS IS NULL OR @p_CONTRACT_STATUS = '')
468
		)
469
		--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
470
		--AND(
471
		--	A.MAKER_ID = @p_USER_LOGIN
472
		--	OR(
473
		--		------user login là trưởng ĐV ở hội sở--------
474
		--			(
475
		--				EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
476
		--				AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
477
		--					= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
478
		--			)
479
		--			------user login là trưởng ĐV ở CN/PGD
480
		--			OR
481
		--			(
482
		--				NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
483
		--				AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
484
		--			)
485
		--			AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
486
		--	)
487
		--	OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
488
		--)
489
		AND (A.REQ_DOC_ID = @p_REQ_DOC_ID OR @p_REQ_DOC_ID IS NULL OR @p_REQ_DOC_ID = '')
490

    
491
		ORDER BY A.CREATE_DT DESC
492
	-- PAGING END
493
	END -- PAGING