Project

General

Profile

[rpt_CCLD_BC08_2_Excel_BanViet].txt

Luc Tran Van, 12/06/2022 11:20 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
	CD.DEP_NAME AS DEP_USE,
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_DEPARTMENT CD ON A.DEPT_ID = CD.DEP_ID
102
	--LEFT JOIN CM_BRANCH C ON BRN_HIST.BRANCH_ID = C.BRANCH_ID	
103
	--LEFT JOIN CM_BRANCH D ON D.BRANCH_ID = C.FATHER_ID
104
	--LEFT JOIN CM_EMPLOYEE E ON BRN_HIST.EMP_ID = E.EMP_ID
105
	--LEFT JOIN CM_DEPARTMENT F ON BRN_HIST.DEPT_ID = F.DEP_ID
106

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

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

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

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

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