Project

General

Profile

ASS_UPDATE_Search_v1.txt

Luc Tran Van, 10/26/2022 03:36 PM

 
1

    
2
ALTER   PROCEDURE [dbo].[ASS_UPDATE_Search]
3
@p_UPDATE_ID	varchar(15)  = NULL,
4
@p_ASSET_ID	varchar(15)  = NULL,
5
@p_ASSET_TYPE varchar(15)  = NULL,
6
@p_GROUP_ID	varchar(15)  = NULL,
7
@p_ASSET_NAME	nvarchar(1000)  = NULL,
8
@p_ASSET_SERIAL_NO	nvarchar(100)  = NULL,
9
@p_ASSET_DESC	nvarchar(max) = NULL,
10
@p_BUY_PRICE	decimal = NULL,
11
@p_AMORT_AMT	decimal = NULL,
12
@p_AMORT_MONTH	decimal(18,2) = NULL,
13
@p_RECORD_STATUS	varchar(1)  = NULL,
14
@p_NOTES		nvarchar(1000) = NULL,
15
@p_AUTH_STATUS	varchar(1)  = NULL,
16
@p_MAKER_ID	varchar(15)  = NULL,
17
@p_CREATE_DT	VARCHAR(20) = NULL,
18
@p_CHECKER_ID	varchar(15)  = NULL,
19
@p_APPROVE_DT	VARCHAR(20) = NULL,
20
@p_ASS_STATUS varchar(20) = NULL,	-- khangth, 02/12/2019
21
@p_TOP	INT = 10,
22
@p_BRANCH_ID	VARCHAR(15) = NULL,
23
@p_LEVEL	VARCHAR(50) = 'ALL',
24
@p_FR_BUY_DATE		VARCHAR(20) = NULL, --Tu ngay nhap
25
@p_TO_BUY_DATE		VARCHAR(20) = NULL --Den ngay nhap
26
AS
27
	--Validation is here
28
/*
29
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
30
	IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE  [CONDITION] ))
31
		 SET @ERRORSYS = ''
32
	IF @ERRORSYS <> '' 
33
	BEGIN
34
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
35
		RETURN '0'
36
	END */
37
BEGIN -- PAGING
38
declare @tmp table(BRANCH_ID varchar(15))
39
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
40

    
41
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
42
-- PAGING BEGIN
43
SELECT A.*, B.GROUP_CODE, B.GROUP_NAME, C.AUTH_STATUS_NAME, D.ASSET_CODE, D.SPECIAL_ASS, D.ASS_TYPE
44
-- SELECT END
45
FROM ASS_UPDATE A 
46
LEFT JOIN ASS_GROUP B ON B.GROUP_ID = A.GROUP_ID
47
LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
48
LEFT JOIN ASS_MASTER D ON D.ASSET_ID = A.ASSET_ID
49
 WHERE 1 = 1
50
	AND (A.UPDATE_ID LIKE '%' + @p_UPDATE_ID + '%' OR  @p_UPDATE_ID IS NULL OR @p_UPDATE_ID = '')
51
	AND (D.ASSET_CODE LIKE '%' + @p_ASSET_ID + '%' OR  @p_ASSET_ID IS NULL OR @p_ASSET_ID = '')
52
	AND (D.TYPE_ID LIKE '%' + @p_ASSET_TYPE + '%' OR  @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '')
53
	AND (A.GROUP_ID LIKE '%' + @p_GROUP_ID + '%' OR  @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
54
	AND (A.ASSET_NAME LIKE '%' + @p_ASSET_NAME + '%' OR  @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
55
	AND (A.ASSET_SERIAL_NO LIKE '%' + @p_ASSET_SERIAL_NO + '%' OR  @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
56
	AND (A.ASSET_DESC LIKE '%' + @p_ASSET_DESC + '%' OR  @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
57
	AND (A.BUY_PRICE = @p_BUY_PRICE OR  @p_BUY_PRICE IS NULL)
58
	AND (A.AMORT_AMT = @p_AMORT_AMT OR  @p_AMORT_AMT IS NULL)
59
	AND (A.AMORT_MONTH = @p_AMORT_MONTH OR  @p_AMORT_MONTH IS NULL)
60
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
61
	AND (A.NOTES = @p_NOTES OR  @p_NOTES IS NULL OR @p_NOTES = '')
62
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
63
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
64
	AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
65
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
66
	AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
67
	AND A.RECORD_STATUS = '1'
68
	AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
69
		OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID) 
70
		OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)))
