Project

General

Profile

ASS_COLLECT_CONFIRM_MASTER_Search.txt

Luc Tran Van, 11/30/2022 02:36 PM

 
1

    
2
ALTER PROCEDURE dbo.ASS_COLLECT_CONFIRM_MASTER_Search
3
@p_COL_MULTI_MASTER_ID	varchar(15)  = NULL,
4
@p_BRANCH_ID	varchar(15)  = NULL,
5
@p_COLLECT_DT	VARCHAR(20) = NULL,
6
@p_USER_COLLECT	nvarchar(200)  = NULL,
7
@p_USER_COLLECT_NAME nvarchar(200)=NULL,
8
@p_NOTES	nvarchar(1000)  = NULL,
9
@p_RECORD_STATUS	varchar(1)  = NULL,
10
@p_AUTH_STATUS	varchar(1)  = NULL,
11
@p_MAKER_ID	varchar(15)  = NULL,
12
@p_CREATE_DT	VARCHAR(20) = NULL,
13
@p_CHECKER_ID	varchar(15)  = NULL,
14
@p_APPROVE_DT	VARCHAR(20) = NULL,
15
@p_AUTH_STATUS_KT	varchar(15)  = NULL,
16
@p_CREATE_DT_KT	VARCHAR(20) = NULL,
17
@p_APPROVE_DT_KT	VARCHAR(20) = NULL,
18
@p_MAKER_ID_KT	varchar(50)  = NULL,
19
@p_CHECKER_ID_KT	varchar(50)  = NULL,
20
@p_REPORT_STATUS	varchar(15)  = NULL,
21
@p_LEVEL	VARCHAR(50) = 'UNIT',
22
@p_TOP	INT = NULL,
23
@p_FROMDATE VARCHAR(20) = NULL,
24
@p_TODATE VARCHAR(20) = NULL,
25
@p_IS_UPDATE VARCHAR(1) = NULL,
26
@p_USER_LOGIN   VARCHAR(15),
27
@p_TYPE_SEARCH VARCHAR(10)= NULL
28
AS
29
BEGIN -- PAGING
30
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
31

    
32
----
33
set @p_RECORD_STATUS = '1'
34
----
35
	DECLARE @ASSIGN_ROLES TABLE (BRANCH_ID VARCHAR(20), DEPT_ID VARCHAR(15), ROLE_ID VARCHAR(20))
36
	INSERT INTO @ASSIGN_ROLES SELECT * FROM [dbo].[TL_USER_GET_ASSIGNED_BRANCH](@p_USER_LOGIN)
37

    
38
-- GiaNT
39
DECLARE @BRANCH_LOGIN VARCHAR(15), @DEP_LOGIN VARCHAR(15)
40
		SET @BRANCH_LOGIN = (SELECT TOP 1 TLSUBBRID FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
41
				
42
		SET @DEP_LOGIN = (SELECT TOP 1 DEP_ID  FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
43

    
44
-- GIANT 11/10/2021
45
DECLARE @BRANCH_TYPE VARCHAR(5)
46
		SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_LOGIN)
47

    
48
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
49
begin
50
-- PAGING BEGIN
51
	SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
52
	ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT, C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
53
	@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
54
	CASE WHEN EXISTS (SELECT * FROM ASS_COLLECT_CONFIRM_MASTER M WHERE M.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) 
55
			THEN 'Y'  
56
		ELSE 'N' END AS CONFIRM_STATUS
57
	-- SELECT END
58
	FROM ASS_COLLECT_MULTI_MASTER A
59
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
60
	LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
61
	LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
62
	LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
63
	LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
64
	LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
65
	LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
66
	--INNER JOIN (SELECT BRANCH_ID,COL_MULTI_MASTER_ID,COUNT(*) AS SL FROM ASS_COLLECT_MULTI_DT WHERE DEPT_ID_USE = @BRANCH_LOGIN GROUP BY BRANCH_ID,COL_MULTI_MASTER_ID) DTT ON DTT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID   
67

    
68
	WHERE 1 = 1
69
	AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR  @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '')
70
	AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) >= CONVERT(DATE,@p_FROMDATE, 103) OR @p_FROMDATE IS NULL OR @p_FROMDATE ='')
71
	AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) <= CONVERT(DATE,@p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE ='')
72
	AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR  @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '')
73
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
74
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
75
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
76
	AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
77
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
78
	AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
79
	AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR  @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
80
	AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR  @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
81
	AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR  @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
82
	AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR  @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
83
	AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR  @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
84
	AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
85
	AND A.RECORD_STATUS='1'
86
	AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
87

    
88
	-- GiaNT 28/09/2021
89
	AND ( (@p_AUTH_STATUS = 'Y' AND A.COL_MULTI_MASTER_ID IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G)) 
90
			OR (@p_AUTH_STATUS = 'N' AND A.COL_MULTI_MASTER_ID NOT IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G)
91
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' )))
92
	AND A.AUTH_STATUS = 'A'
93

    
94
	-- GiaNT 11/10/2021
95
	--AND ( 
96
	--	(@BRANCH_TYPE = 'HS' AND  EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.DEPT_ID_USE = @DEP_LOGIN))
