Project

General

Profile

CM_DEPARTMENT_SEARCH.txt

Luc Tran Van, 11/09/2020 04:21 PM

 
1

    
2
ALTER PROCEDURE [dbo].[CM_DEPARTMENT_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 = 10
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 TRANSACTION
31
SET @p_TOP =4000
32
declare @tmp table(BRANCH_ID varchar(15))
33
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
34
IF(@p_TOP = NULL OR @P_TOP = '' OR @P_TOP = 0)
35
SELECT A.*, B.BRANCH_CODE, B.BRANCH_NAME, C.AUTH_STATUS_NAME
36
FROM CM_DEPARTMENT A 
37
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
38
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS = C.AUTH_STATUS
39
 WHERE 1 = 1
40
	AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
41
	AND (A.DEP_CODE LIKE '%' + @p_DEP_CODE + '%' OR  @p_DEP_CODE IS NULL OR @p_DEP_CODE = '')
42
	AND (A.DEP_NAME LIKE '%' + @p_DEP_NAME + '%' OR  @p_DEP_NAME IS NULL OR @p_DEP_NAME = '')
43
	AND (A.DAO_CODE LIKE '%' + @p_DAO_CODE + '%' OR  @p_DAO_CODE IS NULL OR @p_DAO_CODE = '')
44
	AND (A.DAO_NAME LIKE '%' + @p_DAO_NAME + '%' OR  @p_DAO_NAME IS NULL OR @p_DAO_NAME = '')
45
	AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
46
	AND (A.GROUP_ID LIKE '%' + @p_GROUP_ID + '%' OR  @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
47
	AND (A.TEL LIKE '%' + @p_TEL + '%' OR  @p_TEL IS NULL OR @p_TEL = '')
48
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
49
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
50
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
51
	AND (DATEDIFF(DAY, A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
52
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
53
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
54
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
55
	AND A.RECORD_STATUS = '1'
56
ELSE
57
SELECT TOP(CONVERT(INT,@P_TOP))A.*, B.BRANCH_CODE, B.BRANCH_NAME, C.AUTH_STATUS_NAME
58
FROM CM_DEPARTMENT A 
59
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
60
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
61
 WHERE 1 = 1
62
	AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
63
	AND (A.DEP_CODE LIKE '%' + @p_DEP_CODE + '%' OR  @p_DEP_CODE IS NULL OR @p_DEP_CODE = '')
64
	AND (A.DEP_NAME LIKE '%' + @p_DEP_NAME + '%' OR  @p_DEP_NAME IS NULL OR @p_DEP_NAME = '')
65
	AND (A.DAO_CODE LIKE '%' + @p_DAO_CODE + '%' OR  @p_DAO_CODE IS NULL OR @p_DAO_CODE = '')
66
	AND (A.DAO_NAME LIKE '%' + @p_DAO_NAME + '%' OR  @p_DAO_NAME IS NULL OR @p_DAO_NAME = '')
67
	--AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
68
	--AND ((A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = ''))
69
	AND (A.BRANCH_ID IN (SELECT * FROM @tmp))
70
	AND (A.GROUP_ID LIKE '%' + @p_GROUP_ID + '%' OR  @p_GROUP_ID IS NULL OR @p_GROUP_ID = '')
71
	AND (A.TEL LIKE '%' + @p_TEL + '%' OR  @p_TEL IS NULL OR @p_TEL = '')
72
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
73
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
74
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
75
	AND (DATEDIFF(DAY, A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
76
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
77
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
78
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
79
	AND A.RECORD_STATUS = '1'
80
COMMIT TRANSACTION
81

    
82

    
83

    
84

    
85

    
86