Project

General

Profile

1.0 TR CONTRACT SEARCH.txt

Luc Tran Van, 04/26/2023 09:50 AM

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

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

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

    
54
	----------BAODNQ 20/10/2022 : HOT FIX TẠM THỜI-----------------
55
	IF(@P_CONSTRUCT_CODE = 'Y')
56
	BEGIN
57
		SET @p_LEVEL = 'ALL'
58
	END
59

    
60
	SET @P_TOP =2000
61
	declare @tmp table(BRANCH_ID varchar(15))
62
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
63
	--- KHAI BAO TABLE SPLIT CHUOI 
64
	DECLARE @l_LST_CONTYPE TABLE ([ID] [int] IDENTITY(1,1) NOT NULL,[VALUE] [NVARCHAR](MAX) NULL)
65
	INSERT INTO @l_LST_CONTYPE SELECT VALUE FROM WSISPLIT(@p_CONT_TYPE,',')
66
	--- LUCTV 7.11.2022 BO SUNG AUTO TIM THAY HĐ DVMS
67
	INSERT INTO @l_LST_CONTYPE VALUES ('MS_DV')
68
	--- END LUCTV 7.11.2022
69

    
70
	DECLARE @t_CONTRACT_PAYMENT TABLE(
71
	REF_ID VARCHAR(15), TOTAL_AMT_PAY DECIMAL(18,0), TRN_TYPE VARCHAR(20))
72

    
73
INSERT INTO @t_CONTRACT_PAYMENT
74
	SELECT REF_ID, ISNULL(SUM(AMT_PAY_REAL),0) AS TOTAL_AMT_PAY, TRN_TYPE
75
	FROM TR_REQ_PAY_SCHEDULE
76
	WHERE AUTH_STATUS_KT = 'A'
77
	GROUP BY TRN_TYPE, REF_ID
78

    
79
DECLARE @t_USER_LOGIN_ROLE_TABLE TABLE 
80
	(BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
81
INSERT INTO @t_USER_LOGIN_ROLE_TABLE(BRANCH_ID, DEPT_ID, ROLE_ID)
82
	SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
83
---LUCTV 26.04.2023 KHAI BAO PHẦN ỦY QUYỀN ĐƠN VỊ UPDATE 26042023_secretkey
84
DECLARE @BRANCH_AUTH TABLE (BRN_AUTH VARCHAR(15))
85
INSERT INTO @BRANCH_AUTH VALUES (@p_BRANCH_LOGIN)
86
INSERT INTO @BRANCH_AUTH SELECT BRANCH_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@P_USER_LOGIN AND 
87
CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
88
---LUCTV
89
IF(@p_CONSTRACT_TYPE = '2')
90
	IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
91
	-- PAGING BEGIN
92
		SELECT A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
93
		 D.AUTH_STATUS_NAME,F.CONSTRUCT_CODE,F.CONSTRUCT_ID,
94
		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,
95
		'' 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,
96
		'' 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,
97
		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,
98
		0.0 AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
99
		0.0 AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
100
		0.0 AS TOTAL_REMAIN_AMT,
101
		'' AS IS_FLAG_END, TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
102
		---------BAODNQ 16/5/2022: Lấy thêm cột-------
103
		CASE
104
			WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
105
			ELSE B.ADDR
106
		END
107
		AS ADDR
108
		--A.ADDRESS AS ADDR
109
		-- SELECT END
110
		FROM TR_CONTRACT A
111
		LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
112
		LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
113
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
114
		LEFT JOIN BID_MASTER E ON E.BID_ID = A.BID_ID
115
		LEFT JOIN CON_MASTER F ON F.CONSTRUCT_ID = E.PROJECT_ID
116
		LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
117
		LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
118
		LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
119
		LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
120
		LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
121
		LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
122

    
123
		WHERE 1=1
124
		AND (A.MAKER_ID like '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID like '')
125
		AND (F.CONSTRUCT_ID like '%'+@P_CONSTRUCT_ID+'%' OR @P_CONSTRUCT_ID IS NULL OR @P_CONSTRUCT_ID like '')
126
	    AND (F.CONSTRUCT_CODE like '%'+@P_CONSTRUCT_CODE+'%' OR @P_CONSTRUCT_CODE IS NULL OR @P_CONSTRUCT_CODE like '')
127
		AND (A.CONTRACT_CODE like '%'+@p_CONSTRACT_CODE+'%' OR @p_CONSTRACT_CODE IS NULL OR @p_CONSTRACT_CODE like '')
128
		AND (A.CONTRACT_ID like '%'+@p_CONTRACT_ID+'%' OR @p_CONTRACT_ID IS NULL OR @p_CONTRACT_ID like '')
129
		AND (A.[CONTRACT_NAME] like '%'+ @p_CONSTRACT_NAME +'%' OR @p_CONSTRACT_NAME IS NULL OR @p_CONSTRACT_NAME like '')
130
		AND (A.BID_ID like '%'+@p_BID_ID +'%' OR @p_BID_ID IS NULL OR @p_BID_ID like '')
131
		AND (C.BID_CODE like '%'+@p_BID_CODE +'%' OR @p_BID_CODE IS NULL OR @p_BID_CODE like '')
132
		AND (A.SUP_ID like '%'+@p_SUP_ID +'%' OR @p_SUP_ID IS NULL OR @p_SUP_ID like '')
133
		AND (B.SUP_CODE like '%'+@p_SUP_CODE +'%' OR @p_SUP_CODE IS NULL OR @p_SUP_CODE like '')
134
		AND (DATEDIFF(DAY,A.SIGN_DT,CONVERT(DATETIME,@P_SIGN_DT,103)) = 0 OR @P_SIGN_DT IS NULL OR @P_SIGN_DT like '')
135
		AND (DATEDIFF(DAY,A.CREATE_DT,CONVERT(DATETIME, @P_CREATE_DT, 103)) = 0 OR @P_CREATE_DT IS NULL OR @P_CREATE_DT='')
136
		AND (DATEDIFF(DAY,A.START_DT,CONVERT(DATETIME, @P_START_DT, 103)) = 0 OR @P_START_DT IS NULL OR @P_START_DT='')
137
		AND (DATEDIFF(DAY,A.END_DT,CONVERT(DATETIME, @P_END_DT, 103)) = 0 OR @P_END_DT IS NULL OR @P_END_DT='')
138
		AND (A.AUTH_STATUS like '%'+@p_AUTH_STATUS +'%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS like '')
139
		AND (A.CONTRACT_TYPE like '%'+@p_CONSTRACT_TYPE +'%' OR @p_CONSTRACT_TYPE IS NULL OR @p_CONSTRACT_TYPE like '')
140
		AND (A.CONTRACT_PARENT like '%'+@P_CONTRACT_PARENT+'%' OR @P_CONTRACT_PARENT IS NULL OR @P_CONTRACT_PARENT like '')
141
		AND A.RECORD_STATUS = '1'
142
		AND (A.REQUEST_ID LIKE '%' + @p_REQUEST_ID + '%' OR  @p_REQUEST_ID IS NULL OR @p_REQUEST_ID = '')
143
		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 
144
		 (HT.HH_TYPE_CODE LIKE '%' + @p_HH_TYPE_CODE + '%' OR @p_HH_TYPE_CODE = '' OR @p_HH_TYPE_CODE IS NULL)
145
		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))
146
		AND (A.CUST_ID =@p_CUST_ID OR @p_CUST_ID IS NULL OR @p_CUST_ID ='')
147
		AND (A.CONT_TYPE IN (SELECT VALUE FROM @l_LST_CONTYPE) OR @p_CONT_TYPE ='' OR @p_CONT_TYPE IS NULL)
148
		AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
149
		OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_LOGIN)) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL OR A.BRANCH_ID IN (SELECT BRN_AUTH FROM @BRANCH_AUTH))
