Project

General

Profile

ASS_USE_MULTI_BVB_MASTER_Search_12_06.txt

Luc Tran Van, 06/12/2023 09:21 AM

 
1

    
2
ALTER PROCEDURE dbo.ASS_USE_MULTI_BVB_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 @tmp table(BRANCH_ID varchar(15))
38
		insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
39

    
40
IF(@p_TOP = 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
	ATKT.CONTENT AS AUTH_STATUS_NAME_KT,
44
	@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
45
	B.CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME,B.CONFIRM_STATUS
46
	,(CASE
47
  
48
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' THEN N'Chờ cấp phê duyệt trung gian phê duyệt' --12062023_setretkey FIX cấp duyệt trung gian
49
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN N'Chờ trưởng đơn vị phê duyệt'
50
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS<>'Y' OR B.CONFIRM_STATUS IS NULL) AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103) THEN N'Chờ trưởng đơn vị xác nhận giao dịch xuất tài sản'
51
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN N'Chờ GDV xử lý'
52
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN N'Chờ KSV phê duyệt'
53
		END) AS PROCESS_STATUS_NEXT,
54
		(CASE
55
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' AND A.SIGN_USER IS NOT NULL  THEN A.SIGN_USER --12062023_setretkey FIX cấp duyệt trung gian
56
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',E.TLSUBBRID,E.DEP_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
57
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS<>'Y' OR B.CONFIRM_STATUS IS NULL) AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',TMP.BRANCH_ID,TMP.DEPT_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
58
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDV','DV0001','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
59
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('KSV','DV0001','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
60
		END) NGUOIXULY
61
	-- SELECT END
62
	FROM ASS_USE_MULTI_MASTER A
63
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
64
	LEFT JOIN dbo.CM_ALLCODE F ON F.CDVAL = A.AUTH_STATUS AND F.CDNAME = 'ASS_ADD_AUTH' AND F.CDTYPE = 'ASS_ADDNEW' 
65
	LEFT JOIN dbo.CM_ALLCODE ATKT ON ATKT.CDVAL = A.AUTH_STATUS_KT AND ATKT.CDNAME = 'ASS_ADD_AUTH' AND ATKT.CDTYPE = 'ASS_ADDNEW'
66
	LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
67
  --PHONGNT 20/05 LAY BRANCH_ID DEP_ID dau danh sach xuat TS
68
  LEFT JOIN (SELECT * FROM ASS_USE_MULTI_DT aucm WHERE aucm.USE_MULTI_ID IN (SELECT TOP(1)aucm1.USE_MULTI_ID FROM ASS_USE_MULTI_DT aucm1 WHERE aucm.USER_MASTER_ID=aucm1.USER_MASTER_ID)) TMP ON TMP.USER_MASTER_ID= A.USER_MASTER_ID
69
	LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
70
  LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME
71
	 WHERE 1 = 1
72
	 AND (A.USER_MASTER_ID LIKE '%' + @p_USER_MASTER_ID + '%' OR  @p_USER_MASTER_ID IS NULL OR @p_USER_MASTER_ID = '')
73
	--AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp) OR @P_BRANCH_ID IS NULL OR @P_BRANCH_ID = '')
74
	 --AND (A.USE_EXPORT_DT =CONVERT(DATETIME, @p_USE_EXPORT_DT, 103) OR  @p_USE_EXPORT_DT IS NULL OR @p_USE_EXPORT_DT = '')
75

    
76
  -- TIM KIEM TU NGAY DEN NGAY O HC
77
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
78
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
79
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
80
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
81
  
82
  -- TIM KIEM TU NGAY DEN NGAY O KT
83
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
84
    AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
85
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
86
        AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
87
          OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
88
		  OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
89
          OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))))))
90
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
91
  
92
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
93
    AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
94
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
95
        AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
96
          OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
97
          OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
98
          OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))))))
99
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
100
	 