71
	AND		(CONVERT(DATE,A.CREATE_DT) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')
72
	AND		(CONVERT(DATE,A.CREATE_DT) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')
73
	AND (A.ASS_STATUS = @p_ASS_STATUS OR @p_ASS_STATUS IS NULL OR @p_ASS_STATUS = '')	--KHANGTH, 02/12/2019
74
	ORDER BY A.CREATE_DT DESC
75
-- PAGING END
76
ELSE
77
-- PAGING BEGIN
78
	SELECT TOP(CONVERT(INT,@P_TOP))A.*, B.GROUP_CODE, B.GROUP_NAME, C.AUTH_STATUS_NAME, D.ASSET_CODE, D.SPECIAL_ASS, D.TYPE_ID
79
	-- SELECT END
80
	FROM ASS_UPDATE A 
81
	LEFT JOIN ASS_GROUP B ON B.GROUP_ID = A.GROUP_ID
82
	LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
83
	LEFT JOIN ASS_MASTER D ON D.ASSET_ID = A.ASSET_ID
84
	WHERE 1 = 1
85
		AND (A.UPDATE_ID LIKE '%' + @p_UPDATE_ID + '%' OR  @p_UPDATE_ID IS NULL OR @p_UPDATE_ID = '')
86
		-- AND (A.ASSET_ID LIKE '%' + @p_ASSET_ID + '%' OR  @p_ASSET_ID IS NULL OR @p_ASSET_ID = '')
87
		AND (D.ASSET_CODE LIKE '%' + @p_ASSET_ID + '%' OR  @p_ASSET_ID IS NULL OR @p_ASSET_ID = '')
88
		AND (D.TYPE_ID LIKE '%' + @p_ASSET_TYPE + '%' OR  @p_ASSET_TYPE IS NULL OR @p_ASSET_TYPE = '')
89
		AND (A.GROUP_ID LIKE '%' + @p_GROUP_ID + '%' OR  @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
90
		AND (A.ASSET_NAME LIKE '%' + @p_ASSET_NAME + '%' OR  @p_ASSET_NAME IS NULL OR @p_ASSET_NAME = '')
91
		AND (A.ASSET_SERIAL_NO LIKE '%' + @p_ASSET_SERIAL_NO + '%' OR  @p_ASSET_SERIAL_NO IS NULL OR @p_ASSET_SERIAL_NO = '')
92
		AND (A.ASSET_DESC LIKE '%' + @p_ASSET_DESC + '%' OR  @p_ASSET_DESC IS NULL OR @p_ASSET_DESC = '')
93
		AND (A.BUY_PRICE = @p_BUY_PRICE OR  @p_BUY_PRICE IS NULL)
94
		AND (A.AMORT_AMT = @p_AMORT_AMT OR  @p_AMORT_AMT IS NULL)
95
		AND (A.AMORT_MONTH = @p_AMORT_MONTH OR  @p_AMORT_MONTH IS NULL)
96
		AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
97
		AND (A.NOTES = @p_NOTES OR  @p_NOTES IS NULL OR @p_NOTES = '')
98
		AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
99
		AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
100
		AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
101
		AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
102
		AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
103
		AND A.RECORD_STATUS = '1'
104
		AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
105
			OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID) 
106
			OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)))
107
		AND		(CONVERT(DATE,A.CREATE_DT) >= CONVERT(DATE, @p_FR_BUY_DATE, 103) OR @p_FR_BUY_DATE is NULL OR @p_FR_BUY_DATE = '')
108
		AND		(CONVERT(DATE,A.CREATE_DT) <= CONVERT(DATE, @p_TO_BUY_DATE, 103) OR @p_TO_BUY_DATE is NULL OR @p_TO_BUY_DATE = '')
109
		AND (A.ASS_STATUS = @p_ASS_STATUS OR @p_ASS_STATUS IS NULL OR @p_ASS_STATUS = '')	--KHANGTH, 02/12/2019
110
		ORDER BY A.CREATE_DT DESC
111
-- PAGING END
112
END -- PAGING