1
|
|
2
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_AUTO_TRANSFER_Search]
|
3
|
@p_REQ_PAY_AUTO_ID VARCHAR(20)= NULL,
|
4
|
@p_REQ_PAY_AUTO_CODE VARCHAR(20)= NULL,
|
5
|
@p_REQ_PAY_AUTO_NAME VARCHAR(20)= NULL,
|
6
|
@p_REQ_PAY_AUTO_DT VARCHAR(20)= NULL,
|
7
|
@p_REQ_PAY_AUTO_TYPE VARCHAR(20)= NULL,
|
8
|
@p_REQ_PAY_AUTO_SERVICE_TYPE VARCHAR(20)= NULL,
|
9
|
@p_REQ_PAY_AUTO_STATUS VARCHAR(20)= NULL,
|
10
|
@p_REQ_PAY_AUTO_EFFECTIVE_DT VARCHAR(20)= NULL,
|
11
|
@p_BRANCH_ID VARCHAR(20)= NULL,
|
12
|
@p_BRANCH_CODE VARCHAR(20)= NULL,
|
13
|
@p_BRANCH_NAME VARCHAR(20)= NULL,
|
14
|
@p_DEP_ID VARCHAR(20)= NULL,
|
15
|
@p_DEP_CODE VARCHAR(20)= NULL,
|
16
|
@p_DEP_NAME VARCHAR(20)= NULL,
|
17
|
@p_BRANCH_CREATE VARCHAR(20)= NULL,
|
18
|
@p_BRANCH_CREATE_CODE VARCHAR(20)= NULL,
|
19
|
@p_BRANCH_CREATE_NAME VARCHAR(20)= NULL,
|
20
|
@p_TRANSFER_USER_RECEIVE VARCHAR(20)= NULL,
|
21
|
@p_TRANSFER_USER_RECEIVE_NAME VARCHAR(20)= NULL,
|
22
|
@p_CONFIRM_NOTE VARCHAR(20)= NULL,
|
23
|
@p_CONTRACT_ID VARCHAR(20)= NULL,
|
24
|
@p_CONTRACT_CODE VARCHAR(20)= NULL,
|
25
|
@p_CONTRACT_NAME VARCHAR(20)= NULL,
|
26
|
@p_PROCESS VARCHAR(20)= NULL,
|
27
|
@p_TRANSFER_MAKER VARCHAR(20)= NULL,
|
28
|
@p_TRANSFER_DT VARCHAR(20)= NULL,
|
29
|
@p_MAKER_ID VARCHAR(20)= NULL,
|
30
|
@p_MAKER_NAME VARCHAR(20)= NULL,
|
31
|
@p_CREATE_DT VARCHAR(20)= NULL,
|
32
|
@p_EDITOR_ID VARCHAR(20)= NULL,
|
33
|
@p_EDITOR_NAME VARCHAR(20)= NULL,
|
34
|
@p_EDIT_DT VARCHAR(20)= NULL,
|
35
|
@p_CHECKER_ID VARCHAR(20)= NULL,
|
36
|
@p_CHECKER_NAME VARCHAR(20)= NULL,
|
37
|
@p_APPROVE_DT VARCHAR(20)= NULL,
|
38
|
@p_AUTH_STATUS VARCHAR(20)= NULL,
|
39
|
@p_MAKER_ID_KT VARCHAR(20)= NULL,
|
40
|
@p_MAKER_KT_NAME VARCHAR(20)= NULL,
|
41
|
@p_CREATE_DT_KT VARCHAR(20)= NULL,
|
42
|
@p_CHECKER_ID_KT VARCHAR(20)= NULL,
|
43
|
@p_CHECKER_KT_NAME VARCHAR(20)= NULL,
|
44
|
@p_APPROVE_DT_KT VARCHAR(20)= NULL,
|
45
|
@p_AUTH_STATUS_KT VARCHAR(20)= NULL,
|
46
|
@p_AUTH_STATUS_KT_DESC VARCHAR(20)= NULL,
|
47
|
@p_RECORD_STATUS VARCHAR(20)= NULL,
|
48
|
@p_FRMDATE VARCHAR(20)= NULL,
|
49
|
@p_TODATE VARCHAR(20)= NULL,
|
50
|
@p_LEVEL VARCHAR(20)= NULL,
|
51
|
@p_USER_LOGIN VARCHAR(20)= NULL,
|
52
|
@p_IS_SEND_APPR VARCHAR(20)= NULL,
|
53
|
@p_TYPE_SEARCH VARCHAR(20)= NULL,
|
54
|
@p_BRANCH_LOGIN VARCHAR(20)= NULL,
|
55
|
@p_IS_TRANSFER VARCHAR(20)= NULL,
|
56
|
@p_TOP INT = NULL
|
57
|
AS
|
58
|
BEGIN -- PAGING
|
59
|
-- BEGIN KHAI BÁO
|
60
|
-- ĐƠN VỊ YÊU CẦU
|
61
|
DECLARE @tmp_branch TABLE(BRANCH_ID VARCHAR(15))
|
62
|
DECLARE @tmp_dep TABLE(DEP_ID VARCHAR(15))
|
63
|
DECLARE @DEP_ID VARCHAR(15) = NULL
|
64
|
INSERT INTO @tmp_branch SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
|
65
|
DECLARE @BRANCH_TYPE VARCHAR(15)
|
66
|
SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_AUTO_ID))
|
67
|
|
68
|
-- ĐƠN VỊ ĐĂNG NHẬP
|
69
|
DECLARE @tmp_branch_login TABLE(BRANCH_ID VARCHAR(15))
|
70
|
DECLARE @tmp_dep_login TABLE(DEP_ID VARCHAR(15))
|
71
|
INSERT INTO @tmp_branch_login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
72
|
INSERT INTO @tmp_branch_login VALUES (@p_BRANCH_LOGIN)
|
73
|
INSERT INTO @tmp_branch_login SELECT BRANCH_ID
|
74
|
FROM TL_SYS_ROLE_MAPPING
|
75
|
WHERE TLNAME =@P_USER_LOGIN
|
76
|
AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103)
|
77
|
AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
|
78
|
DECLARE @BRANCH_TYPE_LG VARCHAR(15)
|
79
|
SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
|
80
|
-- PHÒNG BAN ĐĂNG NHẬP
|
81
|
DECLARE @DEP_ID_LG VARCHAR(15) = NULL
|
82
|
SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
83
|
INSERT INTO @tmp_dep_login VALUES (@DEP_ID_LG)
|
84
|
INSERT INTO @tmp_dep_login SELECT DEP_ID FROM CM_DEPARTMENT WHERE FATHER_ID =@DEP_ID_LG
|
85
|
INSERT INTO @tmp_dep_login SELECT DEP_ID
|
86
|
FROM TL_SYS_ROLE_MAPPING
|
87
|
WHERE TLNAME =@P_USER_LOGIN
|
88
|
AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103)
|
89
|
AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
|
90
|
|
91
|
-- ROLE
|
92
|
DECLARE @ROLE_ID VARCHAR(20)
|
93
|
SET @ROLE_ID = (SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
94
|
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))
|
95
|
INSERT INTO @TABLE_ROLE VALUES (@ROLE_ID)
|
96
|
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW
|
97
|
FROM TL_SYS_ROLE_MAPPING
|
98
|
WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@P_USER_LOGIN
|
99
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
100
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
101
|
|
102
|
-- NEU USER KHONG CHON TU NGAY THI TU NGAY BANG NGAY 1 1 HANG THANG 20211116
|
103
|
DECLARE @DATE DATE
|
104
|
IF ((@p_FRMDATE IS NULL OR @p_FRMDATE ='') AND ISNULL(@p_REQ_PAY_AUTO_ID,'')='' AND @p_AUTH_STATUS ='') -- MỤC ĐÍCH NẾU NHƯ XEM CHI TIẾT 1 PĐN THANH TOÁN DẠNG POPUP THÌ BỎ QUA ĐIỀU KIỆN NÀY, TỪ NGÀY VẪN LÀ NULL
|
105
|
BEGIN
|
106
|
SET @DATE = CONVERT(DATE,GETDATE(),103)
|
107
|
SET @DATE = DATEADD(MONTH,-2,@DATE)
|
108
|
END
|
109
|
ELSE
|
110
|
BEGIN
|
111
|
SET @DATE = CONVERT(DATE,@p_FRMDATE,103)
|
112
|
END
|
113
|
-- END KHAI BÁO
|
114
|
|
115
|
IF(@p_TOP IS NULL OR @p_TOP=0)
|
116
|
BEGIN
|
117
|
-- PAGING BEGIN
|
118
|
SELECT A.*, B.TLNAME AS TRANSFER_USER_RECEIVE,
|
119
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
120
|
FROM TR_CONTRACT
|
121
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
122
|
) <> 'DV0001'
|
123
|
THEN C.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
124
|
FROM CM_BRANCH
|
125
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
126
|
FROM TR_CONTRACT
|
127
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
128
|
)
|
129
|
),''
|
130
|
)
|
131
|
ELSE C.BRANCH_NAME
|
132
|
END BRANCH_NAME,
|
133
|
CASE
|
134
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN I.CONTENT
|
135
|
ELSE J.CONTENT
|
136
|
END REQ_PAY_AUTO_TYPE_NAME,
|
137
|
D.DEP_NAME, E.TLFullName AS MAKER_NAME, G.CONTENT AS AUTH_STATUS_NAME, H.CONTENT AS AUTH_STATUS_KT_NAME
|
138
|
-- SELECT END
|
139
|
FROM TR_REQ_PAYMENT_AUTO A
|
140
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD B ON A.REQ_PAY_AUTO_ID = B.REQ_ID AND B.TYPE_JOB = 'XL'
|
141
|
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
|
142
|
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID = D.DEP_ID
|
143
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
144
|
LEFT JOIN CM_ALLCODE F ON A.REQ_PAY_AUTO_TYPE = F.CDVAL AND F.CDNAME = 'PAY_TYPE_AUTO' AND F.CDTYPE = 'REQ_AUTO'
|
145
|
LEFT JOIN CM_ALLCODE G ON A.AUTH_STATUS = G.CDVAL AND G.CDNAME = 'AUTH_STATUS' AND G.CDTYPE = 'TR_REQ_PAYMENT'
|
146
|
LEFT JOIN CM_ALLCODE H ON A.AUTH_STATUS_KT = H.CDVAL AND H.CDNAME = 'AUTH_STATUS_KT' AND H.CDTYPE = 'TR_REQ_PAYMENT'
|
147
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_SERVICE_TYPE = I.CDVAL AND I.CDNAME = 'PAY_SER_AUTO_TS' AND I.CDTYPE = 'REQ_AUTO'
|
148
|
LEFT JOIN CM_ALLCODE J ON A.REQ_PAY_AUTO_SERVICE_TYPE = J.CDVAL AND J.CDNAME = 'PAY_SER_AUTO' AND J.CDTYPE = 'REQ_AUTO'
|
149
|
WHERE 1=1
|
150
|
AND ( A.AUTH_STATUS = 'A' OR A.AUTH_STATUS = 'N')
|
151
|
-- BEGIN FILTER
|
152
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
153
|
AND ( A.PROCESS = @p_PROCESS OR ISNULL(@p_PROCESS, '') = '')
|
154
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
155
|
AND ( A.REQ_PAY_AUTO_SERVICE_TYPE = @p_REQ_PAY_AUTO_SERVICE_TYPE OR ISNULL(@p_REQ_PAY_AUTO_SERVICE_TYPE, '') = '')
|
156
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
157
|
AND ( ( @p_IS_TRANSFER = 'Y'
|
158
|
AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID)
|
159
|
|
160
|
)
|
161
|
OR ( @p_IS_TRANSFER='N'
|
162
|
AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID )
|
163
|
AND A.PROCESS IN ('2', '11', '17')
|
164
|
)
|
165
|
OR @p_IS_TRANSFER IS NULL
|
166
|
OR @p_IS_TRANSFER=''
|
167
|
)
|
168
|
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)
|
169
|
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)
|
170
|
--AND ( A.BRANCH_ID = @p_BRANCH_ID OR ISNULL(@p_BRANCH_ID, '') = '')
|
171
|
AND ( A.DEP_ID = @p_DEP_ID OR ISNULL(@p_DEP_ID, '') = '')
|
172
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
173
|
AND ( B.TLNAME = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
174
|
-- END FILTER
|
175
|
ORDER BY A.CREATE_DT DESC
|
176
|
-- PAGING END
|
177
|
END;
|
178
|
ELSE
|
179
|
BEGIN
|
180
|
-- PAGING BEGIN
|
181
|
SELECT A.*, B.TLNAME AS TRANSFER_USER_RECEIVE,
|
182
|
CASE WHEN ( SELECT TOP 1 BRANCH_ID
|
183
|
FROM TR_CONTRACT
|
184
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
185
|
) <> 'DV0001'
|
186
|
THEN C.BRANCH_NAME + ISNULL ( ' - ' + ( SELECT TOP 1 BRANCH_NAME
|
187
|
FROM CM_BRANCH
|
188
|
WHERE BRANCH_ID = ( SELECT TOP 1 BRANCH_ID
|
189
|
FROM TR_CONTRACT
|
190
|
WHERE CONTRACT_ID = A.CONTRACT_ID
|
191
|
)
|
192
|
),''
|
193
|
)
|
194
|
ELSE C.BRANCH_NAME
|
195
|
END BRANCH_NAME,
|
196
|
CASE
|
197
|
WHEN A.REQ_PAY_AUTO_TYPE = 'A' THEN I.CONTENT
|
198
|
ELSE J.CONTENT
|
199
|
END REQ_PAY_AUTO_TYPE_NAME,
|
200
|
D.DEP_NAME, E.TLFullName AS MAKER_NAME, G.CONTENT AS AUTH_STATUS_NAME, H.CONTENT AS AUTH_STATUS_KT_NAME
|
201
|
-- SELECT END
|
202
|
FROM TR_REQ_PAYMENT_AUTO A
|
203
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD B ON A.REQ_PAY_AUTO_ID = B.REQ_ID AND B.TYPE_JOB = 'XL'
|
204
|
LEFT JOIN CM_BRANCH C ON A.BRANCH_ID = C.BRANCH_ID
|
205
|
LEFT JOIN CM_DEPARTMENT D ON A.DEP_ID = D.DEP_ID
|
206
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
207
|
LEFT JOIN CM_ALLCODE F ON A.REQ_PAY_AUTO_TYPE = F.CDVAL AND F.CDNAME = 'PAY_TYPE_AUTO' AND F.CDTYPE = 'REQ_AUTO'
|
208
|
LEFT JOIN CM_ALLCODE G ON A.AUTH_STATUS = G.CDVAL AND G.CDNAME = 'AUTH_STATUS' AND G.CDTYPE = 'TR_REQ_PAYMENT'
|
209
|
LEFT JOIN CM_ALLCODE H ON A.AUTH_STATUS_KT = H.CDVAL AND H.CDNAME = 'AUTH_STATUS_KT' AND H.CDTYPE = 'TR_REQ_PAYMENT'
|
210
|
LEFT JOIN CM_ALLCODE I ON A.REQ_PAY_AUTO_SERVICE_TYPE = I.CDVAL AND I.CDNAME = 'PAY_SER_AUTO_TS' AND I.CDTYPE = 'REQ_AUTO'
|
211
|
LEFT JOIN CM_ALLCODE J ON A.REQ_PAY_AUTO_SERVICE_TYPE = J.CDVAL AND J.CDNAME = 'PAY_SER_AUTO' AND J.CDTYPE = 'REQ_AUTO'
|
212
|
WHERE 1=1
|
213
|
AND ( A.AUTH_STATUS = 'A' OR A.AUTH_STATUS = 'N')
|
214
|
-- BEGIN FILTER
|
215
|
AND ( A.REQ_PAY_AUTO_TYPE = @p_REQ_PAY_AUTO_TYPE OR ISNULL(@p_REQ_PAY_AUTO_TYPE, '') = '')
|
216
|
AND ( A.PROCESS = @p_PROCESS OR ISNULL(@p_PROCESS, '') = '')
|
217
|
AND ( A.CONTRACT_ID = @p_CONTRACT_ID OR ISNULL(@p_CONTRACT_ID, '') = '')
|
218
|
AND ( A.REQ_PAY_AUTO_SERVICE_TYPE = @p_REQ_PAY_AUTO_SERVICE_TYPE OR ISNULL(@p_REQ_PAY_AUTO_SERVICE_TYPE, '') = '')
|
219
|
AND ( A.REQ_PAY_AUTO_CODE = @p_REQ_PAY_AUTO_CODE OR ISNULL(@p_REQ_PAY_AUTO_CODE, '') = '')
|
220
|
AND ( ( @p_IS_TRANSFER = 'Y'
|
221
|
AND ( EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID)
|
222
|
)
|
223
|
)
|
224
|
OR ( @p_IS_TRANSFER='N'
|
225
|
AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_AUTO_ID )
|
226
|
AND A.PROCESS IN ('2', '11', '17')
|
227
|
)
|
228
|
OR @p_IS_TRANSFER IS NULL
|
229
|
OR @p_IS_TRANSFER=''
|
230
|
)
|
231
|
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)
|
232
|
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)
|
233
|
--AND ( A.BRANCH_ID = @p_BRANCH_ID OR ISNULL(@p_BRANCH_ID, '') = '')
|
234
|
AND ( A.DEP_ID = @p_DEP_ID OR ISNULL(@p_DEP_ID, '') = '')
|
235
|
AND ( A.MAKER_ID = @p_MAKER_ID OR ISNULL(@p_MAKER_ID, '') = '')
|
236
|
AND ( B.TLNAME = @p_MAKER_ID_KT OR ISNULL(@p_MAKER_ID_KT, '') = '')
|
237
|
-- END FILTER
|
238
|
ORDER BY A.CREATE_DT DESC
|
239
|
-- PAGING END
|
240
|
END;
|
241
|
END -- PAGING
|