1
|
ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_Appr]
|
2
|
--Luanlt 2019/17/10 - Sửa params
|
3
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
4
|
@p_CHECKER_ID varchar(15) = NULL,
|
5
|
@p_AUTH_STATUS varchar(15) = NULL,
|
6
|
@p_COST_ID VARCHAR(15) = NULL,
|
7
|
@p_IS_AUTHORITY varchar(1) = NULL,
|
8
|
@p_PROCESS_NOTES nvarchar(max) = NULL
|
9
|
AS
|
10
|
-- BEGIN VALIDATE
|
11
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE MAKER_ID =@p_CHECKER_ID AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
12
|
BEGIN
|
13
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép duyệt phiếu đề nghị tạm ứng này này! Người phê duyệt phiếu phải khác với người tạo phiếu' ErrorDesc
|
14
|
RETURN '-1'
|
15
|
END
|
16
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS ='A' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
17
|
BEGIN
|
18
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phê duyệt phiếu đề nghị tạm ứng thất bại! Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được phê duyệt trước đó' ErrorDesc
|
19
|
RETURN '-1'
|
20
|
END
|
21
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS ='R' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
22
|
BEGIN
|
23
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đang được trả về bộ phận yêu cầu. Vui lòng cập nhật lại thông tin trước khi duyệt' ErrorDesc
|
24
|
RETURN '-1'
|
25
|
END
|
26
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT ='A' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
27
|
BEGIN
|
28
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đã được kiểm soát viên phê duyệt trước đó' ErrorDesc
|
29
|
RETURN '-1'
|
30
|
END
|
31
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT ='R' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
32
|
BEGIN
|
33
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đang được trả về giao dịch viên. Vui lòng kiểm tra lại thông tin' ErrorDesc
|
34
|
RETURN '-1'
|
35
|
END
|
36
|
IF EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT ='S' AND REQ_PAY_ID =@p_REQ_PAY_ID)
|
37
|
BEGIN
|
38
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' đang được đề xuất từ chối. Vui lòng kiểm tra lại thông tin' ErrorDesc
|
39
|
RETURN '-1'
|
40
|
END
|
41
|
-- CHAN CUOI
|
42
|
IF (EXISTS (SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS <> 'U' AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
43
|
BEGIN
|
44
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng số: '+(SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+N' chưa được gửi phê duyệt. Vui lòng đợi người tạo gửi phê duyệt trước khi phê duyệt phiếu' ErrorDesc
|
45
|
RETURN '-1'
|
46
|
END
|
47
|
-- END VALIDATE
|
48
|
|
49
|
BEGIN TRANSACTION
|
50
|
IF(@p_IS_AUTHORITY <> 'Y')
|
51
|
BEGIN
|
52
|
SET @p_IS_AUTHORITY = 'N'
|
53
|
END
|
54
|
|
55
|
-- DOANPTT 261122: SET DVDM NEU DVDM KHONG DUOC TRUYEN TU GIAO DIEN
|
56
|
IF(ISNULL(@p_COST_ID, '') = '')
|
57
|
BEGIN
|
58
|
SET @p_COST_ID = (SELECT DVDM_ID FROM TR_REQ_ADVANCE_PAYMENT where REQ_PAY_ID = @p_REQ_PAY_ID)
|
59
|
END
|
60
|
-- KHAI BAO THEM ROLE NHAN UY QUYEN
|
61
|
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))
|
62
|
INSERT INTO @TABLE_ROLE SELECT (SELECT ROLENAME FROM TL_USER WHERE TLNANME =@p_CHECKER_ID)
|
63
|
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT ROLENAME FROM TL_USER WHERE TLNANME =@p_CHECKER_ID)
|
64
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL)
|
65
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL)
|
66
|
AND TLNAME =@p_CHECKER_ID
|
67
|
|
68
|
-- KHAI BAO NHUNG PHONG BAN MA 1 USER KIEM NHIEM
|
69
|
DECLARE @DEP_AUTH TABLE (DEP_AUTH VARCHAR(15))
|
70
|
INSERT INTO @DEP_AUTH SELECT DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE TLNAME =@p_CHECKER_ID
|
71
|
--AND CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103)
|
72
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL)
|
73
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL)
|
74
|
DECLARE @BRANCH_CREATE VARCHAR(15), @p_DEP_ID VARCHAR(15)
|
75
|
SET @BRANCH_CREATE =(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
76
|
DECLARE @DEP_CODE_NEXT VARCHAR(15)
|
77
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_CREATE)<>'HS')
|
78
|
BEGIN
|
79
|
SET @p_DEP_ID =(SELECT TOP 1 DEP_ID FROM CM_DEPARTMENT WHERE LEFT(DEP_CODE,5) IN (SELECT TOP 1 LEFT(DVDM_CODE,5) FROM CM_DVDM WHERE DVDM_ID =@p_COST_ID))
|
80
|
SET @DEP_CODE_NEXT = (SELECT DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@p_DEP_ID)
|
81
|
--PRINT 'BRANCH_TYPE CN: DEP_CODE_NEXT' + @DEP_CODE_NEXT
|
82
|
--PRINT 'BRANCH_TYPE CN: @p_DEP_ID' + @p_DEP_ID
|
83
|
END
|
84
|
ELSE
|
85
|
BEGIN
|
86
|
SET @p_DEP_ID =(SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
|
87
|
SET @DEP_CODE_NEXT = (SELECT DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@p_DEP_ID)
|
88
|
--PRINT 'BRANCH_TYPE HS: DEP_CODE_NEXT' + @DEP_CODE_NEXT
|
89
|
--PRINT 'BRANCH_TYPE HS: @p_DEP_ID' + @p_DEP_ID
|
90
|
END
|
91
|
|
92
|
IF (ISNULL(@p_COST_ID, '') <> '' AND (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_CREATE) = 'HS')
|
93
|
BEGIN
|
94
|
ROLLBACK TRANSACTION
|
95
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Xác nhận phiếu đề nghị tạm ứng thất bại! Nhân viên ở hội sở không được phép chọn khối phê duyệt' ErrorDesc
|
96
|
RETURN '-1'
|
97
|
END
|
98
|
|
99
|
--- KHAI BAO CHUNG
|
100
|
DECLARE @ROLE_ID VARCHAR(200), @BRANCH_TYPE VARCHAR(15), @TOTAL_ADVANCE DECIMAL(18,0), @TOTAL_PAYBACK DECIMAL(18,0), @BRANCH_ID VARCHAR(15),
|
101
|
@DEP_ID VARCHAR(15), @COSTCENTER_ID VARCHAR(15)= NULL, @BRANCH_RQ VARCHAR(15) = NULL,@DEP_ID_RQ VARCHAR(15), @BRANCH_LOGIN VARCHAR(15),@LIMIT_ONE_OF DECIMAL(18,2)
|
102
|
DECLARE @LIMIT_AMT DECIMAL(18,0), @REQ_AMT DECIMAL(18,2) =0, @TONG_PGD DECIMAL(18,0), @TONG_PGD_HOAN DECIMAL(18,0)
|
103
|
SET @REQ_AMT = (SELECT REQ_AMT *ISNULL(RATE,1) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
104
|
--SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_CHECKER_ID)
|
105
|
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_CHECKER_ID)
|
106
|
--SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
|
107
|
IF(@ROLE_ID IS NOT NULL AND @ROLE_ID <>'' AND @ROLE_ID IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC'))
|
108
|
BEGIN
|
109
|
PRINT @ROLE_ID
|
110
|
END
|
111
|
ELSE
|
112
|
BEGIN
|
113
|
SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_CHECKER_ID)
|
114
|
IF(@ROLE_ID IS NULL OR @ROLE_ID ='')
|
115
|
BEGIN
|
116
|
SET @ROLE_ID =(SELECT TOP 1 ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT TOP 1 ROLENAME FROM TL_USER WHERE TLNANME=@p_CHECKER_ID))
|
117
|
END
|
118
|
END
|
119
|
SET @BRANCH_ID = (SELECT TLSUBBRID FROM TL_USER WHERE TLNANME =@p_CHECKER_ID)
|
120
|
SET @BRANCH_RQ =(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
121
|
SET @DEP_ID_RQ =(SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
122
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)
|
123
|
DECLARE @tmp table(BRANCH_ID varchar(15))
|
124
|
INSERT into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@BRANCH_ID)
|
125
|
DECLARE @tmp_CN table(BRANCH_ID varchar(15))
|
126
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)='CN')
|
127
|
BEGIN
|
128
|
--INSERT into @tmp_CN SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@BRANCH_RQ)
|
129
|
INSERT into @tmp_CN VALUES (@BRANCH_RQ)
|
130
|
END
|
131
|
ELSE IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)='PGD')
|
132
|
BEGIN
|
133
|
--DECLARE @FATHER_ID VARCHAR(15) = NULL
|
134
|
--SET @FATHER_ID =(SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)
|
135
|
--INSERT into @tmp_CN SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@FATHER_ID)
|
136
|
INSERT into @tmp_CN VALUES (@BRANCH_RQ)
|
137
|
END
|
138
|
--DECLARE @DEP_ID_LG VARCHAR(15) = NULL
|
139
|
--SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_CHECKER_ID)
|
140
|
DECLARE @TMP_DVDM TABLE(DVDM_ID VARCHAR(15))
|
141
|
INSERT INTO @TMP_DVDM
|
142
|
SELECT A.DVDM_ID--, A.COST_CODE, A.COST_NAME, B.DEP_ID --, C.DEP_CODE, C.DEP_NAME
|
143
|
FROM PL_COSTCENTER A
|
144
|
LEFT JOIN PL_COSTCENTER_DT B ON A.COST_ID = B.COST_ID
|
145
|
WHERE B.DEP_ID = @DEP_ID_RQ
|
146
|
GROUP BY A.DVDM_ID
|
147
|
-- KHAI BAO BRANCH CUA USER DUYET
|
148
|
SET @BRANCH_LOGIN = (SELECT TLSUBBRID FROM TL_USER WHERE TLNANME =@p_CHECKER_ID)
|
149
|
DECLARE @LIMIT_REMAIN DECIMAL(18,0)
|
150
|
--CAP NHAT CODE TRONG QUA TRINH TEST UAT
|
151
|
INSERT INTO @TABLE_ROLE SELECT @ROLE_ID
|
152
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_TYPE='I'))
|
153
|
BEGIN
|
154
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_CREATE) ='HS')
|
155
|
BEGIN
|
156
|
IF(EXISTS(SELECT * FROM @TABLE_ROLE WHERE ISNULL(ROLE_AUTH,'') IN ('GDDV','TP') AND (SELECT ISNULL(PROCESS,'') FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) =''))
|
157
|
BEGIN
|
158
|
-- doanptt them note khi xac nhan
|
159
|
IF(@p_PROCESS_NOTES IS NULL OR @p_PROCESS_NOTES = '')
|
160
|
BEGIN
|
161
|
SET @p_PROCESS_NOTES = N'Trưởng đơn vị xác nhận phiếu';
|
162
|
END
|
163
|
|
164
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS='0', NOTES ='' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
165
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,'0',@p_CHECKER_ID, GETDATE(), @p_PROCESS_NOTES,N'Xác nhận phiếu tạm ứng')
|
166
|
COMMIT TRANSACTION
|
167
|
SELECT '1' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'' ErrorDesc
|
168
|
RETURN '1'
|
169
|
END
|
170
|
END
|
171
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND REQ_ID = @p_REQ_PAY_ID))
|
172
|
BEGIN
|
173
|
ROLLBACK TRANSACTION
|
174
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không có quyền phê duyệt phiếu tạm ứng nội bộ. Vui lòng chọn giao dịch khác để duyệt' ErrorDesc
|
175
|
RETURN '-1'
|
176
|
END
|
177
|
IF NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND STATUS = 'C')
|
178
|
BEGIN
|
179
|
ROLLBACK TRANSACTION
|
180
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được bạn phê duyệt xong trước đó! Vui lòng đợi cấp tiếp theo phê duyệt tạm ứng' ErrorDesc
|
181
|
RETURN '-1'
|
182
|
END
|
183
|
|
184
|
--IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER=@ROLE_ID AND REQ_ID = @p_REQ_PAY_ID AND BRANCH_ID= @BRANCH_ID AND STATUS ='P'))
|
185
|
--BEGIN
|
186
|
-- ROLLBACK TRANSACTION
|
187
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn đã thực hiện xác nhận phiếu tạm ứng trước đó' ErrorDesc
|
188
|
-- RETURN '-1'
|
189
|
--END
|
190
|
-- KIEM TRA AUTH_STATUS TRUYEN XUONG LA GI, A: DUYET, C: CONFIRM
|
191
|
-- KIEM TRA HAN MUC CON LAI CUA USER VA THONG BAO CHO NGUOI DUYET
|
192
|
IF(@p_AUTH_STATUS='U') -- KIEM TRA HAN MUC CON LAI CUA USER VA THONG BAO CHO NGUOI DUYET
|
193
|
BEGIN
|
194
|
-- KIEM TRA NEU ROLE CHUA CO HAN MUC PHE DUYET THI PHAI THONG BAO
|
195
|
IF(NOT EXISTS(SELECT * FROM TL_SYSROLE_LIMIT WHERE ROLE_ID =@ROLE_ID AND LIMIT_TYPE ='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN))
|
196
|
BEGIN
|
197
|
ROLLBACK TRANSACTION
|
198
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn chưa được cấu hình hạn mức phê duyệt tạm ứng nội bộ. Vui lòng thông báo Admin cấu hình hạn mức phê duyệt' ErrorDesc
|
199
|
RETURN '-1'
|
200
|
END
|
201
|
-- BAT DAU DUYET THEO NGAN SACH
|
202
|
--- LAY HAN MUC CUA USER
|
203
|
SET @LIMIT_AMT =(SELECT LIMIT_VALUE FROM TL_SYSROLE_LIMIT WHERE ROLE_ID=@ROLE_ID AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
204
|
|
205
|
--print @LIMIT_AMT
|
206
|
SET @LIMIT_ONE_OF =(SELECT LIMIT_PERCENT FROM TL_SYSROLE_LIMIT WHERE ROLE_ID=@ROLE_ID AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
207
|
IF(@ROLE_ID ='GDK' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
208
|
BEGIN
|
209
|
SET @LIMIT_AMT =6000000000 -- TANG LEN 6 TY
|
210
|
SET @LIMIT_ONE_OF =1000000000
|
211
|
|
212
|
END
|
213
|
IF(@ROLE_ID ='PTGD' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
214
|
BEGIN
|
215
|
SET @LIMIT_AMT =4000000000 --- TANG LEN 4 TY
|
216
|
SET @LIMIT_ONE_OF =500000000
|
217
|
IF(EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD ='PTGD' AND ROLE_NEW ='TGD'
|
218
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
219
|
BEGIN
|
220
|
SET @LIMIT_AMT =(SELECT LIMIT_VALUE FROM TL_SYSROLE_LIMIT WHERE ROLE_ID='TGD' AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
221
|
SET @LIMIT_ONE_OF =(SELECT LIMIT_PERCENT FROM TL_SYSROLE_LIMIT WHERE ROLE_ID='TGD' AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
222
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID))
|
223
|
BEGIN
|
224
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE ROLE_USER ='PTGD' AND REQ_ID =@p_REQ_PAY_ID
|
225
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='C',ROLE_USER ='PTGD' WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID
|
226
|
SET @ROLE_ID ='TGD'
|
227
|
END
|
228
|
END
|
229
|
|
230
|
END
|
231
|
-- NEU LA HOI SO THI LAY TONG SO TIEN TAM UNG CUA CAC PHONG BAN CHUNG VOI KHOI CUA PHIEU DANG DUOC DUYET
|
232
|
SET @TONG_PGD =(SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE BRANCH_ID = @BRANCH_RQ
|
233
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A') + @REQ_AMT
|
234
|
SET @TONG_PGD_HOAN =(
|
235
|
--SELECT (SUM(B.AMT_USE) - SUM(B.AMT_ADD) + SUM (B.AMT_REVERT))
|
236
|
--FROM TR_REQ_PAYMENT_DT B
|
237
|
--INNER JOIN TR_REQ_PAYMENT A ON B.PAY_ID = A.REQ_PAY_ID
|
238
|
--INNER JOIN TR_REQ_ADVANCE_PAYMENT C ON C.REQ_PAY_ID = B.PAY_ADV_ID
|
239
|
SELECT SUM (ISNULL(A.PAY_AMT,0)) FROM TR_REQ_ADVANCE_PAYMENT A
|
240
|
WHERE A.BRANCH_ID = @BRANCH_RQ
|
241
|
AND A.AUTH_STATUS_KT ='A' AND A.REQ_TYPE='I')
|
242
|
IF(@BRANCH_TYPE='HS')
|
243
|
BEGIN
|
244
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
245
|
DEP_ID IN
|
246
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
247
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
248
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
249
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
250
|
SET @TOTAL_PAYBACK =
|
251
|
ISNULL(
|
252
|
(
|
253
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
254
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
255
|
WHERE C.DEP_ID IN
|
256
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
257
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
258
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
259
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
260
|
),0)
|
261
|
END
|
262
|
--- BO SUNG NEU RIENG PHONG THUONG HIEU VA TRUYEN THONG --- 2021824
|
263
|
IF(@BRANCH_TYPE='HS' AND @DEP_CODE_NEXT ='0690405' )
|
264
|
BEGIN
|
265
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
266
|
DEP_ID IN
|
267
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
268
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
269
|
SET @TOTAL_PAYBACK =
|
270
|
ISNULL(
|
271
|
(
|
272
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
273
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
274
|
WHERE C.DEP_ID IN
|
275
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
276
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
277
|
),0)
|
278
|
PRINT @TOTAL_ADVANCE
|
279
|
PRINT @TOTAL_PAYBACK
|
280
|
END
|
281
|
--- END
|
282
|
-- NEU PHIEU DUOC TAO KHAC VOI HOI SO THI TIEN HANH TINH TONG SO TIEN TAM UNG CUA CN VA PHONG GIAO DICH TRUC THUOC
|
283
|
ELSE IF(@BRANCH_TYPE <>'HS')
|
284
|
BEGIN
|
285
|
SET @TOTAL_ADVANCE =(SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp_CN)
|
286
|
AND REQ_TYPE ='I' AND AUTH_STATUS='A')
|
287
|
SET @TOTAL_PAYBACK =
|
288
|
(
|
289
|
SELECT (SUM(ISNULL(B.PAY_AMT,0)))
|
290
|
FROM TR_REQ_ADVANCE_PAYMENT B
|
291
|
WHERE B.BRANCH_ID IN
|
292
|
(SELECT BRANCH_ID FROM @tmp_CN)
|
293
|
AND B.AUTH_STATUS_KT ='A' AND B.REQ_TYPE='I'
|
294
|
)
|
295
|
END
|
296
|
|
297
|
SET @LIMIT_REMAIN =ISNULL(@TOTAL_ADVANCE,0) - ISNULL(@TOTAL_PAYBACK,0)
|
298
|
PRINT @LIMIT_REMAIN
|
299
|
-- KIEM TRA NEU LA CHU TICH HDQT THI PHE DUYET LUON, KHONG CAN XET HAN MUC GI
|
300
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName ='HDQT'))
|
301
|
BEGIN
|
302
|
ROLLBACK TRANSACTION
|
303
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
304
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
305
|
--+ CHAR(10) +
|
306
|
--N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
307
|
--+ CHAR(10) + CHAR(13) +
|
308
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
309
|
+ CHAR(10) +
|
310
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
311
|
RETURN '-4'
|
312
|
END
|
313
|
IF(@LIMIT_AMT <(SELECT REQ_AMT * ISNULL(RATE,1) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) + @LIMIT_REMAIN)
|
314
|
BEGIN
|
315
|
ROLLBACK TRANSACTION
|
316
|
SELECT '-2' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
317
|
N'Tổng hạn mức phê duyệt là: '+ FORMAT(@LIMIT_AMT,'#,#', 'vi-VN') + CHAR(10)+
|
318
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
319
|
+ CHAR(10) + CHAR(13)+
|
320
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN +@REQ_AMT ,'#,#', 'vi-VN')
|
321
|
+ CHAR(10) +
|
322
|
N'Số tiền tạm ứng đã vượt mức phê duyệt là: '+ FORMAT((@LIMIT_REMAIN +@REQ_AMT) -@LIMIT_AMT,'#,#', 'vi-VN')
|
323
|
+ CHAR(10) +
|
324
|
N'Bạn muốn chuyển giao dịch lên cấp cao hơn để duyệt hay tiếp tục chờ duyệt' ErrorDesc
|
325
|
RETURN '-2'
|
326
|
END
|
327
|
--- NEU DU HAN MUC THI THONG BAO DE NGUOI DUYET CAN NHAC CO NEN DUYET PHIEU HAY KHONG
|
328
|
IF(@LIMIT_AMT >=(SELECT REQ_AMT * ISNULL(RATE,1) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) +@LIMIT_REMAIN)
|
329
|
BEGIN
|
330
|
IF(@REQ_AMT >@LIMIT_ONE_OF)
|
331
|
BEGIN
|
332
|
ROLLBACK TRANSACTION
|
333
|
SELECT '-2' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
334
|
N'Tổng hạn mức phê duyệt là: '+ FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
335
|
+ CHAR(10)+
|
336
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
337
|
+ CHAR(10) + CHAR(13) +
|
338
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN +@REQ_AMT ,'#,#', 'vi-VN')
|
339
|
+ CHAR(10) +
|
340
|
N'Số tiền tạm ứng đã vượt mức so với số tiền của một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
341
|
+ CHAR(10) +
|
342
|
N'Bạn muốn chuyển giao dịch lên cấp cao hơn để duyệt hay tiếp tục chờ duyệt' ErrorDesc
|
343
|
RETURN '-2'
|
344
|
END
|
345
|
ELSE
|
346
|
BEGIN
|
347
|
-- KIEM TRA NEU LA PGD THI CANH BAO
|
348
|
IF(@BRANCH_TYPE ='HS')
|
349
|
BEGIN
|
350
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName NOT IN('TGD','HQDT')))
|
351
|
BEGIN
|
352
|
ROLLBACK TRANSACTION
|
353
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
354
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
355
|
--+ CHAR(10) + CHAR(13) +
|
356
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
357
|
+ CHAR(10) +
|
358
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
359
|
+ CHAR(10) +
|
360
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
361
|
RETURN '-4'
|
362
|
END
|
363
|
ELSE
|
364
|
BEGIN
|
365
|
ROLLBACK TRANSACTION
|
366
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
367
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
368
|
--+ CHAR(10) + CHAR(13) +
|
369
|
--N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
370
|
--+ CHAR(10) +
|
371
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
372
|
+ CHAR(10) +
|
373
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
374
|
RETURN '-4'
|
375
|
END
|
376
|
END
|
377
|
ELSE IF(@BRANCH_TYPE ='CN')
|
378
|
BEGIN
|
379
|
---LUCTV 24.11.2022 NẾU PHIẾU TỪ CN GỬI LÊN THÌ CHỈ CẦN XÉT SỐ TIỀN DUYỆT 1 LẦN CÓ ĐỦ HẠN MỨC KHÔNG
|
380
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName IN('GDK','PTGD','TGD')))
|
381
|
BEGIN
|
382
|
IF(@REQ_AMT >@LIMIT_ONE_OF)
|
383
|
BEGIN
|
384
|
ROLLBACK TRANSACTION
|
385
|
SELECT '-2' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
386
|
N'Tổng hạn mức phê duyệt là: '+ FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
387
|
+ CHAR(10)+
|
388
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
389
|
+ CHAR(10) + CHAR(13) +
|
390
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN +@REQ_AMT ,'#,#', 'vi-VN')
|
391
|
+ CHAR(10) +
|
392
|
N'Số tiền tạm ứng đã vượt mức so với số tiền của một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
393
|
+ CHAR(10) +
|
394
|
N'Bạn muốn chuyển giao dịch lên cấp cao hơn để duyệt hay tiếp tục chờ duyệt' ErrorDesc
|
395
|
RETURN '-2'
|
396
|
END
|
397
|
ELSE
|
398
|
BEGIN
|
399
|
ROLLBACK TRANSACTION
|
400
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
401
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
402
|
--+ CHAR(10) +
|
403
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
404
|
+ CHAR(10) + CHAR(13) +
|
405
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
406
|
+ CHAR(10) +
|
407
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
408
|
RETURN '-4'
|
409
|
END
|
410
|
END--- END LUCTV
|
411
|
ELSE IF(ISNULL(@TONG_PGD,0) -ISNULL(@TONG_PGD_HOAN,0) > 40000000)
|
412
|
BEGIN
|
413
|
ROLLBACK TRANSACTION
|
414
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
415
|
N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
416
|
+ CHAR(10) +
|
417
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
418
|
+ CHAR(10) + CHAR(13) +
|
419
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
420
|
+ CHAR(10) +
|
421
|
N'Số tiền tạm ứng đang vượt quá số tổng hạn mức tạm ứng của 1 CN: '+ FORMAT(40000000,'#,#', 'vi-VN') +N'. Số tiền vượt là: '+ FORMAT(ISNULL(@TONG_PGD,0) -ISNULL(@TONG_PGD_HOAN,0)-40000000,'#,#', 'vi-VN')
|
422
|
+ CHAR(10) +
|
423
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
424
|
RETURN '-4'
|
425
|
END
|
426
|
ELSE
|
427
|
BEGIN
|
428
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName NOT IN('TGD','HQDT')))
|
429
|
BEGIN
|
430
|
ROLLBACK TRANSACTION
|
431
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
432
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
433
|
--+ CHAR(10) +
|
434
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
435
|
+ CHAR(10) + CHAR(13) +
|
436
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
437
|
+ CHAR(10) +
|
438
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
439
|
RETURN '-4'
|
440
|
END
|
441
|
ELSE
|
442
|
BEGIN
|
443
|
ROLLBACK TRANSACTION
|
444
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
445
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
446
|
--+ CHAR(10) +
|
447
|
--N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
448
|
--+ CHAR(10) + CHAR(13) +
|
449
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
450
|
+ CHAR(10) +
|
451
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
452
|
RETURN '-4'
|
453
|
END
|
454
|
END
|
455
|
END
|
456
|
ELSE IF(@BRANCH_TYPE ='PGD')
|
457
|
BEGIN
|
458
|
IF(ISNULL(@TONG_PGD,0) -ISNULL(@TONG_PGD_HOAN,0) > 10000000)
|
459
|
BEGIN
|
460
|
ROLLBACK TRANSACTION
|
461
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
462
|
N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')+ CHAR(10) +
|
463
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
464
|
+ CHAR(10) + CHAR(13) +
|
465
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
466
|
+ CHAR(10) +
|
467
|
N'Số tiền tạm ứng đang vượt quá số tổng hạn mức tạm ứng của 1 PGD: '+ FORMAT(10000000,'#,#', 'vi-VN') +N'. Số tiền vượt là: '+ FORMAT(ISNULL(@TONG_PGD,0) -ISNULL(@TONG_PGD_HOAN,0)-10000000,'#,#', 'vi-VN')
|
468
|
+ CHAR(10) +
|
469
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
470
|
RETURN '-4'
|
471
|
END
|
472
|
ELSE
|
473
|
BEGIN
|
474
|
ROLLBACK TRANSACTION
|
475
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
476
|
N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
477
|
+ CHAR(10) +
|
478
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
479
|
+ CHAR(10) + CHAR(13) +
|
480
|
N'Số dư tạm ứng lũy kế của đơn vị tính tới thời điểm này là : '+ FORMAT(@LIMIT_REMAIN+@REQ_AMT,'#,#', 'vi-VN')
|
481
|
+ CHAR(10) +
|
482
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
483
|
RETURN '-4'
|
484
|
END
|
485
|
END
|
486
|
END
|
487
|
END
|
488
|
-- NEU THOA MAN CAC DIEU KIEN SE TIEN HANH DUYET
|
489
|
END -- END DU HAN MUC DUYET
|
490
|
-- THOA MAN CAC DIEU KIEN SE TIEN HANH DUYET
|
491
|
ELSE IF(@p_AUTH_STATUS='A')
|
492
|
BEGIN
|
493
|
DECLARE @l_REQ_AMT DECIMAL(18,0) = (SELECT REQ_AMT*ISNULL(RATE,1) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
|
494
|
SET @LIMIT_AMT =(SELECT LIMIT_VALUE FROM TL_SYSROLE_LIMIT WHERE ROLE_ID=@ROLE_ID AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
495
|
--
|
496
|
SET @LIMIT_ONE_OF =(SELECT LIMIT_PERCENT FROM TL_SYSROLE_LIMIT WHERE ROLE_ID=@ROLE_ID AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
497
|
IF(@ROLE_ID ='GDK' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
498
|
BEGIN
|
499
|
SET @LIMIT_AMT =6000000000 -- TANG LEN 6 TY ROLE HAN MUC GDK
|
500
|
SET @LIMIT_ONE_OF =1000000000 --- TANG LEN 1 TY 1 LAN VOI GDK HO TRO
|
501
|
|
502
|
END
|
503
|
IF(@ROLE_ID ='PTGD' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
504
|
BEGIN
|
505
|
SET @LIMIT_AMT =4000000000 --- TANG LEN 4 TY
|
506
|
SET @LIMIT_ONE_OF =500000000
|
507
|
IF(EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD ='PTGD' AND ROLE_NEW ='TGD'
|
508
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
509
|
BEGIN
|
510
|
SET @LIMIT_AMT =(SELECT LIMIT_VALUE FROM TL_SYSROLE_LIMIT WHERE ROLE_ID='TGD' AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
511
|
SET @LIMIT_ONE_OF =(SELECT LIMIT_PERCENT FROM TL_SYSROLE_LIMIT WHERE ROLE_ID='TGD' AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
512
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID))
|
513
|
BEGIN
|
514
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE ROLE_USER ='PTGD' AND REQ_ID =@p_REQ_PAY_ID
|
515
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='C',ROLE_USER ='PTGD' WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID
|
516
|
SET @ROLE_ID ='TGD'
|
517
|
END
|
518
|
END
|
519
|
END
|
520
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
521
|
SET AUTH_STATUS='A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE(), AUTH_STATUS_KT='U', IS_AUTHORITY = @p_IS_AUTHORITY
|
522
|
WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
523
|
--- CAP NHAT LAI TINH TRANG TRONG REQUEST_PROCESS
|
524
|
DECLARE @PROCESS_CURR VARCHAR(5)
|
525
|
SET @PROCESS_CURR =(SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID AND ROLE_USER =@ROLE_ID)
|
526
|
IF(ISNULL(@p_PROCESS_NOTES,'') <> '')
|
527
|
BEGIN
|
528
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,@PROCESS_CURR,@p_CHECKER_ID, GETDATE(),(SELECT ROLE_DESC + N': ' + ISNULL(@p_PROCESS_NOTES,'') FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID),N'Các cấp phê duyệt theo hạn mức')
|
529
|
END
|
530
|
ELSE
|
531
|
BEGIN
|
532
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,@PROCESS_CURR,@p_CHECKER_ID, GETDATE(),(SELECT ROLE_DESC + N' duyệt' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID),N'Các cấp phê duyệt theo hạn mức')
|
533
|
END
|
534
|
--- CAP NHAT PROCESS CUA PHIEU DE NGHI TAM UNG LA DA DUYET
|
535
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS=@PROCESS_CURR WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
536
|
--
|
537
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='A', NOTES = (SELECT ROLE_DESC + N' duyệt' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID) WHERE ROLE_USER =@ROLE_ID AND REQ_ID = @p_REQ_PAY_ID
|
538
|
-- NEU LA HOI SO THI LAY TONG SO TIEN TAM UNG CUA CAC PHONG BAN CHUNG VOI KHOI CUA PHIEU DANG DUOC DUYET
|
539
|
SET @TONG_PGD =(SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE BRANCH_ID = @BRANCH_RQ
|
540
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A') + @REQ_AMT
|
541
|
SET @TONG_PGD_HOAN =(
|
542
|
--SELECT (SUM(B.AMT_USE) - SUM(B.AMT_ADD) + SUM (B.AMT_REVERT))
|
543
|
--FROM TR_REQ_PAYMENT_DT B
|
544
|
--INNER JOIN TR_REQ_PAYMENT A ON B.PAY_ID = A.REQ_PAY_ID
|
545
|
--INNER JOIN TR_REQ_ADVANCE_PAYMENT C ON C.REQ_PAY_ID = B.PAY_ADV_ID
|
546
|
SELECT SUM (ISNULL(A.PAY_AMT,0)) FROM TR_REQ_ADVANCE_PAYMENT A
|
547
|
WHERE A.BRANCH_ID = @BRANCH_RQ
|
548
|
AND A.AUTH_STATUS_KT ='A' AND A.REQ_TYPE='I')
|
549
|
IF(@BRANCH_TYPE='HS')
|
550
|
BEGIN
|
551
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
552
|
DEP_ID IN
|
553
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
554
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
555
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
556
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
557
|
SET @TOTAL_PAYBACK =
|
558
|
ISNULL(
|
559
|
(
|
560
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
561
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
562
|
WHERE C.DEP_ID IN
|
563
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
564
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
565
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_ID)
|
566
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
567
|
),0)
|
568
|
END
|
569
|
--- BO SUNG NEU RIENG PHONG THUONG HIEU VA TRUYEN THONG --- 2021824
|
570
|
IF(@BRANCH_TYPE='HS' AND @DEP_CODE_NEXT ='0690405' )
|
571
|
BEGIN
|
572
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
573
|
DEP_ID IN
|
574
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
575
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
576
|
SET @TOTAL_PAYBACK =
|
577
|
ISNULL(
|
578
|
(
|
579
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
580
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
581
|
WHERE C.DEP_ID IN
|
582
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
583
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
584
|
),0)
|
585
|
END
|
586
|
--- END
|
587
|
-- NEU PHIEU DUOC TAO KHAC VOI HOI SO THI TIEN HANH TINH TONG SO TIEN TAM UNG CUA CN VA PHONG GIAO DICH TRUC THUOC
|
588
|
-- NEU PHIEU DUOC TAO KHAC VOI HOI SO THI TIEN HANH TINH TONG SO TIEN TAM UNG CUA CN VA PHONG GIAO DICH TRUC THUOC
|
589
|
ELSE IF(@BRANCH_TYPE <>'HS')
|
590
|
BEGIN
|
591
|
SET @TOTAL_ADVANCE =(SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE BRANCH_ID IN (SELECT BRANCH_ID FROM @tmp_CN)
|
592
|
AND REQ_TYPE ='I' AND AUTH_STATUS='A')
|
593
|
SET @TOTAL_PAYBACK =
|
594
|
(
|
595
|
SELECT (SUM(ISNULL(B.PAY_AMT,0)))
|
596
|
FROM TR_REQ_ADVANCE_PAYMENT B
|
597
|
WHERE B.BRANCH_ID IN
|
598
|
(SELECT BRANCH_ID FROM @tmp_CN)
|
599
|
AND B.AUTH_STATUS_KT ='A' AND B.REQ_TYPE='I'
|
600
|
)
|
601
|
END
|
602
|
SET @LIMIT_REMAIN =ISNULL(@TOTAL_ADVANCE,0) - ISNULL(@TOTAL_PAYBACK,0)
|
603
|
--- INSERT VAO BANG LOG
|
604
|
INSERT INTO TR_REQ_ADVANCE_LIMIT_LOG VALUES (@p_REQ_PAY_ID,@LIMIT_REMAIN,GETDATE())
|
605
|
----
|
606
|
END
|
607
|
--ELSE IF (@p_AUTH_STATUS='T')
|
608
|
--BEGIN
|
609
|
---- NEU AUTH_STATUS = T LA THU KI TGD / HDQT
|
610
|
-- IF( @ROLE_ID ='TKTGD')
|
611
|
-- BEGIN
|
612
|
-- UPDATE PL_REQUEST_PROCESS SET STATUS ='C' WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID
|
613
|
-- UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE ROLE_USER ='TKTGD' AND REQ_ID =@p_REQ_PAY_ID
|
614
|
-- INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
615
|
-- VALUES(@p_REQ_PAY_ID,'TKTGD',@p_CHECKER_ID,GETDATE(), N'Thư kí văn phòng Tổng Giám Đốc đã phê duyệt',N'Thư kí văn phòng Tổng Giám Đốc phê duyệt')
|
616
|
-- END
|
617
|
-- ELSE IF( @ROLE_ID ='TKHDQT')
|
618
|
-- BEGIN
|
619
|
-- UPDATE PL_REQUEST_PROCESS SET STATUS ='C' WHERE ROLE_USER ='HDQT' AND REQ_ID =@p_REQ_PAY_ID
|
620
|
-- UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE ROLE_USER ='TKHDQT' AND REQ_ID =@p_REQ_PAY_ID
|
621
|
-- INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
622
|
-- VALUES(@p_REQ_PAY_ID,'TKHDQT',@p_CHECKER_ID,GETDATE(), N'Thư kí văn phòng Hội Đồng Quản Trị đã phê duyệt',N'Thư kí văn phòng Hội Đồng Quản Trị phê duyệt')
|
623
|
-- END
|
624
|
--ENDr
|
625
|
-- NEW KHONG DU HAN MUC THI BAT DAU XAC NHAN VA DUYET THEO HAN MUC
|
626
|
ELSE -- NEW KHONG DU HAN MUC THI BAT DAU XAC NHAN VA DUYET THEO HAN MUC
|
627
|
BEGIN
|
628
|
DECLARE @t_REQ_AMT DECIMAL(18,0) = (SELECT REQ_AMT*ISNULL(RATE,1) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID)
|
629
|
|
630
|
--- NEU GIAM DOC KHOI VAN CHUA DU HAN MUC THI GIAM DOC KHOI XAC NHAN VÀ TIEP TUC BUOC TIEP THEO LA PHO TONG GIAM DOC
|
631
|
DECLARE @MAX_STEP INT, @NEXT_ROLE VARCHAR(20), @MESSAGE NVARCHAR(100), @PROCESS_ID_NEXT VARCHAR(5), @PROCESS_PARENT VARCHAR(5),
|
632
|
@BRANCH_ID_PROC VARCHAR(15), @NEX_ROLE_STEP VARCHAR(25), @CURRENT_PROCESS VARCHAR(15)
|
633
|
|
634
|
SET @CURRENT_PROCESS =(SELECT TOP 1 PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID AND STATUS = 'C' AND ROLE_USER IN (SELECT ROLE_AUTH FROM @TABLE_ROLE))
|
635
|
SET @NEX_ROLE_STEP = (SELECT TOP 1 ROLE_USER FROM PL_REQUEST_PROCESS WHERE PARENT_PROCESS_ID =@CURRENT_PROCESS AND REQ_ID = @p_REQ_PAY_ID )
|
636
|
--SET @MAX_STEP = CONVERT(INT,(SELECT MAX(PROCESS_ID) FROM TR_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID))
|
637
|
SET @PROCESS_ID_NEXT = CONVERT(VARCHAR(5),@CURRENT_PROCESS+1)
|
638
|
--SET @PROCESS_PARENT = CONVERT(VARCHAR(5),@MAX_STEP)
|
639
|
DECLARE @TMP_ROLE TABLE (ROLE_ID VARCHAR(15), BRANCH_ID VARCHAR(15), LIMIT_VALUE DECIMAL(18,0),LIMIT_TYPE VARCHAR(15))
|
640
|
--IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06908%' AND DEP_ID =@p_DEP_ID)
|
641
|
IF(LEFT(@DEP_CODE_NEXT,5) ='06908' OR @DEP_CODE_NEXT ='0690605' OR @DEP_CODE_NEXT LIKE '06906%')
|
642
|
BEGIN
|
643
|
--LUCTV 29032021: KHOI TAI CHINH SE KHONG CO PTGD NUA, CHI CO GDK TAI CHINH
|
644
|
INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'PTGD'
|
645
|
--INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK'
|
646
|
END
|
647
|
ELSE
|
648
|
BEGIN
|
649
|
IF( @DEP_CODE_NEXT ='0690405')
|
650
|
BEGIN
|
651
|
--LUCTV 29032021: KHOI TAI CHINH SE KHONG CO PTGD NUA, CHI CO GDK TAI CHINH
|
652
|
INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <> 'GDK'
|
653
|
--INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK'
|
654
|
END
|
655
|
--ELSE IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06910%' AND DEP_ID =@p_DEP_ID)
|
656
|
ELSE IF(LEFT(@DEP_CODE_NEXT,5) ='06910')
|
657
|
BEGIN
|
658
|
INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK'
|
659
|
END
|
660
|
--ELSE IF (EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06900%' AND DEP_ID =@p_DEP_ID) OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06901%' AND DEP_ID =@p_DEP_ID)
|
661
|
--OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06902%' AND DEP_ID =@p_DEP_ID) OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06903%' AND DEP_ID =@p_DEP_ID)
|
662
|
--OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06904%' AND DEP_ID =@p_DEP_ID) OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06920%' AND DEP_ID =@p_DEP_ID))
|
663
|
ELSE IF((LEFT(@DEP_CODE_NEXT,5) ='06900') OR (LEFT(@DEP_CODE_NEXT,5)) ='06901' OR (LEFT(@DEP_CODE_NEXT,5))='06904'
|
664
|
OR (LEFT(@DEP_CODE_NEXT,5))='06902' OR (LEFT(@DEP_CODE_NEXT,5))='06903' OR (LEFT(@DEP_CODE_NEXT,5))='06920' OR (LEFT(@DEP_CODE_NEXT,3))='799' OR (LEFT(@DEP_CODE_NEXT,3))='899')
|
665
|
BEGIN
|
666
|
INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID NOT IN ('GDK','PTGD')
|
667
|
END
|
668
|
--ELSE IF (EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06907%' AND DEP_ID =@p_DEP_ID) OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06909%' AND DEP_ID =@p_DEP_ID)
|
669
|
--OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06911%' AND DEP_ID =@p_DEP_ID) OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06921%' AND DEP_ID =@p_DEP_ID)
|
670
|
--OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06922%' AND DEP_ID =@p_DEP_ID))
|
671
|
ELSE IF((LEFT(@DEP_CODE_NEXT,5) ='06907') OR (LEFT(@DEP_CODE_NEXT,5)) ='06909' OR (LEFT(@DEP_CODE_NEXT,5))='06911'
|
672
|
OR (LEFT(@DEP_CODE_NEXT,5))='06922' OR (LEFT(@DEP_CODE_NEXT,5))='06921' OR (LEFT(@DEP_CODE_NEXT,5))='06920')
|
673
|
BEGIN
|
674
|
INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'PTGD'
|
675
|
END
|
676
|
ELSE
|
677
|
BEGIN
|
678
|
INSERT INTO @TMP_ROLE SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE,A.LIMIT_TYPE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' ORDER BY LIMIT_VALUE
|
679
|
END
|
680
|
END
|
681
|
/*IF(1=1)
|
682
|
BEGIN
|
683
|
ROLLBACK TRANSACTION
|
684
|
select @DEP_CODE_NEXT AS DEP_CODE, * from @TMP_ROLE ORDER BY LIMIT_VALUE
|
685
|
RETURN '-1'
|
686
|
return
|
687
|
END*/
|
688
|
SET @BRANCH_ID_PROC= (SELECT TOP 1 BRANCH_ID FROM @TMP_ROLE WHERE ROLE_ID=@NEXT_ROLE AND LIMIT_TYPE='ADV_PAY')
|
689
|
--print @DEP_CODE_NEXT
|
690
|
--print @BRANCH_ID_PROC
|
691
|
--print @NEX_ROLE_STEP
|
692
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER=@NEX_ROLE_STEP AND REQ_ID= @p_REQ_PAY_ID))
|
693
|
BEGIN
|
694
|
-- doanptt them note khi xac nhan
|
695
|
IF(@p_PROCESS_NOTES IS NULL OR @p_PROCESS_NOTES = '')
|
696
|
BEGIN
|
697
|
SET @p_PROCESS_NOTES = (SELECT TOP 1 ROLE_DESC + N' xác nhận' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID);
|
698
|
END
|
699
|
--SET @NEXT_ROLE =(SELECT TOP 1 ROLE_ID FROM @TMP_ROLE WHERE LIMIT_VALUE >@t_REQ_AMT
|
700
|
SET @NEXT_ROLE =( SELECT TOP 1 ROLE_ID
|
701
|
FROM @TMP_ROLE
|
702
|
WHERE 1 =1
|
703
|
AND ROLE_ID NOT IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID)
|
704
|
AND LIMIT_TYPE ='ADV_PAY' ORDER BY LIMIT_VALUE)
|
705
|
--print @NEXT_ROLE
|
706
|
SET @BRANCH_ID_PROC= (SELECT TOP 1 BRANCH_ID FROM @TMP_ROLE WHERE ROLE_ID=@NEXT_ROLE AND LIMIT_TYPE='ADV_PAY')
|
707
|
SET @MESSAGE = (SELECT TOP 1 N'Đợi '+ ROLE_DESC + N' phê duyệt' FROM TL_SYSROLE WHERE ROLE_ID = @NEXT_ROLE)
|
708
|
INSERT INTO PL_REQUEST_PROCESS (REQ_ID,PROCESS_ID,STATUS,ROLE_USER,BRANCH_ID,CHECKER_ID,APPROVE_DT,PARENT_PROCESS_ID,IS_LEAF, COST_ID, DVDM_ID, NOTES)
|
709
|
VALUES (@p_REQ_PAY_ID,@PROCESS_ID_NEXT,'C',@NEXT_ROLE,@BRANCH_ID_PROC,@NEXT_ROLE,GETDATE(),@PROCESS_PARENT,'Y',NULL,@p_COST_ID,@MESSAGE)
|
710
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,@CURRENT_PROCESS,@p_CHECKER_ID, GETDATE(), @p_PROCESS_NOTES,N'Các cấp phê duyệt theo hạn mức')
|
711
|
END
|
712
|
ELSE
|
713
|
BEGIN
|
714
|
-- doanptt them note khi xac nhan
|
715
|
IF(@p_PROCESS_NOTES IS NULL OR @p_PROCESS_NOTES = '')
|
716
|
BEGIN
|
717
|
SET @p_PROCESS_NOTES = (SELECT TOP 1 ROLE_DESC + N' xác nhận' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID);
|
718
|
END
|
719
|
ELSE
|
720
|
BEGIN
|
721
|
SET @p_PROCESS_NOTES = (SELECT TOP 1 ROLE_DESC + N': ' + @p_PROCESS_NOTES FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID);
|
722
|
END
|
723
|
|
724
|
SET @NEXT_ROLE =@NEX_ROLE_STEP
|
725
|
UPDATE PL_REQUEST_PROCESS SET STATUS='C',DVDM_ID=@p_COST_ID WHERE ROLE_USER =@NEXT_ROLE AND REQ_ID = @p_REQ_PAY_ID
|
726
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,@CURRENT_PROCESS,@p_CHECKER_ID, GETDATE(), @p_PROCESS_NOTES,N'Các cấp phê duyệt theo hạn mức')
|
727
|
END
|
728
|
--
|
729
|
IF @@Error <> 0 GOTO ABORT
|
730
|
-- UPDATE STATUS CUA STEP HIEN TAI
|
731
|
UPDATE PL_REQUEST_PROCESS SET STATUS='P',IS_LEAF ='N', NOTES = (SELECT TOP 1 ROLE_DESC + N' xác nhận' FROM TL_SYSROLE WHERE ROLE_ID =@ROLE_ID)
|
732
|
WHERE ROLE_USER IN(SELECT * FROM @TABLE_ROLE) AND REQ_ID = @p_REQ_PAY_ID
|
733
|
--INSERT VAO TR_PROCESS
|
734
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS =@CURRENT_PROCESS , AUTH_STATUS='U',DVDM_ID = @p_COST_ID WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
735
|
---
|
736
|
UPDATE PL_REQUEST_PROCESS SET DVDM_ID= @p_COST_ID WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER <>@ROLE_ID
|
737
|
END
|
738
|
END
|
739
|
ELSE
|
740
|
BEGIN
|
741
|
--- NEU LA TAM UNG NHA CUNG CAP THI CHECK XEM KI TAM UNG DO DA HOAN THANH HAY CHUA, NEU DA HOAN THANH THI KHONG CHO DUYET
|
742
|
DECLARE @PAY_ID VARCHAR(15), @SUM_OF_PAY_ID DECIMAL(18,2), @SUM_ADVANCE DECIMAL(18,2),
|
743
|
@AMOUNT DECIMAL(18,2),@AMT_PAY_DO DECIMAL(18,2),@SCH_ID VARCHAR(15),@AMT_ADVANCE DECIMAL(18,0)
|
744
|
DECLARE CUR_SH CURSOR FOR SELECT A.PAY_ID,A.AMT_PAY, A.AMT_PAY_DO,A.SCHEDULE_ID,A.AMT_ADVANCE FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID= @p_REQ_PAY_ID
|
745
|
OPEN CUR_SH
|
746
|
FETCH NEXT FROM CUR_SH INTO @PAY_ID,@AMOUNT,@AMT_PAY_DO,@SCH_ID,@AMT_ADVANCE
|
747
|
WHILE @@FETCH_STATUS =0
|
748
|
BEGIN
|
749
|
SET @SUM_OF_PAY_ID =(SELECT TOP 1 SUM(AMT_PAY_DO) FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND AUTH_STATUS_KT='A')
|
750
|
SET @SUM_ADVANCE =(SELECT TOP 1 SUM(AMT_ADVANCE) FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND AUTH_STATUS_KT='A')
|
751
|
IF(@SUM_OF_PAY_ID +@AMT_PAY_DO >@AMOUNT)
|
752
|
BEGIN
|
753
|
ROLLBACK TRANSACTION
|
754
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Số tiền tạm ứng đã vượt mức số tiền còn lại cần phải thanh toán' ErrorDesc
|
755
|
RETURN '-1'
|
756
|
END
|
757
|
IF(@SUM_OF_PAY_ID+@AMT_PAY_DO+@SUM_ADVANCE < @AMOUNT)
|
758
|
BEGIN
|
759
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTU' WHERE SCHEDULE_ID=@SCH_ID
|
760
|
END
|
761
|
ELSE IF(@SUM_OF_PAY_ID+@AMT_PAY_DO+@SUM_ADVANCE = @AMOUNT)
|
762
|
BEGIN
|
763
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTT' WHERE SCHEDULE_ID=@SCH_ID
|
764
|
END
|
765
|
ELSE IF(@SUM_OF_PAY_ID=0 AND @SUM_ADVANCE =0 )
|
766
|
BEGIN
|
767
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='CTT' WHERE SCHEDULE_ID=@SCH_ID
|
768
|
END
|
769
|
FETCH NEXT FROM CUR_SH INTO @PAY_ID,@AMOUNT,@AMT_PAY_DO,@SCH_ID,@AMT_ADVANCE
|
770
|
END
|
771
|
CLOSE CUR_SH
|
772
|
DEALLOCATE CUR_SH
|
773
|
|
774
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS='A', CHECKER_ID=@p_CHECKER_ID, APPROVE_DT = GETDATE(),AUTH_STATUS_KT='U' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
775
|
UPDATE PL_REQUEST_PROCESS SET [STATUS] ='A' WHERE [STATUS] ='C' AND REQ_ID =@p_REQ_PAY_ID
|
776
|
SET @p_AUTH_STATUS ='A'
|
777
|
--- INSERT 1 DONG VAO PL_PROCESS
|
778
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
779
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
780
|
VALUES(@p_REQ_PAY_ID,'APP',@p_CHECKER_ID,GETDATE(), N'Trưởng đơn vị đã phê duyệt',N'Trưởng đơn vị phê duyệt')
|
781
|
END
|
782
|
IF @@Error <> 0 GOTO ABORT
|
783
|
COMMIT TRANSACTION
|
784
|
IF(@p_AUTH_STATUS='A')
|
785
|
BEGIN
|
786
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'12345' +@DEP_CODE_NEXT ErrorDesc
|
787
|
RETURN '0'
|
788
|
END
|
789
|
--ELSE IF(@p_AUTH_STATUS='T' AND @ROLE_ID ='TKTGD')
|
790
|
--BEGIN
|
791
|
-- SELECT '5' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Thư kí văn phòng Tổng Giám Đốc phê duyệt phiếu đề nghị tạm ứng số: ' +(SELECT TOP 1 REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' thành công' +@DEP_CODE_NEXT ErrorDesc
|
792
|
-- RETURN '5'
|
793
|
--END
|
794
|
--ELSE IF(@p_AUTH_STATUS='T' AND @ROLE_ID ='TKHDQT')
|
795
|
--BEGIN
|
796
|
-- SELECT '5' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Thư kí văn phòng Hội Đồng Quản Trị phê duyệt phiếu đề nghị tạm ứng số: ' +(SELECT TOP 1 REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)+ N' thành công' +@DEP_CODE_NEXT ErrorDesc
|
797
|
-- RETURN '5'
|
798
|
--END
|
799
|
ELSE
|
800
|
BEGIN
|
801
|
SELECT '1' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,'Phiếu đề nghị tạm ứng số: ' + @p_REQ_PAY_ID + ' đã được phê duyệt thành công. Vui lòng đợi bộ phận kế toán xử lý phiếu.' ErrorDesc
|
802
|
RETURN '1'
|
803
|
END
|
804
|
ABORT:
|
805
|
BEGIN
|
806
|
ROLLBACK TRANSACTION
|
807
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
808
|
RETURN '-1'
|
809
|
END
|
810
|
|
811
|
GO
|
812
|
|
813
|
ALTER PROCEDURE [dbo].[TR_CHECK_ROLE_APPROVE]
|
814
|
@TYPE VARCHAR(15) = NULL,
|
815
|
@p_REQ_ID varchar(15) = NULL,
|
816
|
@p_USER_LOGIN varchar(15) = NULL
|
817
|
AS
|
818
|
BEGIN TRANSACTION
|
819
|
IF(@TYPE <> 'ADV_PAY')
|
820
|
BEGIN
|
821
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN AND TYPE_JOB IN ('TP','KS')))
|
822
|
BEGIN
|
823
|
ROLLBACK TRANSACTION
|
824
|
SELECT '0' as Result, '' ErrorDesc
|
825
|
RETURN '0'
|
826
|
END
|
827
|
END
|
828
|
-- KHAI BAO THEM ROLE NHAN UY QUYEN
|
829
|
DECLARE @TABLE_ROLE TABLE (ROLE_AUTH VARCHAR(50))
|
830
|
DECLARE @TABLE_DEP TABLE (ROLE_NEW VARCHAR(50), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20))
|
831
|
DECLARE @ROLE_ID VARCHAR(50)
|
832
|
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME =@p_USER_LOGIN)
|
833
|
INSERT INTO @TABLE_ROLE SELECT @ROLE_ID
|
834
|
INSERT INTO @TABLE_ROLE SELECT ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@p_USER_LOGIN AND
|
835
|
(CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR (EFF_DATE IS NULL OR EXP_DATE IS NULL))
|
836
|
|
837
|
INSERT INTO @TABLE_DEP SELECT ROLE_NEW, BRANCH_ID, DEP_ID FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =@ROLE_ID AND TLNAME =@p_USER_LOGIN AND
|
838
|
(CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) AND CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR (EFF_DATE IS NULL OR EXP_DATE IS NULL))
|
839
|
|
840
|
DECLARE @AUTHOR TABLE
|
841
|
(
|
842
|
ROLE_ID VARCHAR(20),
|
843
|
BRANCH_ID VARCHAR(20),
|
844
|
DEP_ID VARCHAR(20),
|
845
|
BRANCH_TYPE VARCHAR(20)
|
846
|
)
|
847
|
DECLARE @AUTHOR_DVDM TABLE
|
848
|
(
|
849
|
ROLE_ID VARCHAR(20),
|
850
|
BRANCH_ID VARCHAR(20),
|
851
|
DEP_ID VARCHAR(20),
|
852
|
DVDM_ID VARCHAR(20)
|
853
|
)
|
854
|
|
855
|
DECLARE @AUTHOR_DMMS TABLE
|
856
|
(
|
857
|
ROLE_ID VARCHAR(20),
|
858
|
BRANCH_ID VARCHAR(20),
|
859
|
DEP_ID VARCHAR(20),
|
860
|
DMMS_ID VARCHAR(20)
|
861
|
)
|
862
|
|
863
|
INSERT INTO @AUTHOR
|
864
|
(
|
865
|
ROLE_ID,
|
866
|
BRANCH_ID,
|
867
|
DEP_ID,
|
868
|
BRANCH_TYPE
|
869
|
)
|
870
|
SELECT RoleName,TLSUBBRID,SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_USER TU
|
871
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
|
872
|
WHERE TLNANME=@p_USER_LOGIN
|
873
|
UNION ALL
|
874
|
SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_USER TU
|
875
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
876
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
|
877
|
WHERE TLNANME=@p_USER_LOGIN
|
878
|
UNION ALL
|
879
|
SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_SYS_ROLE_MAPPING TM1
|
880
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
|
881
|
WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
882
|
UNION ALL
|
883
|
SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,CB.BRANCH_TYPE FROM dbo.TL_SYS_ROLE_MAPPING TM1
|
884
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
885
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
|
886
|
WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
887
|
|
888
|
INSERT INTO @AUTHOR_DVDM
|
889
|
(
|
890
|
ROLE_ID,
|
891
|
BRANCH_ID,
|
892
|
DEP_ID,
|
893
|
DVDM_ID
|
894
|
)
|
895
|
SELECT TU.RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU
|
896
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
|
897
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
898
|
WHERE TU.TLNANME=@p_USER_LOGIN
|
899
|
UNION ALL
|
900
|
SELECT TM.ROLE_NEW RoleName,TU.TLSUBBRID,TU.SECUR_CODE,PC.DVDM_ID FROM dbo.TL_USER TU
|
901
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.TLSUBBRID AND DT.DEP_ID=TU.SECUR_CODE
|
902
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
903
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
904
|
WHERE TU.TLNANME=@p_USER_LOGIN
|
905
|
UNION ALL
|
906
|
SELECT TU.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU
|
907
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
|
908
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
909
|
WHERE TU.TLNAME=@p_USER_LOGIN AND CAST(EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
910
|
UNION ALL
|
911
|
SELECT TM.ROLE_NEW RoleName,TU.BRANCH_ID TLSUBBRID,TU.DEP_ID SECUR_CODE,PC.DVDM_ID FROM dbo.TL_SYS_ROLE_MAPPING TU
|
912
|
LEFT JOIN dbo.PL_COSTCENTER_DT DT ON DT.BRANCH_ID=TU.BRANCH_ID AND DT.DEP_ID=TU.DEP_ID
|
913
|
LEFT JOIN dbo.PL_COSTCENTER PC ON PC.COST_ID=DT.COST_ID
|
914
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
915
|
WHERE TU.TLNAME=@p_USER_LOGIN AND CAST(TU.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
916
|
|
917
|
INSERT INTO @AUTHOR_DMMS
|
918
|
(
|
919
|
ROLE_ID,
|
920
|
BRANCH_ID,
|
921
|
DEP_ID,
|
922
|
DMMS_ID
|
923
|
)
|
924
|
SELECT RoleName,TLSUBBRID,SECUR_CODE,MS.DMMS_ID FROM dbo.TL_USER TU
|
925
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
|
926
|
LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TU.SECUR_CODE=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
|
927
|
WHERE TLNANME=@p_USER_LOGIN
|
928
|
UNION ALL
|
929
|
SELECT TM.ROLE_NEW RoleName,TLSUBBRID,SECUR_CODE,MS.DMMS_ID FROM dbo.TL_USER TU
|
930
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TU.RoleName AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
931
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TU.TLSUBBRID
|
932
|
LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TU.SECUR_CODE=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
|
933
|
WHERE TLNANME=@p_USER_LOGIN
|
934
|
UNION ALL
|
935
|
SELECT TM1.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,MS.DMMS_ID FROM dbo.TL_SYS_ROLE_MAPPING TM1
|
936
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
|
937
|
LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TM1.DEP_ID=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
|
938
|
WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
939
|
UNION ALL
|
940
|
SELECT TM.ROLE_NEW RoleName,TM1.BRANCH_ID TLSUBBRID,TM1.DEP_ID SECUR_CODE,MS.DMMS_ID FROM dbo.TL_SYS_ROLE_MAPPING TM1
|
941
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING TM ON TM.ROLE_OLD=TM1.ROLE_NEW AND( TM.TLNAME IS NULL OR TM.TLNAME='')
|
942
|
LEFT JOIN dbo.CM_BRANCH CB ON CB.BRANCH_ID=TM1.BRANCH_ID
|
943
|
LEFT JOIN dbo.CM_DMMS MS ON MS.BRANCH_ID = CB.BRANCH_ID AND (TM1.DEP_ID=MS.DEP_ID OR CB.BRANCH_TYPE <>'HS')
|
944
|
WHERE TM1.TLNAME=@p_USER_LOGIN AND CAST(TM1.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
945
|
|
946
|
IF(@TYPE='ADV_PAY')
|
947
|
BEGIN
|
948
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS ='A' AND REQ_PAY_ID =@p_REQ_ID))
|
949
|
BEGIN
|
950
|
ROLLBACK TRANSACTION
|
951
|
SELECT '-1' as Result, N'Phiếu đã duyệt xong. Vui lòng chờ các giao dịch tiếp theo để thực hiện phê duyệt' ErrorDesc
|
952
|
RETURN '-1'
|
953
|
END
|
954
|
|
955
|
-- NEU LA TPHC O HOI SO
|
956
|
IF( EXISTS(SELECT * FROM TL_USER WHERE TLNANME = @p_USER_LOGIN AND TLSUBBRID = 'DV0001' AND DEP_ID = 'DEP000000000014' AND RoleName = 'GDDV'))
|
957
|
--OR EXISTS(SELECT * FROM @TABLE_DEP WHERE ROLE_NEW = 'GDDV' AND BRANCH_ID = 'DV0001' AND DEP_ID = 'DEP000000000014')
|
958
|
BEGIN
|
959
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND PROCESS <> '' AND PROCESS IS NOT NULL))
|
960
|
BEGIN
|
961
|
ROLLBACK TRANSACTION
|
962
|
SELECT '-1' as Result, N'Bạn không có quyền phê duyệt' ErrorDesc
|
963
|
RETURN '-1'
|
964
|
END
|
965
|
END
|
966
|
-- CAC TRUONG HOP CON LAI
|
967
|
ELSE
|
968
|
BEGIN
|
969
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID) )
|
970
|
BEGIN
|
971
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND ROLE_USER IN (SELECT * FROM @TABLE_ROLE)))
|
972
|
BEGIN
|
973
|
ROLLBACK TRANSACTION
|
974
|
SELECT '-1' as Result, N'Bạn không có quyền phê duyệt' ErrorDesc
|
975
|
RETURN '-1'
|
976
|
END
|
977
|
END
|
978
|
END
|
979
|
--doanptt: THU KY DA DIEU PHOI CHO NHAN VIEN XU LY THI KHONG DUOC DUYET NUA
|
980
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_ID AND STATUS_JOB <> 'C' AND TLNAME =@p_USER_LOGIN AND TYPE_JOB IN ('KS')))
|
981
|
BEGIN
|
982
|
ROLLBACK TRANSACTION
|
983
|
SELECT '-1' as Result, N'Phiếu đang được điều phối đến nhân viên xử lý' ErrorDesc
|
984
|
RETURN '-1'
|
985
|
END
|
986
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND BRANCH_CREATE ='DV0001')
|
987
|
--BEGIN
|
988
|
-- IF(EXISTS(SELECT * FROM PL_PROCESS WHERE CHEC))
|
989
|
--END
|
990
|
--ELSE
|
991
|
--BEGIN
|
992
|
-- ROLLBACK TRANSACTION
|
993
|
-- SELECT '-1' as Result, '' ErrorDesc
|
994
|
-- RETURN '-1'
|
995
|
--END
|
996
|
END
|
997
|
ELSE IF(@TYPE='TR_REQ_PAYMENT')
|
998
|
BEGIN
|
999
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE AUTH_STATUS ='A' AND REQ_PAY_ID =@p_REQ_ID))
|
1000
|
BEGIN
|
1001
|
ROLLBACK TRANSACTION
|
1002
|
SELECT '-1' as Result, N'Phiếu đã duyệt xong. Vui lòng chờ các giao dịch tiếp theo để thực hiện phê duyệt' ErrorDesc
|
1003
|
RETURN '-1'
|
1004
|
END
|
1005
|
|
1006
|
IF( (SELECT COUNT(*) FROM @TABLE_ROLE A
|
1007
|
WHERE A.ROLE_AUTH IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD')) = 0)
|
1008
|
BEGIN
|
1009
|
ROLLBACK TRANSACTION
|
1010
|
SELECT '-1' as Result, N'Bạn không có quyền phê duyệt' ErrorDesc
|
1011
|
RETURN '-1'
|
1012
|
END
|
1013
|
END
|
1014
|
ELSE IF (@TYPE ='CORE')
|
1015
|
BEGIN
|
1016
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT ='A') OR EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT ='A'))
|
1017
|
BEGIN
|
1018
|
IF(EXISTS(SELECT * FROM PAY_ENTRIES_POST WHERE TRN_ID =@p_REQ_ID AND ISNULL(REF_NO,'') <> ''))
|
1019
|
BEGIN
|
1020
|
ROLLBACK TRANSACTION
|
1021
|
SELECT '6' as Result, N'Giao dịch được phê duyệt thành công trên AMS và hạch toán thành công vào hệ thống Core FC' ErrorDesc
|
1022
|
RETURN '6'
|
1023
|
END
|
1024
|
ELSE
|
1025
|
BEGIN
|
1026
|
ROLLBACK TRANSACTION
|
1027
|
SELECT '5' as Result, N'Giao dịch được phê duyệt thành công nhưng bắn vào Core FC thất bại. Vui lòng rà soát lại nội dung hạch toán (không được phép chứa kí tự & hoặc kí tự <)' ErrorDesc
|
1028
|
RETURN '5'
|
1029
|
END
|
1030
|
END
|
1031
|
ELSE
|
1032
|
BEGIN
|
1033
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT <> 'A') AND EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_ID AND AUTH_STATUS_KT <>'A'))
|
1034
|
BEGIN
|
1035
|
ROLLBACK TRANSACTION
|
1036
|
SELECT '7' as Result, '' ErrorDesc
|
1037
|
RETURN '7'
|
1038
|
END
|
1039
|
END
|
1040
|
END
|
1041
|
ELSE IF(@TYPE ='CON_LAYOUT')
|
1042
|
BEGIN
|
1043
|
|
1044
|
-- NEU CAP DUYET LA VAN PHONG THU KI TGD THI CO THE DUYET LUON
|
1045
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKTGD' AND
|
1046
|
(@ROLE_ID ='TKTGD' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKTGD'))))
|
1047
|
BEGIN
|
1048
|
ROLLBACK TRANSACTION
|
1049
|
SELECT '0' as Result, '' ErrorDesc
|
1050
|
RETURN '0'
|
1051
|
END
|
1052
|
-- NEU CAP DUYET LA VAN PHONG THU KI HDQT THI CO THE DUYET LUON
|
1053
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKHDQT' AND (@ROLE_ID ='TKHDQT' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKHDQT'))))
|
1054
|
BEGIN
|
1055
|
ROLLBACK TRANSACTION
|
1056
|
SELECT '0' as Result, '' ErrorDesc
|
1057
|
RETURN '0'
|
1058
|
END
|
1059
|
IF(EXISTS(SELECT * FROM CON_LAYOUT_BLUEPRINT WHERE CON_LAYOUT_BLUEPRINT_ID = @p_REQ_ID AND PROCESS_ID ='APPROVE'))
|
1060
|
BEGIN
|
1061
|
|
1062
|
ROLLBACK TRANSACTION
|
1063
|
SELECT '-1' as Result, '' ErrorDesc
|
1064
|
RETURN '-1'
|
1065
|
END
|
1066
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS PR WHERE PR.REQ_ID =@p_REQ_ID AND STATUS ='C' AND (
|
1067
|
EXISTS(SELECT * FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND AUTH.BRANCH_ID=PR.BRANCH_ID AND (AUTH.DEP_ID=PR.DEP_ID OR AUTH.BRANCH_TYPE<>'HS'))
|
1068
|
OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND PR.DVDM_ID=AUTH.DVDM_ID)
|
1069
|
OR ( (PR.BRANCH_ID IS NULL OR PR.BRANCH_ID='') AND (PR.DVDM_ID ='' OR PR.DVDM_ID IS NULL) )
|
1070
|
)))
|
1071
|
BEGIN
|
1072
|
print 'haha'
|
1073
|
ROLLBACK TRANSACTION
|
1074
|
SELECT '-1' as Result, '' ErrorDesc
|
1075
|
RETURN '-1'
|
1076
|
END
|
1077
|
END
|
1078
|
ELSE
|
1079
|
BEGIN
|
1080
|
-- NEU CAP DUYET LA VAN PHONG THU KI TGD THI CO THE DUYET LUON
|
1081
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKTGD' AND
|
1082
|
(@ROLE_ID ='TKTGD' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKTGD'))))
|
1083
|
BEGIN
|
1084
|
ROLLBACK TRANSACTION
|
1085
|
SELECT '0' as Result, '' ErrorDesc
|
1086
|
RETURN '0'
|
1087
|
END
|
1088
|
-- NEU CAP DUYET LA VAN PHONG THU KI HDQT THI CO THE DUYET LUON
|
1089
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='TKHDQT' AND
|
1090
|
(@ROLE_ID ='TKHDQT' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='TKHDQT'))))
|
1091
|
BEGIN
|
1092
|
ROLLBACK TRANSACTION
|
1093
|
SELECT '0' as Result, '' ErrorDesc
|
1094
|
RETURN '0'
|
1095
|
END
|
1096
|
-- NEU CAP DUYET LA DVCM THI CO THE DUYET LUON
|
1097
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='C' AND PROCESS_ID ='DVCM' AND
|
1098
|
(@ROLE_ID ='GDDV' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='GDDV'))))
|
1099
|
BEGIN
|
1100
|
ROLLBACK TRANSACTION
|
1101
|
SELECT '0' as Result, '' ErrorDesc
|
1102
|
RETURN '0'
|
1103
|
END
|
1104
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID =@p_REQ_ID AND STATUS_JOB ='C' AND TLNAME =@p_USER_LOGIN))
|
1105
|
BEGIN
|
1106
|
ROLLBACK TRANSACTION
|
1107
|
SELECT '0' as Result, '' ErrorDesc
|
1108
|
RETURN '0'
|
1109
|
END
|
1110
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS PR WHERE PR.REQ_ID =@p_REQ_ID AND STATUS ='C' AND (
|
1111
|
EXISTS(SELECT * FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND AUTH.BRANCH_ID=PR.BRANCH_ID AND (AUTH.DEP_ID=PR.DEP_ID OR AUTH.BRANCH_TYPE<>'HS'))
|
1112
|
OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND PR.DVDM_ID=AUTH.DVDM_ID)
|
1113
|
OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DMMS AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND EXISTS (SELECT * FROM dbo.TR_REQUEST_DOC A WHERE A.REQ_ID=@p_REQ_ID AND A.DMMS_ID=AUTH.DMMS_ID AND A.PROCESS_ID='DMMS'))
|
1114
|
OR EXISTS(SELECT AUTH.ROLE_ID FROM @AUTHOR_DVDM AUTH WHERE AUTH.ROLE_ID=PR.ROLE_USER AND EXISTS (SELECT * FROM dbo.TR_REQUEST_DOC A WHERE A.REQ_ID=@p_REQ_ID AND A.DMMS_ID=AUTH.DVDM_ID AND A.PROCESS_ID='DMMS'))
|
1115
|
OR EXISTS(SELECT ID FROM dbo.PL_REQUEST_PROCESS_CHILD WHERE PL_REQUEST_PROCESS_CHILD.PROCESS_ID=PR.ID AND TLNAME=@p_USER_LOGIN AND TYPE_JOB='KS' AND STATUS_JOB='C')
|
1116
|
OR ((PR.BRANCH_ID IS NULL OR PR.BRANCH_ID='') AND (PR.DVDM_ID ='' OR PR.DVDM_ID IS NULL) AND EXISTS(SELECT * FROM @AUTHOR AUTH WHERE AUTH.ROLE_ID = PR.ROLE_USER))
|
1117
|
)))
|
1118
|
BEGIN
|
1119
|
ROLLBACK TRANSACTION
|
1120
|
SELECT '-1' as Result, '' ErrorDesc
|
1121
|
RETURN '-1'
|
1122
|
END
|
1123
|
IF(EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='APPROVE'))
|
1124
|
BEGIN
|
1125
|
ROLLBACK TRANSACTION
|
1126
|
SELECT '-1' as Result, '' ErrorDesc
|
1127
|
RETURN '-1'
|
1128
|
END
|
1129
|
IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND PROCESS_ID ='APPROVE'))
|
1130
|
BEGIN
|
1131
|
ROLLBACK TRANSACTION
|
1132
|
SELECT '-1' as Result, '' ErrorDesc
|
1133
|
RETURN '-1'
|
1134
|
END
|
1135
|
|
1136
|
-- GiaNT
|
1137
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID AND STATUS ='P' AND PROCESS_ID ='KT' AND
|
1138
|
(@ROLE_ID ='KSV' OR EXISTS(SELECT * FROM @TABLE_ROLE WHERE ROLE_AUTH ='KSV'))))
|
1139
|
BEGIN
|
1140
|
ROLLBACK TRANSACTION
|
1141
|
SELECT '-1' as Result, '' ErrorDesc
|
1142
|
RETURN '-1'
|
1143
|
END
|
1144
|
END
|
1145
|
COMMIT TRANSACTION
|
1146
|
print 'haha'
|
1147
|
SELECT '0' as Result, '' ErrorDesc
|
1148
|
RETURN '0'
|
1149
|
|
1150
|
ABORT:
|
1151
|
BEGIN
|
1152
|
ROLLBACK TRANSACTION
|
1153
|
SELECT '-1' as Result, '' ErrorDesc
|
1154
|
RETURN '-1'
|
1155
|
End
|
1156
|
|
1157
|
GO
|
1158
|
|
1159
|
ALTER PROCEDURE [dbo].[TR_REQ_PAY_DETAIL]
|
1160
|
@p_REQ_PAY_ID VARCHAR(15) = NULL
|
1161
|
AS
|
1162
|
BEGIN
|
1163
|
|
1164
|
DECLARE @TABLE_RETURN_01 TABLE ([NAME] NVARCHAR(500))
|
1165
|
DECLARE @TABLE_RETURN_01_DT TABLE (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(500))
|
1166
|
DECLARE @TABLE_RETURN_02 TABLE ([NAME] NVARCHAR(250))
|
1167
|
DECLARE @TABLE_RETURN_02_DT TABLE (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(500))
|
1168
|
DECLARE @TABLE_RETURN_03 TABLE (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(500), AMT DECIMAL(18,2))
|
1169
|
DECLARE @TABLE_RETURN_04 TABLE (IND INT IDENTITY(1,1) NOT NULL,[NAME] NVARCHAR(500), AMT DECIMAL(18,2))
|
1170
|
DECLARE @TABLE_RETURN_06 TABLE ([NAME] NVARCHAR(500), AMT DECIMAL(18,2))
|
1171
|
DECLARE @INDEX INT =1
|
1172
|
DECLARE @INDEX_TT INT =0
|
1173
|
DECLARE @HINHTHUC_CK NVARCHAR(100)
|
1174
|
DECLARE @CHUOI NVARCHAR(180)
|
1175
|
|
1176
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='1'))
|
1177
|
BEGIN
|
1178
|
SET @INDEX_TT = @INDEX_TT+1
|
1179
|
--INSERT INTO @TABLE_RETURN
|
1180
|
--SELECT N'Tiền mặt' AS PHUONG_THUC, ISNULL(SUM (TOTAL_AMT),0) AS T1 FROM TR_REQ_PAY_METHOD
|
1181
|
--WHERE REQ_PAY_TYPE ='1' AND REQ_PAY_ID = @p_REQ_PAY_ID
|
1182
|
|
1183
|
INSERT INTO @TABLE_RETURN_03
|
1184
|
SELECT N'. Người nhận: '+ ACC_NAME + CHAR(10) + N' CMND số: ' + ACC_NO + char(10) + N' Được cấp bởi: '+ ISSUED_BY + N' ngày cấp: '+ CONVERT(VARCHAR,ISSUED_DT,103) AS ACC_NAME, SUM(TOTAL_AMT) AS T2
|
1185
|
FROM TR_REQ_PAY_METHOD
|
1186
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='1'
|
1187
|
GROUP BY ACC_NO, ACC_NAME, ISSUED_BY, ISSUED_DT
|
1188
|
|
1189
|
-- INSERT BANG TAM THE HIEN SO TIEN
|
1190
|
INSERT INTO @TABLE_RETURN_04
|
1191
|
SELECT 'N'+ CHAR(10) + 'D'+char(10) AS ACC_NAME, SUM(TOTAL_AMT) AS T2
|
1192
|
FROM TR_REQ_PAY_METHOD
|
1193
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE ='1'
|
1194
|
GROUP BY ACC_NO, ACC_NAME, ISSUED_BY, ISSUED_DT
|
1195
|
END
|
1196
|
|
1197
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE <> '1'))
|
1198
|
BEGIN
|
1199
|
SET @INDEX_TT = @INDEX_TT+1
|
1200
|
--INSERT INTO @TABLE_RETURN
|
1201
|
--SELECT N'Chuyển khoản' AS PHUONG_THUC,ISNULL(SUM (TOTAL_AMT),0) AS T3 FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_TYPE ='0' AND REQ_PAY_ID = @p_REQ_PAY_ID
|
1202
|
|
1203
|
INSERT INTO @TABLE_RETURN_03
|
1204
|
SELECT CASE WHEN TYPE_TRANSFER ='R' AND TYPE_TRANSFER IS NOT NULL AND TYPE_TRANSFER <>'' AND ISNULL(SUB_ISSUED_BY, '') = '' THEN (N'. Trích từ tài khoản: '+ ACC_NAME + CHAR(10)+ N' Số tài khoản: ' + ACC_NO + char(10) + N' Tại ngân hàng: '+ ISSUED_BY)
|
1205
|
WHEN TYPE_TRANSFER ='R' AND TYPE_TRANSFER IS NOT NULL AND TYPE_TRANSFER <>'' AND ISNULL(SUB_ISSUED_BY, '') <> '' THEN (N'. Trích từ tài khoản: '+ ACC_NAME + CHAR(10)+ N' Số tài khoản: ' + ACC_NO + char(10) + N' Tại ngân hàng: '+ ISSUED_BY + ' - ' + SUB_ISSUED_BY )
|
1206
|
WHEN TYPE_TRANSFER <> 'R' AND ISNULL(TYPE_TRANSFER, '') <> '' AND ISNULL(SUB_ISSUED_BY, '') <> '' THEN (N'. Đơn vị thụ hưởng: '+ ACC_NAME + CHAR(10)+ N' Số tài khoản: ' + ACC_NO + char(10) + N' Tại ngân hàng: '+ ISSUED_BY + ' - ' + SUB_ISSUED_BY)
|
1207
|
ELSE (N'. Đơn vị thụ hưởng: '+ ACC_NAME + CHAR(10)+ N' Số tài khoản: ' + ACC_NO + char(10) + N' Tại ngân hàng: '+ ISSUED_BY)
|
1208
|
END AS ACC_NAME,
|
1209
|
SUM(TOTAL_AMT)
|
1210
|
AS T4
|
1211
|
FROM TR_REQ_PAY_METHOD
|
1212
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE <>'1'
|
1213
|
GROUP BY ACC_NO, ACC_NAME, ISSUED_BY,TYPE_TRANSFER , SUB_ISSUED_BY
|
1214
|
|
1215
|
-- INSERT BANG TAM THE HIEN SO TIEN
|
1216
|
INSERT INTO @TABLE_RETURN_04
|
1217
|
SELECT 'N'+ CHAR(10)+ 'S'+ char(10) AS ACC_NAME, SUM(TOTAL_AMT) AS T4
|
1218
|
FROM TR_REQ_PAY_METHOD
|
1219
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_PAY_TYPE <>'1'
|
1220
|
GROUP BY ACC_NO, ACC_NAME, ISSUED_BY,TYPE_TRANSFER
|
1221
|
END
|
1222
|
|
1223
|
-- KIEM TRA NOI DUNG SU DUNG CHI PHI VA NGAN SACH
|
1224
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID) OR EXISTS(SELECT * FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID) OR EXISTS(SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
1225
|
BEGIN
|
1226
|
--INSERT INTO @TABLE_RETURN_01 VALUES (CONVERT(VARCHAR(15),@INDEX) +N'. Nội dung tạm ứng: ')
|
1227
|
INSERT INTO @TABLE_RETURN_01 VALUES( N'A - Nội dung thanh toán: ')
|
1228
|
--INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.REQ_PAY_REASON FROM TR_REQ_PAY_METHOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1229
|
--INSERT INTO @TABLE_RETURN_06 SELECT 'A', A.TOTAL_AMT FROM TR_REQ_PAY_METHOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1230
|
INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.REASON FROM TR_REQ_PAY_PERIOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1231
|
INSERT INTO @TABLE_RETURN_06 SELECT LEFT(A.REASON,150) + LEFT(A.REASON,30), A.AMT_PAY FROM TR_REQ_PAY_PERIOD A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1232
|
|
1233
|
INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.REQ_PAY_DESC FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1234
|
INSERT INTO @TABLE_RETURN_06 SELECT LEFT(A.REQ_PAY_DESC,150)+ LEFT(A.REQ_PAY_DESC,30), A.AMT_PAY_REAL FROM TR_REQ_PAY_SCHEDULE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1235
|
|
1236
|
INSERT INTO @TABLE_RETURN_01_DT SELECT N'. '+ A.[SERVICE_NAME] FROM TR_REQ_PAY_SERVICE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1237
|
INSERT INTO @TABLE_RETURN_06 SELECT LEFT(A.[SERVICE_NAME],200)+LEFT(A.[SERVICE_NAME],70), A.TOTAL_AMT FROM TR_REQ_PAY_SERVICE A WHERE A.REQ_PAY_ID =@p_REQ_PAY_ID
|
1238
|
END
|
1239
|
|
1240
|
--- HĐ & CHỨNG TỪ ĐÍNH KÈM
|
1241
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID) OR EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
1242
|
BEGIN
|
1243
|
SET @INDEX = @INDEX+1
|
1244
|
--INSERT INTO @TABLE_RETURN_01 SELECT CONVERT(VARCHAR(15),@INDEX)+ N'. Chứng từ đính kèm: '
|
1245
|
INSERT INTO @TABLE_RETURN_02 SELECT N'B - Chứng từ đính kèm: '
|
1246
|
END
|
1247
|
|
1248
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE ='C'))
|
1249
|
BEGIN
|
1250
|
--INSERT INTO @TABLE_RETURN_01 SELECT N'Thông tin hợp đồng đính kèm: '
|
1251
|
INSERT INTO @TABLE_RETURN_02_DT SELECT ' '+ N'. Hợp đồng số ' + REF_CODE + ISNULL(N' ngày '+ FORMAT(REF_DT,'dd/MM/yyyy'),'')+ CASE WHEN AMT >0 THEN N', số tiền '+ FORMAT( ISNULL(AMT,0),'#,#', 'vi-VN') ELSE '' END AS T1 FROM TR_REQ_PAY_ATTACH
|
1252
|
WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND [TYPE] ='C'
|
1253
|
END
|
1254
|
|
1255
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE ='R'))
|
1256
|
BEGIN
|
1257
|
--INSERT INTO @TABLE_RETURN_01 SELECT N'Thông tin chứng từ khác đính kèm: '
|
1258
|
INSERT INTO @TABLE_RETURN_02_DT SELECT N'. '+ [DESCRIPTION]+ CASE WHEN AMT >0 THEN N', số tiền '+ FORMAT( ISNULL(AMT,0),'#,#', 'vi-VN') ELSE '' END AS T1 FROM TR_REQ_PAY_ATTACH
|
1259
|
WHERE REQ_PAY_ID = @p_REQ_PAY_ID AND [TYPE] ='R'
|
1260
|
END
|
1261
|
|
1262
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
1263
|
BEGIN
|
1264
|
--INSERT INTO @TABLE_RETURN_01 SELECT N'Thông tin chứng từ khác đính kèm: '
|
1265
|
INSERT INTO @TABLE_RETURN_02_DT SELECT N'. Số hóa đơn '+ HD.INVOICE_NO +ISNULL(N' ngày '+ FORMAT(HD.INVOICE_DT,'dd/MM/yyyy'),'')+ N', số tiền '+ FORMAT( ISNULL(HD.PRICE+HD.VAT,0),'#,#', 'vi-VN') AS T1
|
1266
|
FROM
|
1267
|
(
|
1268
|
SELECT MAX(A.INVOICE_NO) AS INVOICE_NO, MAX(A.INVOICE_DT) AS INVOICE_DT, SUM(A.PRICE) AS PRICE, SUM(A.VAT) AS VAT
|
1269
|
FROM
|
1270
|
TR_REQ_PAY_INVOICE A
|
1271
|
WHERE A.REQ_PAY_ID = @p_REQ_PAY_ID AND A.TYPE_FUNC='HC'
|
1272
|
GROUP BY A.INVOICE_NO,A.INVOICE_NO_SIGN,A.INVOICE_SIGN,A.TAX_NO
|
1273
|
)
|
1274
|
AS HD
|
1275
|
END
|
1276
|
|
1277
|
|
1278
|
DECLARE @ROLE VARCHAR(15)
|
1279
|
DECLARE @TABLE_RETURN_07 TABLE (HDQT NVARCHAR(50),TGD NVARCHAR(50),PTGD NVARCHAR(50),GDK NVARCHAR(50),GDDV NVARCHAR(50))
|
1280
|
DECLARE @GDDV NVARCHAR(50),@GDK NVARCHAR(50),@PTGD NVARCHAR(50),@TGD NVARCHAR(50),@HDQT NVARCHAR(50)
|
1281
|
DECLARE @APPR VARCHAR(15),@APPR1 VARCHAR(15),@APPR2 VARCHAR(15),@APPR3 VARCHAR(15),@APPR4 VARCHAR(15),@APPR5 VARCHAR(15)
|
1282
|
DECLARE @POS NVARCHAR(50),@POS1 NVARCHAR(50),@POS2 NVARCHAR(50),@POS3 NVARCHAR(50),@POS4 NVARCHAR(50)
|
1283
|
DECLARE @DATE NVARCHAR(50),@DATE1 NVARCHAR(50),@DATE2 NVARCHAR(50),@DATE3 NVARCHAR(50),@DATE4 NVARCHAR(50)
|
1284
|
DECLARE @BRANCH_TYPE VARCHAR(15), @BRANCH_RQ VARCHAR(15)
|
1285
|
DECLARE @PROCESS_GDDV VARCHAR(5), @PROCESS_GDK VARCHAR(5), @PROCESS_PTGD VARCHAR(5), @PROCESS_TGD VARCHAR(5), @PROCESS_HDQT VARCHAR(5)
|
1286
|
|
1287
|
-- LAY THONG TIN CAP PHE DUYET
|
1288
|
IF( EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_TYPE ='I'))
|
1289
|
BEGIN
|
1290
|
-- GDDV
|
1291
|
SET @PROCESS_GDDV = (SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER = 'GDDV')
|
1292
|
SET @APPR =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDDV AND
|
1293
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDDV))
|
1294
|
SET @ROLE =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@APPR)
|
1295
|
SET @APPR =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDDV AND
|
1296
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDDV) AND
|
1297
|
@ROLE IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS <>'C'))
|
1298
|
|
1299
|
SET @POS =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR)
|
1300
|
SET @DATE =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDDV
|
1301
|
AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDDV) AND (@APPR IS NOT NULL AND @APPR <>''))
|
1302
|
-------------
|
1303
|
-- GDK
|
1304
|
SET @PROCESS_GDK = (SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER = 'GDK')
|
1305
|
SET @APPR1 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDK AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDK))
|
1306
|
SET @ROLE =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@APPR1)
|
1307
|
SET @APPR1 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDK AND
|
1308
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDK) AND
|
1309
|
@ROLE IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS <>'C'))
|
1310
|
|
1311
|
SET @POS1 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR1)
|
1312
|
SET @DATE1 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDK AND
|
1313
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID = @PROCESS_GDK) AND (@APPR1 IS NOT NULL AND @APPR1 <>''))
|
1314
|
------------
|
1315
|
-- PTGD
|
1316
|
SET @PROCESS_PTGD = (SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER = 'PTGD')
|
1317
|
SET @APPR2 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_PTGD AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_PTGD))
|
1318
|
SET @ROLE =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@APPR2)
|
1319
|
SET @APPR2 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_PTGD AND
|
1320
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_PTGD) AND
|
1321
|
@ROLE IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS <>'C'))
|
1322
|
|
1323
|
SET @POS2 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR2)
|
1324
|
SET @DATE2 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_PTGD AND
|
1325
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_PTGD) AND (@APPR2 IS NOT NULL AND @APPR2 <>''))
|
1326
|
-- TGD
|
1327
|
SET @PROCESS_TGD = (SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER = 'TGD')
|
1328
|
SET @APPR3 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_TGD AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_TGD))
|
1329
|
SET @ROLE =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@APPR3)
|
1330
|
SET @APPR3 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_TGD AND
|
1331
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_TGD) AND
|
1332
|
@ROLE IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS <>'C'))
|
1333
|
|
1334
|
SET @POS3 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR3)
|
1335
|
SET @DATE3 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_TGD
|
1336
|
AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_TGD) AND (@APPR3 IS NOT NULL AND @APPR3 <>''))
|
1337
|
-- HDQT
|
1338
|
SET @PROCESS_HDQT = (SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER = 'HDQT')
|
1339
|
SET @APPR4 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_HDQT AND ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_HDQT))
|
1340
|
SET @ROLE =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@APPR4)
|
1341
|
SET @APPR4 =(SELECT CHECKER_ID FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_HDQT AND
|
1342
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_HDQT) AND
|
1343
|
@ROLE IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID AND STATUS <>'C'))
|
1344
|
SET @POS4 =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR4)
|
1345
|
SET @DATE4 =(SELECT ISNULL( FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt'),'') FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_HDQT AND
|
1346
|
ID =(SELECT MAX(ID) FROM PL_PROCESS WHERE REQ_ID= @p_REQ_PAY_ID AND PROCESS_ID =@PROCESS_HDQT) AND @APPR4 IS NOT NULL AND @APPR4 <>'')
|
1347
|
SET @BRANCH_RQ =(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
1348
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_RQ)
|
1349
|
|
1350
|
IF(@BRANCH_TYPE='CN')
|
1351
|
BEGIN
|
1352
|
SET @DATE =(SELECT FORMAT(APPROVE_DT,'dd/MM/yyyy,hh:mm:ss tt') FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
1353
|
|
1354
|
SET @POS =(SELECT POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN= (SELECT CHECKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
1355
|
|
1356
|
INSERT INTO @TABLE_RETURN_07
|
1357
|
VALUES ( ( SELECT TLFULLNAME
|
1358
|
FROM TL_USER
|
1359
|
WHERE TLNANME = @APPR4),
|
1360
|
(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR3),
|
1361
|
(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR2),
|
1362
|
(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = @APPR1),
|
1363
|
(SELECT TLFULLNAME FROM TL_USER WHERE TLNANME = (SELECT CHECKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)))
|
1364
|
INSERT INTO @TABLE_RETURN_07 VALUES (@POS4,@POS3,@POS2,@POS1,@POS)
|
1365
|
INSERT INTO @TABLE_RETURN_07 VALUES (CASE WHEN @DATE4 <>'' THEN N'Đã chấp thuận '+ @DATE4 ELSE '' END,CASE WHEN @DATE3 <>'' THEN N'Đã chấp thuận '+ @DATE3 ELSE '' END,
|
1366
|
CASE WHEN @DATE2 <>'' THEN N'Đã chấp thuận '+ @DATE2 ELSE '' END,CASE WHEN @DATE1 <>'' THEN N'Đã chấp thuận '+ @DATE1 ELSE '' END,CASE WHEN @DATE <>'' THEN N'Đã chấp thuận '+ @DATE ELSE '' END)
|
1367
|
END
|
1368
|
ELSE
|
1369
|
BEGIN
|
1370
|
INSERT INTO @TABLE_RETURN_07
|
1371
|
VALUES ( ( SELECT TLFULLNAME
|
1372
|
FROM TL_USER
|
1373
|
WHERE TLNANME = @APPR4),
|
1374
|
( SELECT TLFULLNAME
|
1375
|
FROM TL_USER
|
1376
|
WHERE TLNANME = @APPR3),
|
1377
|
( SELECT TLFULLNAME
|
1378
|
FROM TL_USER
|
1379
|
WHERE TLNANME = @APPR2),
|
1380
|
( SELECT TLFULLNAME
|
1381
|
FROM TL_USER
|
1382
|
WHERE TLNANME = @APPR1),
|
1383
|
( SELECT TLFULLNAME
|
1384
|
FROM TL_USER
|
1385
|
WHERE TLNANME = @APPR)
|
1386
|
)
|
1387
|
|
1388
|
INSERT INTO @TABLE_RETURN_07
|
1389
|
VALUES (@POS4,@POS3,@POS2,@POS1,@POS)
|
1390
|
|
1391
|
INSERT INTO @TABLE_RETURN_07
|
1392
|
VALUES ( CASE WHEN @DATE4 <>'' THEN N'Đã chấp thuận '+ @DATE4
|
1393
|
ELSE ''
|
1394
|
END,
|
1395
|
CASE WHEN @DATE3 <>'' THEN N'Đã chấp thuận '+ @DATE3
|
1396
|
ELSE ''
|
1397
|
END,
|
1398
|
CASE WHEN @DATE2 <>'' THEN N'Đã chấp thuận '+ @DATE2
|
1399
|
ELSE ''
|
1400
|
END,
|
1401
|
CASE WHEN @DATE1 <>'' THEN N'Đã chấp thuận '+ @DATE1
|
1402
|
ELSE ''
|
1403
|
END,
|
1404
|
CASE WHEN @DATE <>'' THEN N'Đã chấp thuận '+ @DATE
|
1405
|
ELSE ''
|
1406
|
END
|
1407
|
)
|
1408
|
END
|
1409
|
END
|
1410
|
|
1411
|
SELECT * FROM @TABLE_RETURN_01
|
1412
|
SELECT * FROM @TABLE_RETURN_01_DT
|
1413
|
SELECT * FROM @TABLE_RETURN_02
|
1414
|
SELECT * FROM @TABLE_RETURN_02_DT
|
1415
|
SELECT * FROM @TABLE_RETURN_03
|
1416
|
SELECT * FROM @TABLE_RETURN_04
|
1417
|
SELECT * FROM @TABLE_RETURN_06
|
1418
|
SELECT * FROM @TABLE_RETURN_07
|
1419
|
END
|