150
		--AND (BR.BRANCH_CODE =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR BR.BRANCH_ID =@p_BRANCH_ID)
151
		AND (A.BRANCH_ID =@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
152
		--------------BAODNQ 13/9/2022 : TẠM THỜI COMMENT PHẦN USER_LOGIN-----------
153
		--AND(
154
		--	A.MAKER_ID = @p_USER_LOGIN
155
		--	OR(
156
		--		------user login là trưởng ĐV ở hội sở--------
157
		--			(
158
		--				EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
159
		--				AND (SELECT DEP_ID FROM TL_USER WHERE TLNANME = A.MAKER_ID) 
160
		--					= (SELECT TOP 1 DEPT_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
161
		--			)
162
		--			------user login là trưởng ĐV ở CN/PGD
163
		--			OR
164
		--			(
165
		--				NOT EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE = 'HS')
166
		--				AND A.BRANCH_ID = (SELECT TOP 1 BRANCH_ID FROM @t_USER_LOGIN_ROLE_TABLE WHERE ROLE_ID IN ('GDDV', 'PGD', 'TPGD', 'PPGD'))
167
		--			)
168
		--			AND (A.AUTH_STATUS <> 'E' AND A.AUTH_STATUS <> 'R')
169
		--	)
170
		--	OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''
171
		--)
172
	--)
173
	ORDER BY A.CREATE_DT DESC
174
	-- PAGING END
175
   ELSE
176
    -- PAGING BEGIN
177
		SELECT TOP(CONVERT(INT,@P_TOP)) A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL,
178
		 B.CONTACT_PERSON AS SUP_CONTACT_PERSON, D.AUTH_STATUS_NAME,F.CONSTRUCT_CODE,F.CONSTRUCT_ID,
179
		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,
180
		'' 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,
181
		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,
182
		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,
183
		TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
184
		---------BAODNQ 16/5/2022: Lấy thêm cột-------
185
		CASE
186
			WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
187
			ELSE B.ADDR
188
		END
189
		AS ADDR
190
		--A.ADDRESS AS ADDR
191
		-- SELECT END
192
		FROM TR_CONTRACT A
193
		LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
194
		LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
195
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
196
		LEFT JOIN BID_MASTER E ON E.BID_ID = A.BID_ID
197
		LEFT JOIN CON_MASTER F ON F.CONSTRUCT_ID = E.PROJECT_ID
198
		LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
199
		LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
200
		LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
201
		LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
202
		LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
203
		LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
204

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

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

    
504
		ORDER BY A.CREATE_DT DESC
505
	-- PAGING END
506
	END -- PAGING