101
	 AND (A.USER_EXPORT LIKE '%' + @p_USER_EXPORT + '%' OR  @p_USER_EXPORT IS NULL OR @p_USER_EXPORT = '')
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 (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) 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 (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
109
	 AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR  @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
110
	 AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR  @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
111
	 AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR  @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
112
	 AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR  @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
113
	 AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR  @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
114
	 AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
115
	 --AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
116
		--	OR ((@P_LEVEL = 'UNIT' AND ((A.BRANCH_ID = @p_BRANCH_ID)
117
		--		OR (A.BRANCH_ID IN (SELECT BRANCH_ID FROM @ASSIGNED_BRANCH)))))
118
		--	OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL))
119
		AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
120
		AND		((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
121
					OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) 
122
					OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
123
	-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
124
	AND ((A.AUTH_STATUS IN ('E','R')  AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
125

    
126
	-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
127
	AND ((@p_TYPE_SEARCH='HC'
128
        AND ((EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN))
129
			OR (A.SIGN_USER = @p_USER_LOGIN))
130
        OR A.MAKER_ID = @p_USER_LOGIN)
131
  --PHONGNT CHO PHEP TÌM KIẾM CÁC PHIẾU TRƯỚC GOLIVE
132
  OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND A.CREATE_DT<CONVERT(DATETIME,'2022-17-10',103))
133
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND  A.CREATE_DT<CONVERT(DATETIME,'2022-17-10',103))
134
--  END
135
  OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y')
136
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y')
137
  OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
138
	
139
	ORDER BY A.CREATE_DT DESC
140
-- PAGING END
141
	ELSE
142
-- PAGING BEGIN
143
	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,
144
	ATKT.CONTENT AS AUTH_STATUS_NAME_KT,
145
	@p_USER_LOGIN AS USER_LOGIN,@p_TYPE_SEARCH AS TYPE_SEARCH, --- TRA VE THAM SO GAN VO CURRENT SEARCH TRANH GAY LOI O CAC MAN HINH
146
	B.CONFIRM_DT,B.MAKER_ID CONFIRM_USER,D.TLFullName CONFIRM_USER_NAME
147
	,(CASE
148
      
149
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' THEN N'Chờ cấp phê duyệt trung gian phê duyệt' --12062023_setretkey FIX cấp duyệt trung gian
150
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN N'Chờ trưởng đơn vị phê duyệt'
151
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS<>'Y' OR B.CONFIRM_STATUS IS NULL) AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103) THEN N'Chờ trưởng đơn vị xác nhận giao dịch xuất tài sản'
152
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN N'Chờ GDV xử lý'
153
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN N'Chờ KSV phê duyệt'
154
		END) AS PROCESS_STATUS_NEXT,
155
		(CASE
156
    
157
      WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL AND A.PROCESS_ID='SEND' AND A.SIGN_USER IS NOT NULL  THEN A.SIGN_USER --12062023_setretkey FIX cấp duyệt trung gian
158
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',E.TLSUBBRID,E.DEP_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
159
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS<>'Y' OR B.CONFIRM_STATUS IS NULL) AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',TMP.BRANCH_ID,TMP.DEPT_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
160
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDV','DV0001','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
161
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='U' AND A.MAKER_ID_KT IS NOT NULL AND A.CHECKER_ID_KT IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('KSV','DV0001','DEP000000000022') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
162
		END) NGUOIXULY
163
-- SELECT END
164
	FROM ASS_USE_MULTI_MASTER A
165
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
166
	LEFT JOIN dbo.CM_ALLCODE F ON F.CDVAL = A.AUTH_STATUS AND F.CDNAME = 'ASS_ADD_AUTH' AND F.CDTYPE = 'ASS_ADDNEW'
167
	LEFT JOIN dbo.CM_ALLCODE ATKT ON ATKT.CDVAL = A.AUTH_STATUS_KT AND ATKT.CDNAME = 'ASS_ADD_AUTH' AND ATKT.CDTYPE = 'ASS_ADDNEW'
168
	--LEFT JOIN ( SELECT TOP 1 B.USER_MASTER_ID FROM ASS_CONFIRM_USE_MASTER B  WHERE B.USER_MASTER_ID = A.USER_MASTER_ID) CF ON A.USER_MASTER_ID = CF.USER_MASTER_ID
