Project

General

Profile

ASS_PRINT_TEMP.txt

Luc Tran Van, 08/16/2022 04:32 PM

 
1

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