Project

General

Profile

branch_search.txt

Luc Tran Van, 04/04/2023 09:34 AM

 
1
/*
2
[dbo].[CM_BRANCH_Search] '','','','','','','','','','','','','','','','','','','DV0002'
3
*/
4

    
5
ALTER PROCEDURE dbo.CM_BRANCH_Search
6
@p_BRANCH_ID	varchar(15)  = NULL,
7
@p_FATHER_ID	varchar(15)  = NULL,
8
@p_FATHER_CODE VARCHAR(15) = NULL,
9
@p_BRANCH_CODE	varchar(15)  = NULL,
10
@p_BRANCH_NAME	nvarchar(200)  = NULL,
11
@p_REGION_ID	varchar(15)  = NULL,
12
@p_REGION_CODE VARCHAR(15) =  NULL,
13
@p_BRANCH_TYPE	varchar(5)  = NULL,
14
@p_ADDR	nvarchar(200)  = NULL,
15
@p_TEL	varchar(20)  = NULL,
16
@p_NOTES	nvarchar(1000)  = NULL,
17
@p_RECORD_STATUS	varchar(1)  = NULL,
18
@p_MAKER_ID	varchar(100)  = NULL,
19
@p_CREATE_DT	VARCHAR(20) = NULL,
20
@p_AUTH_STATUS	varchar(50)  = NULL,
21
@p_CHECKER_ID	varchar(100)  = NULL,
22
@p_APPROVE_DT	VARCHAR(20) = NULL,
23
@p_TOP	INT = NULL,
24
@p_BRANCH_LOGIN	varchar(15)  = NULL,
25
@p_USER_LOGIN VARCHAR(20) = NULL,
26
@p_ISLOADALL BIT = 0
27
AS
28
	--Validation is here
29
/*
30
	DECLARE @ERRORSYS NVARCHAR(15) = '' 
31
	IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE  [CONDITION] ))
32
		 SET @ERRORSYS = ''
33
	IF @ERRORSYS <> '' 
34
	BEGIN
35
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
36
		RETURN '0'
37
	END */
38
BEGIN -- PAGING
39

    
40

    
41
	declare @tmp table(BRANCH_ID varchar(15))
42
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
43
  DECLARE @ROLE_LOGIN TABLE (ROLE_ID varchar(20))
44
  INSERT INTO @ROLE_LOGIN SELECT tugr.ROLE_ID FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN) tugr
45

    
46
IF @p_TOP = 300 SET @p_TOP = 1000
47

    
48
IF(@p_TOP IS NULL OR @p_TOP = '' OR @p_TOP = 0)
49
-- PAGING BEGIN
50
SELECT A.*,B.BRANCH_CODE AS F_BRANCH_CODE, B.BRANCH_NAME AS F_BRANCH_NAME, C.AUTH_STATUS_NAME, R.CONTENT AS RECORD_STATUS_NAME, AL.CONTENT AS ACTIVE_STATUS_NAME,
51
 B.BRANCH_CODE + ' - ' + B.BRANCH_NAME as BRACH_NAME_FATHER
52
-- SELECT END
53
FROM CM_BRANCH A 
54
LEFT JOIN CM_BRANCH B ON A.FATHER_ID = B.BRANCH_ID
55
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS = C.AUTH_STATUS
56
LEFT JOIN CM_ALLCODE R ON A.RECORD_STATUS = R.CDVAL AND R.CDNAME = 'RECORD_STATUS'
57
LEFT JOIN CM_ALLCODE AL ON A.AUTH_STATUS = AL.CDVAL AND AL.CDNAME = 'STATUS' AND AL.CDTYPE = 'BR'--doanptt chỉnh sửa ngày 21/08/2021 ở GAPList QTHT.005
58
 WHERE 1 = 1
59
	AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
60
	AND (A.FATHER_ID LIKE '%' + @p_FATHER_ID + '%' OR  @p_FATHER_ID IS NULL OR @p_FATHER_ID = '')
61
	AND (B.BRANCH_CODE LIKE '%' + @p_FATHER_CODE + '%' OR  @p_FATHER_CODE IS NULL OR @p_FATHER_CODE = '')
