Project

General

Profile

TEST.txt

Luc Tran Van, 03/01/2023 03:01 PM

 
1
-- PROCEDURE NAME: CM_EMPLOYEE_Search
2

    
3
DECLARE @p_EMP_ID varchar(15) = NULL,
4
@p_EMP_CODE varchar(15) = NULL,
5
@p_EMP_NAME nvarchar(50) = NULL,
6
@p_BRANCH_ID varchar(15) = N'DV0001',
7
@p_BRANCH_CODE varchar(15) = NULL,
8
@p_DEP_ID varchar(15) = NULL,
9
@p_NOTES nvarchar(1000) = NULL,
10
@p_RECORD_STATUS varchar(1) = NULL,
11
@p_AUTH_STATUS varchar(1) = NULL,
12
@p_MAKER_ID varchar(15) = NULL,
13
@p_CREATE_DT varchar(20) = NULL,
14
@p_CHECKER_ID varchar(15) = NULL,
15
@p_APPROVE_DT varchar(20) = NULL,
16
@P_TOP int = NULL,
17
@P_LEVEL varchar(10) = N'ALL'
18

    
19
DECLARE @l_HS_ID VARCHAR(15) = (SELECT A.BRANCH_ID FROM CM_BRANCH A WHERE A.BRANCH_TYPE = 'HS')
20

    
21
declare @tmp table(BRANCH_ID varchar(15))
22
insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
23

    
24
--IF (@P_LEVEL = 'ALL' AND @p_BRANCH_ID <> @l_HS_ID)
25
IF (@P_LEVEL = 'ALL')
26
BEGIN
27
  INSERT INTO @tmp SELECT @l_HS_ID
28
  SET @p_DEP_ID=''
29
END
30

    
31

    
32

    
33
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
34
-- PAGING BEGIN
35
BEGIN
36
SELECT COUNT(*) -- SELECT END
37
FROM CM_EMPLOYEE A
38
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
39
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
40
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
41
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
42
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
43
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
44
WHERE 1 = 1
45
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
46
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
47
 AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR  @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
48
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
49
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
50
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
51
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
52
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
53
 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
54
 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
55
 AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
56
 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
57
 AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
58
 AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
59
 AND A.RECORD_STATUS = '1'
60
 AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
61
	OR (@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
62

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

    
99
	)
100
AND (L.USER_DOMAIN IN (SELECT TLNANME FROM TL_USER WHERE RoleName <>'DISABLE'))
101
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
102
END-- PAGING END
103
ELSE
104
-- PAGING BEGIN
105
BEGIN
106
SELECT COUNT(*) FROM(
107

    
108
SELECT TOP(CONVERT(INT,@P_TOP))A.*,C.AUTH_STATUS_NAME,D.DEP_NAME,B.BRANCH_CODE,
109
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
110
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,B.BRANCH_NAME PGD,E.CONTENT AS RECORD_STATUS_NAME
111
		--,U.PhoneNumber AS PHONE_NUMBER
112
	,
113
        L.POS_CODE,L.POS_NAME, L.USER_DOMAIN
114
		-- SELECT END
115
FROM CM_EMPLOYEE A
116
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
117
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
118
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
119
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
120
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
121
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
122
 WHERE 1 = 1
123
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
124
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
125
 AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR  @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
126
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
127
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
128
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
129
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
130
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
131
 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
132
 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
133
 AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
134
 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
135
 AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
136
 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
137
 AND A.RECORD_STATUS = '1'
138
 AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
139
	OR (@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
140

    
141
	)
142
 AND (L.USER_DOMAIN IN (SELECT TLNANME FROM TL_USER WHERE RoleName <>'DISABLE'))
143
) COUNTER_TOP;WITH QUERY_DATA AS ( 
144

    
145
SELECT TOP(CONVERT(INT,@P_TOP))A.*,C.AUTH_STATUS_NAME,D.DEP_NAME,B.BRANCH_CODE,
146
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'KV') KHU_VUC,
147
		dbo.FN_GET_CHINHANH(B.BRANCH_ID,'CN') CHI_NHANH,B.BRANCH_NAME PGD,E.CONTENT AS RECORD_STATUS_NAME
148
		--,U.PhoneNumber AS PHONE_NUMBER
149
	,
150
        L.POS_CODE,L.POS_NAME, L.USER_DOMAIN
151
		, ROW_NUMBER() OVER (ORDER BY (SELECT(1))) AS __ROWNUM-- SELECT END
152
FROM CM_EMPLOYEE A
153
LEFT JOIN CM_BRANCH B ON A.BRANCH_ID = B.BRANCH_ID
154
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS=C.AUTH_STATUS
155
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID=D.DEP_ID
156
LEFT JOIN CM_ALLCODE E ON E.CDNAME = 'RECORD_STATUS' AND E.CDVAL = A.RECORD_STATUS
157
LEFT JOIN CM_EMPLOYEE_LOG L ON L.EMP_CODE = A.EMP_CODE
158
LEFT JOIN TL_USER U ON U.TLNANME = L.USER_DOMAIN
159
 WHERE 1 = 1
160
 AND (A.EMP_ID LIKE '%' + @p_EMP_ID + '%' OR  @p_EMP_ID IS NULL OR @p_EMP_ID = '')
161
 AND (A.EMP_CODE LIKE '%' + @p_EMP_CODE + '%' OR  @p_EMP_CODE IS NULL OR @p_EMP_CODE = '')
162
 AND (A.EMP_NAME LIKE '%' + @p_EMP_NAME + '%' OR  @p_EMP_NAME IS NULL OR @p_EMP_NAME = '')
163
 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
164
 AND (B.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
165
 AND (A.DEP_ID LIKE '%' + @p_DEP_ID + '%' OR  @p_DEP_ID IS NULL OR @p_DEP_ID = '')
166
 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
167
 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
168
 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
169
 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
170
 AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) =0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
171
 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
172
 AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
173
 --AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM  CM_BRANCH_GETCHILDID(@p_BRANCH_ID)))
174
 AND A.RECORD_STATUS = '1'
175
 AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
176
	OR (@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID)) OR @p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL
177

    
178
	)
179
 AND (L.USER_DOMAIN IN (SELECT TLNANME FROM TL_USER WHERE RoleName <>'DISABLE'))
180
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
181
END-- PAGING END