Project

General

Profile

ASS_PRINT_TEMP.txt

Luc Tran Van, 03/21/2022 09:53 AM

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