Project

General

Profile

CM_EMPLOYEE_Search.txt

Luc Tran Van, 08/04/2022 12:25 PM

 
1

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

    
6
ALTER PROCEDURE dbo.CM_EMPLOYEE_Search
7
	@p_EMP_ID	varchar(15) = null ,
8
	@p_EMP_CODE	varchar(15) = NULL ,
9
	@p_EMP_NAME	nvarchar(50) = NULL ,
10
	@p_BRANCH_ID	varchar(15) = NULL ,
11
	@p_BRANCH_CODE	varchar(15) = 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(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_TOP INT = NULL,
21
	@P_LEVEL varchar(10) = NULL
22
AS
23
BEGIN -- PAGING
24
DECLARE @l_HS_ID VARCHAR(15) = (SELECT 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,D.DEP_NAME,B.BRANCH_CODE,
36
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
37
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,B.BRANCH_NAME PGD,E.CONTENT AS RECORD_STATUS_NAME,L.POS_CODE,L.POS_NAME, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN
38
-- SELECT END
39
FROM CM_EMPLOYEE A 
40
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
41
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
42
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
43
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
44
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
45
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
46
 WHERE 1 = 1
47
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
48
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
49
 AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR  @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
50
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
51
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
52
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
53
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
54
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
55
 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
56
 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
57
 AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
58
 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
59
 AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
60
 AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
61
 AND A.RECORD_STATUS = '1'
62
 AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
63
	OR (@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
64

    
65
	)
66
-- PAGING END
67
ELSE
68
-- PAGING BEGIN
69

    
70
SELECT TOP(CONVERT(INT,@P_TOP))A.*,C.AUTH_STATUS_NAME,D.DEP_NAME,B.BRANCH_CODE,
71
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
72
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,B.BRANCH_NAME PGD,E.CONTENT AS RECORD_STATUS_NAME,L.POS_CODE,L.POS_NAME, U.PhoneNumber AS PHONE_NUMBER,L.USER_DOMAIN
73
		-- SELECT END
74
FROM CM_EMPLOYEE A 
75
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
76
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
77
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
78
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
79
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
80
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
81
 WHERE 1 = 1
82
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
83
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
84
 AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR  @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
85
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
86
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
87
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
88
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
89
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
90
 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
91
 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
92
 AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
93
 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
94
 AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
95
 AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
96
 AND A.RECORD_STATUS = '1'
97
 AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
98
	OR (@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
99

    
100
	)
101
-- PAGING END
102
END -- PAGING
103

    
104

    
105

    
106

    
107

    
108

    
109
GO