Project

General

Profile

ASS_ADDNEW_BVB_Search_1206.txt

Luc Tran Van, 06/12/2023 09:21 AM

 
1

    
2
ALTER PROCEDURE dbo.ASS_ADDNEW_BVB_Search
3
	@p_ADDNEW_ID		varchar(15)  = NULL,
4
	@p_FR_BUY_DATE		VARCHAR(10) = NULL, --Tu ngay nhap
5
	@p_TO_BUY_DATE		VARCHAR(10) = NULL, --Den ngay nhap
6
	@p_TYPE_ID			varchar(15)  = NULL,
7
	@p_GROUP_ID			varchar(15)  = NULL,
8
	@p_ASSET_NAME		nvarchar(1000)  = NULL,
9
	@p_ASSET_SERIAL_NO	nvarchar(MAX)  = NULL,
10
	@p_ASSET_DESC		nvarchar(max) = NULL,
11
	@p_BRANCH_ID		varchar(15)  = NULL,
12
	@p_DEPT_ID			varchar(15)  = NULL,---------Them ma phong ban
13
	@p_EMP_ID			varchar(15)  = NULL,-----------Them Nguoi su dung
14
	@p_DIVISION_ID		varchar(15)  = NULL,----------Them co so
15
	@p_BUY_PRICE		decimal(18)  = NULL,
16
	@p_AMORT_AMT		decimal(18)  = NULL,
17
	@p_AMORT_MONTH		decimal(18,2) = NULL,
18
	@p_AMORT_RATE		decimal(18,2)  = NULL,
19
	@p_IS_MULTIPLE		varchar(1)  = NULL,
20
	@p_QTY				int = NULL,
21
	@p_PO_ID			varchar(15)  = NULL,
22
	@p_TRADE_ID			varchar(15)  = NULL, --Them de luu chi tiet PO
23
	@p_TYPE				varchar(10) = 'ADD_NEW',  --'ADD_NEW' dung cho nhap moi TS, 'ADD_REF': nhap moi dieu chinh
24
	@p_REF_ASSET_ID		varchar(15)  = NULL,
25
	@p_REF_AMORTIZED_AMT	decimal(18)  = NULL,
26
	@p_WARRANTY_MONTHS	int = NULL,
27
	@p_NOTES			nvarchar(1000)  = NULL,
28
	@p_RECORD_STATUS	varchar(1)  = NULL,
29
	@p_AUTH_STATUS		varchar(1)  = NULL,
30
	@p_MAKER_ID			varchar(15)  = NULL,
31
	@p_CREATE_DT		VARCHAR(20) = NULL,
32
	@p_CHECKER_ID		varchar(15)  = NULL,
33
	@p_APPROVE_DT		VARCHAR(20) = NULL,
34
	@P_TOP				INT		= NULL,
35
	@p_CONSTRUCT_ID		VARCHAR(15) = NULL,
36
	@p_POSTED_STATUS	VARCHAR(1) = NULL,
37
	@p_BRANCH_CREATE	VARCHAR(15) = NULL,
38
	@P_LEVEL			VARCHAR(10) = NULL,
39
	@p_AUTH_STATUS_KT	VARCHAR(1) = NULL,
40
	@p_KT_IS_DO			VARCHAR(1) = NULL,
41
	@p_PRICE_TO			decimal(18) = NULL,
42
	@p_PRICE_FROM			decimal(18) = NULL,
43
	@p_USER_LOGIN   VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN
44
	@p_TYPE_SEARCH VARCHAR(10)= NULL -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT
45
AS
46
BEGIN -- PAGING
47
	SET @p_RECORD_STATUS = '1'
48
	declare @tmp table(BRANCH_ID varchar(15))
49

    
50
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE)
51
	DECLARE @l_GROUP_CODE VARCHAR(100) 
52
	IF(@p_TYPE_ID='ALL')
53
	BEGIN
54
		SET @l_GROUP_CODE = (SELECT GROUP_CODE FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID)
55
		SET @p_TYPE_ID=''
56
	END
57

    
58
	IF @P_TOP IS NULL OR @P_TOP  = ''
59
-- PAGING BEGIN
60
		SELECT 
61
				A.ADDNEW_ID,
62
				A.BUY_DATE,
63
				A.[TYPE_ID],
64
				C.[TYPE_NAME],
65
				A.GROUP_ID,
