Project

General

Profile

[ASS_USE_CONFIRM_MASTER_Search].txt

Luc Tran Van, 03/31/2023 09:39 AM

 
1

    
2
ALTER PROCEDURE [dbo].[ASS_USE_CONFIRM_MASTER_Search]
3
@p_USER_MASTER_ID	varchar(15)  = NULL,
4
@p_BRANCH_ID	varchar(15)  = NULL,
5
@p_USE_EXPORT_DT	VARCHAR(20) = NULL,
6
@p_USER_EXPORT	nvarchar(200)  = NULL,
7
@p_USER_EXPORT_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_KT_IS_DO			VARCHAR(1) = NULL,
22
@p_LEVEL	VARCHAR(50) = 'UNIT',
23
@p_TOP	INT = 10,
24
@p_FROMDATE VARCHAR(20) = NULL,
25
@p_TODATE VARCHAR(20) = NULL,
26
@p_USER_LOGIN   VARCHAR(15),-- 26022020 LUCTV TRUYEN XUONG USER LOGIN DE DO TIM MA PHONG BAN
27
@p_TYPE_SEARCH VARCHAR(10)= NULL -- 26022020 LUCTV TRUYEN XUONG DAU HIEU DE PHAN BIET TIM KIEM O MAN HINH KE TOAN HAY MAN HINH HCQT
28
AS
29
BEGIN -- PAGING
30

    
31
	SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
32

    
33
	------
34
	SET @p_RECORD_STATUS = '1'
35
	-------
36

    
37
	DECLARE @BRANCH_LOGIN VARCHAR(15)
38
		SET @BRANCH_LOGIN = (SELECT TOP 1 TLSUBBRID FROM TL_USER WHERE TLNANME = @p_USER_LOGIN)
39

    
40
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
41
-- PAGING BEGIN
42
	SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.CONTENT AS AUTH_STATUS_NAME,C.BRANCH_CODE+' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
43
	
44
	ATKT.CONTENT AS AUTH_STATUS_NAME_KT,
45
	@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, 
46
	B.CONFIRM_STATUS, dbo.FN_ASS_USE_MULTI_MASTER_GET_TOTAL_VALUE(A.USER_MASTER_ID) AS TOTAL_USE_VALUE,D.TLFullName CONFIRM_USER_NAME,B.CONFIRM_DT,
47
	CASE WHEN B.CONFIRM_STATUS = 'Y'
48
			THEN N'Đã xác nhận'  
49
			ELSE N'Chưa xác nhận' END AS CONFIRM_STATUS_NAME
50
-- SELECT END
51
	FROM ASS_USE_MULTI_MASTER A
52
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
53
	LEFT JOIN dbo.CM_ALLCODE F ON F.CDVAL = A.AUTH_STATUS AND F.CDNAME = 'ASS_ADD_AUTH' AND F.CDTYPE = 'ASS_ADDNEW'
54
	LEFT JOIN dbo.CM_ALLCODE ATKT ON ATKT.CDVAL = A.AUTH_STATUS_KT AND ATKT.CDNAME = 'ASS_ADD_AUTH' AND ATKT.CDTYPE = 'ASS_ADDNEW'
55
	LEFT JOIN  (SELECT TOP 1 USER_MASTER_ID,DT.BRANCH_ID,DEPT_ID FROM ASS_USE_MULTI_DT DT ORDER BY USE_MULTI_ID ASC) tmp ON A.USER_MASTER_ID = tmp.USER_MASTER_ID
56
	--INNER JOIN (SELECT BRANCH_ID,USER_MASTER_ID,COUNT(*) AS SL FROM ASS_USE_MULTI_DT WHERE BRANCH_ID = @BRANCH_LOGIN GROUP BY BRANCH_ID,USER_MASTER_ID) DTT ON DTT.USER_MASTER_ID = A.USER_MASTER_ID   
57
	 LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
58
	 LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME
59
	WHERE 1 = 1
