Project

General

Profile

[rpt_CCLD_BC08_2_Excel_BanViet].txt

Luc Tran Van, 12/06/2022 10:23 AM

 
1

    
2
ALTER PROCEDURE [dbo].[rpt_CCLD_BC08_2_Excel_BanViet]
3
	@p_Fromdate varchar(20) = null,
4
	@p_Todate varchar(20) = null,
5
	@p_BRANCH_LOGIN VARCHAR(15) = NULL,
6
	@p_BRANCH_ID VARCHAR(15) = NULL,
7
	@p_LEVEL VARCHAR(15) = NULL,
8
	@p_Group_id varchar(15) = null,
9
	@p_Supplier_id varchar(15) = null,
10
	@p_FromPrice varchar(18) = null,
11
	@p_ToPrice varchar(18) = null,
12
	@p_User_ID VARCHAR(15) = NULL-- NGUOI SU DUNG
13
AS
14
BEGIN
15
--thieuvq 24/8/2017 - DOC DU LIEU BO QUA COMMIT TRANSACTION 
16
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
17

    
18
declare @tmp table(BRANCH_ID varchar(15))
19
insert into @tmp  SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
20
declare @tmp_login table(BRANCH_ID varchar(15))
21
insert into @tmp_login  SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
22
SELECT GR.* FROM 
23
(
24
	SELECT 
25
	Row_number() OVER(ORDER BY A.ASSET_ID) AS STT,
26
	
27
	[dbo].[FN_GET_GROUPCODE](A.GROUP_ID,'1') AS NHOM_TS4,	
28
	A.ASSET_CODE AS MS_TS, -- MÃ SỐ TÀI SẢN
29
	A.ASSET_NAME AS TEN_TS, --TEN TAI SAN
30

    
31
	A.USE_DATE_KT AS NGAY_TANG_TS,
32
	
33
	A.AMORT_START_DATE AS NGAY_BD_KH, --NGÀY BAT DAU KHAU HAO
34
	A.ASSET_SERIAL_NO AS SERIAL,
35
	CE.EMP_NAME,
36
	C.BRANCH_NAME AS BRANCH_USE,
37
	
38
	ISNULL(CC.PHAT_SINH_DAU,0) AS NGUYEN_GIA_FROM,
39
	ISNULL(BB.TONG_KH_DAU,0) AS KHAU_HAO_LK_FROM,	
40
	(ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_FROM,
41
	ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) AS NGUYEN_GIA_PHAT_SINH_TANG,
42
	ISNULL(AA.TONG_KH_TRONG_KHOANG,0) AS KH_PHAT_SINH_TANG,
43
	ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) AS NGUYEN_GIA_PHAT_SINH_GIAM,
44
	ISNULL(DR.TONG_KH_TRONG_KHOANG,0) AS KH_PHAT_SINH_GIAM,
45
	--ISNULL(DD.PHAT_SINH_CUOI,0) AS NGUYEN_GIA_TO,
46
	(ISNULL(CC.PHAT_SINH_DAU,0) + ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) - ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0)) AS NGUYEN_GIA_TO,
47
	(ISNULL(AA.TONG_KH_TRONG_KHOANG,0) + ISNULL(BB.TONG_KH_DAU,0) - ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) AS KHAU_HAO_LK_TO,
48
	--(ISNULL(DD.PHAT_SINH_CUOI,0)-ISNULL(DR.TONG_KH_TRONG_KHOANG,0) -ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_TO,
49
	(ISNULL(DD.PHAT_SINH_CUOI,0) - ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(BB.TONG_KH_DAU,0) + ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) AS GIA_TRI_CL_TO,
50
	A.ASSET_DESC AS GHI_CHU,---GHI CHU
51
	A.REF_AMORTIZED_AMT AS GIA_TRI_KH_CU,---GIA TRI KHAU HAO CU
52
	A.AMORT_MONTH SOTHANG_KHAUHAO,--LUCTV BEGIN 17-10- 2018
53
	A.AMORTIZED_MONTH DA_KH,
54
	(A.AMORT_MONTH - ISNULL(A.AMORTIZED_MONTH,0)) TG_KH_CONLAI,
55
	(ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0)) SODU_DAUKY,
