Project

General

Profile

ASS_TRANSFER_MULTI_MASTER_Search_1206.txt

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

 
1

    
2
ALTER PROCEDURE dbo.ASS_TRANSFER_MULTI_MASTER_Search
3
@p_TRANS_MULTI_MASTER_ID	varchar(15)  = NULL,
4
@p_BRANCH_ID	varchar(15)  = NULL,
5
@p_TRANSFER_DT	VARCHAR(20) = NULL,
6
@p_USER_TRANSFER	nvarchar(200)  = NULL,
7
@p_USER_TRANSFER_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 = 10,
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),-- 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

    
30
BEGIN -- PAGING
31
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 
32
SET @p_RECORD_STATUS = '1'
33
	declare @tmp table(BRANCH_ID varchar(15))
34
	insert into @tmp  SELECT BRANCH_ID  FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
35
IF(@p_TOP is NULL OR @P_TOP = '' OR @P_TOP = 0)
36
	-- PAGING BEGIN
37

    
38
		SELECT A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME,C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
39
	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,
40
	@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
41
	B.CONFIRM_DT_BN ,B.MAKER_ID_BN,T5.TLFullName MAKER_ID_BN_NAME,
42
	B.CONFIRM_DT_BG ,B.MAKER_ID_BG,T6.TLFullName MAKER_ID_BG_NAME,
43
	(CASE 
44
		WHEN (TU.TLFullName IS NOT NULL) THEN TU.TLFullName
45
		WHEN (TU.TLFullName IS NULL AND A.SIGN_USER IS NOT NULL) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE(A.SIGN_USER,'','') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
46
		ELSE '' 
47
	END) AS SIGN_USER_FULLNAME
48
	,(CASE
49

    
50
      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
51
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN N'Chờ trưởng đơn vị phê duyệt'
52
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS_BG<>'Y' OR B.CONFIRM_STATUS_BG IS NULL OR B.CONFIRM_STATUS_BN<>'Y'OR B.CONFIRM_STATUS_BN 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 bàn giao tài sản'
53
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN N'Chờ GDV xử lý'
54
			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'
55
		END) AS PROCESS_STATUS_NEXT,
56
		(CASE
57
      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
58
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',T1.TLSUBBRID,T1.DEP_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
59
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS_BG<>'Y' OR B.CONFIRM_STATUS_BG IS NULL OR B.CONFIRM_STATUS_BN<>'Y'OR B.CONFIRM_STATUS_BN IS NULL) AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103) THEN IIF(B.CONFIRM_STATUS_BG='Y','',(STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',TMP.BRANCH_ID_OLD,TMP.DEPT_ID_OLD) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))) +IIF((B.CONFIRM_STATUS_BN<>'Y'OR B.CONFIRM_STATUS_BN IS NULL) AND(B.CONFIRM_STATUS_BG<>'Y'OR B.CONFIRM_STATUS_BG IS NULL),', ','')+IIF(B.CONFIRM_STATUS_BN='Y','',(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, '')))
60
			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, ''))
61
			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, ''))
62
		END) NGUOIXULY
63
	-- SELECT END
64

    
65
	FROM ASS_TRANSFER_MULTI_MASTER A
66
	LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
67
	LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
68
	LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
69
	LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
70
	LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
71
	LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
72
	LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
73
	LEFT JOIN ASS_TRANSFER_CONFIRM_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID
74
	LEFT JOIN TL_USER T5 ON B.MAKER_ID_BN = T5.TLNANME
75
	LEFT JOIN TL_USER T6 ON B.MAKER_ID_BG = T6.TLNANME
76
	LEFT JOIN dbo.TL_USER AS TU ON TU.TLNANME = A.SIGN_USER
77
  LEFT JOIN (SELECT * FROM ASS_TRANSFER_MULTI_DT atmd  WHERE atmd.TRANSFER_MULTI_ID IN (SELECT TOP(1)atmd1.TRANSFER_MULTI_ID FROM ASS_TRANSFER_MULTI_DT atmd1 WHERE atmd.TRANSFER_MULTI_ID=atmd1.TRANSFER_MULTI_ID)) tmp ON tmp.TRANS_MULTI_MASTER_ID=a.TRANS_MULTI_MASTER_ID
78
	WHERE 1 = 1