62
	AND (A.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
63
  AND (A.BRANCH_NAME  COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
64
	AND (A.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR  @p_REGION_ID IS NULL OR @p_REGION_ID = '')
65
	AND (EXISTS (SELECT * FROM [dbo].[wsiSplit](@p_BRANCH_TYPE, ',') WHERE A.BRANCH_TYPE LIKE '%' + [Value] + '%') OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
66
	AND (A.ADDR LIKE '%' + @p_ADDR + '%' OR  @p_ADDR IS NULL OR @p_ADDR = '')
67
	AND (A.TEL LIKE '%' + @p_TEL + '%' OR  @p_TEL IS NULL OR @p_TEL = '')
68
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
69
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
70
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
71
	AND (DATEDIFF(DAY, A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
72
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
73
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
74
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')	
75
	AND (A.RECORD_STATUS = @p_RECORD_STATUS OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
76
	AND ((A.BRANCH_ID = @p_BRANCH_LOGIN OR EXISTS(SELECT ROLE_ID FROM @ROLE_LOGIN WHERE ROLE_ID IN ('QLTS','GDDV_QLTS','GDV_QLTS','GDV','KSV','KSV_QLTS','TBP_QLTS')) OR @p_ISLOADALL = 1))
77
	ORDER BY A.BRANCH_CODE
78
-- PAGING END
79
ELSE
80
-- PAGING BEGIN
81
SELECT TOP(CONVERT(INT,@p_TOP))A.*,B.BRANCH_CODE AS F_BRANCH_CODE, B.BRANCH_NAME AS F_BRANCH_NAME, C.AUTH_STATUS_NAME, R.CONTENT AS RECORD_STATUS_NAME, 
82
AL.CONTENT AS ACTIVE_STATUS_NAME, B.BRANCH_CODE + ' - ' + B.BRANCH_NAME as BRACH_NAME_FATHER
83
-- SELECT END
84
FROM CM_BRANCH A 
85
LEFT JOIN CM_BRANCH B ON A.FATHER_ID = B.BRANCH_ID  
86
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS = C.AUTH_STATUS
87
LEFT JOIN CM_ALLCODE R ON A.RECORD_STATUS = R.CDVAL AND R.CDNAME = 'RECORD_STATUS'
88
LEFT JOIN CM_ALLCODE AL ON A.AUTH_STATUS = AL.CDVAL AND AL.CDNAME = 'STATUS' AND AL.CDTYPE = 'BR' --doanptt chỉnh sửa ngày 21/08/2021 ở GAPList QTHT.005
89
 WHERE 1 = 1
90
	AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
91
	AND (A.FATHER_ID LIKE '%' + @p_FATHER_ID + '%' OR  @p_FATHER_ID IS NULL OR @p_FATHER_ID = '')
92
	AND (A.BRANCH_CODE LIKE '%' + @p_BRANCH_CODE + '%' OR  @p_BRANCH_CODE IS NULL OR @p_BRANCH_CODE = '')
93
	AND (B.BRANCH_CODE LIKE '%' + @p_FATHER_CODE + '%' OR  @p_FATHER_CODE IS NULL OR @p_FATHER_CODE = '')
94
	AND (A.BRANCH_NAME  COLLATE Latin1_general_CI_AI LIKE N'%' + @p_BRANCH_NAME + N'%' COLLATE Latin1_general_CI_AI OR @p_BRANCH_NAME IS NULL OR @p_BRANCH_NAME = '')
95
	AND (A.REGION_ID LIKE '%' + @p_REGION_ID + '%' OR  @p_REGION_ID IS NULL OR @p_REGION_ID = '')
96
	AND (EXISTS (SELECT * FROM [dbo].[wsiSplit](@p_BRANCH_TYPE, ',') WHERE A.BRANCH_TYPE LIKE '%' + [Value] + '%') OR  @p_BRANCH_TYPE IS NULL OR @p_BRANCH_TYPE = '')
97
	AND (A.ADDR LIKE '%' + @p_ADDR + '%' OR  @p_ADDR IS NULL OR @p_ADDR = '')
98
	AND (A.TEL LIKE '%' + @p_TEL + '%' OR  @p_TEL IS NULL OR @p_TEL = '')
99
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
100
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
101
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
102
	AND (DATEDIFF(DAY,A.CREATE_DT ,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
103
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
104
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
105
	AND (DATEDIFF(DAY,A.APPROVE_DT ,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
106
	AND (A.RECORD_STATUS = @p_RECORD_STATUS OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
107
	AND ((A.BRANCH_ID = @p_BRANCH_LOGIN OR EXISTS(SELECT ROLE_ID FROM @ROLE_LOGIN WHERE ROLE_ID IN ('QLTS','GDDV_QLTS','GDV_QLTS','GDV','KSV','KSV_QLTS','TBP_QLTS')) OR @p_ISLOADALL = 1))
108
	ORDER BY A.BRANCH_CODE
109
-- PAGING END
110
END -- PAGING