Project

General

Profile

1.0 BIỂU ĐỒ CỘT GIÁ TRỊ TÀI SẢN - LẦN 4.txt

Luc Tran Van, 03/16/2023 09:31 AM

 
1

    
2
-- BIEU DO O1 TING TRANG TAI SAN (GIA TRI)
3
ALTER   PROC [dbo].[DB_STATUS_ASSET_VALUE_BAR]
4
@p_USER_LOGIN VARCHAR(250) = NULL,
5
@p_TYPE_ID VARCHAR(5) = NULL,
6
@p_GROUP_ID VARCHAR(15) = NULL,
7
@p_BRANCH_ID VARCHAR(15) = NULL,
8
@p_FROM_DATE VARCHAR(100) = NULL,
9
@p_TO_DATE VARCHAR(100) = NULL,
10
@p_AMORT_DATE_CHECK VARCHAR(100) = NULL,
11
@p_USE_DATE_KT_CHECK VARCHAR(100) = NULL,
12
@p_FILTER VARCHAR(100) = NULL
13
AS
14
BEGIN
15
	DECLARE @BRANCH_LOGIN varchar(15) ='', @DEP_LOGIN varchar(15) =''
16
	SELECT @DEP_LOGIN = SECUR_CODE, @BRANCH_LOGIN = TLSUBBRID FROM TL_USER WHERE TLNANME = @p_USER_LOGIN
17

    
18
  IF(NOT EXISTS(SELECT * FROM CM_DEPARTMENT cd WHERE cd.BRANCH_ID = @BRANCH_LOGIN AND cd.DEP_ID = @DEP_LOGIN AND (cd.DEP_CODE = '0690604' OR cd.DEP_CODE = '0690802' OR cd.DEP_CODE = '0690803')))
19
  BEGIN
20
    IF(@BRANCH_LOGIN = 'DV0001') SET @p_BRANCH_ID = @DEP_LOGIN
21
    ELSE SET @p_BRANCH_ID = @BRANCH_LOGIN
22
  END
23

    
24

    
25
	IF(@p_TYPE_ID = 'ALL') SET @p_TYPE_ID=''
26

    
27
		--IF(@p_USE_DATE_KT_CHECK = '1')
28
		--BEGIN
29
		--	SELECT DISTINCT 
30
		--		YEAR(USE_DATE_KT) AS [YEAR],ROUND(ISNULL(SUM(BUY_PRICE),0)/1000000000,2) AS BUY_PRICE
31
		--	FROM ASS_MASTER A
32
		--	WHERE 1=1
33
		--	AND A.BUY_DATE_KT IS NOT NULL