79
	AND (A.TRANS_MULTI_MASTER_ID LIKE '%' + @p_TRANS_MULTI_MASTER_ID + '%' OR  @p_TRANS_MULTI_MASTER_ID IS NULL OR @p_TRANS_MULTI_MASTER_ID = '')
80
	 --AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR  @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
81
	 --AND (A.TRANSFER_DT =CONVERT(DATETIME, @p_TRANSFER_DT, 103) OR  @p_TRANSFER_DT IS NULL OR @p_TRANSFER_DT = '')
82

    
83
  -- TIM KIEM TU NGAY O HC
84
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
85
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
86
  -- TIM KIEM DEN NGAY O HC
87
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
88
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
89

    
90
  -- TIM KIEM TU NGAY O KT
91
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
92
    AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
93
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
94
        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 = ''))
95
          OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
96
          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 = ''))
97
          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 = ''))))))
98
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
99
  -- TIM KIEM DEN NGAY O KT
100
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
101
    AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
102
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
103
        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 = ''))
104
          OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
105
          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 = ''))
106
          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 = ''))))))
107
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
108
	 
109
	AND (A.USER_TRANSFER LIKE '%' + @p_USER_TRANSFER + '%' OR  @p_USER_TRANSFER IS NULL OR @p_USER_TRANSFER = '')
110
	AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
111
	AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
112
	AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
113
	AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
114
	AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
115
	AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
116
	AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
117
	AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR  @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
118
	AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR  @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
119
	AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR  @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
120
	AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR  @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
121
	AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR  @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
122
	AND A.RECORD_STATUS='1'
123
	AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
124
	AND	((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
125
		OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='')
126

    
127
	-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
128
	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 = '')
129

    
130
	-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
131
	AND ((@p_TYPE_SEARCH='HC'
132
		AND ((EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN))
133
			OR (A.SIGN_USER = @p_USER_LOGIN))
134
			OR A.MAKER_ID = @p_USER_LOGIN)
135
  OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
136
    AND ((B.CONFIRM_STATUS_BG = 'Y' AND B.CONFIRM_STATUS_BN = 'Y')
137
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
138
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID
139
    AND ((B.CONFIRM_STATUS_BG = 'Y' AND B.CONFIRM_STATUS_BN = 'Y')
140
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
141

    
142

    
143

    
144
    OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
145
    AND (A.APPROVE_DT<CONVERT(DATETIME,'2022-17-10',103)
146
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
147
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID
148
    AND (A.APPROVE_DT<CONVERT(DATETIME,'2022-17-10',103)
149
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
150
  OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
151

    
152
	ORDER BY A.CREATE_DT DESC
153
	-- PAGING END
154

    
155
ELSE
156
	-- PAGING BEGIN
157

    
158
		SELECT TOP(CONVERT(INT,@P_TOP))A.*,C.BRANCH_CODE, C.BRANCH_NAME, F.AUTH_STATUS_NAME, C.BRANCH_CODE +' - '+ C.BRANCH_NAME AS FULL_BRANCH_NAME,
159
		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,
160
		@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
161
		B.CONFIRM_DT_BN ,B.MAKER_ID_BN,T5.TLFullName MAKER_ID_BN_NAME,
162
		B.CONFIRM_DT_BG ,B.MAKER_ID_BG,T6.TLFullName MAKER_ID_BG_NAME,
163
		(CASE 
164
			WHEN (TU.TLFullName IS NOT NULL) THEN TU.TLFullName
165
			WHEN (TU.TLFullName IS NULL AND A.SIGN_USER IS NOT NULL) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE(A.SIGN_USER,'','') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
166
			ELSE '' 
167
		END) AS SIGN_USER_FULLNAME
168
		,(CASE
169
      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
170
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN N'Chờ trưởng đơn vị phê duyệt'
171
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS_BG<>'Y' OR B.CONFIRM_STATUS_BG IS NULL OR B.CONFIRM_STATUS_BN<>'Y'OR B.CONFIRM_STATUS_BN 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 bàn giao tài sản'
172
			WHEN A.AUTH_STATUS='A' AND A.AUTH_STATUS_KT='E' THEN N'Chờ GDV xử lý'
173
			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'
174
		END) AS PROCESS_STATUS_NEXT,
175
		(CASE
176
      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
177
			WHEN A.AUTH_STATUS='U' AND A.CHECKER_ID IS NULL THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',T1.TLSUBBRID,T1.DEP_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
178
      WHEN A.AUTH_STATUS='A' AND (B.CONFIRM_STATUS_BG<>'Y' OR B.CONFIRM_STATUS_BG IS NULL OR B.CONFIRM_STATUS_BN<>'Y'OR B.CONFIRM_STATUS_BN IS NULL) AND A.APPROVE_DT>=CONVERT(DATETIME,'2022-17-10',103) THEN IIF(B.CONFIRM_STATUS_BG='Y','',(STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('GDDV',TMP.BRANCH_ID_OLD,TMP.DEPT_ID_OLD) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))) +IIF((B.CONFIRM_STATUS_BN<>'Y'OR B.CONFIRM_STATUS_BN IS NULL) AND(B.CONFIRM_STATUS_BG<>'Y'OR B.CONFIRM_STATUS_BG IS NULL),', ','')+IIF(B.CONFIRM_STATUS_BN='Y','',(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, '')))
179
			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, ''))
180
			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, ''))
