Project

General

Profile

Excel_Innhan.txt

Luc Tran Van, 04/28/2023 11:08 AM

 
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(1000) = 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