60
	AND (A.USER_MASTER_ID LIKE '%' + @p_USER_MASTER_ID + '%' OR  @p_USER_MASTER_ID IS NULL OR @p_USER_MASTER_ID = '')
61
	AND (CONVERT(DATE,ISNULL(A.APPROVE_DT,A.USE_EXPORT_DT),103) >=CONVERT(DATE, @p_FROMDATE, 103) OR  @p_FROMDATE IS NULL OR @p_FROMDATE = '')
62
	AND (CONVERT(DATE,ISNULL(A.APPROVE_DT, A.USE_EXPORT_DT),103) <=CONVERT(DATETIME, @p_TODATE, 103) OR  @p_TODATE IS NULL OR @p_TODATE = '')
63
	AND (A.USER_EXPORT LIKE '%' + @p_USER_EXPORT + '%' OR  @p_USER_EXPORT IS NULL OR @p_USER_EXPORT = '')
64
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')	 
65
	AND A.AUTH_STATUS = 'A' 
66
  AND A.AUTH_STATUS_KT <>'A'
67
  AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103)
68
	  --AND ( (@p_AUTH_STATUS = 'Y' AND A.USER_MASTER_ID = B.USER_MASTER_ID) 
69
			--OR (@p_AUTH_STATUS = 'N' AND A.USER_MASTER_ID <> B.USER_MASTER_ID
70
			--OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' )))
71
	 AND ( (@p_AUTH_STATUS = 'Y' AND A.USER_MASTER_ID IN (SELECT G.USER_MASTER_ID FROM ASS_USE_CONFIRM_MASTER G)) 
72
			OR (@p_AUTH_STATUS = 'N' AND A.USER_MASTER_ID NOT IN (SELECT G.USER_MASTER_ID FROM ASS_USE_CONFIRM_MASTER G)
73
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' )))
74
   --TIM KIEM THEO TRUONG DON VI NHAN TAI SAN
75
   --AND (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
76
   -- tmp.BRANCH_ID,
77
   -- tmp.DEPT_ID) US
78
   -- WHERE US.TLNANME = @p_USER_LOGIN))
79
  AND (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
80
    (SELECT TOP 1 DT.BRANCH_ID FROM ASS_USE_MULTI_DT DT WHERE DT.USER_MASTER_ID = A.USER_MASTER_ID ORDER BY USE_MULTI_ID ASC),
81
    (SELECT TOP 1 DT.DEPT_ID FROM ASS_USE_MULTI_DT DT WHERE DT.USER_MASTER_ID = A.USER_MASTER_ID ORDER BY USE_MULTI_ID ASC)) US
82
    WHERE US.TLNANME = @p_USER_LOGIN))
83

    
84
	
85
	ORDER BY A.CREATE_DT DESC
86
	
87
-- PAGING END
88
	ELSE
89
-- PAGING BEGIN
90
	SELECT TOP(CONVERT(INT,@P_TOP))A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.CONTENT AS AUTH_STATUS_NAME, C.BRANCH_CODE+' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
91
	ATKT.CONTENT AS AUTH_STATUS_NAME_KT,
92
	@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH,
93
	B.CONFIRM_STATUS, dbo.FN_ASS_USE_MULTI_MASTER_GET_TOTAL_VALUE(A.USER_MASTER_ID) AS TOTAL_USE_VALUE,D.TLFullName CONFIRM_USER_NAME,B.CONFIRM_DT,
94
	CASE WHEN B.CONFIRM_STATUS = 'Y'
95
			THEN N'Đã xác nhận'  
96
			ELSE N'Chưa xác nhận' END AS CONFIRM_STATUS_NAME
97
-- SELECT END
98
		FROM ASS_USE_MULTI_MASTER A
99
		LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
100
		LEFT JOIN dbo.CM_ALLCODE F ON F.CDVAL = A.AUTH_STATUS AND F.CDNAME = 'ASS_ADD_AUTH' AND F.CDTYPE = 'ASS_ADDNEW'