181
		END) NGUOIXULY
182
		-- SELECT END
183

    
184
		FROM ASS_TRANSFER_MULTI_MASTER A
185
		LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
186
		LEFT JOIN CM_AUTH_STATUS F ON A.AUTH_STATUS = F.AUTH_STATUS
187
		LEFT JOIN CM_AUTH_STATUS ATKT ON ATKT.AUTH_STATUS = A.AUTH_STATUS_KT
188
		LEFT JOIN TL_USER T1 ON A.MAKER_ID = T1.TLNANME 
189
		LEFT JOIN TL_USER T2 ON A.MAKER_ID_KT = T2.TLNANME
190
		LEFT JOIN TL_USER T3 ON A.CHECKER_ID = T3.TLNANME 
191
		LEFT JOIN TL_USER T4 ON A.CHECKER_ID_KT = T4.TLNANME
192
		LEFT JOIN ASS_TRANSFER_CONFIRM_MASTER B ON A.TRANS_MULTI_MASTER_ID = B.TRANS_MULTI_MASTER_ID
193
		LEFT JOIN TL_USER T5 ON B.MAKER_ID_BN = T5.TLNANME
194
		LEFT JOIN TL_USER T6 ON B.MAKER_ID_BG = T6.TLNANME
195
		LEFT JOIN dbo.TL_USER AS TU ON TU.TLNANME = A.SIGN_USER
196
    LEFT JOIN (SELECT * FROM ASS_TRANSFER_MULTI_DT atmd  WHERE atmd.TRANSFER_MULTI_ID IN (SELECT TOP(1)atmd1.TRANSFER_MULTI_ID FROM ASS_TRANSFER_MULTI_DT atmd1 WHERE atmd.TRANSFER_MULTI_ID=atmd1.TRANSFER_MULTI_ID)) tmp ON tmp.TRANS_MULTI_MASTER_ID=a.TRANS_MULTI_MASTER_ID
197
  WHERE 1 = 1
198
  AND (A.TRANS_MULTI_MASTER_ID LIKE '%' + @p_TRANS_MULTI_MASTER_ID + '%' OR  @p_TRANS_MULTI_MASTER_ID IS NULL OR @p_TRANS_MULTI_MASTER_ID = '')
199

    
200
  -- TIM KIEM TU NGAY O HC
201
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
202
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
203
  -- TIM KIEM DEN NGAY O HC
204
  AND	((@p_TYPE_SEARCH = 'HC' AND (CONVERT(DATE,A.TRANSFER_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
205
    OR @p_TYPE_SEARCH = 'KT' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
206

    
207
  -- TIM KIEM TU NGAY O KT
208
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
209
    AND (CONVERT(DATE,A.APPROVE_DT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
210
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
211
        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 = ''))
212
          OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) >= CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE is NULL OR @p_FROMDATE = ''))
213
          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 = ''))
214
          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 = ''))))))
215
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
216
  -- TIM KIEM DEN NGAY O KT
217
  AND ((@p_TYPE_SEARCH = 'KT' AND (((A.MAKER_ID_KT IS NULL OR A.MAKER_ID_KT = '')
218
    AND (CONVERT(DATE,A.APPROVE_DT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
219
    OR ((A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT <> '')
220
        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 = ''))
221
          OR (@p_AUTH_STATUS_KT = 'U' AND (CONVERT(DATE,A.CREATE_DT_KT,103) <= CONVERT(DATE, @p_TODATE, 103) OR @p_TODATE is NULL OR @p_TODATE = ''))
222
          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 = ''))
223
          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 = ''))))))