34
		--	--AND (CONVERT(date,A.USE_DATE_KT,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
35
		--	AND (CONVERT(date,A.USE_DATE_KT,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
36
		--	AND (A.TYPE_ID=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
37
		--	AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR A.GROUP_ID IN (SELECT GROUP_ID FROM ASS_GROUP WHERE PARENT_ID = @p_GROUP_ID))
38
		--	AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID)
39
		--	GROUP BY YEAR(USE_DATE_KT)
40
		--	ORDER BY YEAR(USE_DATE_KT) ASC
41
		--END
42
		--ELSE IF(@p_AMORT_DATE_CHECK = '1')
43
		--BEGIN
44
		--	SELECT DISTINCT 
45
		--		YEAR(AMORT_START_DATE) AS [YEAR],ROUND(ISNULL(SUM(BUY_PRICE),0)/1000000000,2) AS BUY_PRICE
46
		--	FROM ASS_MASTER A
47
		--	WHERE 1=1
48
		--	AND A.BUY_DATE_KT IS NOT NULL
49
		--	--AND (CONVERT(date,A.AMORT_START_DATE,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
50
		--	AND (CONVERT(date,A.AMORT_START_DATE,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
51
		--	AND (A.TYPE_ID=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
52
		--	AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR A.GROUP_ID IN (SELECT GROUP_ID FROM ASS_GROUP WHERE PARENT_ID = @p_GROUP_ID))
53
		--	AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID)
54
		--	GROUP BY YEAR(AMORT_START_DATE)
55
		--	ORDER BY YEAR(AMORT_START_DATE) ASC
56
		--END
57
		
58
		DECLARE @YEAR INT
59
		DECLARE @TABLE TABLE(
60
			USE_DATE_KT NVARCHAR(100) NULL,
61
			BUY_PRICE DECIMAL(18,2) NULL,
62
			[YEAR] VARCHAR(10) NULL
63
		)
64
		DECLARE @TBALE_YEAR_FILTER TABLE(
65
			[YEAR] VARCHAR(10) 
66
		)
67
		DECLARE @YEAR_IN INT = YEAR(CONVERT(date,@p_TO_DATE,103))
68
		INSERT INTO @TBALE_YEAR_FILTER VALUES(YEAR(CONVERT(date,@p_TO_DATE,103)))
69
		WHILE(@YEAR_IN > YEAR(CONVERT(date,@p_FROM_DATE,103)))
70
		BEGIN
71
			SET @YEAR_IN = @YEAR_IN - 1
72
			INSERT INTO @TBALE_YEAR_FILTER VALUES(@YEAR_IN)
73
		END
74
		SELECT [YEAR],0 AS BUY_PRICE FROM @TBALE_YEAR_FILTER ORDER BY [YEAR] 
75
		DECLARE CUR_FILTER_YEAR CURSOR FOR
76
		SELECT [YEAR] FROM @TBALE_YEAR_FILTER
77
		--SELECT DISTINCT 
78
		--	CASE WHEN  @p_USE_DATE_KT_CHECK = '1' THEN YEAR(USE_DATE_KT) 
79
		--		ELSE YEAR(AMORT_START_DATE) END
80
		--	AS USE_DATE_KT
81
		--FROM ASS_MASTER A WHERE 1=1
82
		--AND USE_DATE_KT IS NOT NULL
83
		--AND ((@p_USE_DATE_KT_CHECK = '1' AND (CONVERT(date,A.USE_DATE_KT,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='') AND (CONVERT(date,A.USE_DATE_KT,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE =''))
84
		--	OR (@p_AMORT_DATE_CHECK = '1' AND (CONVERT(date,A.AMORT_START_DATE,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='') AND (CONVERT(date,A.AMORT_START_DATE,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE =''))
85
		--	)
86
		--AND (A.[TYPE_ID]=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
87
		--AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR A.GROUP_ID IN (SELECT GROUP_ID FROM ASS_GROUP WHERE PARENT_ID = @p_GROUP_ID))
88
		--AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID)
89
		OPEN CUR_FILTER_YEAR
90

    
91
		IF(@p_USE_DATE_KT_CHECK = '1')
92
		BEGIN
93
			FETCH NEXT FROM CUR_FILTER_YEAR
94
				  INTO @YEAR
95

    
96
			WHILE @@FETCH_STATUS = 0
97
			BEGIN
98
				INSERT INTO @TABLE(USE_DATE_KT,BUY_PRICE,[YEAR])
99
				(
100
					SELECT N'0 - 3 năm' USE_DATE_KT,ROUND((ISNULL(SUM(VL.BUY_PRICE),0) -ISNULL(SUM(AM.AMORTIZED_AMT),0))/1000000000,2) BUY_PRICE,@YEAR AS [YEAR] FROM ASS_MASTER A
101
					LEFT JOIN
102
					(
103
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS BUY_PRICE
104
						FROM ASS_VALUES X
105
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
106
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
107
							 (X.CREATE_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
108
						GROUP BY X.ASSET_ID
109
					) VL ON A.ASSET_ID = VL.ASSET_ID
110
					LEFT JOIN
111
					(
112
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS AMORTIZED_AMT
113
						FROM ASS_AMORT_DT X
114
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
115
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
116
							 (X.AMORT_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
117
						GROUP BY X.ASSET_ID
118
					) AM ON A.ASSET_ID = AM.ASSET_ID
119
					WHERE 1=1 AND A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ENTRY_BOOKED = 'Y'
120
					--AND (CONVERT(date,A.USE_DATE_KT,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
121
					AND ((A.[TYPE_ID] = 'TSCD' AND  CONVERT(date,A.LIQUIDATION_DT,103) >= CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT ='') 
122
							OR (A.[TYPE_ID] = 'CCLD' AND A.AMORT_STATUS <> 'VNM' AND  CONVERT(date,A.LIQUIDATION_DT,103) > CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT =''))
123
					AND (CONVERT(date,A.USE_DATE_KT,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='' OR (A.TYPE_ID ='TSCD' AND  (A.USE_DATE_KT IS NULL OR A.USE_DATE_KT ='')))
124
					AND (@YEAR-YEAR(USE_DATE_KT) >= 0 OR (A.TYPE_ID ='TSCD' AND  (A.USE_DATE_KT IS NULL OR A.USE_DATE_KT ='')))
125
					AND (@YEAR-YEAR(USE_DATE_KT) <= 3 OR (A.TYPE_ID ='TSCD' AND  (A.USE_DATE_KT IS NULL OR A.USE_DATE_KT ='')))
126
					AND (A.[TYPE_ID]=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
127
				AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,1) =@p_GROUP_ID) 
128
							OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,2) =@p_GROUP_ID) OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,3) =@p_GROUP_ID))
129
					AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID OR (A.TYPE_ID ='TSCD' AND ISNULL(A.BRANCH_CREATE,'') =@p_BRANCH_ID))
130
				)
131
				UNION ALL
132
				(
133
					SELECT N'3 - 5 năm' USE_DATE_KT,ROUND((ISNULL(SUM(VL.BUY_PRICE),0) -ISNULL(SUM(AM.AMORTIZED_AMT),0))/1000000000,2) BUY_PRICE,@YEAR AS [YEAR] FROM ASS_MASTER A
134
					LEFT JOIN
135
					(
136
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS BUY_PRICE
137
						FROM ASS_VALUES X
138
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
139
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
140
							 (X.CREATE_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
141
						GROUP BY X.ASSET_ID
142
					) VL ON A.ASSET_ID = VL.ASSET_ID
143
					LEFT JOIN
144
					(
145
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS AMORTIZED_AMT
146
						FROM ASS_AMORT_DT X
147
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
148
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
149
							 (X.AMORT_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
150
						GROUP BY X.ASSET_ID
151
					) AM ON A.ASSET_ID = AM.ASSET_ID
152
					WHERE 1=1 AND A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ENTRY_BOOKED = 'Y'
153
					--AND (CONVERT(date,A.USE_DATE_KT,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
154
					AND ((A.[TYPE_ID] = 'TSCD' AND  CONVERT(date,A.LIQUIDATION_DT,103) >= CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT ='') 
155
							OR (A.[TYPE_ID] = 'CCLD' AND A.AMORT_STATUS <> 'VNM' AND  CONVERT(date,A.LIQUIDATION_DT,103) > CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT =''))
156
					AND (CONVERT(date,A.USE_DATE_KT,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
157
					AND (@YEAR-YEAR(USE_DATE_KT) > 3)
158
					AND (@YEAR-YEAR(USE_DATE_KT) <= 5)
159
					AND (A.[TYPE_ID]=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
160
				AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,1) =@p_GROUP_ID) 
161
							OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,2) =@p_GROUP_ID) OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,3) =@p_GROUP_ID))
162
					AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID OR (A.TYPE_ID ='TSCD' AND ISNULL(A.BRANCH_CREATE,'') =@p_BRANCH_ID))
163
				)
164
				UNION ALL
165
				(
166
					SELECT N'Trên 5 năm' USE_DATE_KT,ROUND((ISNULL(SUM(VL.BUY_PRICE),0) -ISNULL(SUM(AM.AMORTIZED_AMT),0))/1000000000,2) BUY_PRICE,@YEAR AS [YEAR] FROM ASS_MASTER A
167
					LEFT JOIN
168
					(
169
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS BUY_PRICE
170
						FROM ASS_VALUES X
171
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
172
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
173
							 (X.CREATE_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
174
						GROUP BY X.ASSET_ID
175
					) VL ON A.ASSET_ID = VL.ASSET_ID
176
					LEFT JOIN
177
					(
178
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS AMORTIZED_AMT
179
						FROM ASS_AMORT_DT X
180
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
181
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
182
							 (X.AMORT_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
183
						GROUP BY X.ASSET_ID
184
					) AM ON A.ASSET_ID = AM.ASSET_ID
185
					WHERE 1=1 AND A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ENTRY_BOOKED = 'Y'
186
					--AND (CONVERT(date,A.USE_DATE_KT,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
187
					AND ((A.[TYPE_ID] = 'TSCD' AND  CONVERT(date,A.LIQUIDATION_DT,103) >= CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT ='') 
188
							OR (A.[TYPE_ID] = 'CCLD' AND A.AMORT_STATUS <> 'VNM' AND  CONVERT(date,A.LIQUIDATION_DT,103) > CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT =''))
189
					AND (CONVERT(date,A.USE_DATE_KT,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
190
					AND (@YEAR-YEAR(USE_DATE_KT) > 5)
191
					AND (A.[TYPE_ID]=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
192
				AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,1) =@p_GROUP_ID) 
193
							OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,2) =@p_GROUP_ID) OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,3) =@p_GROUP_ID))
194
					AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID OR (A.TYPE_ID ='TSCD' AND ISNULL(A.BRANCH_CREATE,'') =@p_BRANCH_ID))
195
				)
196

    
197
				FETCH NEXT FROM CUR_FILTER_YEAR
198
					  INTO @YEAR
199
			END
200
		END
201
		ELSE IF(@p_AMORT_DATE_CHECK = '1')
202
		BEGIN 
203
			FETCH NEXT FROM CUR_FILTER_YEAR
204
				  INTO @YEAR
205

    
206
			WHILE @@FETCH_STATUS = 0
207
			BEGIN
208
				INSERT INTO @TABLE(USE_DATE_KT,BUY_PRICE,[YEAR])
209
				(
210
					SELECT N'0 - 3 năm' USE_DATE_KT,ROUND((ISNULL(SUM(VL.BUY_PRICE),0) -ISNULL(SUM(AM.AMORTIZED_AMT),0))/1000000000,2) BUY_PRICE,@YEAR AS [YEAR] FROM ASS_MASTER A
211
					LEFT JOIN
212
					(
213
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS BUY_PRICE
214
						FROM ASS_VALUES X
215
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
216
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
217
							 (X.CREATE_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
218
						GROUP BY X.ASSET_ID
219
					) VL ON A.ASSET_ID = VL.ASSET_ID
220
					LEFT JOIN
221
					(
222
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS AMORTIZED_AMT
223
						FROM ASS_AMORT_DT X
224
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
225
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
226
							 (X.AMORT_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
227
						GROUP BY X.ASSET_ID
228
					) AM ON A.ASSET_ID = AM.ASSET_ID
229
					WHERE 1=1 AND A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ENTRY_BOOKED = 'Y'
230
					--AND (CONVERT(date,A.AMORT_START_DATE,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
231
					AND ((A.[TYPE_ID] = 'TSCD' AND  CONVERT(date,A.LIQUIDATION_DT,103) >= CONVERT(date,@p_FROM_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT ='') 
232
							OR (A.[TYPE_ID] = 'CCLD' AND A.AMORT_STATUS <> 'VNM' AND  CONVERT(date,A.LIQUIDATION_DT,103) > CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT =''))
233
					AND (CONVERT(date,A.AMORT_START_DATE,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
234
					AND (@YEAR-YEAR(AMORT_START_DATE) >= 0 OR (A.TYPE_ID ='TSCD' AND  (A.AMORT_START_DATE IS NULL OR A.AMORT_START_DATE ='')))
235
					AND (@YEAR-YEAR(AMORT_START_DATE) <= 3 OR (A.TYPE_ID ='TSCD' AND  (A.AMORT_START_DATE IS NULL OR A.AMORT_START_DATE ='')))
236
					AND (A.[TYPE_ID]=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
237
					AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,1) =@p_GROUP_ID) 
238
							OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,2) =@p_GROUP_ID) OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,3) =@p_GROUP_ID))
239
					AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID OR (A.TYPE_ID ='TSCD' AND ISNULL(A.BRANCH_CREATE,'') =@p_BRANCH_ID))
240
				)
241
				UNION ALL
242
				(
243
					SELECT N'3 - 5 năm' USE_DATE_KT,ROUND((ISNULL(SUM(VL.BUY_PRICE),0) -ISNULL(SUM(AM.AMORTIZED_AMT),0))/1000000000,2) BUY_PRICE,@YEAR AS [YEAR] FROM ASS_MASTER A
244
					LEFT JOIN
245
					(
246
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS BUY_PRICE
247
						FROM ASS_VALUES X
248
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
249
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
250
							 (X.CREATE_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
251
						GROUP BY X.ASSET_ID
252
					) VL ON A.ASSET_ID = VL.ASSET_ID
253
					LEFT JOIN
254
					(
255
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS AMORTIZED_AMT
256
						FROM ASS_AMORT_DT X
257
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
258
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
259
							 (X.AMORT_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
260
						GROUP BY X.ASSET_ID
261
					) AM ON A.ASSET_ID = AM.ASSET_ID
262
					WHERE 1=1 AND A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ENTRY_BOOKED = 'Y'
263
					--AND (CONVERT(date,A.AMORT_START_DATE,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
264
					AND ((A.[TYPE_ID] = 'TSCD' AND  CONVERT(date,A.LIQUIDATION_DT,103) >= CONVERT(date,@p_FROM_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT ='') 
265
							OR (A.[TYPE_ID] = 'CCLD' AND A.AMORT_STATUS <> 'VNM' AND  CONVERT(date,A.LIQUIDATION_DT,103) > CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT =''))
266
					AND (CONVERT(date,A.AMORT_START_DATE,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
267
					AND (@YEAR-YEAR(AMORT_START_DATE) > 3)
268
					AND (@YEAR-YEAR(AMORT_START_DATE) <= 5)
269
					AND (A.[TYPE_ID]=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
270
					AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,1) =@p_GROUP_ID) 
271
							OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,2) =@p_GROUP_ID) OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,3) =@p_GROUP_ID))
272
					AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID)
273
				)
274
				UNION ALL
275
				(
276
					SELECT N'Trên 5 năm' USE_DATE_KT,ROUND((ISNULL(SUM(VL.BUY_PRICE),0) -ISNULL(SUM(AM.AMORTIZED_AMT),0))/1000000000,2) BUY_PRICE,@YEAR AS [YEAR] FROM ASS_MASTER A
277
					LEFT JOIN
278
					(
279
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.ASSET_AMT WHEN 'D' THEN -X.ASSET_AMT END),0) AS BUY_PRICE
280
						FROM ASS_VALUES X
281
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
282
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
283
							 (X.CREATE_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
284
						GROUP BY X.ASSET_ID
285
					) VL ON A.ASSET_ID = VL.ASSET_ID
286
					LEFT JOIN
287
					(
288
						SELECT X.ASSET_ID,ISNULL(SUM(CASE X.CRDR  WHEN 'C' THEN X.AMORT_AMT WHEN 'D' THEN -X.AMORT_AMT END),0) AS AMORTIZED_AMT
289
						FROM ASS_AMORT_DT X
290
						INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
291
						WHERE --X.CREATE_DT >= Y.CREATE_DT 
292
							 (X.AMORT_DT <= CONVERT(DATE,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE = '')
293
						GROUP BY X.ASSET_ID
294
					) AM ON A.ASSET_ID = AM.ASSET_ID
295
					WHERE 1=1 AND A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A' AND A.ENTRY_BOOKED = 'Y'
296
					--AND (CONVERT(date,A.AMORT_START_DATE,103) >= CONVERT(date,@p_FROM_DATE,103) OR @p_FROM_DATE IS NULL OR @p_FROM_DATE ='')
297
					AND ((A.[TYPE_ID] = 'TSCD' AND  CONVERT(date,A.LIQUIDATION_DT,103) >= CONVERT(date,@p_FROM_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT ='') 
298
							OR (A.[TYPE_ID] = 'CCLD' AND A.AMORT_STATUS <> 'VNM' AND  CONVERT(date,A.LIQUIDATION_DT,103) > CONVERT(date,@p_TO_DATE,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT =''))
299
					AND (CONVERT(date,A.AMORT_START_DATE,103) <= CONVERT(date,@p_TO_DATE,103) OR @p_TO_DATE IS NULL OR @p_TO_DATE ='')
300
					AND (@YEAR-YEAR(AMORT_START_DATE) > 5)
301
					AND (A.[TYPE_ID]=@p_TYPE_ID OR @p_TYPE_ID IS NULL OR @p_TYPE_ID ='')
302
					AND (A.GROUP_ID=@p_GROUP_ID OR @p_GROUP_ID IS NULL OR @p_GROUP_ID ='' OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,1) =@p_GROUP_ID) 
303
							OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,2) =@p_GROUP_ID) OR (DBO.[FN_GET_GROUPID] (A.GROUP_ID,3) =@p_GROUP_ID))
304
					AND (A.BRANCH_ID=@p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='' OR A.DEPT_ID = @p_BRANCH_ID)
305
				)
306

    
307
				FETCH NEXT FROM CUR_FILTER_YEAR
308
					  INTO @YEAR
309
			END
310
		END
311
		CLOSE CUR_FILTER_YEAR
312
		DEALLOCATE CUR_FILTER_YEAR
313

    
314
		SELECT * FROM @TABLE	
315
		ORDER BY [YEAR] ASC
316
END
317