1
|
ALTER PROCEDURE dbo.rpt_TSCD_BC017_Excel_BanViet
|
2
|
-- Add the parameters for the stored procedure here
|
3
|
@p_BRANCH_ID varchar(30) = NULL,
|
4
|
@p_FromDate varchar(30) = NULL,
|
5
|
@p_ToDate varchar(15) = NULL,
|
6
|
@p_BRANCH_LOGIN varchar(15) = NULL,
|
7
|
@p_LEVEL varchar(10) = 'ALL',
|
8
|
@p_ASSET_TYPE varchar(15) = '', -- loai tai san TSCD/CCLD
|
9
|
@p_PriceFrom varchar(18) = null, -- nguyen gia tu
|
10
|
@p_PriceTo varchar(18) = null, -- nguyen gia den
|
11
|
@p_SupplierId varchar(15) = null, -- nha cung cap
|
12
|
@p_ASSET_GROUP_ID varchar(15) = null, -- Nhom tai san
|
13
|
@p_Branch_ID_Use varchar(15) = null ,-- don vi su dung
|
14
|
@p_User_ID varchar(15) = null -- nguoi su dung
|
15
|
AS
|
16
|
BEGIN
|
17
|
-- Do du lieu ao
|
18
|
|
19
|
declare @tmp table(BRANCH_ID varchar(15))
|
20
|
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
|
21
|
declare @tmp_login table(BRANCH_ID varchar(15))
|
22
|
insert into @tmp_login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
23
|
if @p_PriceFrom = '0' and @p_PriceTo = '0'
|
24
|
begin
|
25
|
set @p_PriceFrom = null
|
26
|
set @p_PriceTo = null
|
27
|
end
|
28
|
SELECT
|
29
|
Row_number() over(order by L.LIQ_ID) AS STT,
|
30
|
[dbo].[FN_GET_GROUPNAME](M.GROUP_ID,'1') AS NHOMTS,
|
31
|
-- [dbo].[FN_GET_GROUPNAME](A.GROUP_ID,'1') AS NHOMTSLV1, --EM GOM NHOM THEO 3 CAI THUOC TINH NAY NHA
|
32
|
[dbo].[FN_GET_GROUPNAME](M.GROUP_ID,'2') AS NHOM_LV2,
|
33
|
[dbo].[FN_GET_GROUPNAME](M.GROUP_ID,'3') AS NHOM_LV3,
|
34
|
--G.GROUP_NAME NHOMTS, -- NHOM TAI SAN
|
35
|
M.ASSET_CODE MATS,
|
36
|
M.ASSET_NAME TENTS,
|
37
|
M.BUY_DATE NGAYNHAP, -- NGAY NHAP
|
38
|
M.BUY_PRICE NGUYENGIA,
|
39
|
--L.APPROVE_DT NGAY_TL, -- NGAY THANH LY
|
40
|
L.APPROVE_DT_KT NGAY_TL, --
|
41
|
--M.AMORTIZED_MONTH AS KHLK_NGAY_TL, -- KHAU HAO LUY KE DEN NGAY THANH LY
|
42
|
(M.AMORT_AMT - LD.REMAIN_VALUE) KHLK_NGAY_TL,
|
43
|
--M.BUY_PRICE - M.AMORTIZED_MONTH AS GTCL_NGAY_TL, -- GIA TRI CON LAI NGAY THANH LY
|
44
|
LD.REMAIN_VALUE GTCL_NGAY_TL,
|
45
|
LD.LIQ_PRICE GTTH, -- GIA TRI THU HOI
|
46
|
--(M.BUY_PRICE - M.AMORTIZED_MONTH - LD.LIQ_PRICE) AS LAI_LO, -- LAI~ HAY LO~
|
47
|
(LD.LIQ_AMT_BE_VAT - LD.REMAIN_VALUE) LAI_LO,
|
48
|
LD.LIQ_PRICE AS GT_TL,
|
49
|
L.BUY_COMPANY_ID, -- DON VI MUA
|
50
|
CASE WHEN M.BRANCH_ID <>'' THEN BR.BRANCH_NAME ELSE BR_CR.BRANCH_NAME END DVSD, -- DON VI SU DUNG
|
51
|
CASE WHEN M.BRANCH_ID <>'' THEN BR.BRANCH_CODE ELSE BR_CR.BRANCH_CODE END BRANCH_CODE, -- DON VI SU DUNG
|
52
|
DP.DEP_NAME PHONGBAN_SD,DP.DEP_CODE, -- PHONG BAN SU DUNG
|
53
|
M.AMORT_START_DATE NGAYBD_KHPB, -- NGAY BAT DAU KHAU HAO PHAN BO
|
54
|
M.AMORT_MONTH THOIGIAN_KH,-- THOI GIAN KHAU HAO PHAN BO
|
55
|
M.AMORT_MONTH - (M.AMORTIZED_MONTH - ISNULL(AMT.ST_KH_PD_TAM,0)) SOTHANG_KH_CL ,-- SO THANG HAU HAO CON LAI,
|
56
|
M.BRANCH_CREATE, M.BRANCH_ID
|
57
|
from ASS_LIQUIDATION L
|
58
|
LEFT JOIN ASS_LIQUIDATION_DT LD ON L.LIQ_ID = LD.LIQ_ID
|
59
|
LEFT JOIN ASS_MASTER M ON LD.ASSET_ID = M.ASSET_ID
|
60
|
LEFT JOIN ASS_GROUP G ON M.GROUP_ID =G.GROUP_ID
|
61
|
LEFT JOIN CM_BRANCH BR ON M.BRANCH_ID = BR.BRANCH_ID
|
62
|
LEFT JOIN CM_BRANCH BR_CR ON M.BRANCH_CREATE = BR_CR.BRANCH_ID
|
63
|
LEFT JOIN CM_DEPARTMENT DP ON M.DEPT_ID = DP.DEP_ID
|
64
|
-- TINH SO THANG DA KHAU HAO = AMORTED_MONTH - SỐ THÁNG ĐÃ KHẤU HAO : AMORT_DT > TO_DATE
|
65
|
LEFT JOIN
|
66
|
(
|
67
|
--SELECT AM_DT.ASSET_ID, ISNULL(SUM(ISNULL(AM_DT.AMORT_AMT,0)),0) AS ST_DA_PB FROM ASS_AMORT_DT AM_DT
|
68
|
SELECT AM_DT.ASSET_ID, ISNULL(COUNT (*),0) AS ST_KH_PD_TAM FROM ASS_AMORT_DT AM_DT
|
69
|
WHERE CONVERT(DATE,AM_DT.AMORT_DT) > CONVERT(DATE,@p_ToDate,103)
|
70
|
AND AM_DT.CRDR='C'
|
71
|
GROUP BY AM_DT.ASSET_ID
|
72
|
) AMT ON AMT.ASSET_ID = M.ASSET_ID
|
73
|
-- END
|
74
|
-- SELECT * FROM ASS_LIQUIDATION
|
75
|
WHERE
|
76
|
--(M.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
77
|
--LUCTV: 26-12-2018: CHUYEN TU APPROVE HANH CHINH SANG APPROVE KE TOAN
|
78
|
--LUCTV : 03-12-2018: CHI LAY NHUNG THANH LY DA DUOC DUYET
|
79
|
(L.AUTH_STATUS_KT='A')
|
80
|
AND(CONVERT(datetime,L.APPROVE_DT_KT,103)>= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '')
|
81
|
AND (CONVERT(datetime,L.APPROVE_DT_KT,103)<= CONVERT(datetime, @p_ToDate, 103) OR @p_ToDate IS NULL OR @p_ToDate = '')
|
82
|
AND (M.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '')
|
83
|
AND (M.BUY_PRICE >= CONVERT(decimal(18),@p_PriceFrom) OR @p_PriceFrom IS NULL OR @p_PriceFrom = '')
|
84
|
AND (M.BUY_PRICE <= CONVERT(decimal(18),@p_PriceTo) OR @p_PriceTo IS NULL OR @p_PriceTo = '')
|
85
|
AND (M.SUP_ID = @p_SupplierId OR @p_SupplierId IS NULL OR @p_SupplierId = '')
|
86
|
AND (M.GROUP_ID = @p_ASSET_GROUP_ID OR @p_ASSET_GROUP_ID IS NULL OR @p_ASSET_GROUP_ID = '')
|
87
|
AND (M.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '')
|
88
|
-- PHAN QUYEN
|
89
|
--AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp) or M.BRANCH_ID='' or M.BRANCH_ID is null )
|
90
|
--OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_ID) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)
|
91
|
--AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp_login)or M.BRANCH_ID='' or M.BRANCH_ID is null)
|
92
|
--OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_LOGIN) OR @p_BRANCH_LOGIN = '' OR @p_BRANCH_LOGIN IS NULL
|
93
|
--OR @p_BRANCH_ID IS NOT NULL OR @p_BRANCH_ID <> '')
|
94
|
--LUCTV: 04-12-2019 : BỔ SUNG THÊM NẾU CHƯA XUẤT SỬ DỤNG THÌ LỌC TÀI SẢN THEO ĐƠN VỊ TẠO
|
95
|
--AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp)))
|
96
|
--OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_ID OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID)))
|
97
|
--AND ((@p_LEVEL = 'ALL' AND M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login)))
|
98
|
--OR (@p_LEVEL = 'UNIT' AND M.BRANCH_ID = @p_BRANCH_LOGIN OR (M.BRANCH_ID IS NULL OR M.BRANCH_ID ='' AND M.BRANCH_CREATE =@p_BRANCH_LOGIN)))
|
99
|
AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp))))
|
100
|
OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID) OR M.BRANCH_ID = @p_BRANCH_ID)))
|
101
|
--AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login))))
|
102
|
--luctv 01/01/19 bo dieu kien Unit di vi dieu kien nay bi sai.
|
103
|
--OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_LOGIN)OR M.BRANCH_ID =@p_BRANCH_LOGIN))
|
104
|
--)
|
105
|
AND ((M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login))))
|
106
|
--@p_BRANCH_LOGIN varchar(15) = NULL,
|
107
|
--@p_LEVEL varchar(10) = 'ALL',
|
108
|
|
109
|
--@p_Branch_ID_Use varchar(15) = null ,-- don vi su dung
|
110
|
--@p_User_ID varchar(15) = null -- nguoi su dung
|
111
|
--SELECT TOP 2 * FROM ASS_MASTER
|
112
|
--SELECT * FROM ASS_LIQUIDATION
|
113
|
--SELECT * FROM ASS_LIQUIDATION_DT
|
114
|
--SELECT * FROM ASS_GROUP
|
115
|
|
116
|
IF(
|
117
|
SELECT COUNT(M.BRANCH_ID)
|
118
|
from ASS_LIQUIDATION L
|
119
|
LEFT JOIN ASS_LIQUIDATION_DT LD ON L.LIQ_ID = LD.LIQ_ID
|
120
|
LEFT JOIN ASS_MASTER M ON LD.ASSET_ID = M.ASSET_ID
|
121
|
LEFT JOIN ASS_GROUP G ON M.GROUP_ID =G.GROUP_ID
|
122
|
LEFT JOIN CM_BRANCH BR ON M.BRANCH_ID = BR.BRANCH_ID
|
123
|
LEFT JOIN CM_BRANCH BR_CR ON M.BRANCH_CREATE = BR_CR.BRANCH_ID
|
124
|
LEFT JOIN CM_DEPARTMENT DP ON M.DEPT_ID = DP.DEP_ID
|
125
|
LEFT JOIN
|
126
|
(
|
127
|
SELECT AM_DT.ASSET_ID, ISNULL(COUNT (*),0) AS ST_KH_PD_TAM FROM ASS_AMORT_DT AM_DT
|
128
|
WHERE CONVERT(DATE,AM_DT.AMORT_DT) > CONVERT(DATE,@p_ToDate,103)
|
129
|
AND AM_DT.CRDR='C'
|
130
|
GROUP BY AM_DT.ASSET_ID
|
131
|
) AMT ON AMT.ASSET_ID = M.ASSET_ID
|
132
|
WHERE
|
133
|
(L.AUTH_STATUS_KT='A')
|
134
|
AND(CONVERT(datetime,L.APPROVE_DT_KT,103)>= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '')
|
135
|
AND (CONVERT(datetime,L.APPROVE_DT_KT,103)<= CONVERT(datetime, @p_ToDate, 103) OR @p_ToDate IS NULL OR @p_ToDate = '')
|
136
|
AND (M.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '')
|
137
|
AND (M.BUY_PRICE >= CONVERT(decimal(18),@p_PriceFrom) OR @p_PriceFrom IS NULL OR @p_PriceFrom = '')
|
138
|
AND (M.BUY_PRICE <= CONVERT(decimal(18),@p_PriceTo) OR @p_PriceTo IS NULL OR @p_PriceTo = '')
|
139
|
AND (M.SUP_ID = @p_SupplierId OR @p_SupplierId IS NULL OR @p_SupplierId = '')
|
140
|
AND (M.GROUP_ID = @p_ASSET_GROUP_ID OR @p_ASSET_GROUP_ID IS NULL OR @p_ASSET_GROUP_ID = '')
|
141
|
AND (M.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '')
|
142
|
AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp))))
|
143
|
OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID) OR M.BRANCH_ID = @p_BRANCH_ID)))
|
144
|
AND ((M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login))))
|
145
|
GROUP BY M.BRANCH_ID) = 1
|
146
|
BEGIN
|
147
|
SELECT TOP 1 L.MAKER_ID_KT AS GDV, L.CHECKER_ID_KT AS KSV
|
148
|
from ASS_LIQUIDATION L
|
149
|
LEFT JOIN ASS_LIQUIDATION_DT LD ON L.LIQ_ID = LD.LIQ_ID
|
150
|
LEFT JOIN ASS_MASTER M ON LD.ASSET_ID = M.ASSET_ID
|
151
|
LEFT JOIN ASS_GROUP G ON M.GROUP_ID =G.GROUP_ID
|
152
|
LEFT JOIN CM_BRANCH BR ON M.BRANCH_ID = BR.BRANCH_ID
|
153
|
LEFT JOIN CM_BRANCH BR_CR ON M.BRANCH_CREATE = BR_CR.BRANCH_ID
|
154
|
LEFT JOIN CM_DEPARTMENT DP ON M.DEPT_ID = DP.DEP_ID
|
155
|
LEFT JOIN
|
156
|
(
|
157
|
SELECT AM_DT.ASSET_ID, ISNULL(COUNT (*),0) AS ST_KH_PD_TAM FROM ASS_AMORT_DT AM_DT
|
158
|
WHERE CONVERT(DATE,AM_DT.AMORT_DT) > CONVERT(DATE,@p_ToDate,103)
|
159
|
AND AM_DT.CRDR='C'
|
160
|
GROUP BY AM_DT.ASSET_ID
|
161
|
) AMT ON AMT.ASSET_ID = M.ASSET_ID
|
162
|
WHERE
|
163
|
(L.AUTH_STATUS_KT='A')
|
164
|
AND(CONVERT(datetime,L.APPROVE_DT_KT,103)>= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '')
|
165
|
AND (CONVERT(datetime,L.APPROVE_DT_KT,103)<= CONVERT(datetime, @p_ToDate, 103) OR @p_ToDate IS NULL OR @p_ToDate = '')
|
166
|
AND (M.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '')
|
167
|
AND (M.BUY_PRICE >= CONVERT(decimal(18),@p_PriceFrom) OR @p_PriceFrom IS NULL OR @p_PriceFrom = '')
|
168
|
AND (M.BUY_PRICE <= CONVERT(decimal(18),@p_PriceTo) OR @p_PriceTo IS NULL OR @p_PriceTo = '')
|
169
|
AND (M.SUP_ID = @p_SupplierId OR @p_SupplierId IS NULL OR @p_SupplierId = '')
|
170
|
AND (M.GROUP_ID = @p_ASSET_GROUP_ID OR @p_ASSET_GROUP_ID IS NULL OR @p_ASSET_GROUP_ID = '')
|
171
|
AND (M.EMP_ID = @p_User_ID OR @p_User_ID IS NULL OR @p_User_ID = '')
|
172
|
AND ((@p_LEVEL = 'ALL' AND (M.BRANCH_ID IN (select BRANCH_ID from @tmp) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp))))
|
173
|
OR (@p_LEVEL = 'UNIT' AND((M.BRANCH_ID ='' AND M.BRANCH_CREATE = @p_BRANCH_ID) OR M.BRANCH_ID = @p_BRANCH_ID)))
|
174
|
AND ((M.BRANCH_ID IN (select BRANCH_ID from @tmp_login) OR (M.BRANCH_ID ='' AND M.BRANCH_CREATE IN (SELECT BRANCH_ID FROM @tmp_login))))
|
175
|
END
|
176
|
END
|