Project

General

Profile

rpt_CCLD_BC08_2_Excel_BanViet.txt

Luc Tran Van, 12/01/2022 03:07 PM

 
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
	
37
	ISNULL(CC.PHAT_SINH_DAU,0) AS NGUYEN_GIA_FROM,
38
	ISNULL(BB.TONG_KH_DAU,0) AS KHAU_HAO_LK_FROM,	
39
	(ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_FROM,
40
	ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) AS NGUYEN_GIA_PHAT_SINH_TANG,
41
	ISNULL(AA.TONG_KH_TRONG_KHOANG,0) AS KH_PHAT_SINH_TANG,
42
	ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) AS NGUYEN_GIA_PHAT_SINH_GIAM,
43
	ISNULL(DR.TONG_KH_TRONG_KHOANG,0) AS KH_PHAT_SINH_GIAM,
44
	--ISNULL(DD.PHAT_SINH_CUOI,0) AS NGUYEN_GIA_TO,
45
	(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,
46
	(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,
47
	--(ISNULL(DD.PHAT_SINH_CUOI,0)-ISNULL(DR.TONG_KH_TRONG_KHOANG,0) -ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_TO,
48
	(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,
49
	A.ASSET_DESC AS GHI_CHU,---GHI CHU
50
	A.REF_AMORTIZED_AMT AS GIA_TRI_KH_CU,---GIA TRI KHAU HAO CU
51
	A.AMORT_MONTH SOTHANG_KHAUHAO,--LUCTV BEGIN 17-10- 2018
52
	A.AMORTIZED_MONTH DA_KH,
53
	(A.AMORT_MONTH - ISNULL(A.AMORTIZED_MONTH,0)) TG_KH_CONLAI,
54
	(ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0)) SODU_DAUKY,
55
	ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) TANG_TRONGKY,
56
	ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) GIAM_TRONGKY,
57
	ISNULL(CC.PHAT_SINH_DAU,0) + ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) - ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) SODU_CUOIKY,
58
    ISNULL(BB.TONG_KH_DAU,0) KH_SD_DAUKY,
59
	ISNULL(AA.TONG_KH_TRONG_KHOANG,0) KH_TANG_TRONGKY,
60
	ISNULL(DR.TONG_KH_TRONG_KHOANG,0) KH_GIAM_TRONGKY,
61
	(ISNULL(BB.TONG_KH_DAU,0) + ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) KH_SD_CUOIKY,
62
	(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
63

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

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

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

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

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

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

    
404

    
405

    
406