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)/1000000000,2) BUY_PRICE,@YEAR AS [YEAR] FROM ASS_MASTER A
|
101
|
INNER 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
|
INNER 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
|
INNER 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
|
INNER 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
|
INNER 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
|
INNER 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
|
|