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.*,Row_number() OVER(ORDER BY GR.NHOM_TS4) AS STT
|
23
|
FROM
|
24
|
(
|
25
|
SELECT
|
26
|
--Row_number() OVER(ORDER BY A.ASSET_ID) AS STT,
|
27
|
|
28
|
[dbo].[FN_GET_GROUPCODE](A.GROUP_ID,'1') AS NHOM_TS4,
|
29
|
A.ASSET_CODE AS MS_TS, -- MÃ SỐ TÀI SẢN
|
30
|
A.ASSET_NAME AS TEN_TS, --TEN TAI SAN
|
31
|
|
32
|
A.USE_DATE_KT AS NGAY_TANG_TS,
|
33
|
|
34
|
A.AMORT_START_DATE AS NGAY_BD_KH, --NGÀY BAT DAU KHAU HAO
|
35
|
A.ASSET_SERIAL_NO AS SERIAL,
|
36
|
CE.EMP_NAME,
|
37
|
C.BRANCH_NAME AS BRANCH_USE,
|
38
|
CD.DEP_NAME AS DEP_USE,
|
39
|
ISNULL(CC.PHAT_SINH_DAU,0) AS NGUYEN_GIA_FROM,
|
40
|
ISNULL(BB.TONG_KH_DAU,0) AS KHAU_HAO_LK_FROM,
|
41
|
(ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_FROM,
|
42
|
ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) AS NGUYEN_GIA_PHAT_SINH_TANG,
|
43
|
ISNULL(AA.TONG_KH_TRONG_KHOANG,0) AS KH_PHAT_SINH_TANG,
|
44
|
ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) AS NGUYEN_GIA_PHAT_SINH_GIAM,
|
45
|
ISNULL(DR.TONG_KH_TRONG_KHOANG,0) AS KH_PHAT_SINH_GIAM,
|
46
|
--ISNULL(DD.PHAT_SINH_CUOI,0) AS NGUYEN_GIA_TO,
|
47
|
(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,
|
48
|
(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,
|
49
|
--(ISNULL(DD.PHAT_SINH_CUOI,0)-ISNULL(DR.TONG_KH_TRONG_KHOANG,0) -ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_TO,
|
50
|
(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,
|
51
|
A.ASSET_DESC AS GHI_CHU,---GHI CHU
|
52
|
A.REF_AMORTIZED_AMT AS GIA_TRI_KH_CU,---GIA TRI KHAU HAO CU
|
53
|
A.AMORT_MONTH SOTHANG_KHAUHAO,--LUCTV BEGIN 17-10- 2018
|
54
|
A.AMORTIZED_MONTH DA_KH,
|
55
|
(A.AMORT_MONTH - ISNULL(A.AMORTIZED_MONTH,0)) TG_KH_CONLAI,
|
56
|
(ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0)) SODU_DAUKY,
|
57
|
ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) TANG_TRONGKY,
|
58
|
ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) GIAM_TRONGKY,
|
59
|
ISNULL(CC.PHAT_SINH_DAU,0) + ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0) - ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0) SODU_CUOIKY,
|
60
|
ISNULL(BB.TONG_KH_DAU,0) KH_SD_DAUKY,
|
61
|
ISNULL(AA.TONG_KH_TRONG_KHOANG,0) KH_TANG_TRONGKY,
|
62
|
ISNULL(DR.TONG_KH_TRONG_KHOANG,0) KH_GIAM_TRONGKY,
|
63
|
(ISNULL(BB.TONG_KH_DAU,0) + ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) KH_SD_CUOIKY,
|
64
|
(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
|
65
|
|
66
|
FROM ASS_MASTER A
|
67
|
LEFT JOIN
|
68
|
(
|
69
|
SELECT A.ASSET_ID,
|
70
|
ISNULL(TR.BRANCH_ID, TRN.BRANCH_ID) AS BRANCH_ID,
|
71
|
CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.DEPT_ID ELSE TR.DEPT_ID END AS DEPT_ID,
|
72
|
CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.EMP_ID ELSE TR.EMP_ID END AS EMP_ID
|
73
|
FROM ASS_MASTER A
|
74
|
LEFT JOIN --LAY DON VI MOI NHAT
|
75
|
(
|
76
|
SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID
|
77
|
FROM ASS_LOCATION_HIST A
|
78
|
INNER JOIN
|
79
|
(
|
80
|
SELECT MAX(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
|
81
|
FROM ASS_LOCATION_HIST B
|
82
|
WHERE B.USE_START_DT <= CONVERT(DATE,@p_Todate,103)
|
83
|
GROUP BY B.ASSET_ID
|
84
|
) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID
|
85
|
) AS TR ON TR.ASSET_ID = A.ASSET_ID
|
86
|
LEFT JOIN --LAY DON VI CU NHAT
|
87
|
(
|
88
|
SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID
|
89
|
FROM ASS_LOCATION_HIST A
|
90
|
INNER JOIN
|
91
|
(
|
92
|
SELECT MIN(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
|
93
|
FROM ASS_LOCATION_HIST B
|
94
|
WHERE B.USE_START_DT > CONVERT(DATE,@p_Todate,103)
|
95
|
GROUP BY B.ASSET_ID
|
96
|
) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID
|
97
|
) AS TRN ON TRN.ASSET_ID = A.ASSET_ID
|
98
|
) AS BRN_HIST ON BRN_HIST.ASSET_ID = A.ASSET_ID
|
99
|
INNER JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
|
100
|
LEFT JOIN CM_EMPLOYEE CE ON A.EMP_ID = CE.EMP_ID
|
101
|
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
|
102
|
LEFT JOIN CM_DEPARTMENT CD ON A.DEPT_ID = CD.DEP_ID
|
103
|
--LEFT JOIN CM_BRANCH C ON BRN_HIST.BRANCH_ID = C.BRANCH_ID
|
104
|
--LEFT JOIN CM_BRANCH D ON D.BRANCH_ID = C.FATHER_ID
|
105
|
--LEFT JOIN CM_EMPLOYEE E ON BRN_HIST.EMP_ID = E.EMP_ID
|
106
|
--LEFT JOIN CM_DEPARTMENT F ON BRN_HIST.DEPT_ID = F.DEP_ID
|
107
|
|
108
|
-- GIÁ TRỊ KHAU HAO TAI NGÀY FROM
|
109
|
-- SELECT * FROM ASS_AMORT_DT A INNER JOIN ASS_AMORT B ON A.AMORT_ID = B.AMORT_ID
|
110
|
-- SELECT * FROM ASS_VALUES
|
111
|
-- SELECT * FROM ASS_AMORT_DT WHERE
|
112
|
-- GIÁ TRỊ CÒN LAI CỦA TÀI SẢN TẠI THỜI ĐIỂM ĐÍCH
|
113
|
LEFT JOIN
|
114
|
(
|
115
|
SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
|
116
|
FROM ASS_AMORT_DT X
|
117
|
--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
|
118
|
WHERE
|
119
|
(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
120
|
AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
|
121
|
AND CRDR = 'C'
|
122
|
GROUP BY X.ASSET_ID
|
123
|
) AA ON A.ASSET_ID = AA.ASSET_ID
|
124
|
LEFT JOIN
|
125
|
(
|
126
|
SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
|
127
|
FROM ASS_AMORT_DT X
|
128
|
--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
|
129
|
WHERE
|
130
|
(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
131
|
AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
|
132
|
AND CRDR = 'D'
|
133
|
GROUP BY X.ASSET_ID
|
134
|
) DR ON A.ASSET_ID = DR.ASSET_ID
|
135
|
-- SELECT * FROM ASS_AMORT_DT
|
136
|
LEFT JOIN
|
137
|
(
|
138
|
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
|
139
|
FROM ASS_AMORT_DT X
|
140
|
--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
|
141
|
INNER JOIN ASS_MASTER Z ON X.ASSET_ID = Z.ASSET_ID
|
142
|
WHERE
|
143
|
(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 = '')
|
144
|
AND (X.AMORT_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
145
|
GROUP BY X.ASSET_ID
|
146
|
) BB ON A.ASSET_ID = BB.ASSET_ID
|
147
|
-- SELECT TOP 200 * FROM ASS_MASTER
|
148
|
-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU BAT DAU KHAU HAO DEN THOI DIEM FROM
|
149
|
LEFT JOIN
|
150
|
(
|
151
|
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
|
152
|
FROM ASS_VALUES X
|
153
|
INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
154
|
WHERE (X.TRN_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
155
|
--(X.CREATE_DT >= Y.CREATE_DT)
|
156
|
--AND (X.CREATE_DT <= CONVERT(DATETIME,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
157
|
GROUP BY X.ASSET_ID
|
158
|
) CC ON A.ASSET_ID = CC.ASSET_ID
|
159
|
-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM BAT DAU ĐẾN THỜI ĐIỂM TO
|
160
|
-- SELECT * FROM ASS_MASTER
|
161
|
LEFT JOIN
|
162
|
(
|
163
|
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
|
164
|
FROM ASS_VALUES X
|
165
|
INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
166
|
WHERE --X.CREATE_DT >= Y.CREATE_DT
|
167
|
(X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
|
168
|
GROUP BY X.ASSET_ID
|
169
|
) DD ON A.ASSET_ID = DD.ASSET_ID
|
170
|
-- PHAT SINH TANG TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
|
171
|
-- select * from ass_values where trn_type = 'ass_use'
|
172
|
LEFT JOIN
|
173
|
(
|
174
|
SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_TANG_TRONG_KHOANG
|
175
|
FROM ASS_VALUES X
|
176
|
--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
177
|
WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
178
|
AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
|
179
|
AND X.CRDR = 'C'
|
180
|
GROUP BY X.ASSET_ID
|
181
|
) EE ON A.ASSET_ID = EE.ASSET_ID
|
182
|
-- PHAT SINH GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
|
183
|
LEFT JOIN
|
184
|
(
|
185
|
SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_GIAM_TRONG_KHOANG
|
186
|
FROM ASS_VALUES X
|
187
|
--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
188
|
WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
189
|
AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
|
190
|
AND X.CRDR = 'D'
|
191
|
GROUP BY X.ASSET_ID
|
192
|
) FF ON A.ASSET_ID = FF.ASSET_ID
|
193
|
WHERE A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A'
|
194
|
AND A.ENTRY_BOOKED = 'Y'
|
195
|
-- NHOM TAI SAN
|
196
|
AND (A.GROUP_ID = @p_Group_id OR @p_Group_id IS NULL OR @p_Group_id = '')
|
197
|
-- NSD
|
198
|
AND (A.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '')
|
199
|
-- NHA CUNG CAP
|
200
|
AND (A.SUP_ID = @p_Supplier_ID OR @p_Supplier_ID IS NULL OR @p_Supplier_ID = '')
|
201
|
-- NGUYEN GIA
|
202
|
AND (A.BUY_PRICE >= CONVERT(decimal(18), @p_FromPrice) OR @p_FromPrice IS NULL OR @p_FromPrice = '0' )
|
203
|
AND (A.BUY_PRICE <= CONVERT(decimal(18), @p_ToPrice) OR @p_ToPrice IS NULL OR @p_ToPrice = '0' )
|
204
|
AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
|
205
|
OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)
|
206
|
AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_login))
|
207
|
OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL
|
208
|
OR @p_BRANCH_ID IS NOT NULL OR @p_BRANCH_ID <> '')
|
209
|
AND (A.USE_DATE_KT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '') --THEM 15/04 THIEUVQ
|
210
|
--AND (A.USE_DATE >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') --THEM 15/04 THIEUVQ
|
211
|
AND A.TYPE_ID = 'CCLD' --THEM 15/04 THIEUVQ
|
212
|
AND (CONVERT(DATE,A.LIQUIDATION_DT) > CONVERT(DATE,@p_Fromdate,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT = '')
|
213
|
AND A.AMORT_STATUS <> 'VNM'
|
214
|
UNION
|
215
|
SELECT
|
216
|
|
217
|
--0 AS STT,
|
218
|
|
219
|
[dbo].[FN_GET_GROUPCODE](A.GROUP_ID,'1') AS NHOM_TS4,
|
220
|
[dbo].[FN_GET_GROUPNAME](A.GROUP_ID,'1') AS MS_TS, -- MÃ SỐ TÀI SẢN
|
221
|
'' AS TEN_TS, --TEN TAI SAN
|
222
|
|
223
|
NULL AS NGAY_TANG_TS,
|
224
|
|
225
|
NULL AS NGAY_BD_KH, --NGÀY BAT DAU KHAU HAO
|
226
|
NULL AS SERIAL,
|
227
|
NULL AS EMPNAME,
|
228
|
NULL AS BRANCH_USE,
|
229
|
NULL AS DEP_USE,
|
230
|
SUM(ISNULL(CC.PHAT_SINH_DAU,0)) AS NGUYEN_GIA_FROM,
|
231
|
SUM(ISNULL(BB.TONG_KH_DAU,0)) AS KHAU_HAO_LK_FROM,
|
232
|
SUM((ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0))) AS GIA_TRI_CL_FROM,
|
233
|
SUM(ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0)) AS NGUYEN_GIA_PHAT_SINH_TANG,
|
234
|
SUM(ISNULL(AA.TONG_KH_TRONG_KHOANG,0)) AS KH_PHAT_SINH_TANG,
|
235
|
SUM(ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0)) AS NGUYEN_GIA_PHAT_SINH_GIAM,
|
236
|
SUM(ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) AS KH_PHAT_SINH_GIAM,
|
237
|
--ISNULL(DD.PHAT_SINH_CUOI,0) AS NGUYEN_GIA_TO,
|
238
|
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,
|
239
|
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,
|
240
|
--(ISNULL(DD.PHAT_SINH_CUOI,0)-ISNULL(DR.TONG_KH_TRONG_KHOANG,0) -ISNULL(BB.TONG_KH_DAU,0)) AS GIA_TRI_CL_TO,
|
241
|
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,
|
242
|
'' AS GHI_CHU,---GHI CHU
|
243
|
NULL AS GIA_TRI_KH_CU,---GIA TRI KHAU HAO CU
|
244
|
NULL SOTHANG_KHAUHAO,--LUCTV BEGIN 17-10- 2018
|
245
|
NULL DA_KH,
|
246
|
NULL TG_KH_CONLAI,
|
247
|
SUM((ISNULL(CC.PHAT_SINH_DAU,0) - ISNULL(BB.TONG_KH_DAU,0))) SODU_DAUKY,
|
248
|
SUM(ISNULL(EE.PHAT_SINH_TANG_TRONG_KHOANG,0)) TANG_TRONGKY,
|
249
|
SUM(ISNULL(FF.PHAT_SINH_GIAM_TRONG_KHOANG,0)) GIAM_TRONGKY,
|
250
|
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,
|
251
|
SUM(ISNULL(BB.TONG_KH_DAU,0)) KH_SD_DAUKY,
|
252
|
SUM(ISNULL(AA.TONG_KH_TRONG_KHOANG,0)) KH_TANG_TRONGKY,
|
253
|
SUM(ISNULL(DR.TONG_KH_TRONG_KHOANG,0)) KH_GIAM_TRONGKY,
|
254
|
SUM((ISNULL(BB.TONG_KH_DAU,0) + ISNULL(AA.TONG_KH_TRONG_KHOANG,0) - ISNULL(DR.TONG_KH_TRONG_KHOANG,0))) KH_SD_CUOIKY,
|
255
|
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
|
256
|
|
257
|
FROM ASS_MASTER A
|
258
|
LEFT JOIN
|
259
|
(
|
260
|
SELECT A.ASSET_ID,
|
261
|
ISNULL(TR.BRANCH_ID, TRN.BRANCH_ID) AS BRANCH_ID,
|
262
|
CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.DEPT_ID ELSE TR.DEPT_ID END AS DEPT_ID,
|
263
|
CASE WHEN TR.BRANCH_ID IS NULL THEN TRN.EMP_ID ELSE TR.EMP_ID END AS EMP_ID
|
264
|
FROM ASS_MASTER A
|
265
|
LEFT JOIN --LAY DON VI MOI NHAT
|
266
|
(
|
267
|
SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID
|
268
|
FROM ASS_LOCATION_HIST A
|
269
|
INNER JOIN
|
270
|
(
|
271
|
SELECT MAX(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
|
272
|
FROM ASS_LOCATION_HIST B
|
273
|
WHERE B.USE_START_DT <= CONVERT(DATE,@p_Todate,103)
|
274
|
GROUP BY B.ASSET_ID
|
275
|
) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID
|
276
|
) AS TR ON TR.ASSET_ID = A.ASSET_ID
|
277
|
LEFT JOIN --LAY DON VI CU NHAT
|
278
|
(
|
279
|
SELECT A.ASSET_ID, A.BRANCH_ID, A.DEPT_ID, A.EMP_ID
|
280
|
FROM ASS_LOCATION_HIST A
|
281
|
INNER JOIN
|
282
|
(
|
283
|
SELECT MIN(B.LOCHIST_ID) AS LOCHIST_ID, B.ASSET_ID
|
284
|
FROM ASS_LOCATION_HIST B
|
285
|
WHERE B.USE_START_DT > CONVERT(DATE,@p_Todate,103)
|
286
|
GROUP BY B.ASSET_ID
|
287
|
) AS TRN ON TRN.LOCHIST_ID = A.LOCHIST_ID
|
288
|
) AS TRN ON TRN.ASSET_ID = A.ASSET_ID
|
289
|
) AS BRN_HIST ON BRN_HIST.ASSET_ID = A.ASSET_ID
|
290
|
INNER JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
|
291
|
--LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
|
292
|
--LEFT JOIN CM_BRANCH C ON BRN_HIST.BRANCH_ID = C.BRANCH_ID
|
293
|
--LEFT JOIN CM_BRANCH D ON D.BRANCH_ID = C.FATHER_ID
|
294
|
--LEFT JOIN CM_EMPLOYEE E ON BRN_HIST.EMP_ID = E.EMP_ID
|
295
|
--LEFT JOIN CM_DEPARTMENT F ON BRN_HIST.DEPT_ID = F.DEP_ID
|
296
|
|
297
|
-- GIÁ TRỊ KHAU HAO TAI NGÀY FROM
|
298
|
-- SELECT * FROM ASS_AMORT_DT A INNER JOIN ASS_AMORT B ON A.AMORT_ID = B.AMORT_ID
|
299
|
-- SELECT * FROM ASS_VALUES
|
300
|
-- SELECT * FROM ASS_AMORT_DT WHERE
|
301
|
-- GIÁ TRỊ CÒN LAI CỦA TÀI SẢN TẠI THỜI ĐIỂM ĐÍCH
|
302
|
LEFT JOIN
|
303
|
(
|
304
|
SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
|
305
|
FROM ASS_AMORT_DT X
|
306
|
--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
|
307
|
WHERE
|
308
|
(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
309
|
AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
|
310
|
AND CRDR = 'C'
|
311
|
GROUP BY X.ASSET_ID
|
312
|
) AA ON A.ASSET_ID = AA.ASSET_ID
|
313
|
LEFT JOIN
|
314
|
(
|
315
|
SELECT X.ASSET_ID,ISNULL(SUM(X.AMORT_AMT),0) AS TONG_KH_TRONG_KHOANG
|
316
|
FROM ASS_AMORT_DT X
|
317
|
--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
|
318
|
WHERE
|
319
|
(X.AMORT_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
320
|
AND (X.AMORT_DT <= CONVERT(DATE,@p_Todate,103)OR @p_Todate IS NULL OR @p_Todate = '')
|
321
|
AND CRDR = 'D'
|
322
|
GROUP BY X.ASSET_ID
|
323
|
) DR ON A.ASSET_ID = DR.ASSET_ID
|
324
|
-- SELECT * FROM ASS_AMORT_DT
|
325
|
LEFT JOIN
|
326
|
(
|
327
|
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
|
328
|
FROM ASS_AMORT_DT X
|
329
|
--INNER JOIN ASS_AMORT Y ON X.AMORT_ID = Y.AMORT_ID
|
330
|
INNER JOIN ASS_MASTER Z ON X.ASSET_ID = Z.ASSET_ID
|
331
|
WHERE
|
332
|
(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 = '')
|
333
|
AND (X.AMORT_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
334
|
GROUP BY X.ASSET_ID
|
335
|
) BB ON A.ASSET_ID = BB.ASSET_ID
|
336
|
-- SELECT TOP 200 * FROM ASS_MASTER
|
337
|
-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU BAT DAU KHAU HAO DEN THOI DIEM FROM
|
338
|
LEFT JOIN
|
339
|
(
|
340
|
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
|
341
|
FROM ASS_VALUES X
|
342
|
INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
343
|
WHERE (X.TRN_DT < CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
344
|
--(X.CREATE_DT >= Y.CREATE_DT)
|
345
|
--AND (X.CREATE_DT <= CONVERT(DATETIME,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
346
|
GROUP BY X.ASSET_ID
|
347
|
) CC ON A.ASSET_ID = CC.ASSET_ID
|
348
|
-- PHAT SINH TANG VA GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM BAT DAU ĐẾN THỜI ĐIỂM TO
|
349
|
-- SELECT * FROM ASS_MASTER
|
350
|
LEFT JOIN
|
351
|
(
|
352
|
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
|
353
|
FROM ASS_VALUES X
|
354
|
INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
355
|
WHERE --X.CREATE_DT >= Y.CREATE_DT
|
356
|
(X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
|
357
|
GROUP BY X.ASSET_ID
|
358
|
) DD ON A.ASSET_ID = DD.ASSET_ID
|
359
|
-- PHAT SINH TANG TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
|
360
|
-- select * from ass_values where trn_type = 'ass_use'
|
361
|
LEFT JOIN
|
362
|
(
|
363
|
SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_TANG_TRONG_KHOANG
|
364
|
FROM ASS_VALUES X
|
365
|
--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
366
|
WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
367
|
AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
|
368
|
AND X.CRDR = 'C'
|
369
|
GROUP BY X.ASSET_ID
|
370
|
) EE ON A.ASSET_ID = EE.ASSET_ID
|
371
|
-- PHAT SINH GIAM TRONG KHOANG THOI GIAN TU THỜI ĐIỂM FROM ĐẾN TO
|
372
|
LEFT JOIN
|
373
|
(
|
374
|
SELECT X.ASSET_ID,ISNULL(SUM(X.ASSET_AMT),0) AS PHAT_SINH_GIAM_TRONG_KHOANG
|
375
|
FROM ASS_VALUES X
|
376
|
--INNER JOIN ASS_MASTER Y ON X.ASSET_ID = Y.ASSET_ID
|
377
|
WHERE (X.CREATE_DT >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '')
|
378
|
AND (X.CREATE_DT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '')
|
379
|
AND X.CRDR = 'D'
|
380
|
GROUP BY X.ASSET_ID
|
381
|
) FF ON A.ASSET_ID = FF.ASSET_ID
|
382
|
--LEFT JOIN CM_EMPLOYEE CE ON A.EMP_ID = CE.EMP_ID
|
383
|
WHERE A.RECORD_STATUS = '1' AND A.AUTH_STATUS = 'A'
|
384
|
AND A.ENTRY_BOOKED = 'Y'
|
385
|
-- NHOM TAI SAN
|
386
|
AND (A.GROUP_ID = @p_Group_id OR @p_Group_id IS NULL OR @p_Group_id = '')
|
387
|
-- NSD
|
388
|
AND (A.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '')
|
389
|
-- NHA CUNG CAP
|
390
|
AND (A.SUP_ID = @p_Supplier_ID OR @p_Supplier_ID IS NULL OR @p_Supplier_ID = '')
|
391
|
-- NGUYEN GIA
|
392
|
AND (A.BUY_PRICE >= CONVERT(decimal(18), @p_FromPrice) OR @p_FromPrice IS NULL OR @p_FromPrice = '0' )
|
393
|
AND (A.BUY_PRICE <= CONVERT(decimal(18), @p_ToPrice) OR @p_ToPrice IS NULL OR @p_ToPrice = '0' )
|
394
|
AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
|
395
|
OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)
|
396
|
AND ((@P_LEVEL = 'ALL' AND BRN_HIST.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_login))
|
397
|
OR (@P_LEVEL = 'UNIT' AND BRN_HIST.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL
|
398
|
OR @p_BRANCH_ID IS NOT NULL OR @p_BRANCH_ID <> '')
|
399
|
AND (A.USE_DATE_KT <= CONVERT(DATE,@p_Todate,103) OR @p_Todate IS NULL OR @p_Todate = '') --THEM 15/04 THIEUVQ
|
400
|
--AND (A.USE_DATE >= CONVERT(DATE,@p_Fromdate,103) OR @p_Fromdate IS NULL OR @p_Fromdate = '') --THEM 15/04 THIEUVQ
|
401
|
AND A.TYPE_ID = 'CCLD' --THEM 15/04 THIEUVQ
|
402
|
AND (CONVERT(DATE,A.LIQUIDATION_DT) > CONVERT(DATE,@p_Fromdate,103) OR A.LIQUIDATION_DT IS NULL OR A.LIQUIDATION_DT = '')
|
403
|
AND A.AMORT_STATUS <> 'VNM'
|
404
|
GROUP BY [dbo].[FN_GET_GROUPCODE](A.GROUP_ID,'1'), [dbo].[FN_GET_GROUPNAME](A.GROUP_ID,'1')
|
405
|
) GR
|
406
|
ORDER BY GR.NHOM_TS4
|
407
|
END
|
408
|
|
409
|
|
410
|
|
411
|
|
412
|
|