66
				D.GROUP_CODE,
67
				D.GROUP_NAME,
68
				A.ASSET_NAME,
69
				A.ASSET_SERIAL_NO,
70
				A.ASSET_DESC,
71
				A.BRANCH_ID,
72
				A.AMORT_START_DATE,
73
				A.DEPT_ID,
74
				H.DEP_CODE,
75
				H.DEP_NAME,
76
				A.EMP_ID,
77
				G.EMP_CODE,
78
				G.EMP_NAME,
79
				A.DIVISION_ID,
80
				ISNULL(A.BUY_PRICE,0) AS BUY_PRICE,
81
				ISNULL(A.AMORT_AMT,0) AS AMORT_AMT,
82
				A.AMORT_MONTH,
83
				A.AMORT_RATE,
84
				A.IS_MULTIPLE,
85
				A.QTY,
86
				A.PO_ID,
87
				PO.PO_CODE,
88
				A.PD_ID,
89
				A.REF_ASSET_ID,
90
				I.ASSET_CODE AS REF_ASS_CODE,
91
				I.ASSET_NAME AS REF_ASS_NAME,
92
				A.REF_AMORTIZED_AMT,
93
				A.WARRANTY_MONTHS,
94
				A.NOTES,
95
				A.CORE_NOTE ,
96
				A.RECORD_STATUS,
97
				A.AUTH_STATUS,
98
				B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT,
99
				A.MAKER_ID,
100
				UM.TLFullName MAKER_NAME,
101
				A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT
102
				A.CHECKER_ID,
103
				A.APPROVE_DT, A.ENTRY_BOOKED, A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT,
104
				E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH ,
105
				CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT,(ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) AS TOTAL_AMT
106
				--, G.SUP_CODE, G.SUP_NAME
107
				,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_DATE AS ASS_INVOICE_DT,
108
				CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME, D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL,
109
				UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT,
110
				@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
111
				,(CASE
112
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' THEN N'Chờ cấp phê duyệt trung gian phê duyệt' --12062023_setretkey FIX cấp duyệt trung gian
113
					WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN N'Chờ trưởng đơn vị phê duyệt'
114
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN N'Chờ GDV xử lý'
115
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN N'Chờ KSV phê duyệt'
116
				END) AS PROCESS_STATUS_NEXT,
117
				(CASE
118
         
119
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' AND A.SIGN_USER IS NOT NULL  THEN A.SIGN_USER --12062023_setretkey FIX cấp duyệt trung gian
120
					WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEPT_CREATE) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
121
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDV','DV0001','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
122
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('KSV','DV0001','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
123
				END) NGUOIXULY
124
-- SELECT END
125
		FROM ASS_ADDNEW A
126
  	--LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
127
  	LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW'
128
  	LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
129
  	LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID
130
  	LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID
131
  	LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID
132
  	LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT
133
  	LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT
134
  	LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID
135
  	LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID
136
  	LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID
137
  	LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID
138
  	LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID
139
  	LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID
140
  	--LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT
141
  	LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW'
142
  	LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE
143
  	LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID
144
		WHERE	(A.ADDNEW_ID like N'%' + @p_ADDNEW_ID + '%' OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '')
145

    
146
		-- TIM KIEM TU NGAY DEN NGAY O HC
147
		AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
148
      OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
149
    AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
150
      OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
151
			
152
    -- TIM KIEM TU NGAY O KT
153
    AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
154
      AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
155
      OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
156

    
157
          AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
158
            OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
159
            OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
160
            OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
161
    OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
162
    -- TIM KIEM DEN NGAY O KT
163
    AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
164
      AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
165
      OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
166
          AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
167
            OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
168
            OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
169
            OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))))))
170
    OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
171

    
172
  	AND		(A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '')