224
  OR @p_TYPE_SEARCH = 'HC' OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH = '')
225

    
226
  AND (A.USER_TRANSFER LIKE '%' + @p_USER_TRANSFER + '%' OR  @p_USER_TRANSFER IS NULL OR @p_USER_TRANSFER = '')
227
  AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR  @p_NOTES IS NULL OR @p_NOTES = '')
228
  AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR  @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
229
  AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR  @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
230
  AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR  @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
231
  AND (A.CREATE_DT =CONVERT(DATETIME, @p_CREATE_DT, 103) OR  @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
232
  AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR  @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
233
  AND (A.APPROVE_DT =CONVERT(DATETIME, @p_APPROVE_DT, 103) OR  @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
234
  AND (A.AUTH_STATUS_KT LIKE '%' + @p_AUTH_STATUS_KT + '%' OR  @p_AUTH_STATUS_KT IS NULL OR @p_AUTH_STATUS_KT = '')
235
  AND (A.CREATE_DT_KT =CONVERT(DATETIME, @p_CREATE_DT_KT, 103) OR  @p_CREATE_DT_KT IS NULL OR @p_CREATE_DT_KT = '')
236
  AND (A.APPROVE_DT_KT =CONVERT(DATETIME, @p_APPROVE_DT_KT, 103) OR  @p_APPROVE_DT_KT IS NULL OR @p_APPROVE_DT_KT = '')
237
  AND (A.MAKER_ID_KT LIKE '%' + @p_MAKER_ID_KT + '%' OR  @p_MAKER_ID_KT IS NULL OR @p_MAKER_ID_KT = '')
238
  AND (A.CHECKER_ID_KT LIKE '%' + @p_CHECKER_ID_KT + '%' OR  @p_CHECKER_ID_KT IS NULL OR @p_CHECKER_ID_KT = '')
239
  AND (A.REPORT_STATUS LIKE '%' + @p_REPORT_STATUS + '%' OR  @p_REPORT_STATUS IS NULL OR @p_REPORT_STATUS = '')
240
--  AND ((@P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp))
241
--  	OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID) 
242
--  	OR (@p_BRANCH_ID = '' OR @p_BRANCH_ID IS NULL)))
243
  AND A.RECORD_STATUS='1'
244
	AND		((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE = 'Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
245
					OR ((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE = 'N')) OR @p_IS_UPDATE IS NULL OR @p_IS_UPDATE='')
246

    
247
	-- NEW TRANG THAI PHIEU XUAT LA LUU NHAP HOAC TU CHOI THI CHI NGUOI TAO CO THE TIM THAY
248
	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 = '')
249

    
250
	-- 11-03-2022 HUYHT BO SUNG DIEU KIEN TIM KIEM PHIEU XUAT THEO QUYEN KIEM NHIEM
251
	AND ((@p_TYPE_SEARCH='HC'
252
		AND ((EXISTS(SELECT * FROM dbo.FN_GET_USER_BY_ROLE('GDDV',A.BRANCH_ID,A.DEPT_CREATE) US WHERE US.TLNANME = @p_USER_LOGIN))
253
			OR (A.SIGN_USER = @p_USER_LOGIN))
254
			OR A.MAKER_ID = @p_USER_LOGIN)
255
  OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
256
    AND ((B.CONFIRM_STATUS_BG = 'Y' AND B.CONFIRM_STATUS_BN = 'Y')
257
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
258
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID
259
    AND ((B.CONFIRM_STATUS_BG = 'Y' AND B.CONFIRM_STATUS_BN = 'Y')
260
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
261

    
262

    
263
  
264
  OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'ALL' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp)
265
    AND (A.APPROVE_DT<CONVERT(DATETIME,'2022-17-10',103)
266
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
267
	OR (@p_TYPE_SEARCH='KT' AND @P_LEVEL = 'UNIT' AND A.BRANCH_ID = @p_BRANCH_ID
268
    AND (A.APPROVE_DT<CONVERT(DATETIME,'2022-17-10',103)
269
    OR [dbo].[FN_CHECK_PRIVATE_TRANSFER](A.TRANS_MULTI_MASTER_ID) = 1))
270
  OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
271

    
272
	ORDER BY A.CREATE_DT DESC
273
	-- PAGING END
274

    
275
END -- PAGING