Project

General

Profile

CM_EMPLOYEE_SEARCH.txt

Luc Tran Van, 04/27/2023 02:12 PM

 
1
/*
2
	[CM_EMPLOYEE_Search] '','','Nguyễn Minh Tuân','DV0002','','','','','','','','','','100', 'ALL'
3
*/
4

    
5
ALTER PROCEDURE dbo.CM_EMPLOYEE_Search
6
	@p_EMP_ID	varchar(15) = null ,
7
	@p_EMP_CODE	varchar(15) = NULL ,
8
	@p_EMP_NAME	nvarchar(50) = NULL ,
9
	@p_BRANCH_ID	varchar(15) = NULL ,
10
	@p_BRANCH_CODE	varchar(15) = NULL ,
11
  @p_BRANCH_NAME NVARCHAR(50) = null,
12
	@p_DEP_ID	varchar(15) = NULL ,
13
	@p_NOTES	nvarchar(1000) = NULL ,
14
	@p_RECORD_STATUS	varchar(1) = NULL ,
15
	@p_AUTH_STATUS	varchar(1) = NULL ,
16
	@p_MAKER_ID	varchar(100) = NULL ,
17
	@p_CREATE_DT	VARCHAR(20) = NULL,
18
	@p_CHECKER_ID	varchar(100) = NULL ,
19
	@p_APPROVE_DT	VARCHAR(20) = NULL,
20
	@p_TOP INT = NULL,
21
	@p_LEVEL varchar(10) = NULL
22
AS
23
BEGIN -- PAGING
24
DECLARE @l_HS_ID VARCHAR(15) = (SELECT TOP 1 A.BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS')
25

    
26
declare @tmp table(BRANCH_ID varchar(15))
27
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
28

    
29
IF (@p_LEVEL = 'ALL' AND @p_BRANCH_ID <> @l_HS_ID)
30
INSERT INTO @tmp SELECT @l_HS_ID
31

    
32

    
33
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
34
-- PAGING BEGIN
35
SELECT A.*,C.AUTH_STATUS_NAME,B.BRANCH_CODE,B.BRANCH_NAME,
36
		--dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
37
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,
38
    --B.BRANCH_NAME PGD,
39
    D.DEP_NAME PGD,
40
    CR.REGION_NAME AS KHUVUC,
41
    D.DEP_NAME,
42
    E.CONTENT AS RECORD_STATUS_NAME
43
    --, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN
44
-- SELECT END
45
FROM CM_EMPLOYEE A 
46
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
47
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
48
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
49
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
50
--LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
51
--LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
52
LEFT JOIN CM_REGIONS CR ON CR.REGION_ID = B.REGION_ID
53
 WHERE 1 = 1
54
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
55
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '') 
56
 AND (A.EMP_NAME  COLLATE Latin1_general_CI_AI LIKE N'%' + @p_EMP_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')		
57
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
58
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
59
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
60
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
61
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
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(DAY,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(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
67
 AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
68
 AND A.RECORD_STATUS = '1'
69
 AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
70
	OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
71

    
72
	)
73
-- PAGING END
74
ELSE
75
-- PAGING BEGIN
76

    
77
SELECT TOP(CONVERT(INT,@p_TOP))A.*,C.AUTH_STATUS_NAME,B.BRANCH_CODE,B.BRANCH_NAME,
78
		--dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
79
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,
80
    --B.BRANCH_NAME PGD,
81
    D.DEP_NAME PGD,
82
    CR.REGION_NAME AS KHUVUC,
83
    D.DEP_NAME,
84
    E.CONTENT AS RECORD_STATUS_NAME
85
    --, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN
86
-- SELECT END
87
FROM CM_EMPLOYEE A 
88
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
89
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
90
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
91
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
92
--LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
93
--LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
94
LEFT JOIN CM_REGIONS CR ON CR.REGION_ID = B.REGION_ID
95
 WHERE 1 = 1
96
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
97
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
98
 AND (A.EMP_NAME  COLLATE Latin1_general_CI_AI LIKE N'%' + @p_EMP_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')		
99
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
100
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
101
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
102
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
103
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
104
 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
105
 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
106
 AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
107
 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
108
 AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
109
 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
110
 AND A.RECORD_STATUS = '1'
111
 AND ((@p_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
112
	OR (@p_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
113

    
114
	)
115
-- PAGING END
116
END -- PAGING