101
		LEFT JOIN dbo.CM_ALLCODE ATKT ON ATKT.CDVAL = A.AUTH_STATUS_KT AND ATKT.CDNAME = 'ASS_ADD_AUTH' AND ATKT.CDTYPE = 'ASS_ADDNEW'
102
		LEFT JOIN  (SELECT TOP 1 USER_MASTER_ID,DT.BRANCH_ID,DEPT_ID FROM ASS_USE_MULTI_DT DT ORDER BY USE_MULTI_ID ASC) tmp ON A.USER_MASTER_ID = tmp.USER_MASTER_ID
103
		--INNER JOIN (SELECT BRANCH_ID,USER_MASTER_ID,COUNT(*) AS SL FROM ASS_USE_MULTI_DT WHERE BRANCH_ID = @BRANCH_LOGIN GROUP BY BRANCH_ID,USER_MASTER_ID) DTT ON DTT.USER_MASTER_ID = A.USER_MASTER_ID   
104
		LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
105
		LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME
106
		WHERE 1 = 1
107
		AND (A.USER_MASTER_ID LIKE '%' + @p_USER_MASTER_ID + '%' OR  @p_USER_MASTER_ID IS NULL OR @p_USER_MASTER_ID = '')
108
		AND (CONVERT(DATE,ISNULL(A.APPROVE_DT,A.USE_EXPORT_DT),103) >=CONVERT(DATE, @p_FROMDATE, 103) OR  @p_FROMDATE IS NULL OR @p_FROMDATE = '')
109
		AND (CONVERT(DATE,ISNULL(A.APPROVE_DT,A.USE_EXPORT_DT),103) <=CONVERT(DATETIME, @p_TODATE, 103) OR  @p_TODATE IS NULL OR @p_TODATE = '')
110
		AND (A.USER_EXPORT LIKE '%' + @p_USER_EXPORT + '%' OR  @p_USER_EXPORT IS NULL OR @p_USER_EXPORT = '')
111
		AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
112
		AND A.AUTH_STATUS = 'A' 
113
    AND A.AUTH_STATUS_KT <>'A'
114
    AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103)
115
		AND ( (@p_AUTH_STATUS = 'Y' AND A.USER_MASTER_ID IN (SELECT G.USER_MASTER_ID FROM ASS_USE_CONFIRM_MASTER G)) 
116
			OR (@p_AUTH_STATUS = 'N' AND A.USER_MASTER_ID NOT IN (SELECT G.USER_MASTER_ID FROM ASS_USE_CONFIRM_MASTER G)
117
			OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' )))
118
		 --AND ( (@p_AUTH_STATUS = 'Y' AND A.USER_MASTER_ID = B.USER_MASTER_ID) 
119
			--OR (@p_AUTH_STATUS = 'N' AND A.USER_MASTER_ID <> B.USER_MASTER_ID
120
			--OR (@p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '' )))
121

    
122
    --AND (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
123
    --tmp.BRANCH_ID,
124
    --tmp.DEPT_ID) US
125
    --WHERE US.TLNANME = @p_USER_LOGIN))
126
	AND (EXISTS(SELECT 1 FROM dbo.FN_GET_USER_BY_ROLE('GDDV',
127
    (SELECT TOP 1 DT.BRANCH_ID FROM ASS_USE_MULTI_DT DT WHERE DT.USER_MASTER_ID = A.USER_MASTER_ID ORDER BY USE_MULTI_ID ASC),
128
    (SELECT TOP 1 DT.DEPT_ID FROM ASS_USE_MULTI_DT DT WHERE DT.USER_MASTER_ID = A.USER_MASTER_ID ORDER BY USE_MULTI_ID ASC)) US
129
    WHERE US.TLNANME = @p_USER_LOGIN))
130

    
131
		ORDER BY A.CREATE_DT DESC
132
-- PAGING END
133
END -- PAGING
134