169
	LEFT JOIN ASS_USE_CONFIRM_MASTER B ON A.USER_MASTER_ID = B.USER_MASTER_ID
170
	LEFT JOIN TL_USER D ON B.MAKER_ID = D.TLNANME
171
  LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
172
  --PHONGNT 20/05 LAY BRANCH_ID DEP_ID dau danh sach xuat TS
173
  LEFT JOIN (SELECT * FROM ASS_USE_MULTI_DT aucm WHERE aucm.USE_MULTI_ID IN (SELECT TOP(1)aucm1.USE_MULTI_ID FROM ASS_USE_MULTI_DT aucm1 WHERE aucm.USER_MASTER_ID=aucm1.USER_MASTER_ID)) TMP ON TMP.USER_MASTER_ID= A.USER_MASTER_ID
174
	 WHERE 1 = 1
175
	 AND (A.USER_MASTER_ID LIKE '%' + @p_USER_MASTER_ID + '%' OR  @p_USER_MASTER_ID IS NULL OR @p_USER_MASTER_ID = '')
176
	--AND (A.BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp) OR @P_BRANCH_ID IS NULL OR @P_BRANCH_ID = '')
177
	-- AND (A.USE_EXPORT_DT =CONVERT(DATETIME, @p_USE_EXPORT_DT, 103) OR  @p_USE_EXPORT_DT IS NULL OR @p_USE_EXPORT_DT = '')
178

    
179
  -- TIM KIEM TU NGAY DEN NGAY O HC
180
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
181
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
182
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.USE_EXPORT_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
183
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
184
  
185
  -- TIM KIEM TU NGAY DEN NGAY O KT
186
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
187
    AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
188
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
189
        AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
190
          OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
191
          OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
192
          OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))))))
193
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
194
  
195
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
196
    AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
197
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
198
        AND ((@p_AUTH_STATUS_KT = 'A' AND (CONVERT(DATE,A.APPROVE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
199
          OR (@p_AUTH_STATUS_KT IN ('U','E') AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
200
          OR (@p_AUTH_STATUS_KT = 'R' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
201
          OR ((@p_AUTH_STATUS_KT = '' OR @p_AUTH_STATUS_KT IS NULL) AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))))))
202
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
203
	
204
	AND (A.USER_EXPORT LIKE '%' + @p_USER_EXPORT + '%' OR  @p_USER_EXPORT IS NULL OR @p_USER_EXPORT = '')
205
	 AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
206
	 AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
207
	 AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
208
	 AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
209
	 AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
210
	 AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
211
	 AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
212
	 AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR  @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
213
	 AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR  @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
214
	 AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR  @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
215
	 AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR  @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
216
	 AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR  @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
217
	 AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
218
	AND (A.AUTH_STATUS_KT = @p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
219
	AND	((A.MAKER_ID_KT IS NOT NULL AND @p_KT_IS_DO = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
220
		OR ((A.MAKER_ID_KT IS NULL AND @p_KT_IS_DO = 'N')) 
221
		OR @p_KT_IS_DO IS NULL OR @p_KT_IS_DO = '')
222
	-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
223
	AND ((A.AUTH_STATUS IN ('E','R')  AND A.MAKER_ID = @p_USER_LOGIN) OR A.AUTH_STATUS NOT IN ('E','R') OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = '')
224

    
225
	-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
226
	AND ((@p_TYPE_SEARCH='HC'
227
        AND ((EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN))
228
			OR (A.SIGN_USER = @p_USER_LOGIN))
229
        OR A.MAKER_ID = @p_USER_LOGIN)
230
  
231
  --PHONGNT CHO PHEP TÌM KIẾM CÁC PHIẾU TRƯỚC GOLIVE
232
  OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND A.APPROVE_DT<CONVERT(DATETIME,'2022-17-10',103))
233
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND  A.APPROVE_DT<CONVERT(DATETIME,'2022-17-10',103))
234
  --  END
235
  OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp) AND B.CONFIRM_STATUS = 'Y')
236
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID AND B.CONFIRM_STATUS = 'Y')
237
  OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
238
	
239
	ORDER BY A.CREATE_DT DESC
240
-- PAGING END
241
END -- PAGING