56
	ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) TANG_TRONGKY,
57
	ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) GIAM_TRONGKY,
58
	ISNULL(CC.PHAT_SINH_DAU,0) + ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) - ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) SODU_CUOIKY,
59
    ISNULL(BB.TONG_KH_DAU,0) KH_SD_DAUKY,
60
	ISNULL(AA.TONG_KH_TRONG_KHOANG,0) KH_TANG_TRONGKY,
61
	ISNULL(DR.TONG_KH_TRONG_KHOANG,0) KH_GIAM_TRONGKY,
62
	(ISNULL(BB.TONG_KH_DAU,0) + ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) KH_SD_CUOIKY,
63
	(ISNULL(DD.PHAT_SINH_CUOI,0) - ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(BB.TONG_KH_DAU,0) + ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) GT_CON_LAI
64

    
65
	FROM ASS_MASTER  A
66
	LEFT JOIN 
67
	(
68
		SELECT A.ASSET_ID,		
69
			ISNULL(TR.BRANCH_ID, TRN.BRANCH_ID) AS BRANCH_ID,
70
			CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.DEPT_ID ELSE TR.DEPT_ID END AS DEPT_ID,
71
			CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.EMP_ID ELSE TR.EMP_ID END AS EMP_ID				
72
		FROM ASS_MASTER A
73
		LEFT JOIN --LAY DON VI MOI NHAT 
74
		(
75
			SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID		
76
			FROM ASS_LOCATION_HIST A		
77
			INNER JOIN
78
			(
79
				SELECT MAX(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
80
				FROM ASS_LOCATION_HIST B 
81
				WHERE B.USE_START_DT <= CONVERT(DATE,@p_Todate,103)
82
				GROUP BY B.ASSET_ID
83
			) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID		
84
		) AS TR ON TR.ASSET_ID = A.ASSET_ID
85
		LEFT JOIN --LAY DON VI CU NHAT
86
		(
87
			SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID		
88
			FROM ASS_LOCATION_HIST A		
89
			INNER JOIN
90
			(
91
				SELECT MIN(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
92
				FROM ASS_LOCATION_HIST B 
93
				WHERE B.USE_START_DT > CONVERT(DATE,@p_Todate,103)
94
				GROUP BY B.ASSET_ID
95
			) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID		
96
		) AS TRN ON TRN.ASSET_ID = A.ASSET_ID		
97
	) AS BRN_HIST ON BRN_HIST.ASSET_ID = A.ASSET_ID
98
	INNER JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
99
	LEFT JOIN CM_EMPLOYEE CE ON A.EMP_ID = CE.EMP_ID
100
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
101
	--LEFT JOIN CM_BRANCH C ON BRN_HIST.BRANCH_ID = C.BRANCH_ID	
102
	--LEFT JOIN CM_BRANCH D ON D.BRANCH_ID = C.FATHER_ID
103
	--LEFT JOIN CM_EMPLOYEE E ON BRN_HIST.EMP_ID = E.EMP_ID
104
	--LEFT JOIN CM_DEPARTMENT F ON BRN_HIST.DEPT_ID = F.DEP_ID
105

    
106
	-- GIÁ TRỊ KHAU HAO TAI NGÀY FROM
107
	-- SELECT * FROM ASS_AMORT_DT A INNER JOIN ASS_AMORT B ON A.AMORT_ID = B.AMORT_ID
108
	-- SELECT * FROM ASS_VALUES
109
	-- SELECT * FROM ASS_AMORT_DT WHERE 
110
	-- GIÁ TRỊ CÒN LAI CỦA TÀI SẢN TẠI THỜI ĐIỂM ĐÍCH
111
	LEFT JOIN
112
	(
113
		SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
114
		FROM ASS_AMORT_DT X
115
		--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
116
		WHERE 
117
		(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
118
		AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
119
		AND CRDR = 'C'
120
		GROUP BY X.ASSET_ID
121
	) AA ON A.ASSET_ID = AA.ASSET_ID
122
	LEFT JOIN
123
	(
124
		SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
125
		FROM ASS_AMORT_DT X
126
		--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
127
		WHERE 
128
		(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
129
		AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
130
		AND CRDR = 'D'
131
		GROUP BY X.ASSET_ID
132
	) DR ON A.ASSET_ID = DR.ASSET_ID
133
	-- SELECT * FROM ASS_AMORT_DT
134
	LEFT JOIN
135
	(
136
		SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS TONG_KH_DAU
137
		FROM ASS_AMORT_DT X
138
		--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
139
		INNER JOIN ASS_MASTER Z ON X.ASSET_ID = Z.ASSET_ID
140
		WHERE 
141
		(X.AMORT_DT >= CONVERT(DATE,Z.AMORT_START_DATE)) AND (CONVERT(DATE,Z.LIQUIDATION_DT) >= CONVERT(DATE,@p_Fromdate,103) OR Z.LIQUIDATION_DT IS NULL OR Z.LIQUIDATION_DT = '')
142
		AND (X.AMORT_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
143
		GROUP BY X.ASSET_ID
144
	) BB ON A.ASSET_ID = BB.ASSET_ID
145
	-- SELECT TOP 200 * FROM ASS_MASTER
146
	-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU BAT DAU KHAU HAO DEN THOI DIEM FROM
147
	LEFT JOIN
148
	(
149
		SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS PHAT_SINH_DAU 
150
		FROM ASS_VALUES X
151
		INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
152
		WHERE (X.TRN_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
153
		--(X.CREATE_DT >= Y.CREATE_DT) 
154
		--AND (X.CREATE_DT <= CONVERT(DATETIME,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
155
		GROUP BY X.ASSET_ID
156
	) CC ON A.ASSET_ID = CC.ASSET_ID
157
	-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM BAT DAU ĐẾN THỜI ĐIỂM TO
158
	-- SELECT * FROM ASS_MASTER
159
	LEFT JOIN
160
	(
161
		SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS PHAT_SINH_CUOI
162
		FROM ASS_VALUES X
163
		INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
164
		WHERE --X.CREATE_DT >= Y.CREATE_DT 
165
			 (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
166
		GROUP BY X.ASSET_ID
167
	) DD ON A.ASSET_ID = DD.ASSET_ID
168
	-- PHAT SINH TANG TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
169
	-- select * from ass_values where trn_type = 'ass_use'
170
	LEFT JOIN
171
	(
172
		SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_TANG_TRONG_KHOANG
173
		FROM ASS_VALUES X
174
		--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
175
		WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
176
		AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
177
		AND X.CRDR = 'C'
178
		GROUP BY X.ASSET_ID
179
	) EE ON A.ASSET_ID = EE.ASSET_ID
180
	-- PHAT SINH GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
181
	LEFT JOIN
182
	(
183
		SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_GIAM_TRONG_KHOANG
184
		FROM ASS_VALUES X
185
		--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
186
		WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
187
		AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
188
		AND X.CRDR = 'D'
189
		GROUP BY X.ASSET_ID
190
	) FF ON A.ASSET_ID = FF.ASSET_ID
191
	WHERE  A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A'	
192
	AND A.ENTRY_BOOKED = 'Y'
193
		-- NHOM TAI SAN
194
	AND (A.GROUP_ID = @p_Group_id OR @p_Group_id IS NULL OR @p_Group_id = '')
195
	-- NSD
196
	AND (A.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '')
197
	-- NHA CUNG CAP
198
	AND (A.SUP_ID = @p_Supplier_ID OR @p_Supplier_ID IS NULL OR @p_Supplier_ID = '')
199
	-- NGUYEN GIA
200
	AND (A.BUY_PRICE >= CONVERT(decimal(18), @p_FromPrice) OR @p_FromPrice IS NULL OR @p_FromPrice = '0' )
201
	AND (A.BUY_PRICE <= CONVERT(decimal(18), @p_ToPrice)  OR @p_ToPrice IS NULL OR @p_ToPrice = '0' )
202
	AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
203
	OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)
204
	AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_login))
205
	OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL 
206
	OR @p_BRANCH_ID IS NOT NULL OR @p_BRANCH_ID <> '')
207
	AND (A.USE_DATE_KT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '') --THEM 15/04 THIEUVQ
208
	--AND (A.USE_DATE >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') --THEM 15/04 THIEUVQ
209
	AND A.TYPE_ID = 'CCLD' --THEM 15/04 THIEUVQ
210
	AND (CONVERT(DATE,A.LIQUIDATION_DT) > CONVERT(DATE,@p_Fromdate,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT = '')
211
	AND A.AMORT_STATUS <> 'VNM'
212
	UNION
213
	SELECT 
214

    
215
	0 AS STT,
216
	
217
	[dbo].[FN_GET_GROUPCODE](A.GROUP_ID,'1') AS NHOM_TS4,	
218
	[dbo].[FN_GET_GROUPNAME](A.GROUP_ID,'1') AS MS_TS, -- MÃ SỐ TÀI SẢN
219
	'' AS TEN_TS, --TEN TAI SAN
220

    
221
	NULL AS NGAY_TANG_TS,
222
	
223
	NULL AS NGAY_BD_KH, --NGÀY BAT DAU KHAU HAO
224
	NULL AS SERIAL,
225
	NULL AS EMPNAME,
226
	NULL AS BRANCH_USE,
227
	SUM(ISNULL(CC.PHAT_SINH_DAU,0)) AS NGUYEN_GIA_FROM,
228
	SUM(ISNULL(BB.TONG_KH_DAU,0)) AS KHAU_HAO_LK_FROM,	
229
	SUM((ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0))) AS GIA_TRI_CL_FROM,
230
	SUM(ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0)) AS NGUYEN_GIA_PHAT_SINH_TANG,
231
	SUM(ISNULL(AA.TONG_KH_TRONG_KHOANG,0)) AS KH_PHAT_SINH_TANG,
232
	SUM(ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0)) AS NGUYEN_GIA_PHAT_SINH_GIAM,
233
	SUM(ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) AS KH_PHAT_SINH_GIAM,
234
	--ISNULL(DD.PHAT_SINH_CUOI,0) AS NGUYEN_GIA_TO,
235
	SUM((ISNULL(CC.PHAT_SINH_DAU,0) + ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) - ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0))) AS NGUYEN_GIA_TO,
236
	SUM((ISNULL(AA.TONG_KH_TRONG_KHOANG,0) + ISNULL(BB.TONG_KH_DAU,0) - ISNULL(DR.TONG_KH_TRONG_KHOANG,0))) AS KHAU_HAO_LK_TO,
237
	--(ISNULL(DD.PHAT_SINH_CUOI,0)-ISNULL(DR.TONG_KH_TRONG_KHOANG,0) -ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_TO,
238
	SUM((ISNULL(DD.PHAT_SINH_CUOI,0) - ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(BB.TONG_KH_DAU,0) + ISNULL(DR.TONG_KH_TRONG_KHOANG,0))) AS GIA_TRI_CL_TO,
239
	'' AS GHI_CHU,---GHI CHU
240
	NULL AS GIA_TRI_KH_CU,---GIA TRI KHAU HAO CU
241
	NULL SOTHANG_KHAUHAO,--LUCTV BEGIN 17-10- 2018
242
	NULL DA_KH,
243
	NULL TG_KH_CONLAI,
244
	SUM((ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0))) SODU_DAUKY,
245
	SUM(ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0)) TANG_TRONGKY,
246
	SUM(ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0)) GIAM_TRONGKY,
