1
|
-- PROCEDURE NAME: TR_REQUEST_JOB_FORM_Search
|
2
|
|
3
|
DECLARE @p_REF_ID varchar(15) = NULL,
|
4
|
@p_REQ_ID varchar(15) = NULL,
|
5
|
@p_REQ_CODE varchar(15) = NULL,
|
6
|
@p_MAKER_ID varchar(15) = NULL,
|
7
|
@p_AUTH_STATUS varchar(1) = N'M',
|
8
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
9
|
@p_REQ_DESC nvarchar(MAX) = NULL,
|
10
|
@p_NOTES nvarchar(MAX) = NULL,
|
11
|
@p_REQ_TYPE_TRANS varchar(15) = NULL,
|
12
|
@p_REQ_TYPE_GROUP varchar(15) = NULL,
|
13
|
@p_REQ_TYPE_BOOKING_HOTEL varchar(15) = NULL,
|
14
|
@p_REQ_TYPE_BOOKING_AIR varchar(15) = NULL,
|
15
|
@p_REQ_TYPE_BOOKING_TRAIN varchar(15) = NULL,
|
16
|
@p_CREATE_DT varchar(20) = NULL,
|
17
|
@p_CHECKER_ID varchar(15) = NULL,
|
18
|
@p_APPROVE_DT varchar(20) = NULL,
|
19
|
@p_FRMDATE varchar(20) = NULL,
|
20
|
@p_TODATE varchar(20) = NULL,
|
21
|
@p_USER_LOGIN varchar(50) = N'baotq',
|
22
|
@p_DEP_CREATE varchar(15) = NULL,
|
23
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
24
|
@p_BRANCH_ID varchar(15) = NULL,
|
25
|
@p_TOP int = 300
|
26
|
|
27
|
DECLARE @LST_ROLE TABLE(ROLENAME VARCHAR(20),BRANCH_ID VARCHAR(20),DEP_ID VARCHAR(20))
|
28
|
INSERT INTO @LST_ROLE (ROLENAME,BRANCH_ID,DEP_ID) (SELECT C.DisplayName,A.TLSUBBRID,A.DEP_ID FROM TL_USER A JOIN AbpUserRoles B ON B.UserId = A.ID JOIN AbpRoles C ON C.Id=B.RoleId WHERE A.TLNANME =@p_USER_LOGIN)
|
29
|
INSERT INTO @LST_ROLE (ROLENAME,BRANCH_ID,DEP_ID) (SELECT ROLE_NEW,BRANCH_ID,DEP_ID FROM dbo.TL_SYS_ROLE_MAPPING WHERE CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE) AND TLNAME=@p_USER_LOGIN)
|
30
|
IF(@p_TOP IS NULL OR @p_TOP = 0)
|
31
|
BEGIN
|
32
|
-- PAGING BEGIN
|
33
|
BEGIN
|
34
|
SELECT COUNT(*) -- SELECT END
|
35
|
FROM TR_REQUEST_JOB_FORM A
|
36
|
LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID
|
37
|
LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE
|
38
|
LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
|
39
|
LEFT JOIN dbo.TL_USER D ON D.TLNANME=A.EMP_ID
|
40
|
--LEFT JOIN dbo.TL_USER E ON A.SIGN_USER =E.TLNANME
|
41
|
LEFT JOIN dbo.TL_USER F ON A.MAKER_ID = F.TLNANME
|
42
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
43
|
ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R'))
|
44
|
WHERE 1 = 1
|
45
|
AND (A.REF_ID LIKE '%' + @p_REF_ID + '%' OR @p_REF_ID IS NULL OR @p_REF_ID = '')
|
46
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
47
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
48
|
AND (A.AUTH_STATUS = @p_AUTH_STATUS
|
49
|
|
50
|
OR (@p_AUTH_STATUS='M' AND (EXISTS(SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value =@p_USER_LOGIN) OR EXISTS (SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value IN(SELECT ROLENAME FROM @LST_ROLE WHERE (BRANCH_ID=RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID ='') AND (DEP_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID='')))))
|
51
|
OR (@p_AUTH_STATUS='M' AND EXISTS(SELECT 1 FROM FN_GET_USER_MANAGER_BY_DVCM(RPN.DVDM_ID,RPN.ROLE_USER) WHERE TLNANME =@p_USER_LOGIN))
|
52
|
OR (@p_AUTH_STATUS='M' AND A.MAKER_ID =@p_USER_LOGIN AND A.AUTH_STATUS='E')
|
53
|
OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
54
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
55
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
56
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
57
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
|
58
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
|
59
|
AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
|
60
|
AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
|
61
|
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
62
|
AND (A.MAKER_ID = @p_USER_LOGIN ---- ng login là ng tạo
|
63
|
OR A.EMP_ID = @p_USER_LOGIN ---- ng login là người sử dụng phiếu
|
64
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME = 'NVDV') AND A.PROCESS_ID NOT IN('NEW','SIGN','SEND')) -- ng login là chuyên viên đặt vé
|
65
|
OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y' AND A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
|
66
|
OR (A.IS_SEND_APPR = 'Y' AND (A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') AND (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID=A.SIGN_USER))) --- ng login là cấp duyệt trung gian TKTGD và đã gửi YC phê duyệt
|
67
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME IN('NVMS','NVTT', 'GDV_DVKD', 'KSV_DVKD','GDV','KSV')) AND A.AUTH_STATUS='A')
|
68
|
|
69
|
OR (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID =RPN.ROLE_USER AND (BRANCH_ID =RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID='') AND (DEPT_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID ='')))
|
70
|
OR ((EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE BRANCH_ID =D.TLSUBBRID AND DEPT_ID=D.DEP_ID)) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
|
71
|
AND A.IS_SEND_APPR = 'Y'
|
72
|
AND (
|
73
|
ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
|
74
|
)
|
75
|
)
|
76
|
)
|
77
|
|
78
|
|
79
|
;WITH QUERY_DATA AS (
|
80
|
SELECT A.REQ_ID, A.REQ_CODE, A.REQ_DT, A.REF_ID, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT, A.REQ_REASON, A.REQ_DESC, A.NOTES,
|
81
|
A.REQ_TYPE_TRANS, A.REQ_TYPE_GROUP, A.REQ_TYPE_BOOKING_HOTEL, A.REQ_TYPE_BOOKING_AIR, A.REQ_TYPE_BOOKING_TRAIN, A.SENDER_ID, A.SEND_DT,
|
82
|
A.SIGN_USER, A.SIGN_DT, A.PROCESS_ID, A.BRANCH_CREATE, A.DEP_CREATE, A.BRANCH_ID AS BRANCH_NAME, A.DEP_ID,
|
83
|
BR_CR.BRANCH_NAME AS BRANCH_CREATE_NAME, DP_CR.DEP_NAME AS DEP_CREATE_NAME, A.FRMDATE, A.TODATE,C.AUTH_STATUS_NAME AS AUTH_STATUS_PROCESS_NAME,D.TLFullName AS EMP_NAME,RPN.NOTES AS PROCESS_STATUS_NEXT,
|
84
|
(CASE
|
85
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES (@p_USER_LOGIN)WHERE ROLE_ID =RPN.ROLE_USER AND (BRANCH_ID =RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID='') AND (DEPT_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID ='')) THEN 'Y'
|
86
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID ='SIGN_APP') AND A.SIGN_USER=@p_USER_LOGIN OR EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID = A.SIGN_USER)) THEN 'Y'
|
87
|
ELSE 'N'
|
88
|
END) AS IS_APPROVE,
|
89
|
(CASE
|
90
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND RPN.ROLE_USER<>'PTGD' AND RPN.ROLE_USER<>'GDK' THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE(RPN.ROLE_USER,RPN.BRANCH_ID,RPN.DEP_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
91
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND (RPN.ROLE_USER='PTGD' OR RPN.ROLE_USER='GDK') THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_MANAGER_BY_DVCM(RPN.DVDM_ID,RPN.ROLE_USER) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
92
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID ='SIGN_APP') AND A.SIGN_USER = 'TKTGD' ) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('TKTGD','','') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
93
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID ='SIGN_APP') AND A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'TKTGD' ) THEN A.SIGN_USER
|
94
|
WHEN (A.PROCESS_ID IN ('APPNEW','MAKER_CONF','TDV_APP')) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('NVDV',RPN.BRANCH_ID,'') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
95
|
WHEN A.PROCESS_ID='APPROVE' THEN ''
|
96
|
WHEN A.PROCESS_ID='CANCEL' THEN ''
|
97
|
ELSE CASE WHEN A.EMP_ID <> A.MAKER_ID THEN CONCAT(A.MAKER_ID,', ',A.EMP_ID) ELSE A.MAKER_ID END
|
98
|
END) AS NGUOIXULY, A.FROM_DATE, A.TO_DATE, F.TLFullName + ' - ' + F.TLNANME AS MAKER_NAME
|
99
|
, ROW_NUMBER() OVER (ORDER BY A.CREATE_DT DESC
|
100
|
) AS __ROWNUM-- SELECT END
|
101
|
FROM TR_REQUEST_JOB_FORM A
|
102
|
LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID
|
103
|
LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE
|
104
|
LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
|
105
|
LEFT JOIN dbo.TL_USER D ON D.TLNANME=A.EMP_ID
|
106
|
--LEFT JOIN dbo.TL_USER E ON A.SIGN_USER =E.TLNANME
|
107
|
LEFT JOIN dbo.TL_USER F ON A.MAKER_ID = F.TLNANME
|
108
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
109
|
ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R'))
|
110
|
WHERE 1 = 1
|
111
|
AND (A.REF_ID LIKE '%' + @p_REF_ID + '%' OR @p_REF_ID IS NULL OR @p_REF_ID = '')
|
112
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
113
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
114
|
AND (A.AUTH_STATUS = @p_AUTH_STATUS
|
115
|
|
116
|
OR (@p_AUTH_STATUS='M' AND (EXISTS(SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value =@p_USER_LOGIN) OR EXISTS (SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value IN(SELECT ROLENAME FROM @LST_ROLE WHERE (BRANCH_ID=RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID ='') AND (DEP_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID='')))))
|
117
|
OR (@p_AUTH_STATUS='M' AND EXISTS(SELECT 1 FROM FN_GET_USER_MANAGER_BY_DVCM(RPN.DVDM_ID,RPN.ROLE_USER) WHERE TLNANME =@p_USER_LOGIN))
|
118
|
OR (@p_AUTH_STATUS='M' AND A.MAKER_ID =@p_USER_LOGIN AND A.AUTH_STATUS='E')
|
119
|
OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
120
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
121
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
122
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
123
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
|
124
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
|
125
|
AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
|
126
|
AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
|
127
|
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
128
|
AND (A.MAKER_ID = @p_USER_LOGIN ---- ng login là ng tạo
|
129
|
OR A.EMP_ID = @p_USER_LOGIN ---- ng login là người sử dụng phiếu
|
130
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME = 'NVDV') AND A.PROCESS_ID NOT IN('NEW','SIGN','SEND')) -- ng login là chuyên viên đặt vé
|
131
|
OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y' AND A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
|
132
|
OR (A.IS_SEND_APPR = 'Y' AND (A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') AND (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID=A.SIGN_USER))) --- ng login là cấp duyệt trung gian TKTGD và đã gửi YC phê duyệt
|
133
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME IN('NVMS','NVTT', 'GDV_DVKD', 'KSV_DVKD','GDV','KSV')) AND A.AUTH_STATUS='A')
|
134
|
|
135
|
OR (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID =RPN.ROLE_USER AND (BRANCH_ID =RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID='') AND (DEPT_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID ='')))
|
136
|
OR ((EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE BRANCH_ID =D.TLSUBBRID AND DEPT_ID=D.DEP_ID)) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
|
137
|
AND A.IS_SEND_APPR = 'Y'
|
138
|
AND (
|
139
|
ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
|
140
|
)
|
141
|
)
|
142
|
)
|
143
|
|
144
|
|
145
|
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
|
146
|
END-- PAGING END
|
147
|
END
|
148
|
ELSE
|
149
|
BEGIN
|
150
|
-- PAGING BEGIN
|
151
|
BEGIN
|
152
|
SELECT COUNT(*) FROM(
|
153
|
SELECT TOP(@p_TOP) A.REQ_ID, A.REQ_CODE, A.REQ_DT, A.REF_ID, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT,
|
154
|
A.REQ_REASON, A.REQ_DESC, A.NOTES, A.REQ_TYPE_TRANS, A.REQ_TYPE_GROUP, A.REQ_TYPE_BOOKING_HOTEL, A.REQ_TYPE_BOOKING_AIR, A.REQ_TYPE_BOOKING_TRAIN,
|
155
|
A.SENDER_ID, A.SEND_DT, A.SIGN_USER, A.SIGN_DT, A.PROCESS_ID, A.BRANCH_CREATE, A.DEP_CREATE, A.BRANCH_ID AS BRANCH_NAME, A.DEP_ID,
|
156
|
BR_CR.BRANCH_NAME AS BRANCH_CREATE_NAME, DP_CR.DEP_NAME AS DEP_CREATE_NAME, A.FRMDATE, A.TODATE,C.AUTH_STATUS_NAME AS AUTH_STATUS_PROCESS_NAME,D.TLFullName AS EMP_NAME,RPN.NOTES AS PROCESS_STATUS_NEXT,
|
157
|
(CASE
|
158
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES (@p_USER_LOGIN)WHERE ROLE_ID =RPN.ROLE_USER AND (BRANCH_ID =RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID='') AND (DEPT_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID ='')) THEN 'Y'
|
159
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID ='SIGN_APP') AND A.SIGN_USER=@p_USER_LOGIN OR EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID = A.SIGN_USER)) THEN 'Y'
|
160
|
ELSE 'N'
|
161
|
END) AS IS_APPROVE,
|
162
|
(CASE
|
163
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND RPN.ROLE_USER<>'PTGD' AND RPN.ROLE_USER<>'GDK' THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE(RPN.ROLE_USER,RPN.BRANCH_ID,RPN.DEP_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
164
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND (RPN.ROLE_USER='PTGD' OR RPN.ROLE_USER='GDK') THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_MANAGER_BY_DVCM(RPN.DVDM_ID,RPN.ROLE_USER) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
165
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID='SIGN_APP') AND A.SIGN_USER = 'TKTGD' ) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('TKTGD','','') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
166
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID='SIGN_APP') AND A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'TKTGD' ) THEN A.SIGN_USER
|
167
|
WHEN (A.PROCESS_ID IN ('APPNEW','MAKER_CONF','TDV_APP')) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('NVDV',RPN.BRANCH_ID,'') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
168
|
WHEN A.PROCESS_ID='CANCEL' THEN ''
|
169
|
WHEN A.PROCESS_ID='APPROVE' THEN ''
|
170
|
ELSE CASE WHEN A.EMP_ID <> A.MAKER_ID THEN CONCAT(A.MAKER_ID,', ',A.EMP_ID) ELSE A.MAKER_ID END
|
171
|
END) AS NGUOIXULY,RPN.ROLE_USER,RPN.DVDM_ID, A.FROM_DATE, A.TO_DATE, F.TLFullName + ' - ' + F.TLNANME AS MAKER_NAME
|
172
|
-- SELECT END
|
173
|
FROM TR_REQUEST_JOB_FORM A
|
174
|
LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID
|
175
|
LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
|
176
|
LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE
|
177
|
LEFT JOIN dbo.TL_USER D ON D.TLNANME=A.EMP_ID
|
178
|
--LEFT JOIN dbo.TL_USER E ON A.SIGN_USER =E.TLNANME
|
179
|
LEFT JOIN dbo.TL_USER F ON A.MAKER_ID = F.TLNANME
|
180
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
181
|
ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
|
182
|
WHERE 1 = 1
|
183
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
184
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
185
|
AND (A.AUTH_STATUS = @p_AUTH_STATUS
|
186
|
OR (@p_AUTH_STATUS='M' AND (EXISTS(SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value =@p_USER_LOGIN) OR EXISTS (SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value IN(SELECT ROLENAME FROM @LST_ROLE WHERE (BRANCH_ID=RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID ='') AND (DEP_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID='')))))
|
187
|
OR (@p_AUTH_STATUS='M' AND EXISTS(SELECT 1 FROM FN_GET_USER_MANAGER_BY_DVCM(RPN.DVDM_ID,RPN.ROLE_USER) WHERE TLNANME =@p_USER_LOGIN))
|
188
|
OR (@p_AUTH_STATUS='M' AND A.MAKER_ID =@p_USER_LOGIN AND A.AUTH_STATUS='E')
|
189
|
OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
190
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
191
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
192
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
193
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
|
194
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
|
195
|
AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
|
196
|
AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
|
197
|
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
198
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
199
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
200
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
201
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
|
202
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
|
203
|
AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
|
204
|
AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
|
205
|
AND (A.MAKER_ID = @p_USER_LOGIN ---- ng login là ng tạo
|
206
|
OR A.EMP_ID = @p_USER_LOGIN ---- ng login là người sử dụng phiếu
|
207
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME = 'NVDV') AND A.PROCESS_ID NOT IN('NEW','SIGN','SEND')) -- ng login là chuyên viên đặt vé
|
208
|
OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y' AND A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
|
209
|
OR (A.IS_SEND_APPR = 'Y' AND (A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') AND (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID=A.SIGN_USER))) --- ng login là cấp duyệt trung gian TKTGD và đã gửi YC phê duyệt
|
210
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME IN('NVMS','NVTT', 'GDV_DVKD', 'KSV_DVKD','GDV','KSV')) AND A.AUTH_STATUS='A')
|
211
|
|
212
|
OR (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID =RPN.ROLE_USER AND (BRANCH_ID =RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID='') AND (DEPT_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID ='')))
|
213
|
OR ((EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE BRANCH_ID =D.TLSUBBRID AND DEPT_ID=D.DEP_ID)) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
|
214
|
AND A.IS_SEND_APPR = 'Y'
|
215
|
AND (
|
216
|
ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
|
217
|
)
|
218
|
)
|
219
|
)
|
220
|
ORDER BY A.CREATE_DT DESC
|
221
|
) COUNTER_TOP;WITH QUERY_DATA AS (
|
222
|
SELECT TOP(@p_TOP) A.REQ_ID, A.REQ_CODE, A.REQ_DT, A.REF_ID, A.MAKER_ID, A.CREATE_DT, A.AUTH_STATUS, A.CHECKER_ID, A.APPROVE_DT,
|
223
|
A.REQ_REASON, A.REQ_DESC, A.NOTES, A.REQ_TYPE_TRANS, A.REQ_TYPE_GROUP, A.REQ_TYPE_BOOKING_HOTEL, A.REQ_TYPE_BOOKING_AIR, A.REQ_TYPE_BOOKING_TRAIN,
|
224
|
A.SENDER_ID, A.SEND_DT, A.SIGN_USER, A.SIGN_DT, A.PROCESS_ID, A.BRANCH_CREATE, A.DEP_CREATE, A.BRANCH_ID AS BRANCH_NAME, A.DEP_ID,
|
225
|
BR_CR.BRANCH_NAME AS BRANCH_CREATE_NAME, DP_CR.DEP_NAME AS DEP_CREATE_NAME, A.FRMDATE, A.TODATE,C.AUTH_STATUS_NAME AS AUTH_STATUS_PROCESS_NAME,D.TLFullName AS EMP_NAME,RPN.NOTES AS PROCESS_STATUS_NEXT,
|
226
|
(CASE
|
227
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES (@p_USER_LOGIN)WHERE ROLE_ID =RPN.ROLE_USER AND (BRANCH_ID =RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID='') AND (DEPT_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID ='')) THEN 'Y'
|
228
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID ='SIGN_APP') AND A.SIGN_USER=@p_USER_LOGIN OR EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID = A.SIGN_USER)) THEN 'Y'
|
229
|
ELSE 'N'
|
230
|
END) AS IS_APPROVE,
|
231
|
(CASE
|
232
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND RPN.ROLE_USER<>'PTGD' AND RPN.ROLE_USER<>'GDK' THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE(RPN.ROLE_USER,RPN.BRANCH_ID,RPN.DEP_ID) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
233
|
WHEN (A.PROCESS_ID ='SIGN' OR RPN.PROCESS_ID ='TDV_APP') AND (RPN.ROLE_USER='PTGD' OR RPN.ROLE_USER='GDK') THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_MANAGER_BY_DVCM(RPN.DVDM_ID,RPN.ROLE_USER) RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
234
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID='SIGN_APP') AND A.SIGN_USER = 'TKTGD' ) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('TKTGD','','') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
235
|
WHEN ((A.PROCESS_ID = 'SEND' OR RPN.PROCESS_ID='SIGN_APP') AND A.SIGN_USER IS NOT NULL AND A.SIGN_USER <>'TKTGD' ) THEN A.SIGN_USER
|
236
|
WHEN (A.PROCESS_ID IN ('APPNEW','MAKER_CONF','TDV_APP')) THEN (STUFF((SELECT DISTINCT ', ' + RE.TLNANME FROM FN_GET_USER_BY_ROLE('NVDV',RPN.BRANCH_ID,'') RE FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, ''))
|
237
|
WHEN A.PROCESS_ID='CANCEL' THEN ''
|
238
|
WHEN A.PROCESS_ID='APPROVE' THEN ''
|
239
|
ELSE CASE WHEN A.EMP_ID <> A.MAKER_ID THEN CONCAT(A.MAKER_ID,', ',A.EMP_ID) ELSE A.MAKER_ID END
|
240
|
END) AS NGUOIXULY,RPN.ROLE_USER,RPN.DVDM_ID, A.FROM_DATE, A.TO_DATE, F.TLFullName + ' - ' + F.TLNANME AS MAKER_NAME
|
241
|
, ROW_NUMBER() OVER (ORDER BY A.CREATE_DT DESC
|
242
|
) AS __ROWNUM-- SELECT END
|
243
|
FROM TR_REQUEST_JOB_FORM A
|
244
|
LEFT JOIN dbo.CM_BRANCH BR_CR ON A.BRANCH_CREATE=BR_CR.BRANCH_ID
|
245
|
LEFT JOIN CM_AUTH_STATUS C ON C.AUTH_STATUS = A.AUTH_STATUS
|
246
|
LEFT JOIN dbo.CM_DEPARTMENT DP_CR ON DP_CR.DEP_ID=A.DEP_CREATE
|
247
|
LEFT JOIN dbo.TL_USER D ON D.TLNANME=A.EMP_ID
|
248
|
--LEFT JOIN dbo.TL_USER E ON A.SIGN_USER =E.TLNANME
|
249
|
LEFT JOIN dbo.TL_USER F ON A.MAKER_ID = F.TLNANME
|
250
|
LEFT JOIN dbo.PL_REQUEST_PROCESS RPN
|
251
|
ON RPN.ID IN (SELECT TOP 1 Temp.ID FROM dbo.PL_REQUEST_PROCESS Temp WHERE Temp.REQ_ID=A.REQ_ID AND (Temp.STATUS='C' OR Temp.STATUS='R') )
|
252
|
WHERE 1 = 1
|
253
|
AND (A.REQ_CODE LIKE '%' + @p_REQ_CODE + '%' OR @p_REQ_CODE IS NULL OR @p_REQ_CODE = '')
|
254
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
255
|
AND (A.AUTH_STATUS = @p_AUTH_STATUS
|
256
|
OR (@p_AUTH_STATUS='M' AND (EXISTS(SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value =@p_USER_LOGIN) OR EXISTS (SELECT 1 from wsiSplit(RPN.ROLE_USER,',')WHERE value IN(SELECT ROLENAME FROM @LST_ROLE WHERE (BRANCH_ID=RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID ='') AND (DEP_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID='')))))
|
257
|
OR (@p_AUTH_STATUS='M' AND EXISTS(SELECT 1 FROM FN_GET_USER_MANAGER_BY_DVCM(RPN.DVDM_ID,RPN.ROLE_USER) WHERE TLNANME =@p_USER_LOGIN))
|
258
|
OR (@p_AUTH_STATUS='M' AND A.MAKER_ID =@p_USER_LOGIN AND A.AUTH_STATUS='E')
|
259
|
OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
260
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
261
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
262
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
263
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
|
264
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
|
265
|
AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
|
266
|
AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
|
267
|
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
268
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
269
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
270
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
271
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='' OR A.CREATE_DT IS NULL)
|
272
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='' OR A.CREATE_DT IS NULL)
|
273
|
AND (A.DEP_CREATE LIKE '%' + @p_DEP_CREATE + '%' OR @p_DEP_CREATE IS NULL OR @p_DEP_CREATE = '')
|
274
|
AND (A.BRANCH_CREATE LIKE '%' + @p_BRANCH_CREATE + '%' OR @p_BRANCH_CREATE IS NULL OR @p_BRANCH_CREATE = '')
|
275
|
AND (A.MAKER_ID = @p_USER_LOGIN ---- ng login là ng tạo
|
276
|
OR A.EMP_ID = @p_USER_LOGIN ---- ng login là người sử dụng phiếu
|
277
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME = 'NVDV') AND A.PROCESS_ID NOT IN('NEW','SIGN','SEND')) -- ng login là chuyên viên đặt vé
|
278
|
OR (A.SIGN_USER = @p_USER_LOGIN AND A.IS_SEND_APPR = 'Y' AND A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') --- ng login là cấp duyệt trung gian và đã gửi YC phê duyệt
|
279
|
OR (A.IS_SEND_APPR = 'Y' AND (A.PROCESS_ID ='SEND' OR RPN.PROCESS_ID='SIGN_APP') AND (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID=A.SIGN_USER))) --- ng login là cấp duyệt trung gian TKTGD và đã gửi YC phê duyệt
|
280
|
OR (EXISTS(SELECT 1 FROM @LST_ROLE WHERE ROLENAME IN('NVMS','NVTT', 'GDV_DVKD', 'KSV_DVKD','GDV','KSV')) AND A.AUTH_STATUS='A')
|
281
|
|
282
|
OR (EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE ROLE_ID =RPN.ROLE_USER AND (BRANCH_ID =RPN.BRANCH_ID OR RPN.BRANCH_ID IS NULL OR RPN.BRANCH_ID='') AND (DEPT_ID=RPN.DEP_ID OR RPN.DEP_ID IS NULL OR RPN.DEP_ID ='')))
|
283
|
OR ((EXISTS(SELECT 1 FROM dbo.TL_USER_GET_ROLES(@p_USER_LOGIN)WHERE BRANCH_ID =D.TLSUBBRID AND DEPT_ID=D.DEP_ID)) --- ng login là trưởng ĐV và đã gửi YC phê duyệt
|
284
|
AND A.IS_SEND_APPR = 'Y'
|
285
|
AND (
|
286
|
ISNULL(A.SIGN_USER,'') = '' OR (ISNULL(A.SIGN_USER,'') <> '' AND A.SIGN_DT IS NOT NULL)
|
287
|
)
|
288
|
)
|
289
|
)
|
290
|
ORDER BY A.CREATE_DT DESC
|
291
|
) SELECT * FROM QUERY_DATA WHERE __ROWNUM > 0 AND __ROWNUM <= 10
|
292
|
END-- PAGING END
|
293
|
END
|