97
	--	OR (@BRANCH_TYPE <> 'HS' AND  EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.BRANCH_ID = @BRANCH_LOGIN))
98
	--)
99

    
100
  -- TIM KIEM THEO TRUONG DON VI GIAO TAI SAN
101
  AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
102
    (SELECT TOP 1 DT.BRANCH_ID FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC),
103
    (SELECT TOP 1 DT.DEPT_ID_USE FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC)) US
104
    WHERE US.TLNANME = @p_USER_LOGIN))
105
  AND A.APPROVE_DT>CONVERT(DATETIME,'2022-17-10',103)
106

    
107
	ORDER BY A.CREATE_DT DESC
108
-- PAGING END
109
end
110
ELSE
111
BEGIN
112
-- PAGING BEGIN
113
	SELECT TOP(CONVERT(INT,@P_TOP))A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, 
114
	ATKT.AUTH_STATUS_NAME AS AUTH_STATUS_NAME_KT,T1.TLFullName AS MAKER_NAME,T2.TLFullName AS MAKER_NAME_KT,T3.TLFullName APPROVE_NAME, T4.TLFullName APPROVE_NAME_KT,
115
	C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
116
	@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
117
	CASE WHEN EXISTS (SELECT * FROM ASS_COLLECT_CONFIRM_MASTER M WHERE M.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID) 
118
			THEN 'Y'  
119
		ELSE 'N' END AS CONFIRM_STATUS
120
	 -- SELECT END
121
	FROM ASS_COLLECT_MULTI_MASTER A
122
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
123
	LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
124
	LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
125
	LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
126
	LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
127
	LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
128
	LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
129
	--INNER JOIN (SELECT BRANCH_ID,COL_MULTI_MASTER_ID,COUNT(*) AS SL FROM ASS_COLLECT_MULTI_DT WHERE BRANCH_ID = @BRANCH_LOGIN GROUP BY BRANCH_ID,COL_MULTI_MASTER_ID) DTT ON DTT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID   
130

    
131
	 WHERE 1 = 1
132
	 AND (A.COL_MULTI_MASTER_ID LIKE '%' + @p_COL_MULTI_MASTER_ID + '%' OR  @p_COL_MULTI_MASTER_ID IS NULL OR @p_COL_MULTI_MASTER_ID = '')
133
	 AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) >= CONVERT(DATE,@p_FROMDATE, 103) OR @p_FROMDATE IS NULL OR @p_FROMDATE ='')
134
	 AND (CONVERT(DATE,ISNULL(A.CREATE_DT_KT, A.COLLECT_DT),103) <= CONVERT(DATE,@p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE ='')
135
	 AND (A.USER_COLLECT LIKE '%' + @p_USER_COLLECT + '%' OR  @p_USER_COLLECT IS NULL OR @p_USER_COLLECT = '')
136
	 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
137
	 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
138
	 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
139
	 AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
140
	 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
141
	 AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
142
	 AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR  @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
143
	 AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR  @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
144
	 AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR  @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
145
	 AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR  @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
146
	 AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR  @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
147
	 AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
148
	 AND A.RECORD_STATUS='1'
149
	 AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
150

    
151
	-- GiaNT 28/09/2021
152
	AND ( (@p_AUTH_STATUS = 'Y' AND A.COL_MULTI_MASTER_ID IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G)) 
153
			OR (@p_AUTH_STATUS = 'N' AND A.COL_MULTI_MASTER_ID NOT IN (SELECT G.COL_MULTI_MASTER_ID FROM ASS_COLLECT_CONFIRM_MASTER G)
154
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' )))
155
	AND A.AUTH_STATUS = 'A'
156
	-- GiaNT 11/10/2021
157
	--AND ( 
158
	--	(@BRANCH_TYPE = 'HS' AND  EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.DEPT_ID_USE = @DEP_LOGIN))
159
	--	OR (@BRANCH_TYPE <> 'HS' AND  EXISTS (SELECT * FROM ASS_COLLECT_MULTI_DT WHERE A.COL_MULTI_MASTER_ID = ASS_COLLECT_MULTI_DT.COL_MULTI_MASTER_ID AND ASS_COLLECT_MULTI_DT.BRANCH_ID = @BRANCH_LOGIN))
160
	--)
161

    
162
  -- TIM KIEM THEO TRUONG DON VI GIAO TAI SAN
163
  AND (EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
164
    (SELECT TOP 1 DT.BRANCH_ID FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC),
165
    (SELECT TOP 1 DT.DEPT_ID_USE FROM ASS_COLLECT_MULTI_DT DT WHERE DT.COL_MULTI_MASTER_ID = A.COL_MULTI_MASTER_ID ORDER BY COLLECT_MULTI_ID ASC)) US
166
    WHERE US.TLNANME = @p_USER_LOGIN))
167
    AND A.APPROVE_DT>CONVERT(DATETIME,'2022-17-10',103)
168

    
169
	ORDER BY A.CREATE_DT DESC
170

    
171
-- PAGING END
172
END
173
END -- PAGING