247
	SUM(ISNULL(CC.PHAT_SINH_DAU,0) + ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) - ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0)) SODU_CUOIKY,
248
    SUM(ISNULL(BB.TONG_KH_DAU,0)) KH_SD_DAUKY,
249
	SUM(ISNULL(AA.TONG_KH_TRONG_KHOANG,0)) KH_TANG_TRONGKY,
250
	SUM(ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) KH_GIAM_TRONGKY,
251
	SUM((ISNULL(BB.TONG_KH_DAU,0) + ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(DR.TONG_KH_TRONG_KHOANG,0))) KH_SD_CUOIKY,
252
	SUM((ISNULL(DD.PHAT_SINH_CUOI,0) - ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(BB.TONG_KH_DAU,0) + ISNULL(DR.TONG_KH_TRONG_KHOANG,0))) GT_CON_LAI
253

    
254
	FROM ASS_MASTER  A
255
	LEFT JOIN 
256
	(
257
		SELECT A.ASSET_ID,		
258
			ISNULL(TR.BRANCH_ID, TRN.BRANCH_ID) AS BRANCH_ID,
259
			CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.DEPT_ID ELSE TR.DEPT_ID END AS DEPT_ID,
260
			CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.EMP_ID ELSE TR.EMP_ID END AS EMP_ID				
261
		FROM ASS_MASTER A
262
		LEFT JOIN --LAY DON VI MOI NHAT 
263
		(
264
			SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID		
265
			FROM ASS_LOCATION_HIST A		
266
			INNER JOIN
267
			(
268
				SELECT MAX(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
269
				FROM ASS_LOCATION_HIST B 
270
				WHERE B.USE_START_DT <= CONVERT(DATE,@p_Todate,103)
271
				GROUP BY B.ASSET_ID
272
			) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID		
273
		) AS TR ON TR.ASSET_ID = A.ASSET_ID
274
		LEFT JOIN --LAY DON VI CU NHAT
275
		(
276
			SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID		
277
			FROM ASS_LOCATION_HIST A		
278
			INNER JOIN
279
			(
280
				SELECT MIN(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
281
				FROM ASS_LOCATION_HIST B 
282
				WHERE B.USE_START_DT > CONVERT(DATE,@p_Todate,103)
283
				GROUP BY B.ASSET_ID
284
			) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID		
285
		) AS TRN ON TRN.ASSET_ID = A.ASSET_ID		
286
	) AS BRN_HIST ON BRN_HIST.ASSET_ID = A.ASSET_ID
287
	INNER JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
288
	--LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
289
	--LEFT JOIN CM_BRANCH C ON BRN_HIST.BRANCH_ID = C.BRANCH_ID	
290
	--LEFT JOIN CM_BRANCH D ON D.BRANCH_ID = C.FATHER_ID
291
	--LEFT JOIN CM_EMPLOYEE E ON BRN_HIST.EMP_ID = E.EMP_ID
292
	--LEFT JOIN CM_DEPARTMENT F ON BRN_HIST.DEPT_ID = F.DEP_ID
293

    
294
	-- GIÁ TRỊ KHAU HAO TAI NGÀY FROM
295
	-- SELECT * FROM ASS_AMORT_DT A INNER JOIN ASS_AMORT B ON A.AMORT_ID = B.AMORT_ID
296
	-- SELECT * FROM ASS_VALUES
297
	-- SELECT * FROM ASS_AMORT_DT WHERE 
298
	-- GIÁ TRỊ CÒN LAI CỦA TÀI SẢN TẠI THỜI ĐIỂM ĐÍCH
299
	LEFT JOIN
300
	(
301
		SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
302
		FROM ASS_AMORT_DT X
303
		--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
304
		WHERE 
305
		(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
306
		AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
307
		AND CRDR = 'C'
308
		GROUP BY X.ASSET_ID
309
	) AA ON A.ASSET_ID = AA.ASSET_ID
310
	LEFT JOIN
311
	(
312
		SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
313
		FROM ASS_AMORT_DT X
314
		--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
315
		WHERE 
316
		(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
317
		AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
318
		AND CRDR = 'D'
319
		GROUP BY X.ASSET_ID
320
	) DR ON A.ASSET_ID = DR.ASSET_ID
321
	-- SELECT * FROM ASS_AMORT_DT
322
	LEFT JOIN
323
	(
324
		SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS TONG_KH_DAU
325
		FROM ASS_AMORT_DT X
326
		--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
327
		INNER JOIN ASS_MASTER Z ON X.ASSET_ID = Z.ASSET_ID
328
		WHERE 
329
		(X.AMORT_DT >= CONVERT(DATE,Z.AMORT_START_DATE)) AND (CONVERT(DATE,Z.LIQUIDATION_DT) >= CONVERT(DATE,@p_Fromdate,103) OR Z.LIQUIDATION_DT IS NULL OR Z.LIQUIDATION_DT = '')
330
		AND (X.AMORT_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
331
		GROUP BY X.ASSET_ID
332
	) BB ON A.ASSET_ID = BB.ASSET_ID
333
	-- SELECT TOP 200 * FROM ASS_MASTER
334
	-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU BAT DAU KHAU HAO DEN THOI DIEM FROM
335
	LEFT JOIN
336
	(
337
		SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS PHAT_SINH_DAU 
338
		FROM ASS_VALUES X
339
		INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
340
		WHERE (X.TRN_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
341
		--(X.CREATE_DT >= Y.CREATE_DT) 
342
		--AND (X.CREATE_DT <= CONVERT(DATETIME,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
343
		GROUP BY X.ASSET_ID
344
	) CC ON A.ASSET_ID = CC.ASSET_ID
345
	-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM BAT DAU ĐẾN THỜI ĐIỂM TO
346
	-- SELECT * FROM ASS_MASTER
347
	LEFT JOIN
348
	(
349
		SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS PHAT_SINH_CUOI
350
		FROM ASS_VALUES X
351
		INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
352
		WHERE --X.CREATE_DT >= Y.CREATE_DT 
353
			 (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
354
		GROUP BY X.ASSET_ID
355
	) DD ON A.ASSET_ID = DD.ASSET_ID
356
	-- PHAT SINH TANG TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
357
	-- select * from ass_values where trn_type = 'ass_use'
358
	LEFT JOIN
359
	(
360
		SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_TANG_TRONG_KHOANG
361
		FROM ASS_VALUES X
362
		--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
363
		WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
364
		AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
365
		AND X.CRDR = 'C'
366
		GROUP BY X.ASSET_ID
367
	) EE ON A.ASSET_ID = EE.ASSET_ID
368
	-- PHAT SINH GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
369
	LEFT JOIN
370
	(
371
		SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_GIAM_TRONG_KHOANG
372
		FROM ASS_VALUES X
373
		--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
374
		WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') 
375
		AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
376
		AND X.CRDR = 'D'
377
		GROUP BY X.ASSET_ID
378
	) FF ON A.ASSET_ID = FF.ASSET_ID
379
	--LEFT JOIN CM_EMPLOYEE CE ON A.EMP_ID = CE.EMP_ID
380
	WHERE  A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A'	
381
	AND A.ENTRY_BOOKED = 'Y'
382
		-- NHOM TAI SAN
383
	AND (A.GROUP_ID = @p_Group_id OR @p_Group_id IS NULL OR @p_Group_id = '')
384
	-- NSD
385
	AND (A.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '')
386
	-- NHA CUNG CAP
387
	AND (A.SUP_ID = @p_Supplier_ID OR @p_Supplier_ID IS NULL OR @p_Supplier_ID = '')
388
	-- NGUYEN GIA
389
	AND (A.BUY_PRICE >= CONVERT(decimal(18), @p_FromPrice) OR @p_FromPrice IS NULL OR @p_FromPrice = '0' )
390
	AND (A.BUY_PRICE <= CONVERT(decimal(18), @p_ToPrice)  OR @p_ToPrice IS NULL OR @p_ToPrice = '0' )
391
	AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
392
	OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)
393
	AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_login))
394
	OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL 
395
	OR @p_BRANCH_ID IS NOT NULL OR @p_BRANCH_ID <> '')
396
	AND (A.USE_DATE_KT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '') --THEM 15/04 THIEUVQ
397
	--AND (A.USE_DATE >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') --THEM 15/04 THIEUVQ
398
	AND A.TYPE_ID = 'CCLD' --THEM 15/04 THIEUVQ
399
	AND (CONVERT(DATE,A.LIQUIDATION_DT) > CONVERT(DATE,@p_Fromdate,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT = '')
400
	AND A.AMORT_STATUS <> 'VNM'
401
	GROUP BY [dbo].[FN_GET_GROUPCODE](A.GROUP_ID,'1'), [dbo].[FN_GET_GROUPNAME](A.GROUP_ID,'1')
402
	) GR
403
ORDER BY GR.NHOM_TS4
404
END