173
  	AND		(A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
174
  	AND		(D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '')
175
  	AND		(A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
176
  	AND		(A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
177
  	AND		(A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
178
  	AND		(A.BRANCH_CREATE IN (SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
179
  	AND		(A.DEPT_ID = @p_DEPT_ID OR @p_DEPT_ID IS NULL OR @p_DEPT_ID = '')
180
  	AND		(A.EMP_ID = @p_EMP_ID OR @p_EMP_ID IS NULL OR @p_EMP_ID = '')
181
  	AND		(A.DIVISION_ID = @p_DIVISION_ID OR @p_DIVISION_ID IS NULL OR @p_DIVISION_ID = '')
182
  	AND		(A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL)
183
  	AND		(A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL)
184
  	AND		(A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL)
185
  	AND		(A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL)
186
  	AND		(A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '')
187
  	AND		(A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0)
188
  	AND		(A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '')
189
  	AND		((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> ''))
190
  	AND		(A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='')
191
  	AND		(A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL)
192
  	AND		(A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0)		
193
  	AND		(A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
194
  	AND		(A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
195
  	AND		(A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
196
  	AND		(A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '')
197
  	--AND		(A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')	
198
  	AND		(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')	
199
  	AND		((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
200
  			OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) 
201
  			OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
202
  	AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL)
203
  	AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL)
204
  	-- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB
205
  	AND	(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
206
  
207
      -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
208
     AND ((A.AUTH_STATUS IN ('E','R')  AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
209
  
210
  	-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM
211
      AND ((@p_TYPE_SEARCH='HC'
212
			AND ((EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN))
213
				OR (A.SIGN_USER = @p_USER_LOGIN)))
214
		OR (A.MAKER_ID = @p_USER_LOGIN)
215
		OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
216
  		OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
217
		OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''))
218

    
219
		ORDER BY A.CREATE_DT DESC
220
-- PAGING END
221
	ELSE
222
-- PAGING BEGIN
223
		SELECT TOP (CONVERT(INT, @P_TOP))
224
				A.ADDNEW_ID,
225
				A.BUY_DATE,
226
				A.[TYPE_ID],
227
				C.[TYPE_NAME],
228
				A.GROUP_ID,
229
				D.GROUP_CODE,
230
				D.GROUP_NAME,
231
				A.ASSET_NAME,
232
				A.ASSET_SERIAL_NO,
233
				A.ASSET_DESC,
234
				A.BRANCH_ID,
235
				A.AMORT_START_DATE,
236
				A.DEPT_ID,
237
				H.DEP_CODE,
238
				H.DEP_NAME,
239
				A.EMP_ID,
240
				G.EMP_CODE,
241
				G.EMP_NAME,
242
				A.DIVISION_ID,
243
				ISNULL(A.BUY_PRICE,0) AS BUY_PRICE,
244
				ISNULL(A.AMORT_AMT,0) AS AMORT_AMT,
245
				A.AMORT_MONTH,
246
				A.AMORT_RATE,
247
				A.IS_MULTIPLE,
248
				A.QTY,
249
				A.PO_ID,
250
				PO.PO_CODE,
251
				A.REF_ASSET_ID,
252
				I.ASSET_CODE AS REF_ASS_CODE,
253
				I.ASSET_NAME AS REF_ASS_NAME,
254
				A.REF_AMORTIZED_AMT,
255
				A.WARRANTY_MONTHS,
256
				A.NOTES,
257
				A.CORE_NOTE,
258
				A.RECORD_STATUS,
259
				A.AUTH_STATUS,
260
				B.CONTENT AS AUTH_STATUS_NAME,AKT.CONTENT AS AUTH_STATUS_NAME_KT,
261
				A.MAKER_ID,
262
				UM.TLFullName MAKER_NAME,
263
				A.CREATE_DT,--CONVERT(VARCHAR(10), A.CREATE_DT, 103) AS S_CREATE_DT
264
				A.CHECKER_ID,
265
				A.APPROVE_DT, A.ENTRY_BOOKED,A.CONSTRUCT_ID,A.POSTED_STATUS, A.BRANCH_CREATE,A.MAKER_ID_KT, A.CREATE_DT_KT,A.CHECKER_ID_KT,A.APPROVE_DT_KT,A.AUTH_STATUS_KT,
266
				E.BRANCH_CODE, F.DIV_CODE, E.BRANCH_NAME, (ISNULL(E.BRANCH_NAME,'') + ' '+ ISNULL(H.DEP_NAME,'')) AS RECEIVE_BRANCH ,
267
				CREBRN.BRANCH_CODE AS R_BRANCH_CODE, CREBRN.BRANCH_NAME AS R_BRANCH_NAME, A.AMORT_END_DATE, A.ACCOUNT_GL, A.VAT, A.PRICE_VAT, (ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) AS TOTAL_AMT
268
				--, G.SUP_CODE, G.SUP_NAME
269
				,AP.ASSPO_ID AS ASS_PO_ID, AP.ADDNEW_ID AS ASS_PO_ADDNEWID, AP.PO_CODE AS ASS_PO_CODE, AP.INVOICE_NO AS AS_INVOICE_NO, AP.INVOICE_DATE AS ASS_INVOICE_DT,CREBRN.BRANCH_CODE+' - '+ CREBRN.BRANCH_NAME AS FULL_BRANCH_NAME
270
				,D.GROUP_CODE +' - '+ D.GROUP_NAME GROUP_NAME_FULL,
271
				UM2.TLFullName AS CREATE_USER_NAME, UM3.TLFullName AS APPROVE_NAME_KT, UM4.TLFullName AS CREATE_USER_NAME_KT,
272
				@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
273
				,(CASE
274
          
275
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' THEN N'Chờ cấp phê duyệt trung gian phê duyệt' --12062023_setretkey FIX cấp duyệt trung gian
276
					WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN N'Chờ trưởng đơn vị phê duyệt'
277
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NULL THEN N'Chờ GDV xử lý'
278
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN N'Chờ KSV phê duyệt'
279
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN N'Chờ KSV phê duyệt'
280
				END) AS PROCESS_STATUS_NEXT,
281
				(CASE
282
          
283
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' AND A.SIGN_USER IS NOT NULL  THEN A.SIGN_USER --12062023_setretkey FIX cấp duyệt trung gian
284
					WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEPT_CREATE) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
285
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDV','','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
286
					WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('KSV','','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
287
				END) NGUOIXULY
288
-- SELECT END
289
		FROM ASS_ADDNEW A
290
		--LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
291
		LEFT JOIN dbo.CM_ALLCODE B ON B.CDVAL = A.AUTH_STATUS AND B.CDNAME = 'ASS_ADD_AUTH' AND B.CDTYPE = 'ASS_ADDNEW'
292
		LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
293
		LEFT JOIN ASS_GROUP D ON A.GROUP_ID = D.GROUP_ID
294
		LEFT JOIN TL_USER UM ON UM.TLNANME = A.CHECKER_ID
295
		LEFT JOIN TL_USER UM2 ON UM2.TLNANME = A.MAKER_ID
296
		LEFT JOIN TL_USER UM3 ON UM2.TLNANME = A.CHECKER_ID_KT
297
		LEFT JOIN TL_USER UM4 ON UM4.TLNANME = A.MAKER_ID_KT
298
		LEFT JOIN TR_PO_MASTER PO ON PO.PO_ID = A.PO_ID
299
		LEFT JOIN CM_BRANCH E ON E.BRANCH_ID = A.BRANCH_ID
300
		LEFT JOIN CM_DIVISION F ON F.DIV_ID = A.DIVISION_ID
301
		LEFT JOIN CM_EMPLOYEE G ON G.EMP_ID = A.EMP_ID
302
		LEFT JOIN CM_DEPARTMENT H ON H.DEP_ID = A.DEPT_ID
303
		LEFT JOIN ASS_MASTER I ON I.ASSET_ID = A.REF_ASSET_ID
304
		--LEFT JOIN CM_AUTH_STATUS AKT ON AKT.AUTH_STATUS = A.AUTH_STATUS_KT
305
		LEFT JOIN dbo.CM_ALLCODE AKT ON AKT.CDVAL = A.AUTH_STATUS_KT AND AKT.CDNAME = 'ASS_ADD_AUTH' AND AKT.CDTYPE = 'ASS_ADDNEW'
306
		LEFT JOIN CM_BRANCH CREBRN ON CREBRN.BRANCH_ID = A.BRANCH_CREATE
307
		LEFT JOIN ASS_PO AP ON A.ADDNEW_ID = AP.ADDNEW_ID
308
		WHERE	(A.ADDNEW_ID like N'%' + @p_ADDNEW_ID + '%' OR @p_ADDNEW_ID IS NULL OR @p_ADDNEW_ID = '')
309

    
310
    -- TIM KIEM TU NGAY DEN NGAY O HC
311
		AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
312
      OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
313
    AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.BUY_DATE,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
314
      OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
315
		
316
    -- TIM KIEM TU NGAY O KT
317
    AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
318
      AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
319
      OR ((A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <> '')
320
          AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
321
            OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
322
            OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))
323
            OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = ''))))))
324
    OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
325
    -- TIM KIEM DEN NGAY O KT
326
    AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
327
      AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
328
      OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
329
          AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
330
            OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
331
            OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))
332
            OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = ''))))))
