Project

General

Profile

2.0 TR CONTRACT SEARCH.txt

Luc Tran Van, 11/07/2022 03:38 PM

 
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
	----------BAODNQ 20/10/2022 : HOT FIX TẠM THỜI-----------------
56
	IF(@P_CONSTRUCT_CODE = 'Y')
57
	BEGIN
58
		SET @p_LEVEL = 'ALL'
59
	END
60

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

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

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

    
80
DECLARE @t_USER_LOGIN_ROLE_TABLE TABLE 
81
	(BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
82
INSERT INTO @t_USER_LOGIN_ROLE_TABLE(BRANCH_ID, DEPT_ID, ROLE_ID)
83
	SELECT * FROM [dbo].[TL_USER_GET_ROLES](@p_USER_LOGIN)
84

    
85
IF(@p_CONSTRACT_TYPE = '2')
86
	IF(@P_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
87
	-- PAGING BEGIN
88
		SELECT A.*,B.SUP_CODE,C.BID_CODE, B.SUP_NAME, B.TEL AS SUP_TEL, B.CONTACT_PERSON AS SUP_CONTACT_PERSON,
89
		 D.AUTH_STATUS_NAME,F.CONSTRUCT_CODE,F.CONSTRUCT_ID,
90
		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,
91
		'' 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,
92
		'' 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,
93
		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,
94
		0.0 AS TOTAL_ADV_AMT, ---Số tiền đã tạm ứng
95
		0.0 AS TOTAL_PAY_AMT, --Số tiền đã thanh toán,
96
		0.0 AS TOTAL_REMAIN_AMT,
97
		'' AS IS_FLAG_END, TU.TLFullName AS MAKER_NAME, TA.TLFullName AS CHECKER_NAME,
98
		---------BAODNQ 16/5/2022: Lấy thêm cột-------
99
		CASE
100
			WHEN A.ADDRESS IS NOT NULL OR A.ADDRESS <> '' THEN A.ADDRESS
101
			ELSE B.ADDR
102
		END
103
		AS ADDR
104
		--A.ADDRESS AS ADDR
105
		-- SELECT END
106
		FROM TR_CONTRACT A
107
		LEFT JOIN CM_SUPPLIER B ON A.SUP_ID=B.SUP_ID
108
		LEFT JOIN BID_MASTER C ON A.BID_ID=C.BID_ID
109
		LEFT JOIN CM_AUTH_STATUS D ON D.AUTH_STATUS = A.AUTH_STATUS
110
		LEFT JOIN BID_MASTER E ON E.BID_ID = A.BID_ID
111
		LEFT JOIN CON_MASTER F ON F.CONSTRUCT_ID = E.PROJECT_ID
112
		LEFT JOIN dbo.CM_ALLCODE CA ON CA.CDVAL=A.CONT_TYPE AND CA.CDNAME='TR_CONT_TYPE' AND CA.CDTYPE='TR_CONT'
113
		LEFT JOIN TR_CONTRACT_DT PT ON A.CONTRACT_ID = PT.CONTRACT_ID
114
		LEFT JOIN LS_CUSTOMER LS ON A.CUST_ID = LS.CUSTOMER_ID
115
		LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID= BR.BRANCH_ID
116
		LEFT JOIN TL_USER TU ON A.MAKER_ID = TU.TLNANME
117
		LEFT JOIN TL_USER TA ON A.CHECKER_ID = TA.TLNANME
118

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

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

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

    
500
		ORDER BY A.CREATE_DT DESC
501
	-- PAGING END
502
	END -- PAGING