Project

General

Profile

CM_DEPARTMENT_COSTCENTER_Search.txt

Luc Tran Van, 08/16/2022 09:37 AM

 
1

    
2
ALTER PROCEDURE [dbo].[CM_DEPARTMENT_COSTCENTER_Search]
3
@p_DEP_ID	varchar(15)  = NULL,
4
@p_DEP_CODE	varchar(15)  = NULL,
5
@p_DEP_NAME	nvarchar(200)  = NULL,
6
@p_DAO_CODE	varchar(40)  = NULL,
7
@p_DAO_NAME	nvarchar(500)  = NULL,
8
@p_BRANCH_ID	varchar(15)  = NULL,
9
@p_GROUP_ID	varchar(15)  = NULL,
10
@p_TEL	varchar(20)  = NULL,
11
@p_NOTES	nvarchar(1000)  = NULL,
12
@p_RECORD_STATUS	varchar(1)  = NULL,
13
@p_MAKER_ID	varchar(12)  = NULL,
14
@p_CREATE_DT	VARCHAR(20) = NULL,
15
@p_AUTH_STATUS	varchar(50)  = NULL,
16
@p_CHECKER_ID	varchar(12)  = NULL,
17
@p_APPROVE_DT	VARCHAR(20) = NULL,
18
@p_TOP	INT = Null
19
AS
20
	--Validation is here
21
/*
22
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
23
	IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE  [CONDITION] ))
24
		 SET @ERRORSYS = ''
25
	IF @ERRORSYS <> '' 
26
	BEGIN
27
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
28
		RETURN '0'
29
	END */
30
BEGIN -- PAGING
31
IF(@p_TOP is NULL OR @P_TOP = '' OR @P_TOP = 0)
32
-- PAGING BEGIN
33
SELECT A.*, B.BRANCH_CODE, B.BRANCH_NAME, C.AUTH_STATUS_NAME
34
-- SELECT END
35
FROM CM_DEPARTMENT A 
36
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
37
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS = C.AUTH_STATUS
38
 WHERE 1 = 1
39
	AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
40
	AND (A.DEP_CODE LIKE '%' + @p_DEP_CODE + '%' OR  @p_DEP_CODE IS NULL OR @p_DEP_CODE = '')
41
	AND (A.DEP_NAME LIKE '%' + @p_DEP_NAME + '%' OR  @p_DEP_NAME IS NULL OR @p_DEP_NAME = '')
42
	AND (A.DAO_CODE LIKE '%' + @p_DAO_CODE + '%' OR  @p_DAO_CODE IS NULL OR @p_DAO_CODE = '')
43
	AND (A.DAO_NAME LIKE '%' + @p_DAO_NAME + '%' OR  @p_DAO_NAME IS NULL OR @p_DAO_NAME = '')
44
	AND (B.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
45
	AND (A.GROUP_ID LIKE '%' + @p_GROUP_ID + '%' OR  @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
46
	AND (A.TEL LIKE '%' + @p_TEL + '%' OR  @p_TEL IS NULL OR @p_TEL = '')
47
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
48
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
49
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
50
	AND (DATEDIFF(DAY, A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
51
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
52
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
53
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
54
	AND A.RECORD_STATUS = '1'
55
	--AND NOT EXISTS(SELECT * FROM dbo.PL_COSTCENTER CO LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.COST_ID = CO.COST_ID WHERE DT.BRANCH_ID=B.BRANCH_ID AND DT.DEP_ID=A.DEP_ID AND CO.RECORD_STATUS='1' AND CO.AUTH_STATUS='A' )
56
-- PAGING END
57
ELSE
58
-- PAGING BEGIN
59
SELECT TOP(CONVERT(INT,@P_TOP))A.*, B.BRANCH_CODE, B.BRANCH_NAME, C.AUTH_STATUS_NAME
60
-- SELECT END
61
FROM CM_DEPARTMENT A 
62
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
63
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
64
 WHERE 1 = 1
65
	AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
66
	AND (A.DEP_CODE LIKE '%' + @p_DEP_CODE + '%' OR  @p_DEP_CODE IS NULL OR @p_DEP_CODE = '')
67
	AND (A.DEP_NAME LIKE '%' + @p_DEP_NAME + '%' OR  @p_DEP_NAME IS NULL OR @p_DEP_NAME = '')
68
	AND (A.DAO_CODE LIKE '%' + @p_DAO_CODE + '%' OR  @p_DAO_CODE IS NULL OR @p_DAO_CODE = '')
69
	AND (A.DAO_NAME LIKE '%' + @p_DAO_NAME + '%' OR  @p_DAO_NAME IS NULL OR @p_DAO_NAME = '')
70
	AND (B.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
71
	AND (A.GROUP_ID LIKE '%' + @p_GROUP_ID + '%' OR  @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
72
	AND (A.TEL LIKE '%' + @p_TEL + '%' OR  @p_TEL IS NULL OR @p_TEL = '')
73
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
74
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
75
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
76
	AND (DATEDIFF(DAY, A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
77
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
78
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
79
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
80
	AND A.RECORD_STATUS = '1'
81
	--AND NOT EXISTS(SELECT * FROM dbo.PL_COSTCENTER CO LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.COST_ID = CO.COST_ID WHERE DT.BRANCH_ID=B.BRANCH_ID AND DT.DEP_ID=A.DEP_ID AND CO.RECORD_STATUS='1' AND CO.AUTH_STATUS='A' )
82
-- PAGING END
83
End -- PAGING
84

    
85

    
86

    
87

    
88

    
89