333
    OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
334
		
335
		AND		(A.[TYPE_ID] = @p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID = '')
336
		AND		(A.GROUP_ID = @p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
337
		AND		(D.GROUP_CODE = @l_GROUP_CODE OR @l_GROUP_CODE IS NULL OR @l_GROUP_CODE = '')
338
		AND		(A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
339
		AND		(A.ASSET_SERIAL_NO like N'%' + @p_ASSET_SERIAL_NO + '%' OR @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
340
		AND		(A.ASSET_DESC like N'%' + @p_ASSET_DESC + '%' OR @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
341
		AND		(A.BRANCH_CREATE IN (SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
342
		AND		(A.BUY_PRICE = @p_BUY_PRICE OR @p_BUY_PRICE IS NULL)
343
		AND		(A.AMORT_AMT = @p_AMORT_AMT OR @p_AMORT_AMT IS NULL)
344
		AND		(A.AMORT_MONTH = @p_AMORT_MONTH OR @p_AMORT_MONTH IS NULL)
345
		AND		(A.AMORT_RATE = @p_AMORT_RATE OR @p_AMORT_RATE IS NULL)
346
		AND		(A.IS_MULTIPLE = @p_IS_MULTIPLE OR @p_IS_MULTIPLE IS NULL OR @p_IS_MULTIPLE = '')
347
		AND		(A.QTY = @p_QTY OR @p_QTY IS NULL OR @p_QTY = 0)
348
		AND		(A.PO_ID = @p_PO_ID OR @p_PO_ID IS NULL OR @p_PO_ID = '')
349
		AND		((@p_TYPE = 'ADD_NEW' AND (A.REF_ASSET_ID IS NULL OR A.REF_ASSET_ID = '')) OR (@p_TYPE = 'ADD_REF' AND A.REF_ASSET_ID IS NOT NULL AND A.REF_ASSET_ID <> ''))
350
		AND		(A.REF_ASSET_ID = @p_REF_ASSET_ID OR @p_REF_ASSET_ID IS NULL OR @p_REF_ASSET_ID='')
351
		AND		(A.REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT OR @p_REF_AMORTIZED_AMT IS NULL)
352
		AND		(A.WARRANTY_MONTHS = @p_WARRANTY_MONTHS OR @p_WARRANTY_MONTHS IS NULL OR @p_WARRANTY_MONTHS = 0)		
353
		AND		(A.NOTES like N'%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
354
		AND		(A.RECORD_STATUS = @p_RECORD_STATUS OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
355
		AND		(A.AUTH_STATUS = @p_AUTH_STATUS OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
356
		AND		(A.POSTED_STATUS = @p_POSTED_STATUS OR @p_POSTED_STATUS IS NULL OR @p_POSTED_STATUS = '')
357
		--AND		(A.BRANCH_CREATE = @p_BRANCH_CREATE OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
358
		AND		(A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
359
		AND		((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
360
				OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) 
361
				OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
362

    
363
		AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) >= @p_PRICE_FROM OR @p_PRICE_FROM = 0 OR @p_PRICE_FROM IS NULL)
364
		AND ((ISNULL(A.QTY,0) * ISNULL(A.BUY_PRICE,0)) <= @p_PRICE_TO OR @p_PRICE_TO = 0 OR @p_PRICE_TO IS NULL)
365
		-- 26-02-2020 LUCTV BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP KHO THEO NGUOI TAO PHIEU : THEO YEU CAU BO SUNG CHINH SUA CUA VCCB
366
		AND	(A.MAKER_ID = @p_MAKER_ID OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
367

    
368
    -- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
369
	  AND ((A.AUTH_STATUS IN ('E','R')  AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
370
		
371
		-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU NHAP THEO QUYEN KIEM NHIEM
372
		AND ((@p_TYPE_SEARCH='HC'
373
				AND ((EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_CREATE,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN))
374
					OR (A.SIGN_USER = @p_USER_LOGIN)))
375
			OR (A.MAKER_ID = @p_USER_LOGIN)
376
			OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
377
  			OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
378
			OR (@p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''))
379

    
380
		ORDER BY A.CREATE_DT DESC
381
-- PAGING END
382
END -- PAGING