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) = 'UNIT',
|
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
|