Project

General

Profile

CM_EMPLOYEE_Search.txt

Luc Tran Van, 03/13/2023 04:14 PM

 
1
USE gAMSPro_BVB_v3_FINAL
2
GO
3

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

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

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

    
31
--IF (@P_LEVEL = 'ALL' AND @p_BRANCH_ID <> @l_HS_ID)
32
IF (@P_LEVEL = 'ALL')
33
BEGIN
34
  INSERT INTO @tmp SELECT @l_HS_ID
35
  SET @p_DEP_ID=''
36
END
37

    
38

    
39

    
40
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
41
-- PAGING BEGIN
42
SELECT A.*,C.AUTH_STATUS_NAME,D.DEP_NAME,B.BRANCH_CODE,
43
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
44
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,B.BRANCH_NAME PGD,E.CONTENT AS RECORD_STATUS_NAME
45
		,U.PhoneNumber AS PHONE_NUMBER
46
	,
47
        L.POS_CODE,L.POS_NAME, L.USER_DOMAIN
48
		-- SELECT END
49
FROM CM_EMPLOYEE A
50
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
51
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
52
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
53
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
54
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
55
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
56
WHERE 1 = 1
57
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
58
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
59
 AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR  @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
60
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
61
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
62
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
63
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
64
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
65
 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
66
 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
67
 AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
68
 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
69
 AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
70
 AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
71
 AND A.RECORD_STATUS = '1'
72
 AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
73
	OR (@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
74

    
75
	)
76
--AND (L.USER_DOMAIN IN (SELECT TLNANME FROM TL_USER WHERE RoleName <>'DISABLE'))
77
-- PAGING END
78
ELSE
79
-- PAGING BEGIN
80

    
81
SELECT TOP(CONVERT(INT,@P_TOP))A.*,C.AUTH_STATUS_NAME,D.DEP_NAME,B.BRANCH_CODE,
82
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
83
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,B.BRANCH_NAME PGD,E.CONTENT AS RECORD_STATUS_NAME
84
		--,U.PhoneNumber AS PHONE_NUMBER
85
	,
86
        L.POS_CODE,L.POS_NAME, L.USER_DOMAIN
87
		-- SELECT END
88
FROM CM_EMPLOYEE A
89
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
90
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
91
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
92
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
93
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
94
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
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 LIKE '%' + @p_EMP_NAME + '%' 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
-- AND (L.USER_DOMAIN IN (SELECT TLNANME FROM TL_USER WHERE RoleName <>'DISABLE'))
116
-- PAGING END
117
END -- PAGING
118

    
119

    
120

    
121
GO