1
|
/*
|
2
|
[dbo].[ASS_PRINT_TEMP]
|
3
|
@p_ASSET_ID = NULL,
|
4
|
@p_ASSET_CODE = NULL,
|
5
|
@p_ASSET_NAME = NULL,
|
6
|
@p_BRANCH_ID = 'DV0001',
|
7
|
@p_BRANCH_LOGIN = 'DV0001',
|
8
|
@p_ASSET_TYPE = 'TSCD',
|
9
|
@p_ASSET_GROUP = '',
|
10
|
@p_FROM_NUM = '',
|
11
|
@p_TO_NUM = '',
|
12
|
@p_TOP = '',
|
13
|
@p_FromDate = '01/01/2014',
|
14
|
@p_ToDate = '19/03/2014',
|
15
|
@p_DEPT_ID = 'DEP000000000015'
|
16
|
*/
|
17
|
-- SELECT * FROM ASS_MASTER WHERE TYPE_ID = 'CCLD'
|
18
|
ALTER PROCEDURE dbo.ASS_PRINT_TEMP
|
19
|
@p_ASSET_ID varchar(MAX) = NULL,
|
20
|
@p_ASSET_CODE nvarchar(MAX) = NULL,
|
21
|
@p_ASSET_NAME nvarchar(1000) = NULL,
|
22
|
@p_BRANCH_ID varchar(15) = NULL,
|
23
|
@p_BRANCH_LOGIN varchar(15) = NULL,
|
24
|
@p_ASSET_TYPE VARCHAR(15) = NULL,--Them truong hop khong chon nhom tai san
|
25
|
@p_ASSET_GROUP VARCHAR(15) = NULL,
|
26
|
@p_FROM_NUM VARCHAR(10) = NULL,
|
27
|
@p_TO_NUM VARCHAR(10) = NULL,
|
28
|
@p_TOP INT = NULL,
|
29
|
@p_FromDate varchar(20) = null,
|
30
|
@p_ToDate VARCHAR(20) = NULL,
|
31
|
@p_DEPT_ID varchar(15) = NULL,--thieuvq Search theo phong ban
|
32
|
@p_SerialNo VARCHAR(MAX) = NULL,--- luctv search theo ngay nhap
|
33
|
@p_AddNewID VARCHAR(20) = NULL,--- luctv search ma phieu nhap 16092019
|
34
|
@p_Use_MasterID VARCHAR(20) = NULL,--- luctv search theo ma phieu xuat 16092019
|
35
|
@p_LEVEL VARCHAR(5) = 'UNIT',
|
36
|
@p_NUMQR INT = 1
|
37
|
AS
|
38
|
--
|
39
|
BEGIN
|
40
|
DECLARE @TBL_NUMQR TABLE(ASSET_CODE VARCHAR(MAX))
|
41
|
IF(@p_ASSET_CODE LIKE '%,%' AND LEFT(@p_ASSET_CODE,1) = ',')
|
42
|
BEGIN
|
43
|
SET @p_ASSET_CODE = RIGHT(@p_ASSET_CODE,LEN(@p_ASSET_CODE)-1)
|
44
|
END
|
45
|
WHILE (@p_NUMQR >= 1) BEGIN
|
46
|
INSERT INTO @TBL_NUMQR
|
47
|
SELECT VALUE FROM dbo.wsiSplit(@p_ASSET_CODE,',')
|
48
|
SET @p_NUMQR = @p_NUMQR - 1
|
49
|
END
|
50
|
|
51
|
--IF @p_TOP = '' SET @p_TOP = 1000000
|
52
|
declare @tmp table(BRANCH_ID varchar(15))
|
53
|
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
54
|
--- khai bao table chua ds ma tai san
|
55
|
DECLARE @l_LSTASSETCODE TABLE (
|
56
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
57
|
[VALUE] [VARCHAR](MAX) NULL)
|
58
|
INSERT INTO @l_LSTASSETCODE SELECT VALUE FROM WSISPLIT(@p_ASSET_ID,',')
|
59
|
--- khai bao table chua ds ma code tai san
|
60
|
DECLARE @l_LSTASSETCODE_V1 TABLE (
|
61
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
62
|
[VALUE] [VARCHAR](MAX) NULL)
|
63
|
INSERT INTO @l_LSTASSETCODE_V1 SELECT VALUE FROM WSISPLIT(@p_ASSET_CODE,',')
|
64
|
-- khai bao table chua ds seria
|
65
|
DECLARE @l_LSTSERI TABLE (
|
66
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
67
|
[VALUE] [VARCHAR](MAX) NULL)
|
68
|
INSERT INTO @l_LSTSERI SELECT VALUE FROM WSISPLIT(@p_SerialNo,',')
|
69
|
IF @p_TOP IS NULL OR @p_TOP = ''
|
70
|
BEGIN
|
71
|
SELECT
|
72
|
ROW_NUMBER() OVER(ORDER BY A.ASSET_CODE ASC) AS ROW,
|
73
|
A.ASSET_ID,
|
74
|
CASE
|
75
|
WHEN A.ASSET_CODE IS NULL OR A.ASSET_CODE = '' THEN A.ASS_CODE_TMP
|
76
|
ELSE A.ASSET_CODE
|
77
|
END AS ASSET_CODE,
|
78
|
A.[TYPE_ID],C.[TYPE_CODE], C.[TYPE_NAME], A.GROUP_ID,B.GROUP_CODE, B.GROUP_NAME, B.ASS_CAT, A.ASSET_CODE,
|
79
|
(CASE WHEN LEN(A.ASSET_NAME)>20 THEN SUBSTRING(A.ASSET_NAME,0,17) + '...'ELSE A.ASSET_NAME END) AS ASSET_NAME, A.ASSET_SERIAL_NO, A.ASSET_DESC,
|
80
|
A.SUP_ID, A.BUY_PRICE, A.AMORT_AMT, A.ASS_TYPE, A.BRANCH_ID,BR.BRANCH_CODE,BR.BRANCH_NAME,
|
81
|
ISNULL(DP.DEP_ID,BR.BRANCH_ID) AS DEPT_ID,
|
82
|
ISNULL(DP.DEP_CODE,BR.BRANCH_CODE) AS DEPT_CODE,
|
83
|
A.EMP_ID,EM.EMP_CODE,EM.EMP_NAME, A.DIVISION_ID,
|
84
|
FORMAT(A.BUY_DATE,'dd/MM/yyyy') AS BUY_DATE, FORMAT(A.USE_DATE,'dd/MM/yyyy') AS USE_DATE, A.SPECIAL_ASS, A.AMORT_MONTH, A.AMORT_RATE, A.AMORT_START_DATE, A.AMORT_END_DATE,
|
85
|
A.FIRST_AMORT_AMT,
|
86
|
A.AMORTIZED_MONTH,
|
87
|
(A.AMORT_MONTH - A.AMORTIZED_MONTH) AS REMAIN_MONTH,
|
88
|
A.AMORTIZED_AMT,
|
89
|
ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), A.AMORT_AMT) AS REMAIN_AMORTIZED_AMT, --So tien khau hao con lai
|
90
|
A.PO_ID,A.PD_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID,
|
91
|
A.REF_AMORTIZED_AMT,
|
92
|
A.WARRANTY_MONTHS,
|
93
|
A.NOTES,
|
94
|
A.AMORT_STATUS,
|
95
|
D.STATUS_NAME AMORT_STATUS_NAME,
|
96
|
A.ASS_STATUS,
|
97
|
E.STATUS_NAME ASS_STATUS_NAME, --Tinh trang tai san
|
98
|
A.ASS_STATUS_DESC,
|
99
|
A.RECORD_STATUS,
|
100
|
A.AUTH_STATUS,
|
101
|
ZZ.AUTH_STATUS_NAME,
|
102
|
A.MAKER_ID,
|
103
|
A.CREATE_DT,
|
104
|
A.CHECKER_ID,
|
105
|
A.APPROVE_DT,
|
106
|
C.TYPE_NAME NHOM_TS,
|
107
|
ISNULL(ISNULL(DP.DEP_NAME,BR.BRANCH_NAME),'') AS DVSD,
|
108
|
DP.DEP_NAME,
|
109
|
A.BUY_DATE_KT
|
110
|
FROM ASS_MASTER A
|
111
|
LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
|
112
|
LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
|
113
|
LEFT JOIN ASS_AMORT_STATUS D ON A.AMORT_STATUS = D.STATUS_CODE
|
114
|
LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID
|
115
|
LEFT JOIN CM_AUTH_STATUS ZZ ON ZZ.AUTH_STATUS = A.AUTH_STATUS
|
116
|
LEFT JOIN CM_BRANCH BR ON BR.BRANCH_ID=A.BRANCH_ID
|
117
|
LEFT JOIN CM_EMPLOYEE EM ON EM.EMP_ID=A.EMP_ID
|
118
|
LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = A.DEPT_ID
|
119
|
LEFT JOIN ASS_TRANSACTIONS AT ON AT.ASSET_ID = A.ASSET_ID AND AT.TRN_TYPE ='ADD_NEW'
|
120
|
LEFT JOIN ASS_TRANSACTIONS AT2 ON AT2.ASSET_ID = A.ASSET_ID AND AT2.TRN_TYPE ='ADD_USE' AND @p_Use_MasterID <>'' AND @p_Use_MasterID IS NOT NULL
|
121
|
LEFT JOIN @TBL_NUMQR TN ON A.ASSET_CODE = TN.ASSET_CODE
|
122
|
WHERE 1 = 1
|
123
|
AND (AMORT_STATUS <> 'DTL' OR A.AMORT_STATUS IS NULL OR A.AMORT_STATUS = '')
|
124
|
AND (A.ASSET_ID IN (SELECT VALUE FROM @l_LSTASSETCODE) OR @p_ASSET_ID IS NULL OR @p_ASSET_ID ='')
|
125
|
AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
|
126
|
AND ((@p_LEVEL = 'UNIT' AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''))
|
127
|
OR (@p_LEVEL = 'ALL' AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''))) AND (B.GROUP_ID = @p_ASSET_GROUP OR @p_ASSET_GROUP IS NULL OR @p_ASSET_GROUP = '')
|
128
|
AND (A.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '')
|
129
|
-- AND ((CONVERT(DECIMAL,RIGHT(A.ASSET_CODE,4))>= CONVERT(INT,@p_FROM_NUM)) OR @p_FROM_NUM = '' OR @p_FROM_NUM IS NULL)
|
130
|
-- AND ((CONVERT(DECIMAL,RIGHT(A.ASSET_CODE,4)) <= CONVERT(INT,@p_TO_NUM)) OR @p_TO_NUM = '' OR @p_TO_NUM IS NULL)
|
131
|
AND(A.BUY_DATE_KT <= CONVERT(DATETIME,@p_ToDate,103) OR @p_ToDate= '' OR @p_ToDate IS NULL)
|
132
|
AND (A.BUY_DATE_KT >= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '')
|
133
|
AND A.RECORD_STATUS = '1'
|
134
|
AND (A.DEPT_ID = @p_DEPT_ID OR @p_DEPT_ID IS NULL OR @p_DEPT_ID = '')-- THIEUVQ THEM 19_03_2014
|
135
|
AND (A.ASSET_SERIAL_NO IN (SELECT VALUE FROM @l_LSTSERI) OR @p_SerialNo IS NULL OR @p_SerialNo ='')
|
136
|
AND ((A.ASSET_CODE IN (SELECT VALUE FROM @l_LSTASSETCODE_V1) OR @p_ASSET_CODE IS NULL OR @p_ASSET_CODE ='')
|
137
|
OR (A.ASS_CODE_TMP IN (SELECT VALUE FROM @l_LSTASSETCODE_V1) OR @p_ASSET_CODE IS NULL OR @p_ASSET_CODE =''))
|
138
|
AND (AT.TRN_ID like N'%' + @p_AddNewID + '%' OR @p_AddNewID IS NULL OR @p_AddNewID = '')
|
139
|
AND (AT2.TRN_ID like N'%' + @p_Use_MasterID + '%' OR @p_Use_MasterID IS NULL OR @p_Use_MasterID = '')
|
140
|
|
141
|
END
|
142
|
ELSE
|
143
|
BEGIN
|
144
|
SELECT TOP (@p_TOP)
|
145
|
ROW_NUMBER() OVER(ORDER BY A.ASSET_CODE ASC) AS ROW,
|
146
|
A.ASSET_ID, A.[TYPE_ID],C.[TYPE_CODE], C.[TYPE_NAME], A.GROUP_ID,B.GROUP_CODE, B.GROUP_NAME, B.ASS_CAT,
|
147
|
CASE
|
148
|
WHEN A.ASSET_CODE IS NULL OR A.ASSET_CODE = '' THEN A.ASS_CODE_TMP
|
149
|
ELSE A.ASSET_CODE
|
150
|
END AS ASSET_CODE,
|
151
|
(CASE WHEN LEN(A.ASSET_NAME)>20 THEN SUBSTRING(A.ASSET_NAME,0,17) + '...'ELSE A.ASSET_NAME END) AS ASSET_NAME, A.ASSET_SERIAL_NO, A.ASSET_DESC,
|
152
|
A.SUP_ID, A.BUY_PRICE, A.AMORT_AMT, A.ASS_TYPE, A.BRANCH_ID,BR.BRANCH_CODE,BR.BRANCH_NAME,ISNULL(DP.DEP_ID,BR.BRANCH_ID) AS DEPT_ID,
|
153
|
ISNULL(DP.DEP_CODE,BR.BRANCH_CODE) AS DEPT_CODE
|
154
|
, A.EMP_ID,EM.EMP_CODE,EM.EMP_NAME, A.DIVISION_ID,
|
155
|
FORMAT(A.BUY_DATE,'dd/MM/yyyy') AS BUY_DATE,FORMAT(A.USE_DATE,'dd/MM/yyyy') AS USE_DATE, A.SPECIAL_ASS, A.AMORT_MONTH, A.AMORT_RATE, A.AMORT_START_DATE, A.AMORT_END_DATE,
|
156
|
A.FIRST_AMORT_AMT,
|
157
|
A.AMORTIZED_MONTH,
|
158
|
(A.AMORT_MONTH - A.AMORTIZED_MONTH) AS REMAIN_MONTH,
|
159
|
A.AMORTIZED_AMT,
|
160
|
ISNULL((A.AMORT_AMT - A.AMORTIZED_AMT), A.AMORT_AMT) AS REMAIN_AMORTIZED_AMT, --So tien khau hao con lai
|
161
|
A.PO_ID,A.PD_ID, A.WAREHOUSE_ID, A.LOCATION, A.REF_ASSET_ID,
|
162
|
A.REF_AMORTIZED_AMT,
|
163
|
A.WARRANTY_MONTHS,
|
164
|
A.NOTES,
|
165
|
A.AMORT_STATUS,
|
166
|
D.STATUS_NAME AMORT_STATUS_NAME,
|
167
|
A.ASS_STATUS,
|
168
|
E.STATUS_NAME ASS_STATUS_NAME, --Tinh trang tai san
|
169
|
A.ASS_STATUS_DESC,
|
170
|
A.RECORD_STATUS,
|
171
|
A.AUTH_STATUS,
|
172
|
ZZ.AUTH_STATUS_NAME,
|
173
|
A.MAKER_ID,
|
174
|
A.CREATE_DT,
|
175
|
A.CHECKER_ID,
|
176
|
A.APPROVE_DT,
|
177
|
C.TYPE_NAME NHOM_TS,
|
178
|
ISNULL(ISNULL(DP.DEP_NAME,BR.BRANCH_NAME),'') AS DVSD,
|
179
|
DP.DEP_NAME ,
|
180
|
A.BUY_DATE_KT
|
181
|
FROM ASS_MASTER A
|
182
|
LEFT JOIN ASS_GROUP B ON A.GROUP_ID = B.GROUP_ID
|
183
|
LEFT JOIN ASS_TYPE C ON A.[TYPE_ID] = C.[TYPE_ID]
|
184
|
LEFT JOIN ASS_AMORT_STATUS D ON A.AMORT_STATUS = D.STATUS_CODE
|
185
|
LEFT JOIN ASS_STATUS E ON A.ASS_STATUS = E.STATUS_ID
|
186
|
LEFT JOIN CM_AUTH_STATUS ZZ ON ZZ.AUTH_STATUS = A.AUTH_STATUS
|
187
|
LEFT JOIN CM_BRANCH BR ON BR.BRANCH_ID=A.BRANCH_ID
|
188
|
LEFT JOIN CM_EMPLOYEE EM ON EM.EMP_ID=A.EMP_ID
|
189
|
LEFT JOIN CM_DEPARTMENT DP ON DP.DEP_ID = A.DEPT_ID
|
190
|
LEFT JOIN ASS_TRANSACTIONS AT ON AT.ASSET_ID = A.ASSET_ID AND AT.TRN_TYPE ='ADD_NEW'
|
191
|
LEFT JOIN ASS_TRANSACTIONS AT2 ON AT2.ASSET_ID = A.ASSET_ID AND AT2.TRN_TYPE ='ADD_USE' AND @p_Use_MasterID <>'' AND @p_Use_MasterID IS NOT NULL
|
192
|
LEFT JOIN @TBL_NUMQR TN ON A.ASSET_CODE = TN.ASSET_CODE
|
193
|
WHERE 1 = 1
|
194
|
AND (AMORT_STATUS <> 'DTL' OR A.AMORT_STATUS IS NULL OR A.AMORT_STATUS = '')
|
195
|
AND (A.ASSET_ID IN (SELECT VALUE FROM @l_LSTASSETCODE) OR @p_ASSET_ID IS NULL OR @p_ASSET_ID ='')
|
196
|
AND (A.ASSET_NAME like N'%' + @p_ASSET_NAME + '%' OR @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
|
197
|
AND ((@p_LEVEL = 'UNIT' AND (A.BRANCH_ID = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''))
|
198
|
OR (@p_LEVEL = 'ALL' AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)) OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')))
|
199
|
AND (B.GROUP_ID = @p_ASSET_GROUP OR @p_ASSET_GROUP IS NULL OR @p_ASSET_GROUP = '')
|
200
|
AND (A.TYPE_ID = @p_ASSET_TYPE OR @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '')
|
201
|
-- AND ((CONVERT(DECIMAL,RIGHT(A.ASSET_CODE,4))>= CONVERT(INT,@p_FROM_NUM)) OR @p_FROM_NUM = '' OR @p_FROM_NUM IS NULL)
|
202
|
-- AND ((CONVERT(DECIMAL,RIGHT(A.ASSET_CODE,4)) <= CONVERT(INT,@p_TO_NUM)) OR @p_TO_NUM = '' OR @p_TO_NUM IS NULL)
|
203
|
AND(A.BUY_DATE_KT <= CONVERT(DATETIME,@p_ToDate,103) OR @p_ToDate= '' OR @p_ToDate IS NULL)
|
204
|
AND (A.BUY_DATE_KT >= CONVERT(datetime, @p_FromDate, 103) OR @p_FromDate IS NULL OR @p_FromDate = '')
|
205
|
AND A.RECORD_STATUS = '1'
|
206
|
AND (A.DEPT_ID = @p_DEPT_ID OR @p_DEPT_ID IS NULL OR @p_DEPT_ID = '') -- THIEUVQ THEM 19_03_2014
|
207
|
AND (A.ASSET_SERIAL_NO IN (SELECT VALUE FROM @l_LSTSERI) OR @p_SerialNo IS NULL OR @p_SerialNo ='')
|
208
|
AND ((A.ASSET_CODE IN (SELECT VALUE FROM @l_LSTASSETCODE_V1) OR @p_ASSET_CODE IS NULL OR @p_ASSET_CODE ='')
|
209
|
OR (A.ASS_CODE_TMP IN (SELECT VALUE FROM @l_LSTASSETCODE_V1) OR @p_ASSET_CODE IS NULL OR @p_ASSET_CODE =''))
|
210
|
AND (AT.TRN_ID like N'%' + @p_AddNewID + '%' OR @p_AddNewID IS NULL OR @p_AddNewID = '')
|
211
|
AND (AT2.TRN_ID like N'%' + @p_Use_MasterID + '%' OR @p_Use_MasterID IS NULL OR @p_Use_MasterID = '')
|
212
|
END
|
213
|
End
|