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
|
-- NEU LA TAM UNG NOI BO
|
153
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REQ_TYPE='I'))
|
154
|
BEGIN
|
155
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@BRANCH_CREATE) ='HS')
|
156
|
BEGIN
|
157
|
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) =''))
|
158
|
BEGIN
|
159
|
-- doanptt them note khi xac nhan
|
160
|
IF(@p_PROCESS_NOTES IS NULL OR @p_PROCESS_NOTES = '')
|
161
|
BEGIN
|
162
|
SET @p_PROCESS_NOTES = N'Trưởng đơn vị xác nhận phiếu';
|
163
|
END
|
164
|
|
165
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS='0', NOTES ='' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
166
|
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')
|
167
|
COMMIT TRANSACTION
|
168
|
SELECT '1' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'' ErrorDesc
|
169
|
RETURN '1'
|
170
|
END
|
171
|
END
|
172
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER IN (SELECT * FROM @TABLE_ROLE) AND REQ_ID = @p_REQ_PAY_ID))
|
173
|
BEGIN
|
174
|
ROLLBACK TRANSACTION
|
175
|
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
|
176
|
RETURN '-1'
|
177
|
END
|
178
|
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')
|
179
|
BEGIN
|
180
|
ROLLBACK TRANSACTION
|
181
|
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
|
182
|
RETURN '-1'
|
183
|
END
|
184
|
|
185
|
--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'))
|
186
|
--BEGIN
|
187
|
-- ROLLBACK TRANSACTION
|
188
|
-- 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
|
189
|
-- RETURN '-1'
|
190
|
--END
|
191
|
-- KIEM TRA AUTH_STATUS TRUYEN XUONG LA GI, A: DUYET, C: CONFIRM
|
192
|
-- KIEM TRA HAN MUC CON LAI CUA USER VA THONG BAO CHO NGUOI DUYET
|
193
|
IF(@p_AUTH_STATUS='U') -- KIEM TRA HAN MUC CON LAI CUA USER VA THONG BAO CHO NGUOI DUYET
|
194
|
BEGIN
|
195
|
-- KIEM TRA NEU ROLE CHUA CO HAN MUC PHE DUYET THI PHAI THONG BAO
|
196
|
IF(NOT EXISTS(SELECT * FROM TL_SYSROLE_LIMIT WHERE ROLE_ID =@ROLE_ID AND LIMIT_TYPE ='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN))
|
197
|
BEGIN
|
198
|
ROLLBACK TRANSACTION
|
199
|
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
|
200
|
RETURN '-1'
|
201
|
END
|
202
|
-- BAT DAU DUYET THEO NGAN SACH
|
203
|
--- LAY HAN MUC CUA USER
|
204
|
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)
|
205
|
|
206
|
--print @LIMIT_AMT
|
207
|
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)
|
208
|
IF(@ROLE_ID ='GDK' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
209
|
BEGIN
|
210
|
SET @LIMIT_AMT =6000000000 -- TANG LEN 6 TY
|
211
|
SET @LIMIT_ONE_OF =1000000000
|
212
|
|
213
|
END
|
214
|
IF(@ROLE_ID ='PTGD' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
215
|
BEGIN
|
216
|
SET @LIMIT_AMT =4000000000 --- TANG LEN 4 TY
|
217
|
SET @LIMIT_ONE_OF =500000000
|
218
|
IF(EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD ='PTGD' AND ROLE_NEW ='TGD'
|
219
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
220
|
BEGIN
|
221
|
SET @LIMIT_AMT =(SELECT LIMIT_VALUE FROM TL_SYSROLE_LIMIT WHERE ROLE_ID='TGD' AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
222
|
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)
|
223
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID))
|
224
|
BEGIN
|
225
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE ROLE_USER ='PTGD' AND REQ_ID =@p_REQ_PAY_ID
|
226
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='C',ROLE_USER ='PTGD' WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID
|
227
|
SET @ROLE_ID ='TGD'
|
228
|
END
|
229
|
END
|
230
|
|
231
|
END
|
232
|
-- NEU LA HOI SO THI LAY TONG SO TIEN TAM UNG CUA CAC PHONG BAN CHUNG VOI KHOI CUA PHIEU DANG DUOC DUYET
|
233
|
SET @TONG_PGD =(SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE BRANCH_ID = @BRANCH_RQ
|
234
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A') + @REQ_AMT
|
235
|
SET @TONG_PGD_HOAN =(
|
236
|
--SELECT (SUM(B.AMT_USE) - SUM(B.AMT_ADD) + SUM (B.AMT_REVERT))
|
237
|
--FROM TR_REQ_PAYMENT_DT B
|
238
|
--INNER JOIN TR_REQ_PAYMENT A ON B.PAY_ID = A.REQ_PAY_ID
|
239
|
--INNER JOIN TR_REQ_ADVANCE_PAYMENT C ON C.REQ_PAY_ID = B.PAY_ADV_ID
|
240
|
SELECT SUM (ISNULL(A.PAY_AMT,0)) FROM TR_REQ_ADVANCE_PAYMENT A
|
241
|
WHERE A.BRANCH_ID = @BRANCH_RQ
|
242
|
AND A.AUTH_STATUS_KT ='A' AND A.REQ_TYPE='I')
|
243
|
IF(@BRANCH_TYPE='HS')
|
244
|
BEGIN
|
245
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
246
|
DEP_ID IN
|
247
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
248
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
249
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
250
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
251
|
SET @TOTAL_PAYBACK =
|
252
|
ISNULL(
|
253
|
(
|
254
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
255
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
256
|
WHERE C.DEP_ID IN
|
257
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
258
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
259
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
260
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
261
|
),0)
|
262
|
END
|
263
|
--- BO SUNG NEU RIENG PHONG THUONG HIEU VA TRUYEN THONG --- 2021824
|
264
|
IF(@BRANCH_TYPE='HS' AND @DEP_CODE_NEXT ='0690405' )
|
265
|
BEGIN
|
266
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
267
|
DEP_ID IN
|
268
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
269
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
270
|
SET @TOTAL_PAYBACK =
|
271
|
ISNULL(
|
272
|
(
|
273
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
274
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
275
|
WHERE C.DEP_ID IN
|
276
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
277
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
278
|
),0)
|
279
|
PRINT @TOTAL_ADVANCE
|
280
|
PRINT @TOTAL_PAYBACK
|
281
|
END
|
282
|
--- END
|
283
|
-- 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
|
284
|
ELSE IF(@BRANCH_TYPE <>'HS')
|
285
|
BEGIN
|
286
|
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)
|
287
|
AND REQ_TYPE ='I' AND AUTH_STATUS='A')
|
288
|
SET @TOTAL_PAYBACK =
|
289
|
(
|
290
|
SELECT (SUM(ISNULL(B.PAY_AMT,0)))
|
291
|
FROM TR_REQ_ADVANCE_PAYMENT B
|
292
|
WHERE B.BRANCH_ID IN
|
293
|
(SELECT BRANCH_ID FROM @tmp_CN)
|
294
|
AND B.AUTH_STATUS_KT ='A' AND B.REQ_TYPE='I'
|
295
|
)
|
296
|
END
|
297
|
|
298
|
SET @LIMIT_REMAIN =ISNULL(@TOTAL_ADVANCE,0) - ISNULL(@TOTAL_PAYBACK,0)
|
299
|
PRINT @LIMIT_REMAIN
|
300
|
-- KIEM TRA NEU LA CHU TICH HDQT THI PHE DUYET LUON, KHONG CAN XET HAN MUC GI
|
301
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName ='HDQT'))
|
302
|
BEGIN
|
303
|
ROLLBACK TRANSACTION
|
304
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
305
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
306
|
--+ CHAR(10) +
|
307
|
--N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
308
|
--+ CHAR(10) + CHAR(13) +
|
309
|
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')
|
310
|
+ CHAR(10) +
|
311
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
312
|
RETURN '-4'
|
313
|
END
|
314
|
IF(@LIMIT_AMT <(SELECT REQ_AMT * ISNULL(RATE,1) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) + @LIMIT_REMAIN)
|
315
|
BEGIN
|
316
|
ROLLBACK TRANSACTION
|
317
|
SELECT '-2' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
318
|
N'Tổng hạn mức phê duyệt là: '+ FORMAT(@LIMIT_AMT,'#,#', 'vi-VN') + CHAR(10)+
|
319
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
320
|
+ CHAR(10) + CHAR(13)+
|
321
|
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')
|
322
|
+ CHAR(10) +
|
323
|
N'Số tiền tạm ứng đã vượt mức phê duyệt là: '+ FORMAT((@LIMIT_REMAIN +@REQ_AMT) -@LIMIT_AMT,'#,#', 'vi-VN')
|
324
|
+ CHAR(10) +
|
325
|
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
|
326
|
RETURN '-2'
|
327
|
END
|
328
|
--- NEU DU HAN MUC THI THONG BAO DE NGUOI DUYET CAN NHAC CO NEN DUYET PHIEU HAY KHONG
|
329
|
IF(@LIMIT_AMT >=(SELECT REQ_AMT * ISNULL(RATE,1) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) +@LIMIT_REMAIN)
|
330
|
BEGIN
|
331
|
IF(@REQ_AMT >@LIMIT_ONE_OF)
|
332
|
BEGIN
|
333
|
ROLLBACK TRANSACTION
|
334
|
SELECT '-2' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
335
|
N'Tổng hạn mức phê duyệt là: '+ FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
336
|
+ CHAR(10)+
|
337
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
338
|
+ CHAR(10) + CHAR(13) +
|
339
|
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')
|
340
|
+ CHAR(10) +
|
341
|
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')
|
342
|
+ CHAR(10) +
|
343
|
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
|
344
|
RETURN '-2'
|
345
|
END
|
346
|
ELSE
|
347
|
BEGIN
|
348
|
-- KIEM TRA NEU LA PGD THI CANH BAO
|
349
|
IF(@BRANCH_TYPE ='HS')
|
350
|
BEGIN
|
351
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName NOT IN('TGD','HQDT')))
|
352
|
BEGIN
|
353
|
ROLLBACK TRANSACTION
|
354
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
355
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
356
|
--+ CHAR(10) + CHAR(13) +
|
357
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
358
|
+ CHAR(10) +
|
359
|
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')
|
360
|
+ CHAR(10) +
|
361
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
362
|
RETURN '-4'
|
363
|
END
|
364
|
ELSE
|
365
|
BEGIN
|
366
|
ROLLBACK TRANSACTION
|
367
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
368
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
369
|
--+ CHAR(10) + CHAR(13) +
|
370
|
--N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
371
|
--+ CHAR(10) +
|
372
|
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')
|
373
|
+ CHAR(10) +
|
374
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
375
|
RETURN '-4'
|
376
|
END
|
377
|
END
|
378
|
ELSE IF(@BRANCH_TYPE ='CN')
|
379
|
BEGIN
|
380
|
---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
|
381
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName IN('GDK','PTGD','TGD')))
|
382
|
BEGIN
|
383
|
IF(@REQ_AMT >@LIMIT_ONE_OF)
|
384
|
BEGIN
|
385
|
ROLLBACK TRANSACTION
|
386
|
SELECT '-2' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
387
|
N'Tổng hạn mức phê duyệt là: '+ FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
388
|
+ CHAR(10)+
|
389
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
390
|
+ CHAR(10) + CHAR(13) +
|
391
|
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')
|
392
|
+ CHAR(10) +
|
393
|
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')
|
394
|
+ CHAR(10) +
|
395
|
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
|
396
|
RETURN '-2'
|
397
|
END
|
398
|
ELSE
|
399
|
BEGIN
|
400
|
ROLLBACK TRANSACTION
|
401
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
402
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
403
|
--+ CHAR(10) +
|
404
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
405
|
+ CHAR(10) + CHAR(13) +
|
406
|
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')
|
407
|
+ CHAR(10) +
|
408
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
409
|
RETURN '-4'
|
410
|
END
|
411
|
END--- END LUCTV
|
412
|
ELSE IF(ISNULL(@TONG_PGD,0) -ISNULL(@TONG_PGD_HOAN,0) > 40000000)
|
413
|
BEGIN
|
414
|
ROLLBACK TRANSACTION
|
415
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
416
|
N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
417
|
+ CHAR(10) +
|
418
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
419
|
+ CHAR(10) + CHAR(13) +
|
420
|
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')
|
421
|
+ CHAR(10) +
|
422
|
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')
|
423
|
+ CHAR(10) +
|
424
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
425
|
RETURN '-4'
|
426
|
END
|
427
|
ELSE
|
428
|
BEGIN
|
429
|
IF(EXISTS(SELECT * FROM TL_USER WHERE TLNANME=@p_CHECKER_ID AND RoleName NOT IN('TGD','HQDT')))
|
430
|
BEGIN
|
431
|
ROLLBACK TRANSACTION
|
432
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
433
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
434
|
--+ CHAR(10) +
|
435
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
436
|
+ CHAR(10) + CHAR(13) +
|
437
|
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')
|
438
|
+ CHAR(10) +
|
439
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
440
|
RETURN '-4'
|
441
|
END
|
442
|
ELSE
|
443
|
BEGIN
|
444
|
ROLLBACK TRANSACTION
|
445
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
446
|
--N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
447
|
--+ CHAR(10) +
|
448
|
--N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
449
|
--+ CHAR(10) + CHAR(13) +
|
450
|
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')
|
451
|
+ CHAR(10) +
|
452
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
453
|
RETURN '-4'
|
454
|
END
|
455
|
END
|
456
|
END
|
457
|
ELSE IF(@BRANCH_TYPE ='PGD')
|
458
|
BEGIN
|
459
|
IF(ISNULL(@TONG_PGD,0) -ISNULL(@TONG_PGD_HOAN,0) > 10000000)
|
460
|
BEGIN
|
461
|
ROLLBACK TRANSACTION
|
462
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
463
|
N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')+ CHAR(10) +
|
464
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
465
|
+ CHAR(10) + CHAR(13) +
|
466
|
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')
|
467
|
+ CHAR(10) +
|
468
|
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')
|
469
|
+ CHAR(10) +
|
470
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
471
|
RETURN '-4'
|
472
|
END
|
473
|
ELSE
|
474
|
BEGIN
|
475
|
ROLLBACK TRANSACTION
|
476
|
SELECT '-4' as Result, @p_REQ_PAY_ID REQ_PAY_ID,
|
477
|
N'Tổng hạn mức phê duyệt của bạn là: '+FORMAT(@LIMIT_AMT,'#,#', 'vi-VN')
|
478
|
+ CHAR(10) +
|
479
|
N'Hạn mức trên một lần phê duyệt là: '+ FORMAT(@LIMIT_ONE_OF,'#,#', 'vi-VN')
|
480
|
+ CHAR(10) + CHAR(13) +
|
481
|
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')
|
482
|
+ CHAR(10) +
|
483
|
N'Bạn có muốn tiếp tục duyệt hay không' ErrorDesc
|
484
|
RETURN '-4'
|
485
|
END
|
486
|
END
|
487
|
END
|
488
|
END
|
489
|
-- NEU THOA MAN CAC DIEU KIEN SE TIEN HANH DUYET
|
490
|
END -- END DU HAN MUC DUYET
|
491
|
-- THOA MAN CAC DIEU KIEN SE TIEN HANH DUYET
|
492
|
ELSE IF(@p_AUTH_STATUS='A')
|
493
|
BEGIN
|
494
|
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)
|
495
|
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)
|
496
|
--
|
497
|
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)
|
498
|
IF(@ROLE_ID ='GDK' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
499
|
BEGIN
|
500
|
SET @LIMIT_AMT =6000000000 -- TANG LEN 6 TY ROLE HAN MUC GDK
|
501
|
SET @LIMIT_ONE_OF =1000000000 --- TANG LEN 1 TY 1 LAN VOI GDK HO TRO
|
502
|
|
503
|
END
|
504
|
IF(@ROLE_ID ='PTGD' AND ((SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_CHECKER_ID) ='DEP000000000011'))
|
505
|
BEGIN
|
506
|
SET @LIMIT_AMT =4000000000 --- TANG LEN 4 TY
|
507
|
SET @LIMIT_ONE_OF =500000000
|
508
|
IF(EXISTS(SELECT * FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD ='PTGD' AND ROLE_NEW ='TGD'
|
509
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
510
|
BEGIN
|
511
|
SET @LIMIT_AMT =(SELECT LIMIT_VALUE FROM TL_SYSROLE_LIMIT WHERE ROLE_ID='TGD' AND LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@BRANCH_LOGIN)
|
512
|
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)
|
513
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID))
|
514
|
BEGIN
|
515
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='P' WHERE ROLE_USER ='PTGD' AND REQ_ID =@p_REQ_PAY_ID
|
516
|
UPDATE PL_REQUEST_PROCESS SET STATUS ='C',ROLE_USER ='PTGD' WHERE ROLE_USER ='TGD' AND REQ_ID =@p_REQ_PAY_ID
|
517
|
SET @ROLE_ID ='TGD'
|
518
|
END
|
519
|
END
|
520
|
END
|
521
|
UPDATE TR_REQ_ADVANCE_PAYMENT
|
522
|
SET AUTH_STATUS='A', CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE(), AUTH_STATUS_KT='U', IS_AUTHORITY = @p_IS_AUTHORITY
|
523
|
WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
524
|
--- CAP NHAT LAI TINH TRANG TRONG REQUEST_PROCESS
|
525
|
DECLARE @PROCESS_CURR VARCHAR(5)
|
526
|
SET @PROCESS_CURR =(SELECT PROCESS_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID AND ROLE_USER =@ROLE_ID)
|
527
|
IF(ISNULL(@p_PROCESS_NOTES,'') <> '')
|
528
|
BEGIN
|
529
|
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')
|
530
|
END
|
531
|
ELSE
|
532
|
BEGIN
|
533
|
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')
|
534
|
END
|
535
|
--- CAP NHAT PROCESS CUA PHIEU DE NGHI TAM UNG LA DA DUYET
|
536
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS=@PROCESS_CURR WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
537
|
--
|
538
|
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
|
539
|
-- NEU LA HOI SO THI LAY TONG SO TIEN TAM UNG CUA CAC PHONG BAN CHUNG VOI KHOI CUA PHIEU DANG DUOC DUYET
|
540
|
SET @TONG_PGD =(SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE BRANCH_ID = @BRANCH_RQ
|
541
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A') + @REQ_AMT
|
542
|
SET @TONG_PGD_HOAN =(
|
543
|
--SELECT (SUM(B.AMT_USE) - SUM(B.AMT_ADD) + SUM (B.AMT_REVERT))
|
544
|
--FROM TR_REQ_PAYMENT_DT B
|
545
|
--INNER JOIN TR_REQ_PAYMENT A ON B.PAY_ID = A.REQ_PAY_ID
|
546
|
--INNER JOIN TR_REQ_ADVANCE_PAYMENT C ON C.REQ_PAY_ID = B.PAY_ADV_ID
|
547
|
SELECT SUM (ISNULL(A.PAY_AMT,0)) FROM TR_REQ_ADVANCE_PAYMENT A
|
548
|
WHERE A.BRANCH_ID = @BRANCH_RQ
|
549
|
AND A.AUTH_STATUS_KT ='A' AND A.REQ_TYPE='I')
|
550
|
IF(@BRANCH_TYPE='HS')
|
551
|
BEGIN
|
552
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
553
|
DEP_ID IN
|
554
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
555
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
556
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_RQ)
|
557
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
558
|
SET @TOTAL_PAYBACK =
|
559
|
ISNULL(
|
560
|
(
|
561
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
562
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
563
|
WHERE C.DEP_ID IN
|
564
|
(SELECT A.DEP_ID FROM PL_COSTCENTER_DT A
|
565
|
LEFT JOIN PL_COSTCENTER B ON A.COST_ID = B.COST_ID
|
566
|
WHERE B.DVDM_ID IN (SELECT DVDM_ID FROM @TMP_DVDM) AND A.BRANCH_ID =@BRANCH_ID)
|
567
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
568
|
),0)
|
569
|
END
|
570
|
--- BO SUNG NEU RIENG PHONG THUONG HIEU VA TRUYEN THONG --- 2021824
|
571
|
IF(@BRANCH_TYPE='HS' AND @DEP_CODE_NEXT ='0690405' )
|
572
|
BEGIN
|
573
|
SET @TOTAL_ADVANCE =ISNULL((SELECT SUM(REQ_AMT*ISNULL(RATE,1)) FROM TR_REQ_ADVANCE_PAYMENT WHERE
|
574
|
DEP_ID IN
|
575
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
576
|
AND REQ_TYPE ='I' AND AUTH_STATUS ='A'),0)
|
577
|
SET @TOTAL_PAYBACK =
|
578
|
ISNULL(
|
579
|
(
|
580
|
SELECT (SUM(ISNULL(C.PAY_AMT,0)))
|
581
|
FROM TR_REQ_ADVANCE_PAYMENT C
|
582
|
WHERE C.DEP_ID IN
|
583
|
(SELECT DEP_ID FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND BRANCH_ID =@BRANCH_RQ)
|
584
|
AND C.AUTH_STATUS_KT ='A' AND C.REQ_TYPE='I'
|
585
|
),0)
|
586
|
END
|
587
|
--- END
|
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
|
-- 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
|
590
|
ELSE IF(@BRANCH_TYPE <>'HS')
|
591
|
BEGIN
|
592
|
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)
|
593
|
AND REQ_TYPE ='I' AND AUTH_STATUS='A')
|
594
|
SET @TOTAL_PAYBACK =
|
595
|
(
|
596
|
SELECT (SUM(ISNULL(B.PAY_AMT,0)))
|
597
|
FROM TR_REQ_ADVANCE_PAYMENT B
|
598
|
WHERE B.BRANCH_ID IN
|
599
|
(SELECT BRANCH_ID FROM @tmp_CN)
|
600
|
AND B.AUTH_STATUS_KT ='A' AND B.REQ_TYPE='I'
|
601
|
)
|
602
|
END
|
603
|
SET @LIMIT_REMAIN =ISNULL(@TOTAL_ADVANCE,0) - ISNULL(@TOTAL_PAYBACK,0)
|
604
|
--- INSERT VAO BANG LOG
|
605
|
INSERT INTO TR_REQ_ADVANCE_LIMIT_LOG VALUES (@p_REQ_PAY_ID,@LIMIT_REMAIN,GETDATE())
|
606
|
----
|
607
|
END
|
608
|
-- NEW KHONG DU HAN MUC THI BAT DAU XAC NHAN VA DUYET THEO HAN MUC
|
609
|
ELSE -- NEW KHONG DU HAN MUC THI BAT DAU XAC NHAN VA DUYET THEO HAN MUC
|
610
|
BEGIN
|
611
|
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)
|
612
|
|
613
|
--- 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
|
614
|
DECLARE @MAX_STEP INT, @NEXT_ROLE VARCHAR(20), @MESSAGE NVARCHAR(100), @PROCESS_ID_NEXT VARCHAR(5), @PROCESS_PARENT VARCHAR(5),
|
615
|
@BRANCH_ID_PROC VARCHAR(15), @NEX_ROLE_STEP VARCHAR(25), @CURRENT_PROCESS VARCHAR(15)
|
616
|
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))
|
617
|
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 )
|
618
|
--SET @MAX_STEP = CONVERT(INT,(SELECT MAX(PROCESS_ID) FROM TR_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_PAY_ID))
|
619
|
SET @PROCESS_ID_NEXT = CONVERT(VARCHAR(5),@CURRENT_PROCESS+1)
|
620
|
--SET @PROCESS_PARENT = CONVERT(VARCHAR(5),@MAX_STEP)
|
621
|
DECLARE @TMP_ROLE TABLE (ROLE_ID VARCHAR(15), BRANCH_ID VARCHAR(15), LIMIT_VALUE DECIMAL(18,0),LIMIT_TYPE VARCHAR(15))
|
622
|
--IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06908%' AND DEP_ID =@p_DEP_ID)
|
623
|
|
624
|
-- KHOI TAI CHINH VA KHOI HO TRO
|
625
|
IF(LEFT(@DEP_CODE_NEXT,5) ='06908' OR @DEP_CODE_NEXT ='0690605' OR @DEP_CODE_NEXT LIKE '06906%')
|
626
|
BEGIN
|
627
|
--LUCTV 29032021: KHOI TAI CHINH SE KHONG CO PTGD NUA, CHI CO GDK TAI CHINH
|
628
|
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'
|
629
|
--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'
|
630
|
END
|
631
|
-- PHONG TRUYEN THONG THUONG HIEU
|
632
|
ELSE IF( @DEP_CODE_NEXT ='0690405')
|
633
|
BEGIN
|
634
|
--LUCTV 29032021: KHOI TAI CHINH SE KHONG CO PTGD NUA, CHI CO GDK TAI CHINH
|
635
|
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'
|
636
|
--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'
|
637
|
END
|
638
|
-- KHOI VAN HANH
|
639
|
--ELSE IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06910%' AND DEP_ID =@p_DEP_ID)
|
640
|
ELSE IF(LEFT(@DEP_CODE_NEXT,5) ='06910')
|
641
|
BEGIN
|
642
|
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'
|
643
|
END
|
644
|
--
|
645
|
ELSE IF((LEFT(@DEP_CODE_NEXT,5) ='06900') OR (LEFT(@DEP_CODE_NEXT,5)) ='06901' OR (LEFT(@DEP_CODE_NEXT,5))='06904'
|
646
|
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')
|
647
|
BEGIN
|
648
|
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')
|
649
|
END
|
650
|
--
|
651
|
ELSE IF((LEFT(@DEP_CODE_NEXT,5) ='06907') OR (LEFT(@DEP_CODE_NEXT,5)) ='06909' OR (LEFT(@DEP_CODE_NEXT,5))='06911'
|
652
|
OR (LEFT(@DEP_CODE_NEXT,5))='06922' OR (LEFT(@DEP_CODE_NEXT,5))='06921' OR (LEFT(@DEP_CODE_NEXT,5))='06920')
|
653
|
BEGIN
|
654
|
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'
|
655
|
END
|
656
|
-- CON LAI
|
657
|
ELSE
|
658
|
BEGIN
|
659
|
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
|
660
|
END
|
661
|
|
662
|
|
663
|
SET @BRANCH_ID_PROC= (SELECT TOP 1 BRANCH_ID FROM @TMP_ROLE WHERE ROLE_ID=@NEXT_ROLE AND LIMIT_TYPE='ADV_PAY')
|
664
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE ROLE_USER=@NEX_ROLE_STEP AND REQ_ID= @p_REQ_PAY_ID))
|
665
|
BEGIN
|
666
|
-- doanptt them note khi xac nhan
|
667
|
IF(@p_PROCESS_NOTES IS NULL OR @p_PROCESS_NOTES = '')
|
668
|
BEGIN
|
669
|
SET @p_PROCESS_NOTES = (SELECT TOP 1 ROLE_DESC + N' xác nhận' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID);
|
670
|
END
|
671
|
--SET @NEXT_ROLE =(SELECT TOP 1 ROLE_ID FROM @TMP_ROLE WHERE LIMIT_VALUE >@t_REQ_AMT
|
672
|
SET @NEXT_ROLE =( SELECT TOP 1 ROLE_ID
|
673
|
FROM @TMP_ROLE
|
674
|
WHERE 1 =1
|
675
|
AND ROLE_ID NOT IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID)
|
676
|
AND LIMIT_TYPE ='ADV_PAY' ORDER BY LIMIT_VALUE)
|
677
|
--print @NEXT_ROLE
|
678
|
SET @BRANCH_ID_PROC= (SELECT TOP 1 BRANCH_ID FROM @TMP_ROLE WHERE ROLE_ID=@NEXT_ROLE AND LIMIT_TYPE='ADV_PAY')
|
679
|
SET @MESSAGE = (SELECT TOP 1 N'Đợi '+ ROLE_DESC + N' phê duyệt' FROM TL_SYSROLE WHERE ROLE_ID = @NEXT_ROLE)
|
680
|
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)
|
681
|
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)
|
682
|
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')
|
683
|
END
|
684
|
ELSE
|
685
|
BEGIN
|
686
|
-- doanptt them note khi xac nhan
|
687
|
IF(@p_PROCESS_NOTES IS NULL OR @p_PROCESS_NOTES = '')
|
688
|
BEGIN
|
689
|
SET @p_PROCESS_NOTES = (SELECT TOP 1 ROLE_DESC + N' xác nhận' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID);
|
690
|
END
|
691
|
ELSE
|
692
|
BEGIN
|
693
|
SET @p_PROCESS_NOTES = (SELECT TOP 1 ROLE_DESC + N': ' + @p_PROCESS_NOTES FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID);
|
694
|
END
|
695
|
|
696
|
SET @NEXT_ROLE =@NEX_ROLE_STEP
|
697
|
UPDATE PL_REQUEST_PROCESS SET STATUS='C',DVDM_ID=@p_COST_ID WHERE ROLE_USER =@NEXT_ROLE AND REQ_ID = @p_REQ_PAY_ID
|
698
|
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')
|
699
|
END
|
700
|
--
|
701
|
IF @@Error <> 0 GOTO ABORT
|
702
|
-- UPDATE STATUS CUA STEP HIEN TAI
|
703
|
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)
|
704
|
WHERE ROLE_USER IN(SELECT * FROM @TABLE_ROLE) AND REQ_ID = @p_REQ_PAY_ID
|
705
|
--INSERT VAO TR_PROCESS
|
706
|
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
|
707
|
---
|
708
|
UPDATE PL_REQUEST_PROCESS SET DVDM_ID= @p_COST_ID WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER <>@ROLE_ID
|
709
|
END
|
710
|
END
|
711
|
-- NEU LA CAC LOAI TAM UNG CON LAI
|
712
|
ELSE
|
713
|
BEGIN
|
714
|
--- 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
|
715
|
DECLARE @PAY_ID VARCHAR(15), @SUM_OF_PAY_ID DECIMAL(18,2), @SUM_ADVANCE DECIMAL(18,2),
|
716
|
@AMOUNT DECIMAL(18,2),@AMT_PAY_DO DECIMAL(18,2),@SCH_ID VARCHAR(15),@AMT_ADVANCE DECIMAL(18,0)
|
717
|
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
|
718
|
OPEN CUR_SH
|
719
|
FETCH NEXT FROM CUR_SH INTO @PAY_ID,@AMOUNT,@AMT_PAY_DO,@SCH_ID,@AMT_ADVANCE
|
720
|
WHILE @@FETCH_STATUS =0
|
721
|
BEGIN
|
722
|
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')
|
723
|
SET @SUM_ADVANCE =(SELECT TOP 1 SUM(AMT_ADVANCE) FROM TR_REQ_PAY_SCHEDULE WHERE PAY_ID =@PAY_ID AND AUTH_STATUS_KT='A')
|
724
|
IF(@SUM_OF_PAY_ID +@AMT_PAY_DO >@AMOUNT)
|
725
|
BEGIN
|
726
|
ROLLBACK TRANSACTION
|
727
|
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
|
728
|
RETURN '-1'
|
729
|
END
|
730
|
IF(@SUM_OF_PAY_ID+@AMT_PAY_DO+@SUM_ADVANCE < @AMOUNT)
|
731
|
BEGIN
|
732
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTU' WHERE SCHEDULE_ID=@SCH_ID
|
733
|
END
|
734
|
ELSE IF(@SUM_OF_PAY_ID+@AMT_PAY_DO+@SUM_ADVANCE = @AMOUNT)
|
735
|
BEGIN
|
736
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='DTT' WHERE SCHEDULE_ID=@SCH_ID
|
737
|
END
|
738
|
ELSE IF(@SUM_OF_PAY_ID=0 AND @SUM_ADVANCE =0 )
|
739
|
BEGIN
|
740
|
UPDATE TR_REQ_PAY_SCHEDULE SET PAYMENT_STATUS ='CTT' WHERE SCHEDULE_ID=@SCH_ID
|
741
|
END
|
742
|
FETCH NEXT FROM CUR_SH INTO @PAY_ID,@AMOUNT,@AMT_PAY_DO,@SCH_ID,@AMT_ADVANCE
|
743
|
END
|
744
|
CLOSE CUR_SH
|
745
|
DEALLOCATE CUR_SH
|
746
|
|
747
|
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
|
748
|
UPDATE PL_REQUEST_PROCESS SET [STATUS] ='A' WHERE [STATUS] ='C' AND REQ_ID =@p_REQ_PAY_ID
|
749
|
SET @p_AUTH_STATUS ='A'
|
750
|
--- INSERT 1 DONG VAO PL_PROCESS
|
751
|
-- INSERT VAO BANG PL_PROCESS 1 DONG TRA VE
|
752
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
753
|
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')
|
754
|
END
|
755
|
IF @@Error <> 0 GOTO ABORT
|
756
|
COMMIT TRANSACTION
|
757
|
IF(@p_AUTH_STATUS='A')
|
758
|
BEGIN
|
759
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'12345' +@DEP_CODE_NEXT ErrorDesc
|
760
|
RETURN '0'
|
761
|
END
|
762
|
--ELSE IF(@p_AUTH_STATUS='T' AND @ROLE_ID ='TKTGD')
|
763
|
--BEGIN
|
764
|
-- 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
|
765
|
-- RETURN '5'
|
766
|
--END
|
767
|
--ELSE IF(@p_AUTH_STATUS='T' AND @ROLE_ID ='TKHDQT')
|
768
|
--BEGIN
|
769
|
-- 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
|
770
|
-- RETURN '5'
|
771
|
--END
|
772
|
ELSE
|
773
|
BEGIN
|
774
|
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
|
775
|
RETURN '1'
|
776
|
END
|
777
|
ABORT:
|
778
|
BEGIN
|
779
|
ROLLBACK TRANSACTION
|
780
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
781
|
RETURN '-1'
|
782
|
END
|
783
|
|
784
|
GO
|
785
|
|
786
|
ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_Upd]
|
787
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
788
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
789
|
@p_REQ_DT VARCHAR(20)= NULL,
|
790
|
@p_BRANCH_ID varchar(15) = NULL,
|
791
|
@p_DEP_ID varchar(15) = NULL,
|
792
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
793
|
@p_REQ_TYPE varchar(15) = NULL,
|
794
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
795
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
796
|
@p_REF_ID varchar(15) = NULL,
|
797
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
798
|
@p_RECEIVER_DEBIT nvarchar(250) = NULL,
|
799
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
800
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
801
|
@p_REQ_AMT decimal(18, 0) = NULL,
|
802
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
803
|
@p_MAKER_ID varchar(15) = NULL,
|
804
|
@p_CREATE_DT varchar(25) = NULL,
|
805
|
@p_EDITOR_ID varchar(15) = NULL,
|
806
|
@p_AUTH_STATUS varchar(1) = NULL,
|
807
|
@p_CHECKER_ID varchar(15) = NULL,
|
808
|
@p_APPROVE_DT varchar(25) = NULL,
|
809
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
810
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
811
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
812
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
813
|
@p_APPROVE_DT_KT varchar(25)= null,
|
814
|
@p_CONFIRM_NOTE nvarchar(500) = NULL,
|
815
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
816
|
@p_NOTES varchar(15) = NULL,
|
817
|
@p_RECORD_STATUS varchar(1) = NULL,
|
818
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
819
|
@p_TRANSFER_DT varchar(25) = NULL,
|
820
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
821
|
@p_PROCESS varchar(15) = NULL,
|
822
|
@p_PAY_PHASE VARCHAR(15)= NULL,
|
823
|
@p_DVDM_ID VARCHAR(15)= NULL,
|
824
|
@p_RATE DECIMAL(18,0) =0,
|
825
|
@p_RECIVER_MONEY VARCHAR(15)= NULL,
|
826
|
@p_TYPE_FUNCTION VARCHAR(15) = NULL,
|
827
|
@p_IS_PERIOD VARCHAR(5) = NULL,
|
828
|
@p_PAY_AMT DECIMAL(18,0)= NULL,
|
829
|
--doanptt 19/01/2022
|
830
|
@p_XMP_TEMP XML = NULL,
|
831
|
@p_XMP_CUS XML = NULL,
|
832
|
@p_XMP_PAY_ATTACH XML = NULL,
|
833
|
@p_XMP_PAY_INVOICE XML = NULL,
|
834
|
@p_XMP_ADVANCE_DT_2 XML = NULL,
|
835
|
@p_XMP_PAY_SCHEDULE XML = NULL,
|
836
|
@p_XMP_PAY_PERIOD XML = NULL,
|
837
|
@p_XMP_PAY_METHOD XML = NULL,
|
838
|
@p_XMP_PAY_BUDGET XML = NULL,
|
839
|
@p_XMP_ADVANCE_DT XML = NULL
|
840
|
AS
|
841
|
-- Begin Validation update
|
842
|
IF(@p_TYPE_FUNCTION <> 'SEND')
|
843
|
BEGIN
|
844
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT where MAKER_ID = @p_MAKER_ID ))
|
845
|
BEGIN
|
846
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị tạm ứng này. Chỉ người tạo phiếu mới được cập nhật phiếu' ErrorDesc
|
847
|
RETURN '-1'
|
848
|
END
|
849
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT where AUTH_STATUS = 'U' AND REQ_PAY_ID = @p_REQ_PAY_ID ))
|
850
|
BEGIN
|
851
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được gửi phê duyệt trước đó! Vui lòng đợi các cấp phê duyệt' ErrorDesc
|
852
|
RETURN '-1'
|
853
|
END
|
854
|
IF (@p_REQ_PAY_CODE IS NULL OR @p_REQ_PAY_CODE ='')
|
855
|
BEGIN
|
856
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Mã số phiếu không được để trống' ErrorDesc
|
857
|
RETURN '-1'
|
858
|
END
|
859
|
IF (EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_CODE = @p_REQ_PAY_CODE AND REQ_PAY_ID <> @p_REQ_PAY_ID))
|
860
|
BEGIN
|
861
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Mã số phiếu đã tồn tại trong hệ thống' ErrorDesc
|
862
|
RETURN '-1'
|
863
|
END
|
864
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <> 'E' AND AUTH_STATUS <> 'R' AND ISNULL(AUTH_STATUS, '') <> ''))
|
865
|
BEGIN
|
866
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được kí xác nhận từ các cấp. Bạn không được quyền chỉnh sửa' ErrorDesc
|
867
|
RETURN '-1'
|
868
|
END
|
869
|
END
|
870
|
|
871
|
-- End Validation update
|
872
|
|
873
|
/*
|
874
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
875
|
IF ( NOT EXISTS ( SELECT * FROM ASS_COLLECT WHERE ))
|
876
|
SET @ERRORSYS = ''
|
877
|
IF @ERRORSYS <> ''
|
878
|
BEGIN
|
879
|
SELECT ErrorCode Result, '' CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
880
|
RETURN '0'
|
881
|
END
|
882
|
*/
|
883
|
--Luanlt-2019/10/15 Disable Validation
|
884
|
--DECLARE @ERRORSYS NVARCHAR(15) = ''
|
885
|
--IF EXISTS(SELECT * FROM TR_PO_MASTER WHERE REF_ID = @p_REF_ID )
|
886
|
--BEGIN
|
887
|
-- SET @ERRORSYS = 'ASSC-00005'
|
888
|
-- SELECT ErrorCode Result, '' REQ_PAY_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
889
|
-- RETURN '-1'
|
890
|
--END
|
891
|
|
892
|
DECLARE @BRANCH_TYPE_CR VARCHAR(15), @ROLE_KI_NHAY VARCHAR(50)
|
893
|
--SET @ROLE_KI_NHAY =(SELECT RoleName FROM TL_USER_V2 WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
894
|
--IF(@ROLE_KI_NHAY IS NOT NULL AND @ROLE_KI_NHAY <> '' AND @ROLE_KI_NHAY IN ('TP','GDDV','KTT','TPTC','TC'))
|
895
|
--BEGIN
|
896
|
-- SELECT '-1' Result, '' REQ_PAY_ID, N'Bạn không được phép chọn cấp trưởng đơn vị làm cấp phê duyệt trung gian. Vui lòng bỏ qua hoặc chọn cấp phó phòng, trưởng bộ phận' ErrorDesc
|
897
|
-- RETURN '-1'
|
898
|
--END
|
899
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
900
|
IF(@ROLE_KI_NHAY IS NOT NULL AND @ROLE_KI_NHAY <>'' AND @ROLE_KI_NHAY IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC'))
|
901
|
BEGIN
|
902
|
PRINT @ROLE_KI_NHAY
|
903
|
END
|
904
|
ELSE
|
905
|
BEGIN
|
906
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
907
|
IF(@ROLE_KI_NHAY IS NULL OR @ROLE_KI_NHAY ='')
|
908
|
BEGIN
|
909
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT TOP 1 ROLENAME FROM TL_USER WHERE TLNANME=@p_TRASFER_USER_RECIVE))
|
910
|
END
|
911
|
END
|
912
|
--SET @ROLE_KI_NHAY =(SELECT RoleName FROM TL_USER_V2 WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
913
|
IF(@ROLE_KI_NHAY IS NOT NULL AND @ROLE_KI_NHAY <> '' AND @ROLE_KI_NHAY IN ('TP','GDDV','KTT','TPTC','TC','TPGD') AND @p_REQ_TYPE <> 'I')
|
914
|
BEGIN
|
915
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Bạn không được phép chọn cấp trưởng đơn vị làm cấp phê duyệt trung gian. Vui lòng bỏ qua hoặc chọn cấp phó phòng, trưởng bộ phận' ErrorDesc
|
916
|
RETURN '-1'
|
917
|
END
|
918
|
SET @BRANCH_TYPE_CR =(SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_CREATE)
|
919
|
DECLARE @ACC_NUM VARCHAR(15)
|
920
|
SET @ACC_NUM = (SELECT TOP 1 ACC_NUM FROM CM_ACCOUNT_PAY WHERE REF_ID =@p_REF_ID)
|
921
|
|
922
|
------------------------------------------------------------------------------------ start validate phần master ------------------------------------------------------------------------------------------------------
|
923
|
IF(@p_TYPE_FUNCTION = 'SEND')
|
924
|
BEGIN
|
925
|
IF (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
|
926
|
BEGIN
|
927
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Đơn vị yêu cầu không được để trống' ErrorDesc
|
928
|
RETURN '-1'
|
929
|
END
|
930
|
IF (@p_DEP_ID IS NULL OR @p_DEP_ID ='')
|
931
|
BEGIN
|
932
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phòng ban đề nghị không được để trống' ErrorDesc
|
933
|
RETURN '-1'
|
934
|
END
|
935
|
IF (@p_REQ_TYPE IS NULL OR @p_REQ_TYPE ='')
|
936
|
BEGIN
|
937
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Loại phiếu yêu cầu không được để trống' ErrorDesc
|
938
|
RETURN '-1'
|
939
|
END
|
940
|
IF (@p_REQ_REASON IS NULL OR @p_REQ_REASON ='')
|
941
|
BEGIN
|
942
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Lý do tạm ứng không được để trống' ErrorDesc
|
943
|
RETURN '-1'
|
944
|
END
|
945
|
IF (@p_REQ_AMT IS NULL OR @p_REQ_AMT = 0)
|
946
|
BEGIN
|
947
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Số tiền tạm ứng phải lớn hơn không' ErrorDesc
|
948
|
RETURN '-1'
|
949
|
END
|
950
|
IF (@p_BRANCH_ID IS NULL OR @p_BRANCH_ID ='')
|
951
|
BEGIN
|
952
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Đơn vị không được để trống' ErrorDesc
|
953
|
RETURN '-1'
|
954
|
END
|
955
|
|
956
|
|
957
|
IF (@p_RECIVER_MONEY IS NOT NULL AND @p_RECIVER_MONEY ='' AND @p_REQ_TYPE = 'D')
|
958
|
BEGIN
|
959
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Người nhận tiền tạm ứng không được để trống' ErrorDesc
|
960
|
RETURN '-1'
|
961
|
END
|
962
|
|
963
|
IF(@p_REQ_TYPE='I')
|
964
|
BEGIN
|
965
|
IF((@p_RECEIVER_DEBIT IS NULL OR @p_RECEIVER_DEBIT = ''))
|
966
|
BEGIN
|
967
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tài khoản người đề nghị tạm ứng không được để trống' ErrorDesc
|
968
|
RETURN '-1'
|
969
|
END
|
970
|
IF(NOT EXISTS(SELECT * FROM CM_ACCOUNT_PAY WHERE ACC_NUM =@p_RECEIVER_DEBIT AND REF_ID = @p_REF_ID))
|
971
|
BEGIN
|
972
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tài khoản tạm ứng số '+ @p_RECEIVER_DEBIT + N' không phải tài khoản của user: '+@p_REF_ID ErrorDesc
|
973
|
RETURN '-1'
|
974
|
END
|
975
|
IF(LEN(ISNULL(@p_RECEIVER_DEBIT,''))>15)
|
976
|
BEGIN
|
977
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tài khoản tạm ứng này không được vượt quá 15 kí tự' ErrorDesc
|
978
|
RETURN '-1'
|
979
|
END
|
980
|
END
|
981
|
END
|
982
|
------------------------------------------------------------------------------------ end validate phần master ------------------------------------------------------------------------------------------------------
|
983
|
|
984
|
|
985
|
-- doanptt 19/01/2022 Khai báo lưới danh sách
|
986
|
DECLARE @hdocCus INT, @hdocPayAtach INT, @hdocPO INT, @hdocSchedule INT, @hdocRecurring INT, @hdocPeriod INT, @hdocPayMethod INT, @hdocPayBudget INT
|
987
|
|
988
|
-- THONG TIN KHACH HANG
|
989
|
EXEC sp_xml_preparedocument @hdocCus OUTPUT, @p_XMP_CUS;
|
990
|
-- HOP DONG, CHUNG TU DINH KEM
|
991
|
EXEC sp_xml_preparedocument @hdocPayAtach OUTPUT, @p_XMP_PAY_ATTACH;
|
992
|
-- THONG TIN PO/ HOP DONG
|
993
|
EXEC sp_xml_preparedocument @hdocPO OUTPUT, @p_XMP_ADVANCE_DT_2;
|
994
|
-- DANH SACH CAC DOT THANH TOAN PO/ HOP DONG
|
995
|
EXEC sp_xml_preparedocument @hdocSchedule OUTPUT, @p_XMP_PAY_SCHEDULE;
|
996
|
-- THONG TIN HOP DONG DINH KY
|
997
|
EXEC sp_xml_preparedocument @hdocRecurring OUTPUT, @p_XMP_ADVANCE_DT;
|
998
|
-- THONG TIN DINH KY TAM UNG
|
999
|
EXEC sp_xml_preparedocument @hdocPeriod OUTPUT, @p_XMP_PAY_PERIOD;
|
1000
|
-- THONG TIN PHUONG THUC THANH TOAN
|
1001
|
EXEC sp_xml_preparedocument @hdocPayMethod OUTPUT, @p_XMP_PAY_METHOD;
|
1002
|
-- THONG TIN HANG MUC NGAN SACH VA CHI PHI
|
1003
|
EXEC sp_xml_preparedocument @hdocPayBudget OUTPUT, @p_XMP_PAY_BUDGET;
|
1004
|
|
1005
|
-------------------------------------------------------------- start validate các lưới -----------------------------------------------------------------------
|
1006
|
-- BEGIN VALIDATE CAC DANH SACH
|
1007
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD='N' AND NOT EXISTS(SELECT * FROM OPENXML(@hdocPO, '/Root/XmlDataPO', 2) WITH(REQ_PAY_ID varchar(15))))
|
1008
|
BEGIN
|
1009
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách PO/ hợp đồng không được để trống' ErrorDesc
|
1010
|
RETURN '-1'
|
1011
|
END
|
1012
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD='N' AND NOT EXISTS(SELECT * FROM OPENXML(@hdocSchedule, '/Root/XmlDataSchedule', 2) WITH(REQ_PAY_ID varchar(15))))
|
1013
|
BEGIN
|
1014
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách thông tin chi tiết lịch thanh toán PO/ hợp đồng không được để trống' ErrorDesc
|
1015
|
RETURN '-1'
|
1016
|
END
|
1017
|
|
1018
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD='Y' OR @p_IS_PERIOD IS NULL) AND NOT EXISTS(SELECT * FROM OPENXML(@hdocRecurring, '/Root/XmlDataRecurring', 2) WITH(REQ_PAY_ID varchar(15))))
|
1019
|
BEGIN
|
1020
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách thông tin hợp đồng định kì không được phép để trống' ErrorDesc
|
1021
|
RETURN '-1'
|
1022
|
END
|
1023
|
|
1024
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD='Y' OR @p_IS_PERIOD IS NULL) AND NOT EXISTS(SELECT * FROM OPENXML(@hdocPeriod, '/Root/XmlDataPeriod', 2) WITH(REQ_PAY_ID varchar(15))))
|
1025
|
BEGIN
|
1026
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách thông tin định kỳ tạm ứng không được phép để trống' ErrorDesc
|
1027
|
RETURN '-1'
|
1028
|
END
|
1029
|
|
1030
|
IF(@p_REQ_TYPE = 'D' AND NOT EXISTS(SELECT * FROM OPENXML(@hdocCus, '/Root/XmlDataCus', 2) WITH(CONTRACT_ID varchar(15))))
|
1031
|
BEGIN
|
1032
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách khách hàng không được để trống' ErrorDesc
|
1033
|
RETURN '-1'
|
1034
|
END
|
1035
|
-- END VALIDATE CAC DANH SACH
|
1036
|
-------------------------------------------------------------- end validate các lưới -----------------------------------------------------------------------
|
1037
|
|
1038
|
-- 19-11-2019 LUCTV BO SUNG VALIDATE TRONG QUA TRINH TEST SAU KHI UAT
|
1039
|
-- NEU TAM UNG CHO NHA CUNG CAP THI DOT THANH TOAN KHONG DUOC PHEP NULL
|
1040
|
-- SO TIEN THANH TOÁN PHAI LON HON KHONG
|
1041
|
IF(@p_REQ_AMT <=0)
|
1042
|
BEGIN
|
1043
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền tạm ứng phải lớn hơn 0' ErrorDesc
|
1044
|
RETURN '-1'
|
1045
|
END
|
1046
|
-- END VALIDATE TRONG QUA TRINH TEST UAT
|
1047
|
BEGIN TRANSACTION
|
1048
|
--IF(@p_DVDM_ID IS NULL OR @p_DVDM_ID ='')
|
1049
|
--BEGIN
|
1050
|
-- SET @p_DVDM_ID = (SELECT TOP 1 DVDM_ID FROM CM_DVDM WHERE DVDM_NAME ='KHOI TAI CHINH')
|
1051
|
--END
|
1052
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET
|
1053
|
REF_ID = @p_REF_ID,
|
1054
|
DEP_ID= @p_DEP_ID,REQ_REASON = @p_REQ_REASON, REQ_PAY_TYPE = @p_REQ_PAY_TYPE,
|
1055
|
REQ_AMT = @p_REQ_AMT,
|
1056
|
NOTES= @p_NOTES,
|
1057
|
REQ_TYPE= @p_REQ_TYPE,REQ_DESCRIPTION = @p_REQ_DESCRIPTION,RECEIVER_PO =@p_RECEIVER_PO, RECEIVER_DEBIT= @p_RECEIVER_DEBIT,
|
1058
|
REQ_TEMP_AMT=@p_REQ_TEMP_AMT,REQ_ENTRIES = @P_REQ_ENTRIES,BRANCH_ID = @p_BRANCH_ID,REQ_PAY_CODE = @p_REQ_PAY_CODE, PAY_PHASE =@p_PAY_PHASE,
|
1059
|
AUTH_STATUS='E', DVDM_ID=@p_DVDM_ID, RATE =@p_RATE,REQ_TYPE_CURRENCY =@p_REQ_TYPE_CURRENCY, RECIVER_MONEY= @p_RECIVER_MONEY,
|
1060
|
TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE,IS_PERIOD =@p_IS_PERIOD, PAY_AMT = @p_PAY_AMT
|
1061
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1062
|
IF @@Error <> 0 GOTO ABORT
|
1063
|
--- INSERT VÀO BẢNG DETAIL NÊU TẠM ỨNG LÀ TẠM ỨNG THANH TOÁN
|
1064
|
|
1065
|
-- KIEM TRA NEU TAM UNG THANH TOAN
|
1066
|
IF((@p_REQ_TYPE='P' AND (@p_IS_PERIOD <>'Y' OR @p_IS_PERIOD IS NULL)) OR @p_REQ_TYPE='D')
|
1067
|
BEGIN
|
1068
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
1069
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
1070
|
DECLARE @PO_ID varchar(15),@TERM_PAY varchar(15),@AMT_PAY_SCHEDULE decimal(18,0),@REQ_ADV_ID_SCHE VARCHAR(15),@AMT_ADVANCE_SCHEDULE decimal(18,0),@AMT_PAY_DO decimal(18,2),
|
1071
|
@AMT_REMAIN_SCHEDULE decimal(18,0),@REQ_AD_DT varchar(20),@PROCESS varchar(15),@PAY_ID VARCHAR(15),
|
1072
|
@REF_ID VARCHAR(15),@REQ_PAY_DESC NVARCHAR(500), @REQ_PAY_ENTRIES NVARCHAR(250),@CURRENCY VARCHAR(15),@RATE DECIMAL(18,0),@CUST_ID VARCHAR(15),
|
1073
|
@EMP_ID VARCHAR(15),@AMT_PAY_REAL DECIMAL(18,2),@CHECK_IN VARCHAR(15),@IS_CLOSED VARCHAR(1)= NULL,@REASON NVARCHAR(1000),@REF_TYPE VARCHAR(15)
|
1074
|
DECLARE @TYPE_COST VARCHAR(25), @FR_LEVEL INT ,@TO_LEVEL INT
|
1075
|
DECLARE XmlDataPO CURSOR FOR
|
1076
|
SELECT *
|
1077
|
FROM
|
1078
|
OPENXML(@hdocPO, '/Root/XmlDataPO', 2)--Thông tin PO/ hợp đồng
|
1079
|
WITH(REF_ID varchar(15),IS_CLOSED VARCHAR(1),REF_TYPE VARCHAR(15))
|
1080
|
OPEN XmlDataPO;
|
1081
|
DECLARE @INDEX_PO INT =0
|
1082
|
SET @INDEX_PO = 0
|
1083
|
FETCH NEXT FROM XmlDataPO INTO @REF_ID,@IS_CLOSED,@REF_TYPE
|
1084
|
WHILE @@fetch_status=0
|
1085
|
BEGIN
|
1086
|
SET @INDEX_PO = @INDEX_PO +1
|
1087
|
-- KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
1088
|
IF(@p_TYPE_FUNCTION ='SEND')
|
1089
|
BEGIN
|
1090
|
|
1091
|
|
1092
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
1093
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND TYPE ='C' AND REQ_PAY_ID
|
1094
|
IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL)))
|
1095
|
BEGIN
|
1096
|
ROLLBACK TRANSACTION
|
1097
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO/ hợp đồng số '+
|
1098
|
(SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
1099
|
RETURN '-1'
|
1100
|
END
|
1101
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
1102
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND TYPE ='C' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
1103
|
BEGIN
|
1104
|
ROLLBACK TRANSACTION
|
1105
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
1106
|
(SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
1107
|
RETURN '-1'
|
1108
|
END
|
1109
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
1110
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND TYPE ='P' AND REQ_PAY_ID
|
1111
|
IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL)))
|
1112
|
BEGIN
|
1113
|
ROLLBACK TRANSACTION
|
1114
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
1115
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
1116
|
RETURN '-1'
|
1117
|
END
|
1118
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
1119
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND TYPE ='P' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
1120
|
BEGIN
|
1121
|
ROLLBACK TRANSACTION
|
1122
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
1123
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
1124
|
RETURN '-1'
|
1125
|
END
|
1126
|
--- KIEM TRA XEM PO NAY DUOC THANH TOAN HAY CHUA
|
1127
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND TYPE ='P' AND REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE IS_CLOSED ='Y' )))
|
1128
|
BEGIN
|
1129
|
ROLLBACK TRANSACTION
|
1130
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
1131
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đã được thanh toán. Vui lòng hủy bản nháp!' ErrorDesc
|
1132
|
RETURN '-1'
|
1133
|
END
|
1134
|
END
|
1135
|
DECLARE @REQ_PAYDTID VARCHAR(15);
|
1136
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_ADVANCE_DT', @REQ_PAYDTID OUT;
|
1137
|
IF @REQ_PAYDTID='' OR @REQ_PAYDTID IS NULL GOTO ABORT;
|
1138
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE) VALUES
|
1139
|
(@REQ_PAYDTID,@p_REQ_PAY_ID,@REF_ID,'ADV_PAY',@p_MAKER_ID,GETDATE(),@IS_CLOSED,'P')
|
1140
|
IF @@error<>0 GOTO ABORT;
|
1141
|
FETCH NEXT FROM XmlDataPO INTO @REF_ID,@IS_CLOSED,@REF_TYPE
|
1142
|
END
|
1143
|
CLOSE XmlDataPO;
|
1144
|
DEALLOCATE XmlDataPO;
|
1145
|
--- CUSOR DANH SACH LICH THANH TOAN PO - HD
|
1146
|
DECLARE XmlDataSchedule CURSOR FOR
|
1147
|
SELECT *
|
1148
|
FROM
|
1149
|
OPENXML(@hdocSchedule, '/Root/XmlDataSchedule',2)
|
1150
|
WITH(PO_ID varchar(15),TERM_PAY varchar(15),AMT_PAY_SCHEDULE decimal(18,0),REQ_ADV_ID varchar(15),AMT_ADVANCE_SCHEDULE decimal(18,0), AMT_PAY_DO decimal(18,2),
|
1151
|
AMT_REMAIN_SCHEDULE decimal(18,0),REQ_AD_DT varchar(20),PROCESS varchar(15), PAY_ID VARCHAR(15),REF_ID VARCHAR(15),
|
1152
|
REQ_PAY_DESC NVARCHAR(500), REQ_PAY_ENTRIES NVARCHAR(250),CURRENCY VARCHAR(15),RATE DECIMAL(18,0),AMT_PAY_REAL DECIMAL(18,2))
|
1153
|
OPEN XmlDataSchedule
|
1154
|
FETCH NEXT FROM XmlDataSchedule INTO @PO_ID,@TERM_PAY,@AMT_PAY_SCHEDULE,@REQ_ADV_ID_SCHE,@AMT_ADVANCE_SCHEDULE,@AMT_PAY_DO,
|
1155
|
@AMT_REMAIN_SCHEDULE,@REQ_AD_DT,@PROCESS,@PAY_ID,@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@CURRENCY,@RATE,@AMT_PAY_REAL
|
1156
|
WHILE @@fetch_status=0
|
1157
|
BEGIN
|
1158
|
DECLARE @p_REQ_PAY_SCHEDULE_ID VARCHAR(15);
|
1159
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_SCHEDULE', @p_REQ_PAY_SCHEDULE_ID OUT;
|
1160
|
IF @p_REQ_PAY_SCHEDULE_ID='' OR @p_REQ_PAY_SCHEDULE_ID IS NULL GOTO ABORT;
|
1161
|
INSERT INTO TR_REQ_PAY_SCHEDULE(
|
1162
|
SCHEDULE_ID,REQ_PAY_ID,PAY_ID,AMT_PAY,PAY_PHASE,REQ_ADV_ID,AMT_ADVANCE,AMT_PAY_DO,AMT_REMAIN,REQ_PAY_DT,REQ_AD_DT,PROCESS,MAKER_ID,
|
1163
|
CREATE_DT,AUTH_STATUS_KT,PAYMENT_STATUS,TRN_TYPE,REF_ID,REQ_PAY_DESC,REQ_PAY_ENTRIES,CURRENCY,RATE, AMT_PAY_REAL)
|
1164
|
VALUES (@p_REQ_PAY_SCHEDULE_ID,@p_REQ_PAY_ID,@PAY_ID,@AMT_PAY_SCHEDULE,@TERM_PAY,@p_REQ_PAY_ID,@AMT_ADVANCE_SCHEDULE,@AMT_PAY_DO,@AMT_REMAIN_SCHEDULE,
|
1165
|
GETDATE(),CONVERT(DATETIME,@REQ_AD_DT,103),NULL,@p_MAKER_ID,GETDATE(),'U','','ADV_PAY',@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@CURRENCY,@RATE,@AMT_PAY_REAL)
|
1166
|
--- END KHAI BAO CURSOR
|
1167
|
IF @@error<>0 GOTO ABORT;
|
1168
|
FETCH NEXT FROM XmlDataSchedule INTO @PO_ID,@TERM_PAY,@AMT_PAY_SCHEDULE,@REQ_ADV_ID_SCHE,@AMT_ADVANCE_SCHEDULE,@AMT_PAY_DO,
|
1169
|
@AMT_REMAIN_SCHEDULE,@REQ_AD_DT,@PROCESS,@PAY_ID,@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@CURRENCY,@RATE,@AMT_PAY_REAL
|
1170
|
END
|
1171
|
CLOSE XmlDataSchedule;
|
1172
|
DEALLOCATE XmlDataSchedule;
|
1173
|
END
|
1174
|
--- END TẠM ỨNG THANH TOÁN
|
1175
|
---- TẠM ỨNG HĐ ĐỊNH KÌ
|
1176
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD='Y')
|
1177
|
BEGIN
|
1178
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1179
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1180
|
DECLARE @END_DT VARCHAR(20)
|
1181
|
DECLARE XmlDataRecurring CURSOR FOR
|
1182
|
SELECT *
|
1183
|
FROM
|
1184
|
OPENXML(@hdocRecurring, '/Root/XmlDataRecurring', 2)
|
1185
|
WITH(CONTRACT_ID varchar(15),IS_CLOSED VARCHAR(1),REF_TYPE VARCHAR(15), END_DT VARCHAR(20))
|
1186
|
OPEN XmlDataRecurring;
|
1187
|
SET @INDEX_PO = 0
|
1188
|
FETCH NEXT FROM XmlDataRecurring INTO @REF_ID,@IS_CLOSED,@REF_TYPE, @END_DT
|
1189
|
WHILE @@fetch_status=0
|
1190
|
BEGIN
|
1191
|
SET @INDEX_PO = @INDEX_PO +1
|
1192
|
DECLARE @REQ_PAYDTID_C VARCHAR(15);
|
1193
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_ADVANCE_DT', @REQ_PAYDTID_C OUT;
|
1194
|
IF @REQ_PAYDTID_C='' OR @REQ_PAYDTID_C IS NULL GOTO ABORT;
|
1195
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE, END_DT)
|
1196
|
VALUES(@REQ_PAYDTID_C,@p_REQ_PAY_ID,@REF_ID,'ADV_PAY',@p_MAKER_ID,GETDATE(),@IS_CLOSED,'C', CONVERT(DATE,@END_DT,103))
|
1197
|
IF @@error<>0 GOTO ABORT;
|
1198
|
FETCH NEXT FROM XmlDataRecurring INTO @REF_ID,@IS_CLOSED,@REF_TYPE, @END_DT
|
1199
|
END
|
1200
|
CLOSE XmlDataRecurring;
|
1201
|
DEALLOCATE XmlDataRecurring;
|
1202
|
--- CUSOR DANH SACH LICH THANH TOAN PO - HD
|
1203
|
----------------------------
|
1204
|
--INSERT FROM PERIOD
|
1205
|
DECLARE XmlDataPeriod CURSOR FOR
|
1206
|
SELECT *
|
1207
|
FROM
|
1208
|
OPENXML(@hdocPeriod, '/Root/XmlDataPeriod', 2)
|
1209
|
WITH(CONTRACT_ID varchar(15),PAY_DT_REAL VARCHAR(20),PAY_TYPE VARCHAR(5),
|
1210
|
OLD_INDEX DECIMAL(18,0),NEW_INDEX DECIMAL(18,0),AMT_PAY DECIMAL(18,2),CURRENCY VARCHAR(5), RATE DECIMAL(18,0), FROM_DATE VARCHAR(20), TO_DATE VARCHAR(20),PAY_PHASE NVARCHAR(250),REASON NVARCHAR(2000), END_DT VARCHAR(20) )
|
1211
|
OPEN XmlDataPeriod;
|
1212
|
DECLARE @CONTRACT_ID varchar(15),@PAY_DT_REAL VARCHAR(20),@PAY_TYPE VARCHAR(5), @OLD_INDEX DECIMAL(18,0),@NEW_INDEX DECIMAL(18,0),
|
1213
|
@AMT_PAY_PERIOD DECIMAL(18,2),@FROM_DATE VARCHAR(20),@TO_DATE VARCHAR(20),@PAY_PHASE NVARCHAR(250), @REASON_TTDK NVARCHAR(2000)
|
1214
|
FETCH NEXT FROM XmlDataPeriod INTO @CONTRACT_ID ,@PAY_DT_REAL ,@PAY_TYPE, @OLD_INDEX ,@NEW_INDEX ,@AMT_PAY_PERIOD,@CURRENCY, @RATE,@FROM_DATE,@TO_DATE,@PAY_PHASE,@REASON_TTDK, @END_DT
|
1215
|
WHILE @@fetch_status=0
|
1216
|
BEGIN
|
1217
|
-- KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
1218
|
IF(@p_TYPE_FUNCTION ='SEND')
|
1219
|
BEGIN
|
1220
|
|
1221
|
--IF(EXISTS(SELECT CONTRACT_ID
|
1222
|
--FROM TR_CONTRACT
|
1223
|
--WHERE CONTRACT_ID = @REF_ID AND CONVERT(DATE,END_DT,103) < CONVERT(DATE,GETDATE(),103) AND END_DT IS NOT NULL AND CONT_TYPE ='DK' AND CONT_TYPE IS NOT NULL AND CONT_TYPE <>''))
|
1224
|
|
1225
|
----AND IS_CLOSED='Y' ))
|
1226
|
--BEGIN
|
1227
|
-- ROLLBACK TRANSACTION
|
1228
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Tạm ứng hợp đồng định kì đã đóng' ErrorDesc
|
1229
|
-- RETURN '-1'
|
1230
|
--END
|
1231
|
|
1232
|
IF(@NEW_INDEX <=@OLD_INDEX AND @NEW_INDEX >0 AND @OLD_INDEX >0)
|
1233
|
BEGIN
|
1234
|
ROLLBACK TRANSACTION
|
1235
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Chỉ số mới phải lớn hơn chỉ số cũ' ErrorDesc
|
1236
|
RETURN '-1'
|
1237
|
END
|
1238
|
-- NEU LÀ DINH KI THI HD PHAI KHAC NULL
|
1239
|
IF(@CONTRACT_ID IS NULL OR @CONTRACT_ID ='' )
|
1240
|
BEGIN
|
1241
|
ROLLBACK TRANSACTION
|
1242
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin thanh toán hợp đồng định kì: Cột Số hợp đồng không được phép để trống' ErrorDesc
|
1243
|
RETURN '-1'
|
1244
|
END
|
1245
|
-- KIEM TRA CHI TIET HOP DONG PHAI NAM TRONG DANH SACH CAC HOP DONG
|
1246
|
IF(@CONTRACT_ID IS NOT NULL AND @CONTRACT_ID <> '' )
|
1247
|
BEGIN
|
1248
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REF_ID =@CONTRACT_ID))
|
1249
|
BEGIN
|
1250
|
ROLLBACK TRANSACTION
|
1251
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin thanh toán hợp đồng định kì - Số hợp đồng phải nằm trong danh sách các hợp đồng được chọn trên lưới Hợp đồng định kì' ErrorDesc
|
1252
|
RETURN '-1'
|
1253
|
END
|
1254
|
END
|
1255
|
END
|
1256
|
DECLARE @PERIOD_ID VARCHAR(15);
|
1257
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_PERIOD', @PERIOD_ID OUT;
|
1258
|
IF @PERIOD_ID='' OR @PERIOD_ID IS NULL GOTO ABORT;
|
1259
|
INSERT INTO TR_REQ_PAY_PERIOD(PERIOD_ID,REQ_PAY_ID,PAY_TYPE, CONTRACT_ID,PAY_DT_REAL,OLD_INDEX,NEW_INDEX,AMT_PAY,AUTH_STATUS_KT,CURRENCY,RATE,FROM_DATE,
|
1260
|
TO_DATE,AD_PAY_ID,PROCESS,PAY_PHASE, REASON)
|
1261
|
VALUES (@PERIOD_ID,@p_REQ_PAY_ID,'ADV_PAY',@CONTRACT_ID,CONVERT(DATE,@PAY_DT_REAL,103), @OLD_INDEX ,@NEW_INDEX ,@AMT_PAY_PERIOD,'U',
|
1262
|
@CURRENCY, @RATE,CONVERT(DATE,@FROM_DATE,103),CONVERT(DATE,@TO_DATE,103),@p_REQ_PAY_ID,'0',@PAY_PHASE,@REASON_TTDK)
|
1263
|
IF @@error<>0 GOTO ABORT;
|
1264
|
FETCH NEXT FROM XmlDataPeriod INTO @CONTRACT_ID ,@PAY_DT_REAL ,@PAY_TYPE , @OLD_INDEX ,@NEW_INDEX ,@AMT_PAY_PERIOD,@CURRENCY, @RATE,@FROM_DATE, @TO_DATE,@PAY_PHASE,@REASON_TTDK, @END_DT
|
1265
|
END
|
1266
|
CLOSE XmlDataPeriod;
|
1267
|
DEALLOCATE XmlDataPeriod;
|
1268
|
-- VALIDATE SO TIEN
|
1269
|
--IF(@p_REQ_AMT >= @TOTAL_SCHEDULE_AMT)
|
1270
|
--BEGIN
|
1271
|
-- ROLLBACK TRANSACTION
|
1272
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền thanh toán phải nhỏ hơn hoặc bằng tổng số tiền còn lại cần thanh toán: '+FORMAT(SUM(@TOTAL_SCHEDULE_AMT),'#,#', 'vi-VN') ErrorDesc
|
1273
|
-- RETURN '-1'
|
1274
|
--END
|
1275
|
----
|
1276
|
END
|
1277
|
---- END TẠM ỨNG HĐ ĐỊNH KÌ
|
1278
|
--- INSERT PHƯƠNG THỨC THANH TOÁN
|
1279
|
----MethodCursor
|
1280
|
DELETE FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1281
|
DECLARE @RECEIVE_ID varchar(15),@RECEIVE_NAME nvarchar(100),@REQ_PAY_REASON nvarchar(MAX),@TOTAL_AMT_METHOD decimal(18,2),@REQ_PAY_TYPE varchar(1),
|
1282
|
@ACC_NO VARCHAR(50), @ACC_NAME NVARCHAR(250), @ISSED_BY NVARCHAR(250), @ISSUED_DT VARCHAR(20),
|
1283
|
@TYPE_TRANSFER VARCHAR(15), @BANKCODE_NAPAS VARCHAR(20), @BANKCODE VARCHAR(20), @BANKNAME VARCHAR(250), @SUB_ISSUED_BY VARCHAR(250), @RECEIVER_DEBIT VARCHAR(20)
|
1284
|
DECLARE @INDEX_PAY_METHOD DECIMAL(18,0) = 0;
|
1285
|
DECLARE XmlDataMethod CURSOR FOR
|
1286
|
SELECT *
|
1287
|
FROM
|
1288
|
OPENXML(@hdocPayMethod, '/Root/XmlDataMethod',2)
|
1289
|
WITH(RECEIVE_ID varchar(15),RECEIVE_NAME nvarchar(100),REQ_PAY_REASON nvarchar(MAX),TOTAL_AMT decimal(18,2),REQ_PAY_TYPE varchar(1),
|
1290
|
REQ_PAY_DESC nvarchar(MAX),REQ_PAY_ENTRIES nvarchar(MAX),ACC_NO VARCHAR(50), ACC_NAME NVARCHAR(250),
|
1291
|
ISSUED_BY NVARCHAR(250), ISSUED_DT VARCHAR(20),CURRENCY VARCHAR(15),RATE DECIMAL(18,0),CHECK_IN VARCHAR(15),
|
1292
|
TYPE_TRANSFER VARCHAR(15), BANKCODE_NAPAS VARCHAR(20), BANKCODE VARCHAR(20), BANKNAME NVARCHAR(250), SUB_ISSUED_BY NVARCHAR(250), RECEIVER_DEBIT NVARCHAR(20))
|
1293
|
OPEN XmlDataMethod
|
1294
|
FETCH NEXT FROM XmlDataMethod
|
1295
|
INTO @RECEIVE_ID,@RECEIVE_NAME,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@ACC_NO,@ACC_NAME,@ISSED_BY,@ISSUED_DT,@CURRENCY,@RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT
|
1296
|
WHILE @@fetch_status=0
|
1297
|
BEGIN
|
1298
|
SET @INDEX_PAY_METHOD = @INDEX_PAY_METHOD + 1;
|
1299
|
---------------------------start validate ------------------------------
|
1300
|
IF(@p_TYPE_FUNCTION ='SEND')
|
1301
|
BEGIN
|
1302
|
IF(@ACC_NO IS NULL OR @ACC_NO = '')
|
1303
|
BEGIN
|
1304
|
ROLLBACK TRANSACTION
|
1305
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Phương thức thanh toán: Dòng ' + CAST(@INDEX_PAY_METHOD AS NVARCHAR(255)) + N': Số tài khoản/ CMND không được để trống' ErrorDesc
|
1306
|
RETURN '-1'
|
1307
|
END
|
1308
|
|
1309
|
IF((@BANKCODE IS NULL OR @BANKCODE = '') AND @CHECK_IN = 'O')
|
1310
|
BEGIN
|
1311
|
ROLLBACK TRANSACTION
|
1312
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_PAY_METHOD)+N': Loại tài khoản là ngoài hệ thống! Vui lòng chọn lại Tên ngân hàng/nơi cấp CMND từ danh sách!' ErrorDesc
|
1313
|
RETURN '-1'
|
1314
|
END
|
1315
|
|
1316
|
IF(@ACC_NAME IS NULL OR @ACC_NAME = '')
|
1317
|
BEGIN
|
1318
|
ROLLBACK TRANSACTION
|
1319
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Phương thức thanh toán: Dòng ' + CAST(@INDEX_PAY_METHOD AS NVARCHAR(255)) + N': Tên tài khoản/ người nhận không được để trống' ErrorDesc
|
1320
|
RETURN '-1'
|
1321
|
END
|
1322
|
IF(@ISSED_BY IS NULL OR @ISSED_BY = '')
|
1323
|
BEGIN
|
1324
|
ROLLBACK TRANSACTION
|
1325
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Phương thức thanh toán: Dòng ' + CAST(@INDEX_PAY_METHOD AS NVARCHAR(255)) + N': Ngân hàng/ nơi cấp CMND không được để trống' ErrorDesc
|
1326
|
RETURN '-1'
|
1327
|
END
|
1328
|
IF(@REQ_PAY_REASON IS NULL OR @REQ_PAY_REASON = '')
|
1329
|
BEGIN
|
1330
|
ROLLBACK TRANSACTION
|
1331
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Phương thức thanh toán: Dòng ' + CAST(@INDEX_PAY_METHOD AS NVARCHAR(255)) + N': Nội dung thanh toán không được để trống' ErrorDesc
|
1332
|
RETURN '-1'
|
1333
|
END
|
1334
|
IF(@TOTAL_AMT_METHOD IS NULL OR @TOTAL_AMT_METHOD = 0)
|
1335
|
BEGIN
|
1336
|
ROLLBACK TRANSACTION
|
1337
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Phương thức thanh toán: Dòng ' + CAST(@INDEX_PAY_METHOD AS NVARCHAR(255)) + N': Số tiền thanh toán phải lớn hơn 0' ErrorDesc
|
1338
|
RETURN '-1'
|
1339
|
END
|
1340
|
IF(@REQ_PAY_TYPE = '1' AND (@ISSUED_DT IS NULL OR @ISSUED_DT = ''))
|
1341
|
BEGIN
|
1342
|
ROLLBACK TRANSACTION
|
1343
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Phương thức thanh toán, dòng ' + CAST(@INDEX_PAY_METHOD AS NVARCHAR(255)) + N': Ngày cấp CMND không được để trống nếu phương thức thanh toán là bằng tiền mặt' ErrorDesc
|
1344
|
RETURN '-1'
|
1345
|
END
|
1346
|
|
1347
|
END
|
1348
|
-----------------------------end validate ----------------------------
|
1349
|
IF(@REQ_PAY_TYPE<>'1')
|
1350
|
BEGIN
|
1351
|
SET @ISSUED_DT = NULL
|
1352
|
END
|
1353
|
DECLARE @p_REQ_PAY_METHOD_ID VARCHAR(15);
|
1354
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_METHOD', @p_REQ_PAY_METHOD_ID OUT;
|
1355
|
IF @p_REQ_PAY_METHOD_ID='' OR @p_REQ_PAY_METHOD_ID IS NULL GOTO ABORT;
|
1356
|
INSERT INTO TR_REQ_PAY_METHOD(METHOD_ID,REQ_PAY_ID,EMP_ID,REQ_PAY_REASON,TOTAL_AMT,REQ_PAY_TYPE,REQ_PAY_DESC,REQ_PAY_ENTRIES, TEMP,MAKER_ID,
|
1357
|
CREATE_DT,ACC_NO,ACC_NAME,ISSUED_BY,ISSUED_DT,CURRENCY,RATE,CHECK_IN, TYPE_TRANSFER, BANKCODE_NAPAS, BANKCODE, BANKNAME, SUB_ISSUED_BY, RECEIVER_DEBIT)
|
1358
|
VALUES (@p_REQ_PAY_METHOD_ID,@p_REQ_PAY_ID,@RECEIVE_ID,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,'',
|
1359
|
@p_MAKER_ID,GETDATE(),@ACC_NO,@ACC_NAME,@ISSED_BY, CONVERT(DATE, @ISSUED_DT, 103),@CURRENCY,@RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT)
|
1360
|
IF @@error<>0 GOTO ABORT;
|
1361
|
FETCH NEXT FROM XmlDataMethod
|
1362
|
INTO @RECEIVE_ID,@RECEIVE_NAME,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@ACC_NO,@ACC_NAME , @ISSED_BY , @ISSUED_DT,@CURRENCY,@RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT
|
1363
|
END
|
1364
|
CLOSE XmlDataMethod;
|
1365
|
DEALLOCATE XmlDataMethod
|
1366
|
----END INSERT PHƯƠNG THỨC THANH TOÁN
|
1367
|
----INSERT VAO BANG DS KHACH HANG
|
1368
|
DELETE FROM TR_REQ_ADVANCE_CUS WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1369
|
DECLARE XmlDataCus CURSOR FOR
|
1370
|
SELECT *
|
1371
|
FROM
|
1372
|
OPENXML(@hdocCus, '/Root/XmlDataCus', 2)
|
1373
|
WITH(CUST_ID varchar(15), EMP_ID VARCHAR(15), AMT_PAY_DO decimal(18,2),CURRENCY VARCHAR(15),RATE DECIMAL(18,0))
|
1374
|
OPEN XmlDataCus;
|
1375
|
|
1376
|
FETCH NEXT FROM XmlDataCus INTO @CUST_ID, @EMP_ID,@AMT_PAY_DO,@CURRENCY,@RATE
|
1377
|
WHILE @@fetch_status=0
|
1378
|
BEGIN
|
1379
|
INSERT INTO TR_REQ_ADVANCE_CUS(REQ_PAY_ID,CUST_ID,EMP_ID,AMT_PAY_DO,CURRENCY,RATE,MAKER_ID,CREATE_DT)
|
1380
|
VALUES (@p_REQ_PAY_ID, @CUST_ID, @EMP_ID,@AMT_PAY_DO,@CURRENCY,@RATE,@p_MAKER_ID,GETDATE())
|
1381
|
--- END KHAI BAO CURSOR
|
1382
|
IF @@error<>0 GOTO ABORT;
|
1383
|
FETCH NEXT FROM XmlDataCus INTO @CUST_ID, @EMP_ID,@AMT_PAY_DO,@CURRENCY,@RATE
|
1384
|
END
|
1385
|
CLOSE XmlDataCus;
|
1386
|
DEALLOCATE XmlDataCus;
|
1387
|
----END
|
1388
|
-- HANG MUC CHI PHI VA NGAN SACH
|
1389
|
DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1390
|
DECLARE @TRADE_ID varchar(15),@GD_ID varchar(15),@AMT_APP decimal(18,2),@AMT_DO decimal(18,2),@AMT_EXE decimal(18,2),@AMT_REMAIN_GD decimal(18,2), @INDEX_NS INT =0
|
1391
|
DECLARE XmlDataGood CURSOR LOCAL FOR
|
1392
|
SELECT *
|
1393
|
FROM
|
1394
|
OPENXML(@hdocPayBudget, '/Root/XmlDataGood',2)
|
1395
|
WITH(TRADE_ID varchar(15),GD_ID varchar(15),AMT_APP decimal(18,2),AMT_DO decimal(18,2), AMT_EXE decimal(18,2),AMT_REMAIN decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),REASON NVARCHAR(1000),TYPE_COST VARCHAR(25) , FR_LEVEL INT ,TO_LEVEL INT)
|
1396
|
OPEN XmlDataGood
|
1397
|
FETCH NEXT FROM XmlDataGood INTO @TRADE_ID,@GD_ID ,@AMT_APP ,@AMT_DO,@AMT_EXE ,@AMT_REMAIN_GD,@CURRENCY,@RATE,@REASON,@TYPE_COST , @FR_LEVEL ,@TO_LEVEL
|
1398
|
WHILE @@fetch_status=0 BEGIN
|
1399
|
--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
1400
|
SET @INDEX_NS = @INDEX_NS +1
|
1401
|
-- KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
1402
|
--IF(@p_TYPE_FUNCTION ='SEND')
|
1403
|
--BEGIN
|
1404
|
--IF((@AMT_EXE > @AMT_REMAIN_GD))
|
1405
|
--BEGIN
|
1406
|
-- ROLLBACK TRANSACTION
|
1407
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
1408
|
-- RETURN '-1'
|
1409
|
--END
|
1410
|
--END
|
1411
|
IF(@p_TYPE_FUNCTION ='SEND')
|
1412
|
BEGIN
|
1413
|
IF(ISNULL(@AMT_EXE,0) =0)
|
1414
|
BEGIN
|
1415
|
ROLLBACK TRANSACTION
|
1416
|
CLOSE XmlDataGood;
|
1417
|
DEALLOCATE XmlDataGood;
|
1418
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,@p_REQ_PAY_CODE AS REQ_PAY_CODE, N'Dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế phải lớn hơn 0.' ErrorDesc
|
1419
|
RETURN '-1'
|
1420
|
END
|
1421
|
-- ROLLBACK TRANSACTION
|
1422
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
1423
|
-- RETURN '-1'
|
1424
|
--END
|
1425
|
END
|
1426
|
DECLARE @p_BUDGET_ID VARCHAR(15);
|
1427
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_BUDGET', @p_BUDGET_ID OUT;
|
1428
|
IF @p_BUDGET_ID='' OR @p_BUDGET_ID IS NULL GOTO ABORT;
|
1429
|
INSERT INTO TR_REQ_PAY_BUDGET(BUDG_ID,GD_ID,REQ_PAY_ID,TRADE_ID,AMT_APP,AMT_DO,AMT_EXE,AMT_REMAIN,MAKER_ID,CREATE_DT,CURRENCY,RATE,REASON,TYPE_COST , FR_LEVEL ,TO_LEVEL)
|
1430
|
VALUES (@p_BUDGET_ID,@GD_ID,@p_REQ_PAY_ID,@TRADE_ID,@AMT_APP,@AMT_DO,@AMT_EXE,@AMT_REMAIN_GD,@p_MAKER_ID, GETDATE(),@CURRENCY,@RATE,@REASON,@TYPE_COST , @FR_LEVEL ,@TO_LEVEL)
|
1431
|
IF @@error<>0 GOTO ABORT;
|
1432
|
FETCH NEXT FROM XmlDataGood INTO @TRADE_ID,@GD_ID ,@AMT_APP ,@AMT_DO,@AMT_EXE ,@AMT_REMAIN_GD,@CURRENCY,@RATE,@REASON,@TYPE_COST , @FR_LEVEL ,@TO_LEVEL
|
1433
|
END;
|
1434
|
CLOSE XmlDataGood;
|
1435
|
DEALLOCATE XmlDataGood;
|
1436
|
--- END INSERT NGAN SACH
|
1437
|
DELETE FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1438
|
DECLARE @ATTACH_ID varchar(15),@CON_ID varchar(100),@CONT_CODE VARCHAR(50), @CON_NOTES VARCHAR(1000),@CON_DESC NVARCHAR(1000),@CON_TYPE VARCHAR(15),@AMT_ATT DECIMAL(18,2),@REF_DT VARCHAR(20),@NOTES_ATT NVARCHAR(1000), @LICENSE_DT VARCHAR(20)
|
1439
|
DECLARE XmlAttach CURSOR FOR
|
1440
|
SELECT *
|
1441
|
FROM
|
1442
|
OPENXML(@hdocPayAtach, '/Root/XmlAttach',2)
|
1443
|
WITH(ATTACH_ID varchar(15),CON_ID varchar(100),CONT_CODE VARCHAR(50), CON_NOTES NVARCHAR(1000),CON_DESC NVARCHAR(1000),CON_TYPE VARCHAR(15),AMT_ATT DECIMAL(18,2),REF_DT VARCHAR(20), LICENSE_DT VARCHAR(20))
|
1444
|
OPEN XmlAttach
|
1445
|
--INSERT CHUNG TU DINH KEM
|
1446
|
FETCH NEXT FROM XmlAttach INTO @ATTACH_ID,@CON_ID,@CONT_CODE,@NOTES_ATT,@CON_DESC,@CON_TYPE,@AMT_ATT,@REF_DT, @LICENSE_DT
|
1447
|
WHILE @@fetch_status=0
|
1448
|
BEGIN
|
1449
|
IF (@REF_DT='')
|
1450
|
BEGIN
|
1451
|
SET @REF_DT = NULL
|
1452
|
END
|
1453
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ATTACH', @ATTACH_ID OUT;
|
1454
|
IF @ATTACH_ID='' OR @ATTACH_ID IS NULL GOTO ABORT;
|
1455
|
INSERT INTO TR_REQ_PAY_ATTACH(ATTACH_ID,REQ_PAY_ID,REF_ID,REF_CODE,NOTES,[DESCRIPTION],[TYPE],AMT,REF_DT, LICENSE_DT) VALUES
|
1456
|
(@ATTACH_ID,@p_REQ_PAY_ID,@CON_ID,@CONT_CODE,@NOTES_ATT,@CON_DESC,@CON_TYPE,@AMT_ATT, CONVERT(DATE, @REF_DT,103), CONVERT(DATE, @LICENSE_DT,103))
|
1457
|
IF @@error<>0 GOTO ABORT;
|
1458
|
FETCH NEXT FROM XmlAttach INTO @ATTACH_ID,@CON_ID,@CONT_CODE,@NOTES_ATT,@CON_DESC,@CON_TYPE,@AMT_ATT,@REF_DT, @LICENSE_DT
|
1459
|
END
|
1460
|
CLOSE XmlAttach;
|
1461
|
DEALLOCATE XmlAttach;
|
1462
|
----END
|
1463
|
--- BAT DAU VALIDATE
|
1464
|
IF(@p_TYPE_FUNCTION ='SEND')
|
1465
|
BEGIN
|
1466
|
DECLARE @SUM_PTTT DECIMAL(18,0), @SUM_NS DECIMAL(18,0),@SUM_LICH_TT DECIMAL(18,0)
|
1467
|
SET @SUM_PTTT =(SELECT SUM(TOTAL_AMT * ISNULL(RATE,1)) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
1468
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID) AND @p_REQ_TYPE ='D')
|
1469
|
BEGIN
|
1470
|
SET @SUM_LICH_TT =(SELECT SUM(AMT_PAY_REAL* ISNULL(RATE,1)) FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
1471
|
IF(@p_REQ_AMT*ISNULL(@p_RATE,1) != ISNULL(@SUM_LICH_TT,0))
|
1472
|
BEGIN
|
1473
|
ROLLBACK TRANSACTION
|
1474
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Tổng số tiền lịch thanh toán PO và hợp đồng liên quan đến khách hàng xử lý nợ phải bằng số tiền tạm ứng' ErrorDesc
|
1475
|
RETURN '-1'
|
1476
|
END
|
1477
|
END
|
1478
|
IF(EXISTS(SELECT * FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
1479
|
BEGIN
|
1480
|
SET @SUM_NS =(SELECT SUM(AMT_EXE * ISNULL(RATE,1)) FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
1481
|
IF(@p_REQ_AMT*ISNULL(@p_RATE,1) != ISNULL(@SUM_NS,0))
|
1482
|
BEGIN
|
1483
|
ROLLBACK TRANSACTION
|
1484
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Tổng số tiền sử dụng ngân sách và chi phí phải bằng số tiền tạm ứng' ErrorDesc
|
1485
|
RETURN '-1'
|
1486
|
END
|
1487
|
END
|
1488
|
ELSE
|
1489
|
IF(@p_REQ_AMT*ISNULL(@p_RATE,1) != ISNULL(@SUM_PTTT,0))
|
1490
|
BEGIN
|
1491
|
ROLLBACK TRANSACTION
|
1492
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Tổng số tiền phương thức thanh toán phải bằng số tiền tạm ứng' ErrorDesc
|
1493
|
RETURN '-1'
|
1494
|
END
|
1495
|
|
1496
|
END
|
1497
|
----END
|
1498
|
IF(@p_REQ_TYPE ='I')
|
1499
|
BEGIN
|
1500
|
DELETE FROM PL_REQUEST_PROCESS WHERE REQ_ID = @p_REQ_PAY_ID
|
1501
|
DECLARE @tmp table(ROLE_ID VARCHAR(25),BRANCH_ID varchar(15),AMT decimal(18,2))
|
1502
|
-- BEGIN SELECT CAC CAP PHE DUYET --
|
1503
|
-- HOI SO
|
1504
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_CREATE) ='HS')
|
1505
|
BEGIN
|
1506
|
-- KHOI TAI CHINH
|
1507
|
IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE (DEP_CODE LIKE '%06908%' OR DEP_CODE ='0690605') AND DEP_ID =@p_DEP_ID) --- LUCTV 14.10.22 BO SUNG THEM PHONG BAN
|
1508
|
BEGIN
|
1509
|
-- KHOI TAI CHINH SE KHONG CO PTGD NUA MA CHI CO GDK - LUCTV 29032021
|
1510
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <> 'PTGD'
|
1511
|
--INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK'
|
1512
|
--INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK' ORDER BY LIMIT_VALUE ASC
|
1513
|
END
|
1514
|
-- KHOI HO TRO
|
1515
|
ELSE IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE (DEP_CODE LIKE'06906%') AND DEP_ID =@p_DEP_ID) --- DOANPTT 261022 BO SUNG HAN MUC GDK HO TRO, DO GDK HO TRO CO HAN MUC RIENG KHAC VOI CAC GDK KHAC
|
1516
|
BEGIN
|
1517
|
-- KHOI HO TRO SE KHONG CO PTGD NUA MA CHI CO KDK - LUCTV 29032021
|
1518
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID, 1000000000 FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID = 'GDK'
|
1519
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID NOT IN ('PTGD', 'GDK')
|
1520
|
END
|
1521
|
-- PHONG TRUYEN THONG VA THUONG HIEU
|
1522
|
ELSE IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE ='0690405' AND DEP_ID =@p_DEP_ID)
|
1523
|
BEGIN
|
1524
|
-- KHOI TAI CHINH SE KHONG CO PTGD NUA MA CHI CO KDK - LUCTV 29032021
|
1525
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK'
|
1526
|
--INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK'
|
1527
|
--INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK' ORDER BY LIMIT_VALUE ASC
|
1528
|
END
|
1529
|
-- KHOI VAN HANH
|
1530
|
ELSE IF EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06910%' AND DEP_ID =@p_DEP_ID)
|
1531
|
BEGIN
|
1532
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'GDK' ORDER BY LIMIT_VALUE ASC
|
1533
|
END
|
1534
|
-- KHONG CO TGD VA PTGD
|
1535
|
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)
|
1536
|
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)
|
1537
|
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)
|
1538
|
OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%799%' AND DEP_ID =@p_DEP_ID)
|
1539
|
OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%899%' AND DEP_ID =@p_DEP_ID))
|
1540
|
BEGIN
|
1541
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID NOT IN ('GDK','PTGD') ORDER BY LIMIT_VALUE ASC
|
1542
|
END
|
1543
|
-- KHOI QUAN LY RUI RO, KHOI CNTT,...
|
1544
|
ELSE IF (EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06907%' AND DEP_ID =@p_DEP_ID) -- KHOI QUAN LY RUI RO
|
1545
|
OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06909%' AND DEP_ID =@p_DEP_ID) -- KHOI CNTT
|
1546
|
OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06911%' AND DEP_ID =@p_DEP_ID) -- KHOI THAM DINH TIN DUNG
|
1547
|
OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06921%' AND DEP_ID =@p_DEP_ID) -- KHOI KHCN - KHACH HANG CA NHAN
|
1548
|
OR EXISTS(SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE LIKE '%06922%' AND DEP_ID =@p_DEP_ID)) -- KHOI KHOI KHDN & DINH CHE
|
1549
|
BEGIN
|
1550
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' AND A.ROLE_ID <>'PTGD' ORDER BY LIMIT_VALUE ASC
|
1551
|
END
|
1552
|
-- CON LAI
|
1553
|
ELSE
|
1554
|
BEGIN
|
1555
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001' ORDER BY LIMIT_VALUE ASC
|
1556
|
END
|
1557
|
END
|
1558
|
-- CN & PGD
|
1559
|
ELSE
|
1560
|
BEGIN
|
1561
|
-- ROLE GDDV HOAC KIEM NHIEM GDDV
|
1562
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_CREATE) ='CN')
|
1563
|
BEGIN
|
1564
|
--- BAO GOM DON VI & 3 CAP DUYET CUA HOI SO
|
1565
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@p_BRANCH_CREATE AND ROLE_ID ='GDDV'
|
1566
|
--INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001'
|
1567
|
END
|
1568
|
-- ROLE TPGD HOAC KIEM NHIEM TPGD
|
1569
|
ELSE IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_CREATE) ='PGD')
|
1570
|
BEGIN
|
1571
|
INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY' AND BRANCH_ID =@p_BRANCH_CREATE AND ROLE_ID ='TPGD'
|
1572
|
--BRANCH_ID =(SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_CREATE)
|
1573
|
--INSERT INTO @tmp SELECT A.ROLE_ID, A.BRANCH_ID,A.LIMIT_VALUE FROM TL_SYSROLE_LIMIT A WHERE A.LIMIT_TYPE='ADV_PAY'AND BRANCH_ID ='DV0001'
|
1574
|
END
|
1575
|
END
|
1576
|
-- END SELECT CAC CAP PHE DUYET --
|
1577
|
|
1578
|
DECLARE @ROLE_ID VARCHAR(20), @BRANCH_ID VARCHAR(20), @INDEX INT =0, @SL_ROLE INT =0,@LIMIT_VALUE DECIMAL(18,0)
|
1579
|
SET @SL_ROLE = (SELECT COUNT(*) FROM @tmp)
|
1580
|
DECLARE @ISLEAF VARCHAR(1) = 'Y', @PARENT_ID VARCHAR(10) = '', @STATUS VARCHAR(1) = 'C', @NOTES NVARCHAR(500)
|
1581
|
-- BEGIN THEM CAC CAP PHE DUYET VAO TABLE PL_REQUEST_PROCESS --
|
1582
|
DECLARE CUR_PR CURSOR FOR SELECT A.ROLE_ID, A.BRANCH_ID,A.AMT FROM @tmp A ORDER BY A.AMT ASC -- SAP XEP LAI CAC CAP DUYET THEO HAN MUC PHE DUYET
|
1583
|
OPEN CUR_PR
|
1584
|
FETCH NEXT FROM CUR_PR INTO @ROLE_ID,@BRANCH_ID,@LIMIT_VALUE
|
1585
|
WHILE @@FETCH_STATUS =0 --AND @STOP=0
|
1586
|
BEGIN
|
1587
|
-- DOANPTT 261022: DONG NHAT PROCESS GIUA DON VI VA HOI SO
|
1588
|
-- HOI SO
|
1589
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_CREATE) ='HS')
|
1590
|
BEGIN
|
1591
|
SET @INDEX= @INDEX+1
|
1592
|
|
1593
|
IF @INDEX = @SL_ROLE
|
1594
|
SET @ISLEAF = 'Y'
|
1595
|
ELSE
|
1596
|
SET @ISLEAF = 'N'
|
1597
|
SET @NOTES = (SELECT N'Đợi '+ ROLE_DESC + N' phê duyệt' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID)
|
1598
|
|
1599
|
IF(@INDEX=1 )
|
1600
|
BEGIN
|
1601
|
SET @PARENT_ID = NULL
|
1602
|
SET @STATUS = 'C'
|
1603
|
END
|
1604
|
ELSE
|
1605
|
BEGIN
|
1606
|
SET @PARENT_ID = CONVERT(VARCHAR(5),@INDEX -1)
|
1607
|
SET @STATUS = 'U'
|
1608
|
END
|
1609
|
END
|
1610
|
-- CN & PGD
|
1611
|
ELSE
|
1612
|
BEGIN
|
1613
|
SET @INDEX= 0
|
1614
|
IF @INDEX = @SL_ROLE - 1
|
1615
|
SET @ISLEAF = 'Y'
|
1616
|
ELSE
|
1617
|
SET @ISLEAF = 'N'
|
1618
|
SET @NOTES = (SELECT N'Đợi '+ ROLE_DESC + N' phê duyệt' FROM TL_SYSROLE WHERE ROLE_ID = @ROLE_ID)
|
1619
|
|
1620
|
IF(@INDEX = 0 )
|
1621
|
BEGIN
|
1622
|
SET @PARENT_ID = NULL
|
1623
|
SET @STATUS = 'C'
|
1624
|
END
|
1625
|
ELSE
|
1626
|
BEGIN
|
1627
|
SET @PARENT_ID = CONVERT(VARCHAR(5),@INDEX -1)
|
1628
|
SET @STATUS = 'U'
|
1629
|
END
|
1630
|
END
|
1631
|
/*
|
1632
|
IF(@ROLE_ID = 'TKTGD')
|
1633
|
BEGIN
|
1634
|
SET @INDEX = 3
|
1635
|
END
|
1636
|
*/
|
1637
|
IF(@LIMIT_VALUE >= @p_REQ_AMT)
|
1638
|
BEGIN
|
1639
|
INSERT INTO dbo.PL_REQUEST_PROCESS(
|
1640
|
REQ_ID,
|
1641
|
PROCESS_ID,
|
1642
|
STATUS,
|
1643
|
ROLE_USER,
|
1644
|
BRANCH_ID,
|
1645
|
CHECKER_ID,
|
1646
|
APPROVE_DT,
|
1647
|
PARENT_PROCESS_ID,
|
1648
|
IS_LEAF, COST_ID, DVDM_ID, NOTES
|
1649
|
)
|
1650
|
VALUES (@p_REQ_PAY_ID,CONVERT(VARCHAR(5), @INDEX),@STATUS,@ROLE_ID,@BRANCH_ID,NULL,NULL, @PARENT_ID,'Y', '',@p_DVDM_ID,@NOTES)
|
1651
|
--INSERT INTO PL_REQUEST_PROCESS VALUES (@p_REQ_PAY_ID,CONVERT(VARCHAR(5), @INDEX),@STATUS,@ROLE_ID,@BRANCH_ID,NULL,NULL, @PARENT_ID,'Y','')
|
1652
|
IF(@ROLE_ID <> 'TKTGD' AND @ROLE_ID <> 'TKHDQT')
|
1653
|
BEGIN
|
1654
|
BREAK;
|
1655
|
END
|
1656
|
END
|
1657
|
ELSE
|
1658
|
BEGIN
|
1659
|
INSERT INTO PL_REQUEST_PROCESS (
|
1660
|
REQ_ID,
|
1661
|
PROCESS_ID,
|
1662
|
STATUS,
|
1663
|
ROLE_USER,
|
1664
|
BRANCH_ID,
|
1665
|
CHECKER_ID,
|
1666
|
APPROVE_DT,
|
1667
|
PARENT_PROCESS_ID,
|
1668
|
IS_LEAF, COST_ID, DVDM_ID, NOTES
|
1669
|
)
|
1670
|
VALUES (@p_REQ_PAY_ID,CONVERT(VARCHAR(5), @INDEX),@STATUS,@ROLE_ID,@BRANCH_ID,NULL,NULL, @PARENT_ID,@ISLEAF, '', @p_DVDM_ID, @NOTES)
|
1671
|
END
|
1672
|
|
1673
|
FETCH NEXT FROM CUR_PR INTO @ROLE_ID,@BRANCH_ID,@LIMIT_VALUE
|
1674
|
END
|
1675
|
CLOSE CUR_PR
|
1676
|
DEALLOCATE CUR_PR
|
1677
|
END
|
1678
|
COMMIT TRANSACTION
|
1679
|
-- BEIGN VALIDATE SEND APPROVE
|
1680
|
IF(@p_TYPE_FUNCTION ='SEND')-- BAT DAU GUI PHE DUYET
|
1681
|
BEGIN
|
1682
|
IF(@p_MAKER_ID <> (SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID))
|
1683
|
BEGIN
|
1684
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Gửi phê duyệt thất bại! Bạn không được quyền gửi phê duyệt phiếu đề nghị tạm ứng của người khác tạo' ErrorDesc
|
1685
|
RETURN '-1'
|
1686
|
END
|
1687
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT where MAKER_ID = @p_MAKER_ID ))
|
1688
|
BEGIN
|
1689
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị tạm ứng này. Chỉ người tạo phiếu mới được cập nhật phiếu' ErrorDesc
|
1690
|
RETURN '-1'
|
1691
|
END
|
1692
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT where AUTH_STATUS = 'U' AND REQ_PAY_ID = @p_REQ_PAY_ID ))
|
1693
|
BEGIN
|
1694
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được gửi phê duyệt trước đó! Vui lòng đợi các cấp phê duyệt' ErrorDesc
|
1695
|
RETURN '-1'
|
1696
|
END
|
1697
|
IF (@p_REQ_PAY_CODE IS NULL OR @p_REQ_PAY_CODE ='')
|
1698
|
BEGIN
|
1699
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Mã số phiếu không được để trống' ErrorDesc
|
1700
|
RETURN '-1'
|
1701
|
END
|
1702
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <> 'E' AND ISNULL(AUTH_STATUS, '') <> ''))
|
1703
|
BEGIN
|
1704
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị tạm ứng đã được kí xác nhận từ các cấp. Bạn không được quyền chỉnh sửa' ErrorDesc
|
1705
|
RETURN '-1'
|
1706
|
END
|
1707
|
--ROLLBACK TRANSACTION
|
1708
|
-- CAP NHAT TINH TRANG DUYET KE TOAN LA DANG XU LY
|
1709
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE (TRASFER_USER_RECIVE ='' OR TRASFER_USER_RECIVE IS NULL) AND REQ_PAY_ID =@p_REQ_PAY_ID ) AND @BRANCH_TYPE_CR ='HS' AND @p_REQ_TYPE ='I')
|
1710
|
BEGIN
|
1711
|
DECLARE @USER_TP VARCHAR(15) =''
|
1712
|
--SET @USER_TP =(SELECT TOP 1 TLNANME FROM TL_USER WHERE SECUR_CODE =@p_DEP_ID
|
1713
|
-- AND (RoleName IN ('GDDV','TPTC','TC','KTT') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW ='GDDV')))
|
1714
|
IF(@USER_TP IS NULL OR @USER_TP ='')
|
1715
|
BEGIN
|
1716
|
SET @USER_TP = (SELECT TOP 1 TLNANME FROM TL_USER_V2 WHERE SECUR_CODE =@p_DEP_ID
|
1717
|
AND (RoleName IN ('TBP','PP')))
|
1718
|
END
|
1719
|
--UPDATE TR_REQ_ADVANCE_PAYMENT SET TRASFER_USER_RECIVE =@USER_TP WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1720
|
END
|
1721
|
DECLARE @SUM_TEMP_PAY DECIMAL, @SUM_PAY DECIMAL
|
1722
|
IF (@p_REQ_TYPE ='I')
|
1723
|
BEGIN
|
1724
|
SET @SUM_TEMP_PAY = (SELECT SUM(REQ_AMT*ISNULL(RATE,1))
|
1725
|
FROM TR_REQ_ADVANCE_PAYMENT WHERE REF_ID =@p_REF_ID AND AUTH_STATUS ='A' AND REQ_TYPE ='I')
|
1726
|
SET @SUM_PAY = (SELECT SUM (ISNULL(PAY_AMT,0)) FROM TR_REQ_ADVANCE_PAYMENT WHERE REF_ID =@p_REF_ID AND AUTH_STATUS_KT ='A' AND REQ_TYPE ='I')
|
1727
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET REQ_TEMP_AMT =ISNULL(@SUM_TEMP_PAY,0) -ISNULL(@SUM_PAY,0) WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1728
|
END
|
1729
|
DECLARE @SUM_THANH_TOAN DECIMAL(18,0) =0, @SUM_PHUONG_THUC DECIMAL(18,0) =0
|
1730
|
SET @SUM_THANH_TOAN =(SELECT ISNULL(SUM(REQ_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
1731
|
SET @SUM_PHUONG_THUC =(SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
1732
|
IF(ROUND(@SUM_THANH_TOAN,0) <> ROUND(@SUM_PHUONG_THUC,0))
|
1733
|
BEGIN
|
1734
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền phương thức thanh toán phải bằng số tiền bạn cần thanh toán là: ' + FORMAT(SUM(@SUM_THANH_TOAN),'#,#', 'vi-VN') ErrorDesc
|
1735
|
RETURN '-1'
|
1736
|
END
|
1737
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE TRASFER_USER_RECIVE <>'' AND TRASFER_USER_RECIVE IS NOT NULL AND REQ_PAY_ID =@p_REQ_PAY_ID) AND @BRANCH_TYPE_CR ='PGD' AND @p_REQ_TYPE <>'I')
|
1738
|
BEGIN
|
1739
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Ở cấp độ phòng giao dịch. Vui lòng không được chọn cấp phê duyệt trung gian' ErrorDesc
|
1740
|
RETURN '-1'
|
1741
|
END
|
1742
|
|
1743
|
|
1744
|
--IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND @p_REQ_TYPE='P' AND (@p_IS_PERIOD IS NULL OR @p_IS_PERIOD ='' OR @p_IS_PERIOD ='N')))
|
1745
|
--BEGIN
|
1746
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Thông tin hạng mục ngân sách và chi phí không được để trống. Vui lòng chọn ngân sách và chi phí' ErrorDesc
|
1747
|
-- RETURN '-1'
|
1748
|
--END
|
1749
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET AUTH_STATUS ='U',CREATE_DT = GETDATE() WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
1750
|
UPDATE PL_REQUEST_PROCESS SET ROLE_USER ='GDDV' WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='PGD'
|
1751
|
UPDATE PL_REQUEST_PROCESS SET ROLE_USER ='TPGD' WHERE REQ_ID =@p_REQ_PAY_ID AND ROLE_USER ='PPGD'
|
1752
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
1753
|
VALUES(@p_REQ_PAY_ID,'SEND',@p_MAKER_ID,GETDATE(), N'Đơn vị gửi phê duyệt',N'Đơn vị tạo phiếu tạm ứng và gửi phê duyệt')
|
1754
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE (TRASFER_USER_RECIVE <> '' AND TRASFER_USER_RECIVE IS NOT NULL) AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
1755
|
BEGIN
|
1756
|
SELECT '4' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Đơn vị gửi phiếu phê duyệt phiếu đề nghị tạm ứng số: ' + ISNULL(@p_REQ_PAY_CODE,'') + N' thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận phiếu' ErrorDesc
|
1757
|
RETURN '4'
|
1758
|
END
|
1759
|
ELSE
|
1760
|
BEGIN
|
1761
|
SELECT '4' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Đơn vị gửi phiếu phê duyệt phiếu đề nghị tạm ứng số: ' + ISNULL(@p_REQ_PAY_CODE,'') + N' thành công. Vui lòng đợi trưởng đơn vị phê duyệt phiếu' ErrorDesc
|
1762
|
RETURN '4'
|
1763
|
END
|
1764
|
--SELECT '4' as Result, @p_REQ_PAY_ID AS REQ_PAY_ID, N'Gửi phê duyệt thành công' ErrorDesc
|
1765
|
--RETURN '4'
|
1766
|
END
|
1767
|
-- FIX PHONG HO LOI LIEN QUAN DEN VIEC TAI KHOAN TAM UNG BI SAI
|
1768
|
----DECLARE @REQ_PAY_ID varchar(15), @l_REF_ID varchar(15)
|
1769
|
----DECLARE cursorProduct CURSOR LOCAL FOR
|
1770
|
----SELECT REQ_PAY_ID,REF_ID FROM TR_REQ_ADVANCE_PAYMENT A WHERE A.REQ_TYPE ='I'
|
1771
|
----Open cursorProduct
|
1772
|
----FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID, @l_REF_ID
|
1773
|
----WHILE @@FETCH_STATUS = 0
|
1774
|
----BEGIN
|
1775
|
---- UPDATE TR_REQ_ADVANCE_PAYMENT SET RECEIVER_DEBIT =(SELECT TOP 1 ISNULL(ACC_NUM,'') FROM CM_ACCOUNT_PAY WHERE REF_ID =@l_REF_ID AND ACC_TYPE ='ADV_PAY' ) WHERE REQ_PAY_ID =@REQ_PAY_ID
|
1776
|
----FETCH NEXT FROM cursorProduct INTO @REQ_PAY_ID, @l_REF_ID
|
1777
|
----END
|
1778
|
-- END VALIDATE SEND APPROVE
|
1779
|
|
1780
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
1781
|
RETURN '0'
|
1782
|
ABORT:
|
1783
|
BEGIN
|
1784
|
ROLLBACK TRANSACTION
|
1785
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
1786
|
RETURN '-1'
|
1787
|
End
|
1788
|
|
1789
|
GO
|
1790
|
|
1791
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_Upd]
|
1792
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
1793
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
1794
|
@p_REQ_DT VARCHAR(20)= NULL,
|
1795
|
@p_BRANCH_ID varchar(15) = NULL,
|
1796
|
@p_DEP_ID varchar(15) = NULL,
|
1797
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
1798
|
@p_REQ_TYPE varchar(15) = NULL,
|
1799
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
1800
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
1801
|
@p_REF_ID varchar(15) = NULL,
|
1802
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
1803
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
1804
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
1805
|
@p_REQ_AMT decimal(18, 2) = NULL,
|
1806
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
1807
|
@p_MAKER_ID varchar(15) = NULL,
|
1808
|
@p_CREATE_DT varchar(25) = NULL,
|
1809
|
@p_EDITOR_ID varchar(15) = NULL,
|
1810
|
@p_AUTH_STATUS varchar(1) = NULL,
|
1811
|
@p_CHECKER_ID varchar(15) = NULL,
|
1812
|
@p_APPROVE_DT varchar(25) = NULL,
|
1813
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
1814
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
1815
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
1816
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
1817
|
@p_APPROVE_DT_KT varchar(25)= null,
|
1818
|
@p_CONFIRM_NOTE nvarchar(500) = NULL,
|
1819
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
1820
|
@p_NOTES varchar(15) = NULL,
|
1821
|
@p_RECORD_STATUS varchar(1) = NULL,
|
1822
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
1823
|
@p_TRANSFER_DT varchar(25) = NULL,
|
1824
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
1825
|
@p_PROCESS varchar(15) = NULL,
|
1826
|
@p_PAY_PHASE NVARCHAR(255) = NULL,
|
1827
|
@p_RATE DECIMAL(18,2) = 0,
|
1828
|
@p_IS_PERIOD VARCHAR(5) = NULL,
|
1829
|
@p_AMT_PAY decimal(18, 0) = NULL,
|
1830
|
@p_XMP_TEMP XML = NULL,
|
1831
|
@p_XMP_TEMP_2 XML = NULL,
|
1832
|
@p_XMP_TEMP_METHOD XML = NULL,
|
1833
|
@p_XMP_TEMP_BUDGET XML = NULL,
|
1834
|
@p_XMP_TEMP_SERVICE XML = NULL,
|
1835
|
@p_XMP_TEMP_ATTACH XML = NULL,
|
1836
|
@p_XMP_TEMP_INVOICE XML = NULL,
|
1837
|
@p_TYPE_FUNCTION VARCHAR(15) = NULL,
|
1838
|
@p_XMP_TEMP_PO XML = NULL,
|
1839
|
@p_XMP_TEMP_SCHEDULE XML = NULL,
|
1840
|
@p_XMP_TEMP_PERIOD XML = NULL,
|
1841
|
@p_XMP_ADVANCE_DT XML = NULL,
|
1842
|
--doanptt 15/02/2022
|
1843
|
@p_XMP_TEMP_PAY_JOB XML = NULL,
|
1844
|
@p_XMP_TEMP_PAY_JOB_DT XML = NULL,
|
1845
|
--doanptt 17/02/2022
|
1846
|
@p_XMP_TEMP_PAY_DRIVE XML = NULL,
|
1847
|
@p_XMP_TEMP_PAY_DRIVE_DT XML = NULL
|
1848
|
|
1849
|
AS
|
1850
|
-- BEGIN VALIDATE UPDATE
|
1851
|
IF(@p_TYPE_FUNCTION <> 'SEND')
|
1852
|
BEGIN
|
1853
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT where MAKER_ID = @p_MAKER_ID ))
|
1854
|
BEGIN
|
1855
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị thanh toán này. Chỉ người tạo phiếu mới được cập nhật phiếu' ErrorDesc
|
1856
|
RETURN '-1'
|
1857
|
END
|
1858
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS ='U'))
|
1859
|
BEGIN
|
1860
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt thành công trước đó. Bạn không được quyền chỉnh sửa' ErrorDesc
|
1861
|
RETURN '-1'
|
1862
|
END
|
1863
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND PROCESS IS NOT NULL AND PROCESS <>''))
|
1864
|
BEGIN
|
1865
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được kí xác nhận từ các cấp. Bạn không được quyền chỉnh sửa' ErrorDesc
|
1866
|
RETURN '-1'
|
1867
|
END
|
1868
|
IF (@p_REQ_PAY_CODE IS NULL OR @p_REQ_PAY_CODE ='')
|
1869
|
BEGIN
|
1870
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Mã số phiếu không được phép để trống' ErrorDesc
|
1871
|
RETURN '-1'
|
1872
|
END
|
1873
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS <> 'E' AND AUTH_STATUS <> 'R' AND ISNULL(AUTH_STATUS, '') <> ''))
|
1874
|
BEGIN
|
1875
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được kí xác nhận từ các cấp. Bạn không được quyền chỉnh sửa' ErrorDesc
|
1876
|
RETURN '-1'
|
1877
|
END
|
1878
|
END
|
1879
|
IF(@p_TYPE_FUNCTION = 'SEND')
|
1880
|
BEGIN
|
1881
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT where MAKER_ID = @p_MAKER_ID ))
|
1882
|
BEGIN
|
1883
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Bạn không được phép cập nhật phiếu đề nghị tạm ứng này. Chỉ người tạo phiếu mới được cập nhật phiếu' ErrorDesc
|
1884
|
RETURN '-1'
|
1885
|
END
|
1886
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS ='U'))
|
1887
|
BEGIN
|
1888
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt thành công trước đó. Bạn không được quyền chỉnh sửa' ErrorDesc
|
1889
|
RETURN '-1'
|
1890
|
END
|
1891
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS = 'A'))
|
1892
|
BEGIN
|
1893
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được phê duyệt. Bạn không được quyền chỉnh sửa' ErrorDesc
|
1894
|
RETURN '-1'
|
1895
|
END
|
1896
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS_KT = 'A'))
|
1897
|
BEGIN
|
1898
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được kiểm soát viên phê duyệt. Bạn không được quyền chỉnh sửa' ErrorDesc
|
1899
|
RETURN '-1'
|
1900
|
END
|
1901
|
IF (ISNULL(@p_REQ_PAY_CODE, '')='' OR ISNULL(@p_REQ_TYPE, '')='' OR ISNULL(@p_MAKER_ID, '')='' OR ISNULL(@p_BRANCH_ID, '')='' OR ISNULL(@p_DEP_ID, '')='' OR ISNULL(@p_REQ_REASON, '')='')
|
1902
|
BEGIN
|
1903
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Các trường dữ liệu không được phép để trống: mã số phiếu, loại thanh toán, người đề nghị thanh toán, đơn vị đề nghị thanh toán, phòng ban đề nghị, số tiền thanh toán, lý do thanh toán. Vui lòng kiểm tra lại thông tin' ErrorDesc
|
1904
|
RETURN '-1'
|
1905
|
END
|
1906
|
IF(@p_MAKER_ID <> (SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @p_REQ_PAY_ID))
|
1907
|
BEGIN
|
1908
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Gửi phê duyệt thất bại! Bạn không được quyền gửi phê duyệt phiếu đề nghị thanh toán của người khác' ErrorDesc
|
1909
|
RETURN '-1'
|
1910
|
END
|
1911
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND AUTH_STATUS='U'))
|
1912
|
BEGIN
|
1913
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
1914
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1915
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1916
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt trước đó! Vui lòng đợi các cấp phê duyệt' ErrorDesc
|
1917
|
RETURN '-1'
|
1918
|
END
|
1919
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT where AUTH_STATUS <> 'E' AND ISNULL(AUTH_STATUS, '') <> '' AND REQ_PAY_ID = @p_REQ_PAY_ID ))
|
1920
|
BEGIN
|
1921
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Phiếu đề nghị thanh toán đã được gửi phê duyệt trước đó hoặc đang bị từ chối! Vui lòng kiểm tra lại thông tin' ErrorDesc
|
1922
|
RETURN '-1'
|
1923
|
END
|
1924
|
END
|
1925
|
|
1926
|
-- END VALIDATE UPDATE
|
1927
|
|
1928
|
--IF EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_CODE = @p_REQ_PAY_CODE AND REQ_PAY_ID <> @p_REQ_PAY_ID)
|
1929
|
--BEGIN
|
1930
|
-- SELECT '-1' Result, '' REQ_PAY_ID, N'Mã số phiếu đã tồn tại trong hệ thống' ErrorDesc
|
1931
|
-- RETURN '-1'
|
1932
|
--END
|
1933
|
-- doanppt
|
1934
|
IF(@p_REQ_TYPE = 'D')
|
1935
|
BEGIN
|
1936
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1937
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1938
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1939
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
1940
|
END
|
1941
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD='Y')
|
1942
|
BEGIN
|
1943
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1944
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
1945
|
DELETE FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1946
|
END
|
1947
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD='N' OR @p_IS_PERIOD IS NULL))
|
1948
|
BEGIN
|
1949
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1950
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
1951
|
DELETE FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
1952
|
END
|
1953
|
DECLARE @ROLE_KI_NHAY VARCHAR(50)
|
1954
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
1955
|
IF(@ROLE_KI_NHAY IS NOT NULL AND @ROLE_KI_NHAY <>'' AND @ROLE_KI_NHAY IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC'))
|
1956
|
BEGIN
|
1957
|
PRINT @ROLE_KI_NHAY
|
1958
|
END
|
1959
|
ELSE
|
1960
|
BEGIN
|
1961
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
1962
|
IF(@ROLE_KI_NHAY IS NULL OR @ROLE_KI_NHAY ='')
|
1963
|
BEGIN
|
1964
|
SET @ROLE_KI_NHAY =(SELECT TOP 1 ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT TOP 1 ROLENAME FROM TL_USER WHERE TLNANME=@p_TRASFER_USER_RECIVE))
|
1965
|
END
|
1966
|
END
|
1967
|
--SET @ROLE_KI_NHAY =(SELECT RoleName FROM TL_USER_V2 WHERE TLNANME =@p_TRASFER_USER_RECIVE)
|
1968
|
IF(@ROLE_KI_NHAY IS NOT NULL AND @ROLE_KI_NHAY <> '' AND @ROLE_KI_NHAY IN ('TP','GDDV','KTT','TPTC','TC','TPGD'))
|
1969
|
BEGIN
|
1970
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Bạn không được phép chọn cấp trưởng đơn vị làm cấp phê duyệt trung gian. Vui lòng bỏ qua hoặc chọn cấp phó phòng, trưởng bộ phận' ErrorDesc
|
1971
|
RETURN '-1'
|
1972
|
END
|
1973
|
|
1974
|
BEGIN TRANSACTION
|
1975
|
-- DECLARE
|
1976
|
DECLARE @VAT decimal(18, 0) =NULL, @TRANS_NO nvarchar(50)=NULL, @TRANS_DT VARCHAR(20)=NULL,@INVOICE_SIGN nvarchar(50) = NULL,@INVOICE_NO_SIGN nvarchar(50) = NULL,@INVOICE_NO nvarchar(50) = NULL,
|
1977
|
@INVOICE_DT VARCHAR(20) = NULL, @SELLER nvarchar(500) = NULL,@TAX_NO nvarchar(15) = NULL,@GOODS_NAME nvarchar(500) = NULL, @PRICE decimal(18, 0) = NULL,@TAX decimal(18, 0) = NULL,
|
1978
|
@NOTES NVARCHAR(MAX) = NULL,@VAT_RATE DECIMAL(18,0),@ACC_NO VARCHAR(25),@ACC_NAME NVARCHAR(250),@ISSUED_BY NVARCHAR(250), @ISSUED_DT VARCHAR(20),@CURRENCY VARCHAR(15)= NULL,@RATE DECIMAL(18,2),
|
1979
|
@TYPE_VAT VARCHAR(15),@TYPE_FUNC VARCHAR(15), @PDN_TT_LIST_INVOICE VARCHAR(1000), @PAY_ADV_ID VARCHAR(15),@TYPE_TRANSFER VARCHAR(15),@REQ_PAY_ADV_CODE VARCHAR(15),@REASON NVARCHAR(1000),
|
1980
|
@REF_TYPE VARCHAR(15), @TRN_DATE VARCHAR(15), @AMT_ADVANCED DECIMAL(18,0),@AMT_DO DECIMAL(18,0), @AMT_REMAIN DECIMAL(18,0),@AMT_PAY DECIMAL(18,0),@AMT_USE DECIMAL(18,2),@AMT_REVERT DECIMAL(18,2),
|
1981
|
@AMT_ADD DECIMAL(18,2), @TOTAL_SCHEDULE_AMT DECIMAL(18,0) =0
|
1982
|
DECLARE @INDEX_AD INT =0, @INDEX_SV INT =0,@INDEX INT =0, @INDEX_IV INT =0, @INDEX_NS INT =0, @INDEX_INVOICE INT = 0, @INDEX_METHOD INT = 0
|
1983
|
DECLARE @hdoc INT, @hDoc2 INT, @hDocMeThod INT, @hdocBudget INT, @hdocService INT, @hdocAttach INT, @hdocInvoice INT, @hdocPO INT, @hdocSchedule INT, @hdocPeriod INT, @hdocRecurring INT, @hdocJob INT,
|
1984
|
@hdocJobDT INT, @hdocDrive INT, @hdocDriveDT INT
|
1985
|
-- EXEC XMP
|
1986
|
EXEC sp_xml_preparedocument @hdoc OUTPUT, @p_XMP_TEMP;
|
1987
|
EXEC sp_xml_preparedocument @hDoc2 OUTPUT, @p_XMP_TEMP_2;
|
1988
|
EXEC sp_xml_preparedocument @hDocMeThod OUTPUT, @p_XMP_TEMP_METHOD;
|
1989
|
EXEC sp_xml_preparedocument @hdocBudget OUTPUT, @p_XMP_TEMP_BUDGET;
|
1990
|
EXEC sp_xml_preparedocument @hdocService OUTPUT, @p_XMP_TEMP_SERVICE;
|
1991
|
EXEC sp_xml_preparedocument @hdocAttach OUTPUT, @p_XMP_TEMP_ATTACH;
|
1992
|
EXEC sp_xml_preparedocument @hdocInvoice OUTPUT, @p_XMP_TEMP_INVOICE;
|
1993
|
EXEC sp_xml_preparedocument @hdocPO OUTPUT, @p_XMP_TEMP_PO;
|
1994
|
EXEC sp_xml_preparedocument @hdocSchedule OUTPUT, @p_XMP_TEMP_SCHEDULE;
|
1995
|
EXEC sp_xml_preparedocument @hdocPeriod OUTPUT, @p_XMP_TEMP_PERIOD;
|
1996
|
EXEC sp_xml_preparedocument @hdocRecurring OUTPUT, @p_XMP_ADVANCE_DT;
|
1997
|
--doanptt 15/02/2022
|
1998
|
EXEC sp_xml_preparedocument @hdocJob OUTPUT, @p_XMP_TEMP_PAY_JOB;
|
1999
|
EXEC sp_xml_preparedocument @hdocJobDT OUTPUT, @p_XMP_TEMP_PAY_JOB_DT;
|
2000
|
--doanptt 17/02/2022
|
2001
|
EXEC sp_xml_preparedocument @hdocDrive OUTPUT, @p_XMP_TEMP_PAY_DRIVE;
|
2002
|
EXEC sp_xml_preparedocument @hdocDriveDT OUTPUT, @p_XMP_TEMP_PAY_DRIVE_DT;
|
2003
|
|
2004
|
-- BEGIN VALIDATE CAC DANH SACH
|
2005
|
/*
|
2006
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD='N' AND NOT EXISTS(SELECT * FROM OPENXML(@hdocPO, '/Root/XmlDataPO', 2) WITH(REQ_PAY_ID varchar(15))))
|
2007
|
BEGIN
|
2008
|
ROLLBACK TRANSACTION
|
2009
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách PO/ hợp đồng không được để trống' ErrorDesc
|
2010
|
RETURN '-1'
|
2011
|
END
|
2012
|
|
2013
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD='N' AND NOT EXISTS(SELECT * FROM OPENXML(@hdocSchedule, '/Root/XmlDataSchedule', 2) WITH(REQ_PAY_ID varchar(15))))
|
2014
|
BEGIN
|
2015
|
ROLLBACK TRANSACTION
|
2016
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách thông tin chi tiết lịch thanh toán PO/ hợp đồng không được để trống' ErrorDesc
|
2017
|
RETURN '-1'
|
2018
|
END
|
2019
|
|
2020
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD='Y' OR @p_IS_PERIOD IS NULL) AND NOT EXISTS(SELECT * FROM OPENXML(@hdocRecurring, '/Root/XmlDataRecurring', 2) WITH(REQ_PAY_ID varchar(15))))
|
2021
|
BEGIN
|
2022
|
ROLLBACK TRANSACTION
|
2023
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách thông tin hợp đồng định kì không được phép để trống' ErrorDesc
|
2024
|
RETURN '-1'
|
2025
|
END
|
2026
|
|
2027
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD='Y' OR @p_IS_PERIOD IS NULL) AND NOT EXISTS(SELECT * FROM OPENXML(@hdocPeriod, '/Root/XmlDataPeriod', 2) WITH(REQ_PAY_ID varchar(15))))
|
2028
|
BEGIN
|
2029
|
ROLLBACK TRANSACTION
|
2030
|
SELECT '-1' Result, '' REQ_PAY_ID, N'Danh sách thông tin định kỳ tạm ứng không được phép để trống' ErrorDesc
|
2031
|
RETURN '-1'
|
2032
|
END
|
2033
|
*/
|
2034
|
-- END VALIDATE CAC DANH SACH
|
2035
|
|
2036
|
-- BEGIN THONG TIN LUOI MASTER
|
2037
|
UPDATE TR_REQ_PAYMENT
|
2038
|
SET REF_ID = @p_REF_ID, DEP_ID= @p_DEP_ID,REQ_REASON = @p_REQ_REASON, REQ_PAY_TYPE = @p_REQ_PAY_TYPE,REQ_AMT = @p_REQ_AMT, NOTES= @p_NOTES, REQ_TYPE= @p_REQ_TYPE,REQ_DESCRIPTION = @p_REQ_DESCRIPTION,
|
2039
|
RECEIVER_PO = @p_RECEIVER_PO,TRANSFER_MAKER =@p_TRANSFER_MAKER, REQ_TEMP_AMT=@p_REQ_TEMP_AMT,REQ_ENTRIES = @P_REQ_ENTRIES,BRANCH_ID = @p_BRANCH_ID,
|
2040
|
AUTH_STATUS='E', IS_PERIOD =@p_IS_PERIOD, TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE, RATE = @p_RATE, AMT_PAY = @p_AMT_PAY, AUTH_STATUS_KT = NULL, REQ_TYPE_CURRENCY = @p_REQ_TYPE_CURRENCY
|
2041
|
WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
2042
|
-- BUA DOAN NAY DE XU LY LOI KHONG TIM DUOC NHA CUNG CAP
|
2043
|
UPDATE CM_SUPPLIER SET ACC_NUM ='' WHERE ACC_NUM IS NULL
|
2044
|
UPDATE CM_SUPPLIER SET ACC_NUM_OUT ='' WHERE ACC_NUM_OUT IS NULL
|
2045
|
--
|
2046
|
UPDATE TR_REQ_PAY_SERVICE
|
2047
|
SET REQ_PAY_ID= 'XX'+ RIGHT(REQ_PAY_ID,13)
|
2048
|
WHERE REQ_PAY_ID NOT IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE REQ_TYPE IN ('I','D'))
|
2049
|
--
|
2050
|
UPDATE TR_REQ_PAY_SCHEDULE
|
2051
|
SET REQ_PAY_ID= 'XX'+ RIGHT(REQ_PAY_ID,13)
|
2052
|
WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE REQ_TYPE ='P' AND IS_PERIOD IS NOT NULL AND IS_PERIOD <>'' AND IS_PERIOD='Y') AND TRN_TYPE ='PAY' AND REQ_PAY_ID =@p_REQ_PAY_ID
|
2053
|
IF @@Error <> 0 GOTO ABORT
|
2054
|
-- END THONG TIN LUOI MASTER
|
2055
|
|
2056
|
-- BEGIN THONG TIN HOA DON DINH KEM
|
2057
|
DELETE FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2058
|
DECLARE XmlData CURSOR FOR SELECT * FROM OPENXML(@hdocInvoice, '/Root/XmlData', 2)
|
2059
|
WITH(TRANS_NO nvarchar(50),TRANS_DT VARCHAR(20),INVOICE_SIGN nvarchar(50),INVOICE_NO_SIGN nvarchar(50), INVOICE_NO nvarchar(50),INVOICE_DT VARCHAR(20) ,SELLER nvarchar(500),TAX_NO nvarchar(15),
|
2060
|
GOODS_NAME nvarchar(500), PRICE decimal(18,0),TAX decimal(18, 0),VAT decimal(18,0),NOTE NVARCHAR(MAX),VAT_RATE decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),TYPE_VAT VARCHAR(15),TYPE_FUNC VARCHAR(15))
|
2061
|
OPEN XmlData;
|
2062
|
FETCH NEXT FROM XmlData INTO @TRANS_NO , @TRANS_DT ,@INVOICE_SIGN ,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,
|
2063
|
@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@TYPE_VAT,@TYPE_FUNC
|
2064
|
WHILE @@fetch_status=0
|
2065
|
BEGIN
|
2066
|
-- SET
|
2067
|
SET @INDEX_IV = @INDEX_IV +1
|
2068
|
-- BEGIN VALIDATE
|
2069
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2070
|
BEGIN
|
2071
|
IF(LEN(@INVOICE_NO) < 1)
|
2072
|
BEGIN
|
2073
|
ROLLBACK TRANSACTION
|
2074
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Hóa đơn đính kèm, dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' không được để trống' ErrorDesc
|
2075
|
RETURN '-1'
|
2076
|
END
|
2077
|
|
2078
|
IF(LEN(@INVOICE_NO) > 8)
|
2079
|
BEGIN
|
2080
|
ROLLBACK TRANSACTION
|
2081
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Hóa đơn đính kèm, dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' phải bé hơn 9 ký tự' ErrorDesc
|
2082
|
RETURN '-1'
|
2083
|
END
|
2084
|
|
2085
|
IF(EXISTS( SELECT * FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX AND AUTH_STATUS <>'D'
|
2086
|
AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D'))))
|
2087
|
BEGIN
|
2088
|
--SET @PDN_TT_LIST_INVOICE = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_PAYMENT DTA WHERE REQ_PAY_ID IN
|
2089
|
--(SELECT REQ_PAY_ID FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX
|
2090
|
--AND AUTH_STATUS <>'D'
|
2091
|
--AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U')))
|
2092
|
--FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
2093
|
|
2094
|
--ROLLBACK TRANSACTION
|
2095
|
--SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' đã tồn tại trong hệ thống' ErrorDesc
|
2096
|
--RETURN '-1'
|
2097
|
---- 19.10.2022 LUCTV DIEU CHINH TAI VI TRI VALIDATE SO HOA DON
|
2098
|
SET @PDN_TT_LIST_INVOICE = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_PAYMENT DTA WHERE REQ_PAY_ID IN
|
2099
|
(SELECT REQ_PAY_ID FROM TR_REQ_PAY_INVOICE WHERE INVOICE_NO =@INVOICE_NO AND INVOICE_NO_SIGN = @INVOICE_NO_SIGN AND INVOICE_SIGN =@INVOICE_SIGN AND TAX_NO =@TAX_NO AND TAX =@TAX
|
2100
|
AND AUTH_STATUS <>'D'
|
2101
|
AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS NOT IN ('E','D') AND MAKER_ID NOT IN (SELECT TLNANME FROM TL_USER WHERE RoleName ='DISABLE' OR AUTH_STATUS ='U')))
|
2102
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
2103
|
BEGIN
|
2104
|
ROLLBACK TRANSACTION
|
2105
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn '+ @INVOICE_NO +N' đã tồn tại trong hệ thống. Danh sách những phiếu đề nghị thanh toán đã sử dụng: '+ ISNULL(@PDN_TT_LIST_INVOICE,'') ErrorDesc
|
2106
|
RETURN '-1'
|
2107
|
END
|
2108
|
END
|
2109
|
|
2110
|
IF(@GOODS_NAME IS NULL OR @GOODS_NAME ='')
|
2111
|
BEGIN
|
2112
|
ROLLBACK TRANSACTION
|
2113
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Tên mặt hàng trong lưới hóa đơn không được để trống' ErrorDesc
|
2114
|
RETURN '-1'
|
2115
|
END
|
2116
|
-- TÊN NGƯỜI BÀN
|
2117
|
IF(@SELLER IS NULL OR @SELLER ='')
|
2118
|
BEGIN
|
2119
|
ROLLBACK TRANSACTION
|
2120
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Người bán trong lưới hóa đơn không được để trống' ErrorDesc
|
2121
|
RETURN '-1'
|
2122
|
END
|
2123
|
|
2124
|
IF(@TAX_NO IS NULL OR @TAX_NO ='')
|
2125
|
BEGIN
|
2126
|
ROLLBACK TRANSACTION
|
2127
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Mã số thuế trong lưới hóa đơn không được để trống' ErrorDesc
|
2128
|
RETURN '-1'
|
2129
|
END
|
2130
|
-- NGÀY HÓA ĐƠN
|
2131
|
IF(@INVOICE_DT IS NULL OR @INVOICE_DT ='')
|
2132
|
BEGIN
|
2133
|
ROLLBACK TRANSACTION
|
2134
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Ngày hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2135
|
RETURN '-1'
|
2136
|
END
|
2137
|
-- SỐ HÓA ĐƠN
|
2138
|
IF(@INVOICE_NO IS NULL OR @INVOICE_NO ='')
|
2139
|
BEGIN
|
2140
|
ROLLBACK TRANSACTION
|
2141
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2142
|
RETURN '-1'
|
2143
|
END
|
2144
|
-- KÍ HIỆU HÓA ĐƠN
|
2145
|
IF(@INVOICE_NO_SIGN IS NULL OR @INVOICE_NO_SIGN ='')
|
2146
|
BEGIN
|
2147
|
ROLLBACK TRANSACTION
|
2148
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Kí hiệu số hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2149
|
RETURN '-1'
|
2150
|
END
|
2151
|
-- KÍ HIỆU HÓA ĐƠN
|
2152
|
IF(@PRICE IS NULL OR @PRICE =0)
|
2153
|
BEGIN
|
2154
|
ROLLBACK TRANSACTION
|
2155
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng ' + CONVERT(VARCHAR(5),@INDEX_IV)+N': Số tiền hóa đơn trong lưới hóa đơn không được để trống' ErrorDesc
|
2156
|
RETURN '-1'
|
2157
|
END
|
2158
|
END
|
2159
|
-- END VALIDATE
|
2160
|
|
2161
|
DECLARE @p_REQ_INV_ID VARCHAR(15);
|
2162
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_INVOICE', @p_REQ_INV_ID OUT;
|
2163
|
IF @p_REQ_INV_ID='' OR @p_REQ_INV_ID IS NULL GOTO ABORT;
|
2164
|
INSERT INTO TR_REQ_PAY_INVOICE(REQ_PAYDT_ID,REQ_PAY_ID,TRANS_NO,TRANS_DT,INVOICE_SIGN,INVOICE_NO,INVOICE_DT,SELLER,TAX_NO,GOODS_NAME,PRICE,TAX,VAT,NOTE, MAKER_ID,CREATE_DT,EDITOR_ID,AUTH_STATUS,
|
2165
|
CHECKER_ID,APPROVE_DT, CREATE_DT_KT,MAKER_ID_KT,AUTH_STATUS_KT,CHECKER_ID_KT,APPROVE_DT_KT,RECORD_STATUS,INVOICE_NO_SIGN,VAT_RATE,CURRENCY,RATE,PRICE_KT,VAT_KT,TOTAL_AMT_KT,TYPE_VAT,TYPE_FUNC)
|
2166
|
VALUES (@p_REQ_INV_ID,@p_REQ_PAY_ID , @TRANS_NO , NULL ,@INVOICE_SIGN ,@INVOICE_NO ,CONVERT(DATE,@INVOICE_DT,103) ,UPPER(([dbo].[RemoveVietNamese](@SELLER))),@TAX_NO ,UPPER(([dbo].[RemoveVietNamese](@GOODS_NAME))) ,
|
2167
|
@PRICE ,@TAX,@VAT,@NOTES, @p_MAKER_ID,GETDATE(),NULL,'U',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1',@INVOICE_NO_SIGN,@VAT_RATE, 'VND' , 1,@PRICE,@VAT,@PRICE+@VAT,@TYPE_VAT,@TYPE_FUNC)
|
2168
|
IF @@error<>0 GOTO ABORT;
|
2169
|
FETCH NEXT FROM XmlData
|
2170
|
INTO @TRANS_NO , @TRANS_DT,@INVOICE_SIGN,@INVOICE_NO_SIGN,@INVOICE_NO ,@INVOICE_DT ,@SELLER ,@TAX_NO ,@GOODS_NAME ,@PRICE ,@TAX,@VAT,@NOTES,@VAT_RATE,@CURRENCY,@RATE,@TYPE_VAT,@TYPE_FUNC
|
2171
|
END;
|
2172
|
CLOSE XmlData;
|
2173
|
DEALLOCATE XmlData;
|
2174
|
-- END THONG TIN HOA DON DINH KEM
|
2175
|
|
2176
|
-- BEGIN THONG TIN HANG MUC NGAN SACH VA CHI PHI
|
2177
|
-- DELETE
|
2178
|
DELETE FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID=@p_REQ_PAY_ID
|
2179
|
-- DECLARE
|
2180
|
DECLARE @TRADE_ID varchar(15),@GD_ID varchar(15), @GD_CODE varchar(15), @AMT_APP decimal(18,2),@AMT_EXE decimal(18,2), @AMT_REMAIN_GD decimal(18,2),@TYPE_COST VARCHAR(15), @FR_LEVEL INT ,
|
2181
|
@TO_LEVEL INT, @MONTH_RATE VARCHAR(4), @YEAR_RATE VARCHAR(4), @BUDGET_TYPE VARCHAR(20), @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20), @MONTH VARCHAR(20), @YEAR VARCHAR(20)
|
2182
|
-- DECLARE CURSOR
|
2183
|
DECLARE XmlDataGood CURSOR FOR SELECT * FROM OPENXML(@hdocBudget, 'Root/XmlDataGood',2)
|
2184
|
WITH(TRADE_ID varchar(15),GD_ID varchar(15),GD_CODE varchar(15),AMT_APP decimal(18,2),AMT_DO decimal(18,2), AMT_EXE decimal(18,2),AMT_REMAIN decimal(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),
|
2185
|
REASON NVARCHAR(1000),TYPE_COST VARCHAR(15), FR_LEVEL INT ,TO_LEVEL INT, MONTH_RATE VARCHAR(4), YEAR_RATE VARCHAR(4), BUDGET_TYPE VARCHAR(20), BRANCH_ID VARCHAR(20), DEP_ID VARCHAR(20), MONTH VARCHAR(20), YEAR VARCHAR(20))
|
2186
|
-- BEGIN CURSOR THONG TIN HANG MUC NGAN SACH VA CHI PHI
|
2187
|
OPEN XmlDataGood
|
2188
|
FETCH NEXT FROM XmlDataGood INTO @TRADE_ID,@GD_ID , @GD_CODE, @AMT_APP ,@AMT_DO,@AMT_EXE ,@AMT_REMAIN_GD,@CURRENCY,
|
2189
|
@RATE,@REASON,@TYPE_COST, @FR_LEVEL,@TO_LEVEL, @MONTH_RATE, @YEAR_RATE, @BUDGET_TYPE, @BRANCH_ID , @DEP_ID, @MONTH, @YEAR
|
2190
|
WHILE @@fetch_status=0 BEGIN
|
2191
|
-- SET
|
2192
|
SET @INDEX_NS = @INDEX_NS +1
|
2193
|
|
2194
|
-- BEGIN VALIDATE
|
2195
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2196
|
BEGIN
|
2197
|
IF(ISNULL(@AMT_EXE,0) =0)
|
2198
|
BEGIN
|
2199
|
ROLLBACK TRANSACTION
|
2200
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
2201
|
RETURN '-1'
|
2202
|
END
|
2203
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
2204
|
BEGIN
|
2205
|
ROLLBACK TRANSACTION
|
2206
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
2207
|
RETURN '-1'
|
2208
|
END
|
2209
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
2210
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
2211
|
BEGIN
|
2212
|
ROLLBACK TRANSACTION
|
2213
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
2214
|
RETURN '-1'
|
2215
|
END
|
2216
|
|
2217
|
--doanptt 180622 ghi log NSCP
|
2218
|
-- BEGIN CHECK HAN MUC CHI PHI THEO NAM
|
2219
|
IF(@BUDGET_TYPE = 'nam')
|
2220
|
BEGIN
|
2221
|
SET @MONTH_RATE = 'M' + CONVERT(VARCHAR(20), MONTH(GETDATE()));
|
2222
|
|
2223
|
IF(@MONTH_RATE = 'M1')
|
2224
|
BEGIN
|
2225
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2226
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2227
|
END
|
2228
|
IF(@MONTH_RATE = 'M2')
|
2229
|
BEGIN
|
2230
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2231
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2232
|
END
|
2233
|
IF(@MONTH_RATE = 'M3')
|
2234
|
BEGIN
|
2235
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2236
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2237
|
END
|
2238
|
IF(@MONTH_RATE = 'M4')
|
2239
|
BEGIN
|
2240
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2241
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE,0,0,0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2242
|
END
|
2243
|
IF(@MONTH_RATE = 'M5')
|
2244
|
BEGIN
|
2245
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2246
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2247
|
END
|
2248
|
IF(@MONTH_RATE = 'M6')
|
2249
|
BEGIN
|
2250
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID, DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2251
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2252
|
END
|
2253
|
IF(@MONTH_RATE = 'M7')
|
2254
|
BEGIN
|
2255
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2256
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2257
|
END
|
2258
|
IF(@MONTH_RATE = 'M8')
|
2259
|
BEGIN
|
2260
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2261
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, '', '', '', '', '', '', '', @AMT_EXE, '', '', '', '', @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2262
|
END
|
2263
|
IF(@MONTH_RATE = 'M9')
|
2264
|
BEGIN
|
2265
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2266
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2267
|
END
|
2268
|
IF(@MONTH_RATE = 'M10')
|
2269
|
BEGIN
|
2270
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2271
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE,0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2272
|
END
|
2273
|
IF(@MONTH_RATE = 'M11')
|
2274
|
BEGIN
|
2275
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2276
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2277
|
END
|
2278
|
IF(@MONTH_RATE = 'M12')
|
2279
|
BEGIN
|
2280
|
INSERT INTO TR_REQ_BUDGET_YEAR_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2281
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2282
|
END
|
2283
|
|
2284
|
-- CHECK HẠN MỨC
|
2285
|
DECLARE @l_HAVE_BUDGET_LIMIT_YEAR decimal(18,0), @l_BUDGET_LIMIT_CURRENT_YEAR decimal(18,0) =0, @l_BUDGET_USED_CURRENT_YEAR decimal(18,0) =0 , @l_BRANCH_TYPE_YEAR VARCHAR(20) = '';
|
2286
|
exec TR_BUDGET_CHECK_LIMIT_YEAR_Byid @GD_ID, @GD_CODE ,@BRANCH_ID, @DEP_ID, @MONTH_RATE, @YEAR_RATE, @l_BUDGET_LIMIT_CURRENT_YEAR out, @l_BUDGET_USED_CURRENT_YEAR out
|
2287
|
IF(@l_BUDGET_LIMIT_CURRENT_YEAR < @l_BUDGET_USED_CURRENT_YEAR)
|
2288
|
BEGIN
|
2289
|
ROLLBACK TRANSACTION
|
2290
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng ngân sách vượt quá định mức ngân sách. Hạn mức hiện tại là ' + FORMAT(@l_BUDGET_LIMIT_CURRENT_YEAR,'#,#', 'vi-VN') + N', số tiền đã sử dụng đến hiện tại là ' + FORMAT(@l_BUDGET_USED_CURRENT_YEAR,'#,#', 'vi-VN') ErrorDesc
|
2291
|
RETURN '-1'
|
2292
|
END
|
2293
|
END-- END CHECK HAN MUC NGAN SACH CHI PHI THEO NAM
|
2294
|
ELSE IF(@BUDGET_TYPE = 'thang')
|
2295
|
BEGIN -- BEGIN CHECK HAN MUC NGAN SACH CHI PHI THEO THANG
|
2296
|
-- BEGIN KIỂM TRA HẠN MỨC
|
2297
|
DECLARE @l_HAVE_BUDGET_LIMIT decimal(18,0), @l_BUDGET_LIMIT_CURRENT decimal(18,0) =0, @l_BUDGET_USED_CURRENT decimal(18,0) =0 , @l_BRANCH_TYPE VARCHAR(20) = '';
|
2298
|
-- lấy loại đơn vị
|
2299
|
SET @l_BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID)
|
2300
|
IF(@l_BRANCH_TYPE = 'HS')
|
2301
|
BEGIN
|
2302
|
SET @l_BRANCH_TYPE = 'ho'
|
2303
|
END
|
2304
|
ELSE
|
2305
|
BEGIN
|
2306
|
SET @l_BRANCH_TYPE = 'dvkd'
|
2307
|
END
|
2308
|
IF(@MONTH_RATE = '' OR @MONTH_RATE IS NULL)
|
2309
|
BEGIN
|
2310
|
ROLLBACK TRANSACTION
|
2311
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Tháng định mức không được để trống' ErrorDesc
|
2312
|
RETURN '-1'
|
2313
|
END
|
2314
|
IF(@YEAR_RATE = '' OR @YEAR_RATE IS NULL)
|
2315
|
BEGIN
|
2316
|
ROLLBACK TRANSACTION
|
2317
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Năm định mức không được để trống' ErrorDesc
|
2318
|
RETURN '-1'
|
2319
|
END
|
2320
|
-- END KIỂM TRA HẠN MỨC
|
2321
|
-- BEGIN VALIDATE
|
2322
|
IF(@MONTH_RATE = 'M1')
|
2323
|
BEGIN
|
2324
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2325
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2326
|
END
|
2327
|
IF(@MONTH_RATE = 'M2')
|
2328
|
BEGIN
|
2329
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2330
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2331
|
END
|
2332
|
IF(@MONTH_RATE = 'M3')
|
2333
|
BEGIN
|
2334
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2335
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2336
|
END
|
2337
|
IF(@MONTH_RATE = 'M4')
|
2338
|
BEGIN
|
2339
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2340
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE,0,0,0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2341
|
END
|
2342
|
IF(@MONTH_RATE = 'M5')
|
2343
|
BEGIN
|
2344
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2345
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2346
|
END
|
2347
|
IF(@MONTH_RATE = 'M6')
|
2348
|
BEGIN
|
2349
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID, DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2350
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2351
|
END
|
2352
|
IF(@MONTH_RATE = 'M7')
|
2353
|
BEGIN
|
2354
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2355
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2356
|
END
|
2357
|
IF(@MONTH_RATE = 'M8')
|
2358
|
BEGIN
|
2359
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2360
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, '', '', '', '', '', '', '', @AMT_EXE, '', '', '', '', @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2361
|
END
|
2362
|
IF(@MONTH_RATE = 'M9')
|
2363
|
BEGIN
|
2364
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2365
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, 0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2366
|
END
|
2367
|
IF(@MONTH_RATE = 'M10')
|
2368
|
BEGIN
|
2369
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2370
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE,0, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2371
|
END
|
2372
|
IF(@MONTH_RATE = 'M11')
|
2373
|
BEGIN
|
2374
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2375
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, 0, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2376
|
END
|
2377
|
IF(@MONTH_RATE = 'M12')
|
2378
|
BEGIN
|
2379
|
INSERT INTO TR_REQ_BUDGET_MONTH_LIMIT_DETAIL(REQ_PAY_ID, GD_ID , BRANCH_ID,DEP_ID, BUDGET_YEAR, M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, MAKER_ID, CREATE_DT, RECORD_STATUS, AUTH_STATUS, CHECKER_ID , APPROVE_DT)
|
2380
|
VALUES(@p_REQ_PAY_ID, @GD_ID, @BRANCH_ID, @DEP_ID, @YEAR_RATE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @AMT_EXE, @p_MAKER_ID, GETDATE(), '1', 'A', NULL, NULL )
|
2381
|
END
|
2382
|
-- END VALIDATE
|
2383
|
|
2384
|
-- CHECK HẠN MỨC
|
2385
|
EXEC TR_BUDGET_CHECK_LIMIT_MONTH_Byid @GD_ID, @GD_CODE ,@l_BRANCH_TYPE, @YEAR_RATE , @MONTH_RATE, @l_BUDGET_LIMIT_CURRENT out, @l_BUDGET_USED_CURRENT out
|
2386
|
IF(@l_BUDGET_LIMIT_CURRENT < @l_BUDGET_USED_CURRENT)
|
2387
|
BEGIN
|
2388
|
ROLLBACK TRANSACTION
|
2389
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(NVARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng ngân sách vượt quá định mức ngân sách. Hạn mức hiện tại là ' + FORMAT(@l_BUDGET_LIMIT_CURRENT,'#,#', 'vi-VN') + N', số tiền đã sử dụng đến hiện tại là ' + FORMAT(@l_BUDGET_USED_CURRENT,'#,#', 'vi-VN') ErrorDesc
|
2390
|
RETURN '-1'
|
2391
|
END
|
2392
|
END
|
2393
|
--END CHECK HAN MUC NGAN SACH CHI PHI THEO THANG
|
2394
|
END
|
2395
|
-- END VALIDATE
|
2396
|
|
2397
|
DECLARE @p_BUDGET_ID VARCHAR(15);
|
2398
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_BUDGET', @p_BUDGET_ID OUT;
|
2399
|
IF @p_BUDGET_ID='' OR @p_BUDGET_ID IS NULL GOTO ABORT;
|
2400
|
INSERT INTO TR_REQ_PAY_BUDGET(BUDG_ID,GD_ID,REQ_PAY_ID,TRADE_ID,AMT_APP,AMT_DO,AMT_EXE,AMT_REMAIN,MAKER_ID,CREATE_DT,CURRENCY,RATE,REASON,TYPE_COST , FR_LEVEL ,TO_LEVEL, MONTH_RATE, YEAR_RATE, BUDGET_TYPE, BRANCH_ID ,DEP_ID)
|
2401
|
VALUES (@p_BUDGET_ID,@GD_ID,@p_REQ_PAY_ID,@TRADE_ID,@AMT_APP,@AMT_DO,@AMT_EXE,@AMT_REMAIN_GD,@p_MAKER_ID, GETDATE(), @p_REQ_TYPE_CURRENCY , @p_RATE,@REASON,@TYPE_COST, @FR_LEVEL,@TO_LEVEL, @MONTH_RATE, @YEAR_RATE, @BUDGET_TYPE, @BRANCH_ID, @DEP_ID)
|
2402
|
IF @@error<>0 GOTO ABORT;
|
2403
|
FETCH NEXT FROM XmlDataGood INTO @TRADE_ID,@GD_ID , @GD_CODE, @AMT_APP ,@AMT_DO,@AMT_EXE ,@AMT_REMAIN_GD,@CURRENCY,
|
2404
|
@RATE,@REASON,@TYPE_COST, @FR_LEVEL,@TO_LEVEL, @MONTH_RATE, @YEAR_RATE, @BUDGET_TYPE, @BRANCH_ID , @DEP_ID, @MONTH, @YEAR
|
2405
|
END;
|
2406
|
CLOSE XmlDataGood;
|
2407
|
DEALLOCATE XmlDataGood;
|
2408
|
-- END THONG TIN HAMG MUC NGAN SACH VA CHI PHI
|
2409
|
|
2410
|
|
2411
|
-- BEGIN THONG TIN PHUONG THUC THANH TOAN
|
2412
|
-- DELETE
|
2413
|
DELETE FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2414
|
--DECLARE
|
2415
|
DECLARE @RECEIVE_ID varchar(15),@RECEIVE_NAME nvarchar(100),@REQ_PAY_REASON nvarchar(MAX),@TOTAL_AMT_METHOD decimal(18,2), @REQ_PAY_TYPE varchar(1),@REQ_PAY_DESC nvarchar(MAX),
|
2416
|
@REQ_PAY_ENTRIES nvarchar(MAX),@CHECK_IN VARCHAR(15), @BANKCODE_NAPAS VARCHAR(20), @BANKCODE VARCHAR(20), @BANKNAME VARCHAR(250), @SUB_ISSUED_BY NVARCHAR(250), @RECEIVER_DEBIT VARCHAR(20)
|
2417
|
-- SET
|
2418
|
SET @INDEX = 0
|
2419
|
-- DECLARE CURSOR
|
2420
|
DECLARE XmlDataMethod CURSOR FOR SELECT * FROM OPENXML(@hdocMethod, 'Root/XmlDataMethod',2)
|
2421
|
WITH(RECEIVE_ID varchar(15),RECEIVE_NAME nvarchar(100),REQ_PAY_REASON nvarchar(MAX),TOTAL_AMT decimal(18,2), REQ_PAY_TYPE varchar(1),REQ_PAY_DESC nvarchar(MAX),REQ_PAY_ENTRIES nvarchar(MAX),
|
2422
|
ACC_NO VARCHAR(250), ACC_NAME NVARCHAR(250),ISSUED_BY NVARCHAR(250), ISSUED_DT VARCHAR(20),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),CHECK_IN VARCHAR(15),TYPE_TRANSFER VARCHAR(15),
|
2423
|
BANKCODE_NAPAS VARCHAR(20), BANKCODE VARCHAR(20), BANKNAME NVARCHAR(250), SUB_ISSUED_BY NVARCHAR(250), RECEIVER_DEBIT NVARCHAR(20))
|
2424
|
-- BEGIN CURSOR THONG TIN PHUONG THUC THANH TOAN
|
2425
|
OPEN XmlDataMethod
|
2426
|
FETCH NEXT FROM XmlDataMethod INTO @RECEIVE_ID,@RECEIVE_NAME,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,
|
2427
|
@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@ACC_NO, @ACC_NAME,@ISSUED_BY, @ISSUED_DT,@CURRENCY,@RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT
|
2428
|
WHILE @@fetch_status=0
|
2429
|
BEGIN
|
2430
|
-- SET
|
2431
|
SET @INDEX_METHOD = @INDEX_METHOD+1
|
2432
|
-- BEGIN VALIDATE
|
2433
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2434
|
BEGIN
|
2435
|
|
2436
|
IF(@ACC_NO IS NULL OR @ACC_NO = '')
|
2437
|
BEGIN
|
2438
|
ROLLBACK TRANSACTION
|
2439
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': số tài khoản '+ N' không được để trống' ErrorDesc
|
2440
|
RETURN '-1'
|
2441
|
END
|
2442
|
|
2443
|
IF((@BANKCODE IS NULL OR @BANKCODE = '') AND @CHECK_IN = 'O')
|
2444
|
BEGIN
|
2445
|
ROLLBACK TRANSACTION
|
2446
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Loại tài khoản là ngoài hệ thống! Vui lòng chọn lại Tên ngân hàng/nơi cấp CMND từ danh sách!' ErrorDesc
|
2447
|
RETURN '-1'
|
2448
|
END
|
2449
|
|
2450
|
IF(@REQ_PAY_TYPE = '1' AND (@ISSUED_DT = '' OR @ISSUED_DT IS NULL))
|
2451
|
BEGIN
|
2452
|
ROLLBACK TRANSACTION
|
2453
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Ngày cấp CMND '+ N' không được để trống nếu phương thức thanh toán là bằng tiền mặt' ErrorDesc
|
2454
|
RETURN '-1'
|
2455
|
END
|
2456
|
|
2457
|
IF(@ISSUED_BY = '' OR @ISSUED_BY IS NULL)
|
2458
|
BEGIN
|
2459
|
ROLLBACK TRANSACTION
|
2460
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Tên ngân hàng/nơi cấp CMND '+ N' không được để trống' ErrorDesc
|
2461
|
RETURN '-1'
|
2462
|
END
|
2463
|
|
2464
|
IF(@ACC_NAME = '' OR @ACC_NAME IS NULL)
|
2465
|
BEGIN
|
2466
|
ROLLBACK TRANSACTION
|
2467
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin phương thức thanh toán, dòng ' + CONVERT(VARCHAR(5),@INDEX_METHOD)+N': Tên tài khoản/người nhận '+ N' không được để trống' ErrorDesc
|
2468
|
RETURN '-1'
|
2469
|
END
|
2470
|
END
|
2471
|
-- END VALIDATE
|
2472
|
IF(@REQ_PAY_TYPE<>'1')
|
2473
|
BEGIN
|
2474
|
SET @ISSUED_DT = NULL
|
2475
|
END
|
2476
|
IF(@TYPE_TRANSFER IS NULL OR @TYPE_TRANSFER ='')
|
2477
|
BEGIN
|
2478
|
SET @TYPE_TRANSFER = 'A'
|
2479
|
END
|
2480
|
|
2481
|
DECLARE @p_REQ_PAY_METHOD_ID VARCHAR(15);
|
2482
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_METHOD', @p_REQ_PAY_METHOD_ID OUT;
|
2483
|
IF @p_REQ_PAY_METHOD_ID='' OR @p_REQ_PAY_METHOD_ID IS NULL GOTO ABORT;
|
2484
|
INSERT INTO TR_REQ_PAY_METHOD(METHOD_ID, REQ_PAY_ID, EMP_ID, REQ_PAY_REASON, TOTAL_AMT, REQ_PAY_TYPE, REQ_PAY_DESC, REQ_PAY_ENTRIES, TEMP, MAKER_ID, CREATE_DT, ACC_NO, ACC_NAME, ISSUED_BY, ISSUED_DT, CURRENCY, RATE, CHECK_IN, TYPE_TRANSFER, BANKCODE_NAPAS, BANKCODE, BANKNAME, SUB_ISSUED_BY, RECEIVER_DEBIT)
|
2485
|
VALUES (@p_REQ_PAY_METHOD_ID,@p_REQ_PAY_ID,@RECEIVE_ID,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,'',@p_MAKER_ID,GETDATE(),@ACC_NO, @ACC_NAME,@ISSUED_BY,CONVERT(DATE,@ISSUED_DT,103), @p_REQ_TYPE_CURRENCY , @p_RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT)
|
2486
|
IF @@error<>0 GOTO ABORT;
|
2487
|
FETCH NEXT FROM XmlDataMethod INTO @RECEIVE_ID,@RECEIVE_NAME,@REQ_PAY_REASON,@TOTAL_AMT_METHOD,@REQ_PAY_TYPE,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,
|
2488
|
@ACC_NO, @ACC_NAME,@ISSUED_BY, @ISSUED_DT,@CURRENCY,@RATE,@CHECK_IN,@TYPE_TRANSFER, @BANKCODE_NAPAS, @BANKCODE, @BANKNAME, @SUB_ISSUED_BY, @RECEIVER_DEBIT
|
2489
|
END
|
2490
|
CLOSE XmlDataMethod;
|
2491
|
DEALLOCATE XmlDataMethod;
|
2492
|
-- END CURSOR THONG TIN PHUONG THUC THANH TOAN
|
2493
|
-- END THONG TIN PHUONG THUC THANH TOAN
|
2494
|
|
2495
|
-- BEGIN THONG TIN HOP DONG DINH KEM & THONG TIN CHUNG TU KHAC DINH KEM
|
2496
|
-- DELETE
|
2497
|
DELETE FROM TR_REQ_PAY_ATTACH WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
2498
|
-- DECLARE
|
2499
|
DECLARE @ATTACH_ID varchar(15),@CON_ID varchar(100),@CONT_CODE VARCHAR(50), @CON_NOTES VARCHAR(1000), @CON_DESC NVARCHAR(1000),@CON_TYPE VARCHAR(15),@AMT_ATT DECIMAL(18,2),@REF_DT VARCHAR(20), @LICENSE_DT VARCHAR(15)
|
2500
|
-- DECLARE CURSOR
|
2501
|
DECLARE XmlAttach CURSOR FOR SELECT * FROM OPENXML(@hdocAttach, 'Root/XmlAttach',2)
|
2502
|
WITH(ATTACH_ID varchar(15),CON_ID varchar(100),CONT_CODE VARCHAR(50), CON_NOTES NVARCHAR(1000), CON_DESC NVARCHAR(1000),CON_TYPE VARCHAR(15),AMT_ATT DECIMAL(18,2),REF_DT VARCHAR(20), LICENSE_DT VARCHAR(15))
|
2503
|
-- BEGIN CURSOR THONG TIN CHUNG TU KHAC DINH KEM
|
2504
|
OPEN XmlAttach
|
2505
|
FETCH NEXT FROM XmlAttach INTO @ATTACH_ID,@CON_ID,@CONT_CODE,@NOTES,@CON_DESC,@CON_TYPE,@AMT_ATT,@REF_DT, @LICENSE_DT
|
2506
|
WHILE @@fetch_status=0
|
2507
|
BEGIN
|
2508
|
|
2509
|
IF (@REF_DT='')
|
2510
|
BEGIN
|
2511
|
SET @REF_DT = NULL
|
2512
|
END
|
2513
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_ATTACH', @ATTACH_ID OUT;
|
2514
|
IF @ATTACH_ID='' OR @ATTACH_ID IS NULL GOTO ABORT;
|
2515
|
INSERT INTO TR_REQ_PAY_ATTACH(ATTACH_ID,REQ_PAY_ID,REF_ID,REF_CODE,NOTES,[DESCRIPTION],[TYPE],[AMT],REF_DT, LICENSE_DT) VALUES
|
2516
|
(@ATTACH_ID,@p_REQ_PAY_ID,@CON_ID,@CONT_CODE,@NOTES,@CON_DESC,@CON_TYPE,@AMT_ATT,CONVERT(DATE,@REF_DT,103) ,CONVERT(DATE, @LICENSE_DT,103))
|
2517
|
IF @@error<>0 GOTO ABORT;
|
2518
|
FETCH NEXT FROM XmlAttach INTO @ATTACH_ID,@CON_ID,@CONT_CODE,@NOTES,@CON_DESC,@CON_TYPE,@AMT_ATT,@REF_DT, @LICENSE_DT
|
2519
|
END
|
2520
|
CLOSE XmlAttach;
|
2521
|
DEALLOCATE XmlAttach;
|
2522
|
-- END THONG TIN HOP DONG DINH KEM & THONG TIN CHUNG TU KHAC DINH KEM
|
2523
|
|
2524
|
------------------------
|
2525
|
-- NEU LA THANH TOAN HOAN TAM UNG
|
2526
|
IF(@p_REQ_TYPE = 'I')
|
2527
|
BEGIN
|
2528
|
-- DELETE
|
2529
|
DELETE FROM TR_REQ_PAYMENT_DT WHERE PAY_ID = @p_REQ_PAY_ID
|
2530
|
|
2531
|
DECLARE XmlDataPay CURSOR FOR SELECT * FROM OPENXML(@hDoc2, '/Root/XmlDataPay', 2)
|
2532
|
WITH(PAY_ADV_ID nvarchar(50),AMT_ADVANCED decimal(18, 0),AMT_DO decimal(18,2),
|
2533
|
AMT_REMAIN decimal(18,2),AMT_PAY decimal(18,2),AMT_USE decimal(18,2),AMT_REVERT DECIMAL(18,0),AMT_ADD DECIMAL(18,2),CURRENCY VARCHAR(15), RATE DECIMAL(18,2), TRN_DATE VARCHAR(15))
|
2534
|
-- BEGIN CURSOR THONG TIN PHIEU DE NGHI TAM UNG
|
2535
|
OPEN XmlDataPay;
|
2536
|
FETCH NEXT FROM XmlDataPay INTO @PAY_ADV_ID, @AMT_ADVANCED ,@AMT_DO,@AMT_REMAIN,@AMT_PAY ,@AMT_USE ,@AMT_REVERT,@AMT_ADD,@CURRENCY,@RATE, @TRN_DATE
|
2537
|
WHILE @@fetch_status=0
|
2538
|
BEGIN
|
2539
|
SET @INDEX_AD = @INDEX_AD +1
|
2540
|
SET @REQ_PAY_ADV_CODE = (SELECT REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PAY_ADV_ID)
|
2541
|
-- BEGIN VALIDATE
|
2542
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2543
|
BEGIN
|
2544
|
-- KIEM TRA XEM CO PHIEU NAO DANG DUOC THANH TOAN HOAN TAM UNG MA CHUA DUYET HAY CHUA
|
2545
|
--IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_DT WHERE (PAY_ADV_ID =@PAY_ADV_ID AND (AUTH_STATUS_KT <>'A' OR AUTH_STATUS_KT IS NULL)) AND PAY_ID <> @p_REQ_PAY_ID))
|
2546
|
IF(EXISTS (SELECT * FROM TR_REQ_PAYMENT_DT WHERE (PAY_ADV_ID =@PAY_ADV_ID AND (AUTH_STATUS ='A' AND ISNULL(AUTH_STATUS_KT,'') <> 'A')) AND PAY_ID <> @p_REQ_PAY_ID))
|
2547
|
BEGIN
|
2548
|
ROLLBACK TRANSACTION
|
2549
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Phiếu tạm ứng số '+@REQ_PAY_ADV_CODE+ N' đang được thanh toán hoàn tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2550
|
RETURN '-1'
|
2551
|
END
|
2552
|
|
2553
|
-- KIEM TRA NEU SO TIEN DE NGHI HOAN TAM ƯNG LON HON SO TIEN CON LAI CAN PHAI TAM UNG
|
2554
|
IF(@AMT_REVERT>(@AMT_REMAIN -@AMT_USE) AND @AMT_REVERT >0)
|
2555
|
BEGIN
|
2556
|
ROLLBACK TRANSACTION
|
2557
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Số tiền hoàn ứng không được vượt quá '+FORMAT((@AMT_REMAIN -@AMT_USE),'#,#', 'vi-VN') ErrorDesc
|
2558
|
RETURN '-1'
|
2559
|
END
|
2560
|
--KIEM TRA NEU SO PHIEU TAM UNG NAY DA THANH TOAN XONG THI KHONG CHO PHEP DUYET
|
2561
|
IF((SELECT A.REQ_AMT - A.PAY_AMT FROM TR_REQ_ADVANCE_PAYMENT A WHERE A.REQ_PAY_ID = @PAY_ADV_ID)<=0)
|
2562
|
BEGIN
|
2563
|
ROLLBACK TRANSACTION
|
2564
|
SELECT '-1' Result,'' REQ_PAY_ID,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_AD)+ N': Phiếu tạm ứng này đã được hoàn tạm ứng xong. Vui lòng xóa khỏi danh sách hoàn tạm ứng' ErrorDesc
|
2565
|
RETURN '-1'
|
2566
|
END
|
2567
|
|
2568
|
END
|
2569
|
-- END VALIDATE
|
2570
|
DECLARE @p_REQ_PAYDT_ID VARCHAR(15);
|
2571
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAYMENT_DT', @p_REQ_PAYDT_ID OUT;
|
2572
|
IF @p_REQ_PAYDT_ID='' OR @p_REQ_PAYDT_ID IS NULL GOTO ABORT;
|
2573
|
INSERT INTO TR_REQ_PAYMENT_DT
|
2574
|
VALUES (@p_REQ_PAYDT_ID,@PAY_ADV_ID,@p_REQ_PAY_ID , ISNULL(@AMT_ADVANCED,0) ,ISNULL(@AMT_DO,0),ISNULL(@AMT_REMAIN,0),
|
2575
|
ISNULL(ISNULL(@AMT_USE,0) + ISNULL(@AMT_REVERT,0) - ISNULL(@AMT_ADD,0),0) ,ISNULL(@AMT_USE,0) ,ISNULL(@AMT_REVERT,0), ISNULL(@AMT_ADD,0), CONVERT(DATE,@TRN_DATE,103) ,@p_MAKER_ID ,GETDATE() ,NULL ,NULL,'U' ,NULL ,NULL ,NULL ,NULL,NULL, @p_REQ_TYPE_CURRENCY , @p_RATE)
|
2576
|
IF @@error<>0 GOTO ABORT;
|
2577
|
FETCH NEXT FROM XmlDataPay INTO @PAY_ADV_ID, @AMT_ADVANCED ,@AMT_DO,@AMT_REMAIN,@AMT_PAY ,@AMT_USE ,@AMT_REVERT,@AMT_ADD,@CURRENCY,@RATE, @TRN_DATE
|
2578
|
END
|
2579
|
CLOSE XmlDataPay;
|
2580
|
DEALLOCATE XmlDataPay;
|
2581
|
--END CURSOR THONG TIN PHIEU DE NGHI TAM UNG
|
2582
|
--------------------------------------------------------------------------------------------------------------------
|
2583
|
--INSERT FROM CatCursor
|
2584
|
--DELETE
|
2585
|
DELETE FROM TR_REQ_PAY_CAT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2586
|
--CatCursor
|
2587
|
DECLARE @REQ_ADV_ID varchar(15),@CAT_NAME nvarchar(100),@TOTAL_AMT_CAT decimal(18,2), @DEPT_ID VARCHAR(15)
|
2588
|
DECLARE XmlDataCat CURSOR FOR
|
2589
|
SELECT * FROM OPENXML(@hdoc, 'Root/XmlDataCat',2)
|
2590
|
WITH(REQ_ADV_ID VARCHAR(15),CAT_NAME nvarchar(100),TOTAL_AMT decimal(18,2), DEPT_ID VARCHAR(15),CURRENCY VARCHAR(15), RATE DECIMAL(18,2))
|
2591
|
OPEN XmlDataCat
|
2592
|
FETCH NEXT FROM XmlDataCat INTO @REQ_ADV_ID,@CAT_NAME,@TOTAL_AMT_CAT,@DEPT_ID,@CURRENCY,@RATE
|
2593
|
WHILE @@fetch_status=0
|
2594
|
BEGIN
|
2595
|
SET @INDEX = @INDEX +1
|
2596
|
DECLARE @p_REQ_PAY_CAT_ID VARCHAR(15);
|
2597
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_CAT', @p_REQ_PAY_CAT_ID OUT;
|
2598
|
IF @p_REQ_PAY_CAT_ID='' OR @p_REQ_PAY_CAT_ID IS NULL GOTO ABORT;
|
2599
|
INSERT INTO TR_REQ_PAY_CAT
|
2600
|
VALUES (@p_REQ_PAY_CAT_ID,@p_REQ_PAY_ID,@REQ_ADV_ID,@CAT_NAME,@TOTAL_AMT_CAT,@DEPT_ID,@p_MAKER_ID,GETDATE(), @p_REQ_TYPE_CURRENCY , @p_RATE)
|
2601
|
IF @@error<>0 GOTO ABORT;
|
2602
|
FETCH NEXT FROM XmlDataCat INTO @REQ_ADV_ID,@CAT_NAME,@TOTAL_AMT_CAT,@DEPT_ID,@CURRENCY,@RATE
|
2603
|
END
|
2604
|
CLOSE XmlDataCat;
|
2605
|
DEALLOCATE XmlDataCat;
|
2606
|
END
|
2607
|
-- NEU LA THANH TOAN KHAC
|
2608
|
IF(@p_REQ_TYPE = 'D' OR @p_REQ_TYPE ='I')
|
2609
|
BEGIN
|
2610
|
-- DELETE
|
2611
|
DELETE FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2612
|
-- DECLARE
|
2613
|
DECLARE @SUM_TTCT_LINK DECIMAL(18,0), @SUM_TT_CT DECIMAL(18,0), @SUM_KUY_KE_TT DECIMAL(18,0),@SUM_PYCMS_LINK DECIMAL(18,0), @PYCMS_CODE_LIST VARCHAR(250), @PDNTT_CODE_LIST VARCHAR(250)
|
2614
|
DECLARE @REQ_PAY_SERVICE_NAME nvarchar(100),@RECEIVE_ID_SERVICE varchar(15),@RECEIVE_NAME_SERVICE nvarchar(100),@REQ_PAY_REASON_SERVICE nvarchar(MAX), @TOTAL_AMT_SERVICE decimal(18,2),
|
2615
|
@REQ_PAY_TYPE_SERVICE varchar(1),@REQ_PAY_DESC_SERVICE nvarchar(MAX),@REQ_PAY_ENTRIES_SERVICE nvarchar(MAX),@DEPT_ID_SRV VARCHAR(15)
|
2616
|
-- SET
|
2617
|
SET @SUM_KUY_KE_TT=0
|
2618
|
SET @INDEX = 0
|
2619
|
-- DECLARE CURSOR
|
2620
|
DECLARE XmlDataService CURSOR FOR SELECT * FROM OPENXML(@hdocService, 'Root/XmlDataService',2)
|
2621
|
WITH(REQ_PAY_SERVICE_NAME nvarchar(100),RECEIVE_ID_SERVICE varchar(15),RECEIVE_NAME_SERVICE nvarchar(100),REQ_PAY_REASON_SERVICE nvarchar(MAX),
|
2622
|
TOTAL_AMT_SERVICE decimal(18,2),REQ_PAY_TYPE_SERVICE varchar(1),REQ_PAY_DESC_SERVICE nvarchar(MAX),REQ_PAY_ENTRIES_SERVICE nvarchar(MAX),
|
2623
|
DEPT_ID VARCHAR(15),CURRENCY VARCHAR(15), RATE DECIMAL(18,2))
|
2624
|
-- BEGIN CURSOR THONG TIN CAC DICH VU THANH TOAN
|
2625
|
OPEN XmlDataService
|
2626
|
FETCH NEXT FROM XmlDataService INTO @REQ_PAY_SERVICE_NAME,@RECEIVE_ID_SERVICE,@RECEIVE_NAME_SERVICE,@REQ_PAY_REASON_SERVICE,@TOTAL_AMT_SERVICE,
|
2627
|
@REQ_PAY_TYPE_SERVICE,@REQ_PAY_DESC_SERVICE,@REQ_PAY_ENTRIES_SERVICE,@DEPT_ID_SRV,@CURRENCY,@RATE
|
2628
|
WHILE @@fetch_status=0
|
2629
|
BEGIN
|
2630
|
SET @INDEX = @INDEX +1
|
2631
|
SET @SUM_TTCT_LINK =(SELECT SUM(TOTAL_AMT*ISNULL(RATE,1)) FROM TR_REQ_PAY_SERVICE WHERE
|
2632
|
REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT) AND REQ_PAY_ID <> @p_REQ_PAY_ID AND EMP_ID =@RECEIVE_ID_SERVICE)
|
2633
|
SET @SUM_PYCMS_LINK =ISNULL((SELECT SUM(TOTAL_AMT) FROM TR_REQUEST_DOC WHERE PL_REQ_ID =@RECEIVE_ID_SERVICE),0)
|
2634
|
SET @SUM_TT_CT =(SELECT ISNULL(TOTAL_AMT,0) FROM PL_REQUEST_DOC WHERE REQ_ID =@RECEIVE_ID_SERVICE)
|
2635
|
SET @PYCMS_CODE_LIST = (select STUFF( (select '; ' + DTA.REQ_CODE FROM TR_REQUEST_DOC DTA WHERE PL_REQ_ID =@RECEIVE_ID_SERVICE
|
2636
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
2637
|
SET @PDNTT_CODE_LIST = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_PAYMENT DTA WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAY_SERVICE WHERE EMP_ID =@RECEIVE_ID_SERVICE) AND REQ_PAY_ID <> @p_REQ_PAY_ID
|
2638
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
2639
|
--------------- BEGIN VALIDATE --------------
|
2640
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2641
|
BEGIN
|
2642
|
IF(@DEPT_ID_SRV IS NULL OR @DEPT_ID_SRV ='')
|
2643
|
BEGIN
|
2644
|
ROLLBACK TRANSACTION
|
2645
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin các dịch vụ thanh toán, dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Phòng ban chịu chi phí không được để trống' ErrorDesc
|
2646
|
RETURN '-1'
|
2647
|
END
|
2648
|
|
2649
|
IF(@TOTAL_AMT_SERVICE IS NULL)
|
2650
|
BEGIN
|
2651
|
ROLLBACK TRANSACTION
|
2652
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin các dịch vụ thanh toán, dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Số tiền thanh toán không được để trống' ErrorDesc
|
2653
|
RETURN '-1'
|
2654
|
END
|
2655
|
|
2656
|
IF(@TOTAL_AMT_SERVICE < 0)
|
2657
|
BEGIN
|
2658
|
ROLLBACK TRANSACTION
|
2659
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin các dịch vụ thanh toán, dòng '+ CONVERT(VARCHAR(5),@INDEX)+ N': Số tiền thanh toán không thể nhỏ hơn 0' ErrorDesc
|
2660
|
RETURN '-1'
|
2661
|
END
|
2662
|
|
2663
|
IF(((ISNULL(@SUM_TTCT_LINK,0) +ISNULL(@SUM_PYCMS_LINK,0) + ISNULL(@TOTAL_AMT_SERVICE,0)) > ISNULL(@SUM_TT_CT,0)) AND @RECEIVE_ID_SERVICE IS NOT NULL AND @RECEIVE_ID_SERVICE <> '')
|
2664
|
BEGIN
|
2665
|
ROLLBACK TRANSACTION
|
2666
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE,
|
2667
|
N'Dòng '+ CONVERT(VARCHAR(5),@INDEX)+N': Thông tin chi tiết về hạn mức sử dụng của tờ trình số: '+(SELECT TOP 1 ISNULL(REQ_CODE,'') FROM PL_REQUEST_DOC WHERE REQ_ID =@RECEIVE_ID_SERVICE)+N' như sau:'
|
2668
|
+ CHAR(10) + N'* Số tiền các phiếu yêu cầu mua sắm số:'+ISNULL(@PYCMS_CODE_LIST,'')+N' đã sử dụng: '+FORMAT(ISNULL(@SUM_PYCMS_LINK,0),'#,#', 'vi-VN') +' VND'+
|
2669
|
+ CHAR(10) +N'* Số tiền ở các phiếu thanh toán số: '+ISNULL(@PDNTT_CODE_LIST,'')+N' đã sử dụng: '+ FORMAT(ISNULL(@SUM_TTCT_LINK,0),'#,#', 'vi-VN') +' VND'
|
2670
|
+ CHAR(10) +N'* Bạn đang thanh toán cho phiếu này với số tiền: '+ FORMAT(ISNULL(@TOTAL_AMT_SERVICE,0),'#,#', 'vi-VN') +' VND'
|
2671
|
+ CHAR(10) +N'* Số tiền còn lại được phép thanh toán là: '+FORMAT(ISNULL(@SUM_TT_CT,0) -ISNULL(@SUM_TTCT_LINK,0) -ISNULL(@SUM_PYCMS_LINK,0),'#,#', 'vi-VN') +' VND' ErrorDesc
|
2672
|
RETURN '-1'
|
2673
|
END
|
2674
|
END
|
2675
|
--------------- END VALIDATE ----------------
|
2676
|
--IF(@RECEIVE_ID_SERVICE IS NOT NULL AND @RECEIVE_ID_SERVICE <> '')
|
2677
|
--BEGIN
|
2678
|
-- SET @SUM_PYCMS_LINK = @SUM_PYCMS_LINK +@TOTAL_AMT_SERVICE
|
2679
|
--END
|
2680
|
--SET @SUM_KUY_KE_TT = @SUM_KUY_KE_TT + @TOTAL_AMT_SERVICE
|
2681
|
|
2682
|
DECLARE @p_REQ_PAY_SERVICE_ID VARCHAR(15);
|
2683
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_SERVICE', @p_REQ_PAY_SERVICE_ID OUT;
|
2684
|
IF @p_REQ_PAY_SERVICE_ID='' OR @p_REQ_PAY_SERVICE_ID IS NULL GOTO ABORT;
|
2685
|
INSERT INTO TR_REQ_PAY_SERVICE(SERVICE_ID,REQ_PAY_ID,[SERVICE_NAME],EMP_ID,REQ_PAY_REASON,TOTAL_AMT,REQ_PAY_TYPE,REQ_PAY_DESC,REQ_PAY_ENTRIES,MAKER_ID,CREATE_DT,DEPT_ID,CURRENCY,RATE)
|
2686
|
VALUES (@p_REQ_PAY_SERVICE_ID,@p_REQ_PAY_ID,@REQ_PAY_SERVICE_NAME,@RECEIVE_ID_SERVICE,@REQ_PAY_REASON_SERVICE,@TOTAL_AMT_SERVICE,
|
2687
|
@REQ_PAY_TYPE_SERVICE,@REQ_PAY_DESC_SERVICE,@REQ_PAY_ENTRIES_SERVICE,@p_MAKER_ID,GETDATE(),@DEPT_ID_SRV, @p_REQ_TYPE_CURRENCY , @p_RATE)
|
2688
|
IF @@error<>0 GOTO ABORT;
|
2689
|
FETCH NEXT FROM XmlDataService INTO @REQ_PAY_SERVICE_NAME,@RECEIVE_ID_SERVICE,@RECEIVE_NAME_SERVICE,@REQ_PAY_REASON_SERVICE,@TOTAL_AMT_SERVICE,@REQ_PAY_TYPE_SERVICE,
|
2690
|
@REQ_PAY_DESC_SERVICE,@REQ_PAY_ENTRIES_SERVICE,@DEPT_ID_SRV,@CURRENCY,@RATE
|
2691
|
END
|
2692
|
CLOSE XmlDataService;
|
2693
|
DEALLOCATE XmlDataService;
|
2694
|
-- BEGIN CURSOR THONG TIN CAC DICH VU THANH TOAN
|
2695
|
END
|
2696
|
IF((@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD <>'Y' OR @p_IS_PERIOD IS NULL)) OR (@p_REQ_TYPE = 'P' AND @p_IS_PERIOD = 'Y') OR @p_REQ_TYPE ='I')
|
2697
|
BEGIN
|
2698
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
2699
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
2700
|
END
|
2701
|
-- NEU LA THANH TOAN PO HOP DONG
|
2702
|
IF((@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD <>'Y' OR @p_IS_PERIOD IS NULL)) OR @p_REQ_TYPE ='I')
|
2703
|
BEGIN
|
2704
|
-- DELETE
|
2705
|
--DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
2706
|
/*
|
2707
|
IF(@p_REQ_TYPE = 'P' AND (@p_IS_PERIOD <>'Y' OR @p_IS_PERIOD IS NULL))
|
2708
|
BEGIN
|
2709
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
2710
|
END
|
2711
|
*/
|
2712
|
-- DECLARE
|
2713
|
DECLARE @INDEX_PO INT, @REF_ID VARCHAR(15),@IS_CLOSED VARCHAR(1)
|
2714
|
--SET
|
2715
|
SET @INDEX_PO = 0
|
2716
|
-- DECLARE CURSOR
|
2717
|
DECLARE XmlDataPO CURSOR FOR SELECT * FROM OPENXML(@hdocPO, '/Root/XmlDataPO', 2)
|
2718
|
WITH(REF_ID varchar(15),IS_CLOSED VARCHAR(1),REF_TYPE VARCHAR(15))
|
2719
|
-- BEGIN CURSOR THÔNG TIN PO/ HOP DONG
|
2720
|
OPEN XmlDataPO;
|
2721
|
FETCH NEXT FROM XmlDataPO INTO @REF_ID,@IS_CLOSED,@REF_TYPE
|
2722
|
WHILE @@fetch_status=0
|
2723
|
BEGIN
|
2724
|
-- SET
|
2725
|
SET @INDEX_PO = @INDEX_PO +1
|
2726
|
-- BEGIN VALIDATE
|
2727
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2728
|
BEGIN
|
2729
|
DECLARE @PDN_TAMUNG_LIST VARCHAR(4000) --- LUCTV 19.10.2022
|
2730
|
-- KIEM TRA PO DUOC DUYET HAY CHUA
|
2731
|
--IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE PO_ID =@REF_ID AND AUTH_STATUS <>'A'))
|
2732
|
--BEGIN
|
2733
|
--ROLLBACK TRANSACTION
|
2734
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
2735
|
-- (SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' chưa được phê duyệt. Vui lòng phê duyệt PO trước khi tạo phiếu thanh toán' ErrorDesc
|
2736
|
-- RETURN '-1'
|
2737
|
--END
|
2738
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2739
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C'
|
2740
|
--AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL)))
|
2741
|
--BEGIN
|
2742
|
-- ROLLBACK TRANSACTION
|
2743
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
2744
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2745
|
-- RETURN '-1'
|
2746
|
--END
|
2747
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2748
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C'
|
2749
|
--AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
2750
|
--BEGIN
|
2751
|
-- ROLLBACK TRANSACTION
|
2752
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
2753
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2754
|
-- RETURN '-1'
|
2755
|
--END
|
2756
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2757
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P'
|
2758
|
--AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT NOT IN ('A','E','R') OR AUTH_STATUS_KT IS NULL)))
|
2759
|
--BEGIN
|
2760
|
-- ROLLBACK TRANSACTION
|
2761
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N':PO số '+
|
2762
|
-- (SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2763
|
-- RETURN '-1'
|
2764
|
--END
|
2765
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2766
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE IS_CLOSED='Y')))
|
2767
|
--BEGIN
|
2768
|
-- ROLLBACK TRANSACTION
|
2769
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin PO/ hợp đồng, dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
2770
|
-- (SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đã được thanh toán xong. Vui lòng chọn PO khác để tạm ứng hoặc xóa bản nháp này' ErrorDesc
|
2771
|
-- RETURN '-1'
|
2772
|
--END
|
2773
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2774
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C' AND REQ_PAY_ID
|
2775
|
--IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL)))
|
2776
|
--BEGIN
|
2777
|
-- ROLLBACK TRANSACTION
|
2778
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
2779
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2780
|
-- RETURN '-1'
|
2781
|
--END
|
2782
|
---- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2783
|
--IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='C' AND REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
2784
|
--BEGIN
|
2785
|
-- ROLLBACK TRANSACTION
|
2786
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
2787
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2788
|
-- RETURN '-1'
|
2789
|
--END
|
2790
|
--IF(EXISTS(SELECT * FROM TR_REQ_PAY_SCHEDULE WHERE REF_ID =@REF_ID AND PAY_ID =@PAY_ID AND
|
2791
|
-- REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_PAYMENT WHERE AUTH_STATUS_KT<>'A' OR AUTH_STATUS_KT IS NULL) AND REQ_PAY_ID <>@p_REQ_PAY_ID))
|
2792
|
--BEGIN
|
2793
|
-- ROLLBACK TRANSACTION
|
2794
|
-- SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Hợp đồng số '+
|
2795
|
-- (SELECT CONTRACT_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @REF_ID)+N' đang được thanh toán. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2796
|
-- RETURN '-1'
|
2797
|
--END
|
2798
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2799
|
SET @PDN_TAMUNG_LIST = (select STUFF( (select '; ' + DTA.REQ_PAY_CODE FROM TR_REQ_ADVANCE_PAYMENT DTA WHERE REQ_PAY_ID IN
|
2800
|
(SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P') AND ISNULL(AUTH_STATUS_KT,'') NOT IN ('A','E','R')
|
2801
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, ''))
|
2802
|
--- VALIDATE PO DANG TRONG QUA TRINH TAM UNG
|
2803
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REQ_PAY_ID
|
2804
|
IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT NOT IN ('A','E','R') OR AUTH_STATUS_KT IS NULL)))
|
2805
|
BEGIN
|
2806
|
ROLLBACK TRANSACTION
|
2807
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N':PO số '+
|
2808
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất.Danh sách phiếu tạm ứng đang sử dụng: '+ ISNULL(@PDN_TAMUNG_LIST,'') ErrorDesc
|
2809
|
RETURN '-1'
|
2810
|
END
|
2811
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2812
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE IS_CLOSED='Y')))
|
2813
|
BEGIN
|
2814
|
ROLLBACK TRANSACTION
|
2815
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
2816
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đã được thanh toán xong. Vui lòng chọn PO khác để tạm ứng hoặc xóa bản nháp này' ErrorDesc
|
2817
|
RETURN '-1'
|
2818
|
END
|
2819
|
END
|
2820
|
-- END VALIDATE
|
2821
|
DECLARE @REQ_PAYDTID VARCHAR(15);
|
2822
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_ADVANCE_DT', @REQ_PAYDTID OUT;
|
2823
|
IF @REQ_PAYDTID='' OR @REQ_PAYDTID IS NULL GOTO ABORT;
|
2824
|
IF(LEFT(@REF_ID, 3) = 'TRC')
|
2825
|
BEGIN
|
2826
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE)
|
2827
|
VALUES (@REQ_PAYDTID,@p_REQ_PAY_ID,@REF_ID,'PAY',@p_MAKER_ID,GETDATE(),@IS_CLOSED, 'C')
|
2828
|
END
|
2829
|
ELSE
|
2830
|
BEGIN
|
2831
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE)
|
2832
|
VALUES (@REQ_PAYDTID,@p_REQ_PAY_ID,@REF_ID,'PAY',@p_MAKER_ID,GETDATE(),@IS_CLOSED, 'P')
|
2833
|
END
|
2834
|
|
2835
|
IF @@error<>0 GOTO ABORT;
|
2836
|
FETCH NEXT FROM XmlDataPO INTO @REF_ID,@IS_CLOSED,@REF_TYPE
|
2837
|
END
|
2838
|
CLOSE XmlDataPO;
|
2839
|
DEALLOCATE XmlDataPO;
|
2840
|
-- END CURSOR THÔNG TIN PO/ HOP DONG
|
2841
|
|
2842
|
-- DELETE
|
2843
|
DELETE FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2844
|
-- DECLARE
|
2845
|
DECLARE @PO_ID VARCHAR(15), @PAY_PHASE NVARCHAR(250), @AMT_ADVANCE DECIMAL(18,2),
|
2846
|
@REQ_AD_DT VARCHAR(20),@PROCESS VARCHAR(15),@PAY_ID VARCHAR(15),@AMT_PAY_DO DECIMAL(18,2),@AMT_PAY_REAL DECIMAL(18,2)
|
2847
|
-- DECLARE CURSOR THONG TIN CHI TIET LICH THANH TOAN PO/ HOP DONG
|
2848
|
DECLARE XmlDataSchedule CURSOR FOR SELECT * FROM OPENXML(@hdocSchedule, 'Root/XmlDataSchedule',2)
|
2849
|
WITH(PO_ID VARCHAR(15),PAY_PHASE VARCHAR(15),AMT_PAY DECIMAL(18,2),REQ_ADV_ID VARCHAR(15), AMT_ADVANCE DECIMAL(18,2),
|
2850
|
AMT_REMAIN DECIMAL(18,2),REQ_AD_DT VARCHAR(20),PROCESS VARCHAR(15), PAY_ID VARCHAR(15),REF_ID VARCHAR(15),REQ_PAY_DESC NVARCHAR(250),
|
2851
|
REQ_PAY_ENTRIES NVARCHAR(250),CURRENCY VARCHAR(15), RATE DECIMAL(18,2),AMT_PAY_DO DECIMAL(18,2),AMT_PAY_REAL DECIMAL(18,2))
|
2852
|
-- BEGIN CURSOR THONG TIN CHI TIET LICH THANH TOAN PO/ HOP DONG
|
2853
|
OPEN XmlDataSchedule
|
2854
|
SET @INDEX_PO = 0
|
2855
|
FETCH NEXT FROM XmlDataSchedule INTO @PO_ID,@PAY_PHASE,@AMT_PAY, @REQ_ADV_ID,@AMT_ADVANCE,@AMT_REMAIN,@REQ_AD_DT,
|
2856
|
@PROCESS,@PAY_ID,@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@CURRENCY,@RATE,@AMT_PAY_DO,@AMT_PAY_REAL
|
2857
|
WHILE @@fetch_status=0
|
2858
|
BEGIN
|
2859
|
--IF(@AMT_REMAIN =0)
|
2860
|
--BEGIN
|
2861
|
-- SET @PROCESS ='3'
|
2862
|
--END
|
2863
|
--IF(@PROCESS <>'2')
|
2864
|
--BEGIN
|
2865
|
-- SET @TOTAL_SCHEDULE_AMT = @TOTAL_SCHEDULE_AMT +@AMT_REMAIN
|
2866
|
--END
|
2867
|
SET @INDEX_PO = @INDEX_PO +1
|
2868
|
SET @TOTAL_SCHEDULE_AMT = @TOTAL_SCHEDULE_AMT +(@AMT_PAY - @AMT_ADVANCE -@AMT_PAY_DO)
|
2869
|
-- BEGIN VALIDATE
|
2870
|
IF(@p_TYPE_FUNCTION ='SEND' AND @p_REQ_TYPE ='P')
|
2871
|
BEGIN
|
2872
|
IF(ISNULL(@AMT_PAY_REAL,0) < ISNULL(@AMT_ADVANCE ,0))
|
2873
|
BEGIN
|
2874
|
ROLLBACK TRANSACTION
|
2875
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': Số tiền thanh toán thực tế tối thiểu phải bằng số tiền đã tạm ứng : ' +FORMAT(SUM(@AMT_ADVANCE),'#,#', 'vi-VN') ErrorDesc
|
2876
|
RETURN '-1'
|
2877
|
END
|
2878
|
END
|
2879
|
-- END VALIDATE
|
2880
|
DECLARE @p_REQ_PAY_SCHEDULE_ID VARCHAR(15);
|
2881
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_SCHEDULE', @p_REQ_PAY_SCHEDULE_ID OUT;
|
2882
|
IF @p_REQ_PAY_SCHEDULE_ID='' OR @p_REQ_PAY_SCHEDULE_ID IS NULL GOTO ABORT;
|
2883
|
|
2884
|
INSERT INTO TR_REQ_PAY_SCHEDULE (SCHEDULE_ID,REQ_PAY_ID,PAY_ID,AMT_PAY,PAY_PHASE,REQ_ADV_ID,AMT_ADVANCE,AMT_PAY_DO,AMT_REMAIN,REQ_PAY_DT,REQ_AD_DT,PROCESS,MAKER_ID,
|
2885
|
CREATE_DT,AUTH_STATUS_KT,PAYMENT_STATUS,TRN_TYPE,REF_ID,REQ_PAY_DESC,REQ_PAY_ENTRIES,CURRENCY,RATE, AMT_PAY_REAL)
|
2886
|
VALUES (@p_REQ_PAY_SCHEDULE_ID,@p_REQ_PAY_ID,@PAY_ID, @AMT_PAY, @PAY_PHASE, @REQ_ADV_ID, @AMT_ADVANCE, @AMT_PAY_DO, @AMT_REMAIN,
|
2887
|
--IIF(@PROCESS<>'2',(@AMT_PAY-@AMT_ADVANCE),0),
|
2888
|
GETDATE(),CONVERT(DATETIME,@REQ_AD_DT,103),@PROCESS,@p_MAKER_ID,GETDATE(),'U','','PAY',@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES, @p_REQ_TYPE_CURRENCY , @p_RATE,@AMT_PAY_REAL)
|
2889
|
IF @@error<>0 GOTO ABORT;
|
2890
|
FETCH NEXT FROM XmlDataSchedule INTO @PO_ID, @PAY_PHASE, @AMT_PAY, @REQ_ADV_ID, @AMT_ADVANCE,@AMT_REMAIN,@REQ_AD_DT,
|
2891
|
@PROCESS,@PAY_ID,@REF_ID,@REQ_PAY_DESC,@REQ_PAY_ENTRIES,@CURRENCY,@RATE,@AMT_PAY_DO,@AMT_PAY_REAL
|
2892
|
END
|
2893
|
CLOSE XmlDataSchedule;
|
2894
|
DEALLOCATE XmlDataSchedule;
|
2895
|
-- END CURSOR THONG TIN CHI TIET LICH THANH TOAN PO/ HOP DONG
|
2896
|
---- VALIDATE SO TIEN
|
2897
|
--IF(@p_REQ_AMT > ISNULL(@TOTAL_SCHEDULE_AMT,0))
|
2898
|
--BEGIN
|
2899
|
-- ROLLBACK TRANSACTION
|
2900
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền thanh toán phải nhỏ hơn hoặc bằng tổng số tiền còn lại cần thanh toán: '+ FORMAT(SUM(@TOTAL_SCHEDULE_AMT),'#,#', 'vi-VN') ErrorDesc
|
2901
|
-- RETURN '-1'
|
2902
|
--END
|
2903
|
------
|
2904
|
END
|
2905
|
-- NEU LA THANH TOAN CAC HOP DONG DINH KY
|
2906
|
IF((@p_REQ_TYPE = 'P' AND @p_IS_PERIOD = 'Y') OR @p_REQ_TYPE='I')
|
2907
|
BEGIN
|
2908
|
-- DELETE
|
2909
|
--DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
2910
|
/*
|
2911
|
IF(@p_REQ_TYPE = 'P' AND @p_IS_PERIOD = 'Y')
|
2912
|
BEGIN
|
2913
|
DELETE FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID= @p_REQ_PAY_ID
|
2914
|
END
|
2915
|
*/
|
2916
|
-- DECLARE
|
2917
|
DECLARE @INDEX_PERIOD INT, @CONTRACT_PERIOD_ID VARCHAR(15),@IS_PERIOD_CLOSED VARCHAR(1), @DELIVERY_DT VARCHAR(20)
|
2918
|
-- SET
|
2919
|
SET @INDEX_PERIOD = 0
|
2920
|
--DECLARE CURSOR THONG TIN HOP DONG DINH KY
|
2921
|
DECLARE XmlDataRecurring CURSOR FOR SELECT * FROM OPENXML(@hdocRecurring, '/Root/XmlDataRecurring', 2)
|
2922
|
WITH(CONTRACT_ID varchar(15),IS_CLOSED VARCHAR(1),REF_TYPE VARCHAR(15), DELIVERY_DT VARCHAR(20))
|
2923
|
-- BEGIN CURSOR THONG TIN HOP DONG DINH KY
|
2924
|
OPEN XmlDataRecurring;
|
2925
|
FETCH NEXT FROM XmlDataRecurring INTO @CONTRACT_PERIOD_ID,@IS_PERIOD_CLOSED,@REF_TYPE, @DELIVERY_DT
|
2926
|
WHILE @@fetch_status = 0
|
2927
|
BEGIN
|
2928
|
-- SET
|
2929
|
SET @INDEX_PO = @INDEX_PO +1
|
2930
|
-- BEGIN VALIDATE
|
2931
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2932
|
BEGIN
|
2933
|
IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE PO_ID =@REF_ID AND AUTH_STATUS <>'A'))
|
2934
|
BEGIN
|
2935
|
ROLLBACK TRANSACTION
|
2936
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
2937
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' chưa được phê duyệt. Vui lòng phê duyệt PO trước khi tạo phiếu thanh toán' ErrorDesc
|
2938
|
RETURN '-1'
|
2939
|
END
|
2940
|
|
2941
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REQ_PAY_ID
|
2942
|
IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE AUTH_STATUS_KT NOT IN ('A','E','R') OR AUTH_STATUS_KT IS NULL)))
|
2943
|
BEGIN
|
2944
|
ROLLBACK TRANSACTION
|
2945
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' AS REQ_PAY_CODE,N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N':PO số '+
|
2946
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đang được tạm ứng. Vui lòng đợi giao dịch hoàn tất' ErrorDesc
|
2947
|
RETURN '-1'
|
2948
|
END
|
2949
|
|
2950
|
-- KIEM TRA NEU CO PO NAO DO DANG THUC HIEN THANH TOAN HOAC TAM UNG THI PHAI THONG BAO CHO HOAN TAT GIAO DICH
|
2951
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REF_ID =@REF_ID AND REF_TYPE ='P' AND REF_ID IN (SELECT PO_ID FROM TR_PO_MASTER WHERE IS_CLOSED='Y')))
|
2952
|
BEGIN
|
2953
|
ROLLBACK TRANSACTION
|
2954
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_PO)+ N': PO số '+
|
2955
|
(SELECT PO_CODE FROM TR_PO_MASTER WHERE PO_ID = @REF_ID)+N' đã được thanh toán xong. Vui lòng chọn PO khác để tạm ứng hoặc xóa bản nháp này' ErrorDesc
|
2956
|
RETURN '-1'
|
2957
|
END
|
2958
|
END
|
2959
|
-- END VALIDATE
|
2960
|
DECLARE @REQ_PAYDTID_PERIOD VARCHAR(15);
|
2961
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_ADVANCE_DT', @REQ_PAYDTID_PERIOD OUT;
|
2962
|
IF @REQ_PAYDTID_PERIOD='' OR @REQ_PAYDTID_PERIOD IS NULL GOTO ABORT;
|
2963
|
INSERT INTO TR_REQ_ADVANCE_DT (REQ_PAYDTID,REQ_PAY_ID,REF_ID,TYPE,MAKER_ID,CREATE_DT,IS_CLOSED,REF_TYPE, DELIVERY_DT)
|
2964
|
VALUES(@REQ_PAYDTID_PERIOD,@p_REQ_PAY_ID,@CONTRACT_PERIOD_ID,'PAY',@p_MAKER_ID,GETDATE(),@IS_PERIOD_CLOSED,'C', CONVERT(DATE,@DELIVERY_DT,103))
|
2965
|
|
2966
|
IF @@error<>0 GOTO ABORT;
|
2967
|
FETCH NEXT FROM XmlDataRecurring INTO @CONTRACT_PERIOD_ID,@IS_PERIOD_CLOSED,@REF_TYPE, @DELIVERY_DT
|
2968
|
END
|
2969
|
CLOSE XmlDataRecurring;
|
2970
|
DEALLOCATE XmlDataRecurring;
|
2971
|
-- END CURSOR THONG TIN HOP DONG DINH KY
|
2972
|
|
2973
|
-- DELETE
|
2974
|
DELETE FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
2975
|
-- DECLARE
|
2976
|
DECLARE @CONTRACT_ID varchar(15),@PAY_DT_REAL VARCHAR(20),@PAY_TYPE VARCHAR(5), @OLD_INDEX DECIMAL(18,0),@NEW_INDEX DECIMAL(18,0),@AMT_PAY_PERIOD DECIMAL(18,2), @FROM_DATE VARCHAR(20),
|
2977
|
@TO_DATE VARCHAR(20),@AD_PAY_ID VARCHAR(15), @_PROCESS VARCHAR(15),@PARENT_ID VARCHAR(15),@REASON_TTDK NVARCHAR(2000)
|
2978
|
-- DECLARE CURSOR
|
2979
|
DECLARE XmlDataPeriod CURSOR FOR SELECT * FROM OPENXML(@hdocPeriod, '/Root/XmlDataPeriod', 2)
|
2980
|
WITH(CONTRACT_ID varchar(15),PAY_DT_REAL VARCHAR(20),PAY_TYPE VARCHAR(5), OLD_INDEX DECIMAL(18,0),NEW_INDEX DECIMAL(18,0),AMT_PAY DECIMAL(18,2),CURRENCY VARCHAR(5),
|
2981
|
RATE DECIMAL(18,0),FROM_DATE VARCHAR(20), TO_DATE VARCHAR(20), AD_PAY_ID VARCHAR(15), PROCESS VARCHAR(5),PARENT_ID VARCHAR(15),PAY_PHASE NVARCHAR(250),REASON NVARCHAR(2000))
|
2982
|
-- BEGIN CURSOR THONG TIN THANH TOAN HOP DONG DINH KY
|
2983
|
OPEN XmlDataPeriod;
|
2984
|
FETCH NEXT FROM XmlDataPeriod INTO @CONTRACT_ID ,@PAY_DT_REAL ,@PAY_TYPE, @OLD_INDEX , @NEW_INDEX , @AMT_PAY_PERIOD, @CURRENCY, @RATE, @FROM_DATE, @TO_DATE, @AD_PAY_ID, @_PROCESS, @PARENT_ID,
|
2985
|
@PAY_PHASE, @REASON_TTDK
|
2986
|
WHILE @@fetch_status=0
|
2987
|
BEGIN
|
2988
|
-- BEGIN VALIDATE
|
2989
|
IF(@p_TYPE_FUNCTION ='SEND')
|
2990
|
BEGIN
|
2991
|
IF(@NEW_INDEX <=@OLD_INDEX AND (@NEW_INDEX >0 AND @OLD_INDEX >0) )
|
2992
|
BEGIN
|
2993
|
ROLLBACK TRANSACTION
|
2994
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin thanh toán hợp đồng định kì: Chỉ số mới phải lớn hơn chỉ số cũ' ErrorDesc
|
2995
|
RETURN '-1'
|
2996
|
END
|
2997
|
-- NEU LÀ DINH KI THI HD PHAI KHAC NULL
|
2998
|
IF(@CONTRACT_ID IS NULL OR @CONTRACT_ID ='' )
|
2999
|
BEGIN
|
3000
|
ROLLBACK TRANSACTION
|
3001
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin thanh toán hợp đồng định kì: Cột Số hợp đồng không được phép để trống' ErrorDesc
|
3002
|
RETURN '-1'
|
3003
|
END
|
3004
|
-- KIEM TRA CHI TIET HOP DONG PHAI NAM TRONG DANH SACH CAC HOP DONG
|
3005
|
IF(@CONTRACT_ID IS NOT NULL AND @CONTRACT_ID <> '' )
|
3006
|
BEGIN
|
3007
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_ADVANCE_DT WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND REF_ID =@CONTRACT_ID))
|
3008
|
BEGIN
|
3009
|
ROLLBACK TRANSACTION
|
3010
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin thanh toán hợp đồng định kì - Số hợp đồng phải nằm trong danh sách các hợp đồng được chọn trên lưới Hợp đồng định kì' ErrorDesc
|
3011
|
RETURN '-1'
|
3012
|
END
|
3013
|
END
|
3014
|
END
|
3015
|
-- END VALIDATE
|
3016
|
|
3017
|
--IF(@CONTRACT_ID IS NULL OR @CONTRACT_ID ='' )
|
3018
|
-- BEGIN
|
3019
|
-- ROLLBACK TRANSACTION
|
3020
|
-- SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Cột Số hợp đồng không được phép để trống' ErrorDesc
|
3021
|
-- RETURN '-1'
|
3022
|
--END
|
3023
|
DECLARE @PERIOD_ID VARCHAR(15);
|
3024
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_PERIOD', @PERIOD_ID OUT;
|
3025
|
IF @PERIOD_ID='' OR @PERIOD_ID IS NULL GOTO ABORT;
|
3026
|
INSERT INTO TR_REQ_PAY_PERIOD(PERIOD_ID,REQ_PAY_ID,PAY_TYPE, CONTRACT_ID,PAY_DT_REAL,OLD_INDEX,NEW_INDEX,AMT_PAY,AUTH_STATUS_KT,CURRENCY,RATE,FROM_DATE,
|
3027
|
TO_DATE,AD_PAY_ID,PROCESS,PARENT_ID,PAY_PHASE,REASON)
|
3028
|
VALUES (@PERIOD_ID,@p_REQ_PAY_ID,'PAY',@CONTRACT_ID,CONVERT(DATE,@PAY_DT_REAL,103), @OLD_INDEX ,@NEW_INDEX ,@AMT_PAY_PERIOD,'U', @p_REQ_TYPE_CURRENCY , @p_RATE,
|
3029
|
CONVERT(DATE,@FROM_DATE,103),CONVERT(DATE,@TO_DATE,103),@AD_PAY_ID, @_PROCESS,@PARENT_ID,@PAY_PHASE,@REASON_TTDK)
|
3030
|
IF @@error<>0 GOTO ABORT;
|
3031
|
FETCH NEXT FROM XmlDataPeriod INTO @CONTRACT_ID ,@PAY_DT_REAL ,@PAY_TYPE, @OLD_INDEX , @NEW_INDEX , @AMT_PAY_PERIOD, @CURRENCY, @RATE, @FROM_DATE, @TO_DATE, @AD_PAY_ID, @_PROCESS, @PARENT_ID,
|
3032
|
@PAY_PHASE, @REASON_TTDK
|
3033
|
END
|
3034
|
CLOSE XmlDataPeriod;
|
3035
|
DEALLOCATE XmlDataPeriod;
|
3036
|
END
|
3037
|
-- END CURSOR THONG TIN THANH TOAN HOP DONG DINH KY
|
3038
|
|
3039
|
--doanptt 15/02/2022
|
3040
|
-- INSERT JOB
|
3041
|
-- DS PHIEU YEU CAU CONG TAC
|
3042
|
DELETE FROM TR_REQ_PAY_JOB WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3043
|
DECLARE @REQ_PAY_JOB_ID varchar(15) ,@REQ_PAY_ID varchar(15),@REQ_ID varchar(15), @REQ_CODE varchar(15), @MAKER_ID varchar(15),
|
3044
|
@CREATE_DT varchar(15), @PAY_TYPE_J VARCHAR(5), @PAY_PHASE_J NVARCHAR(250), @PAY_AMT DECIMAL(18,0), @PAY_DESC NVARCHAR(1000)
|
3045
|
, @AUTH_STATUS VARCHAR(1), @AUTH_STATUS_KT VARCHAR(1)
|
3046
|
DECLARE XmlDataJob CURSOR LOCAL FOR
|
3047
|
SELECT * FROM OPENXML(@hdocJob, 'Root/XmlDataJob',2)
|
3048
|
WITH(REQ_PAY_JOB_ID varchar(15) ,REQ_PAY_ID varchar(15),REQ_ID varchar(15), REQ_CODE varchar(15), MAKER_ID varchar(15),CREATE_DT varchar(15), PAY_TYPE VARCHAR(5),
|
3049
|
PAY_PHASE NVARCHAR(250), PAY_AMT DECIMAL(18,0), PAY_DESC NVARCHAR(1000), AUTH_STATUS VARCHAR(1), AUTH_STATUS_KT VARCHAR(1))
|
3050
|
OPEN XmlDataJob
|
3051
|
|
3052
|
--- INSERT PHIEU YEU CAU CONG TAC
|
3053
|
FETCH NEXT FROM XmlDataJob INTO @REQ_PAY_JOB_ID ,@REQ_PAY_ID ,@REQ_ID , @REQ_CODE, @MAKER_ID , @CREATE_DT , @PAY_TYPE_J , @PAY_PHASE_J ,
|
3054
|
@PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT
|
3055
|
WHILE @@fetch_status=0
|
3056
|
BEGIN
|
3057
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
3058
|
SET @INDEX_NS = @INDEX_NS +1
|
3059
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
3060
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3061
|
BEGIN
|
3062
|
IF(ISNULL(@AMT_EXE,0) =0)
|
3063
|
BEGIN
|
3064
|
ROLLBACK TRANSACTION
|
3065
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
3066
|
RETURN '-1'
|
3067
|
END
|
3068
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
3069
|
BEGIN
|
3070
|
ROLLBACK TRANSACTION
|
3071
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
3072
|
RETURN '-1'
|
3073
|
END
|
3074
|
END
|
3075
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
3076
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
3077
|
BEGIN
|
3078
|
ROLLBACK TRANSACTION
|
3079
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
3080
|
RETURN '-1'
|
3081
|
END*/
|
3082
|
|
3083
|
DECLARE @p_REQ_JOB_ID VARCHAR(15);
|
3084
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_JOB', @p_REQ_JOB_ID OUT;
|
3085
|
IF @p_REQ_JOB_ID='' OR @p_REQ_JOB_ID IS NULL GOTO ABORT;
|
3086
|
INSERT INTO TR_REQ_PAY_JOB(REQ_PAY_JOB_ID ,REQ_PAY_ID ,REQ_ID , REQ_CODE, MAKER_ID, CREATE_DT , PAY_TYPE , PAY_PHASE , PAY_AMT , PAY_DESC, AUTH_STATUS , AUTH_STATUS_KT)
|
3087
|
VALUES (@p_REQ_JOB_ID ,@p_REQ_PAY_ID ,@REQ_ID , @REQ_CODE, @MAKER_ID , GETDATE() , @PAY_TYPE_J , @PAY_PHASE_J , @PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT)
|
3088
|
IF @@error<>0 GOTO ABORT;
|
3089
|
FETCH NEXT FROM XmlDataJob INTO @REQ_PAY_JOB_ID ,@REQ_PAY_ID ,@REQ_ID , @REQ_CODE, @MAKER_ID , @CREATE_DT , @PAY_TYPE_J , @PAY_PHASE_J, @PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT
|
3090
|
END;
|
3091
|
CLOSE XmlDataJob;
|
3092
|
DEALLOCATE XmlDataJob;
|
3093
|
--- END INSERT PHIEU YEU CAU CONG TAC
|
3094
|
|
3095
|
-- INSERT JOB DT
|
3096
|
-- DS CHI TIET PHIEU YEU CAU CONG TAC
|
3097
|
DELETE FROM TR_REQ_PAY_JOB_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3098
|
DECLARE @REQ_PAY_JOB_DT_ID varchar(15) , @REQ_PAY_ID_DT varchar(15), @REQ_ID_DT varchar(15), @REQ_CODE_DT varchar(15), @MAKER_ID_DT varchar(15),
|
3099
|
@CREATE_DT_DT varchar(15), @FULLNAME_DT NVARCHAR(250), @TLNAME_DT VARCHAR(15), @JOB_PLACE_DT VARCHAR(15), @FRMDATE_DT VARCHAR(15), @TODATE_DT VARCHAR(15),
|
3100
|
@NUMBER_DAY_DT decimal(18,0), @DAY_RATE_DT decimal(18,0), @JOB_COST_DT decimal(18,0), @TYPE_TRANS_DT varchar(250), @COST_MOVE_DT decimal(18,0),
|
3101
|
@COST_RESIDENCE_DT decimal(18,0), @COST_OTHER_DT decimal(18,0), @COST_AMT_DT decimal(18,0), @AUTH_STATUS_DT VARCHAR(1), @AUTH_STATUS_KT_DT VARCHAR(1)
|
3102
|
DECLARE XmlDataJobDT CURSOR LOCAL FOR
|
3103
|
SELECT * FROM OPENXML(@hdocJobDT, 'Root/XmlDataJobDT',2)
|
3104
|
WITH(REQ_PAY_JOB_DT_ID varchar(15), REQ_PAY_ID varchar(15), REQ_ID varchar(15), REQ_CODE varchar(15), MAKER_ID varchar(15), CREATE_DT varchar(15),
|
3105
|
FULLNAME nvarchar(250), TLNAME_DT VARCHAR(15), JOB_PLACE varchar(15), FRMDATE varchar(15), TODATE varchar(15),NUMBER_DAY decimal(18,0), DAY_RATE decimal(18,0),
|
3106
|
JOB_COST decimal(18,0), TYPE_TRANS varchar(15), COST_MOVE decimal(18,0), COST_RESIDENCE decimal(18,0), COST_OTHER decimal(18,0), COST_AMT decimal(18,0) ,
|
3107
|
AUTH_STATUS varchar(1), AUTH_STATUS_KT varchar(1))
|
3108
|
OPEN XmlDataJobDT
|
3109
|
|
3110
|
--- INSERT CHI TIÊT PHIEU YEU CAU CONG TAC
|
3111
|
FETCH NEXT FROM XmlDataJobDT INTO @REQ_PAY_JOB_DT_ID , @REQ_PAY_ID_DT, @REQ_ID_DT, @REQ_CODE_DT, @MAKER_ID_DT,
|
3112
|
@CREATE_DT_DT , @FULLNAME_DT , @TLNAME_DT, @JOB_PLACE_DT , @FRMDATE_DT , @TODATE_DT ,
|
3113
|
@NUMBER_DAY_DT, @DAY_RATE_DT , @JOB_COST_DT , @TYPE_TRANS_DT , @COST_MOVE_DT,
|
3114
|
@COST_RESIDENCE_DT, @COST_OTHER_DT , @COST_AMT_DT , @AUTH_STATUS_DT, @AUTH_STATUS_KT_DT
|
3115
|
WHILE @@fetch_status=0
|
3116
|
BEGIN
|
3117
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
3118
|
SET @INDEX_NS = @INDEX_NS +1
|
3119
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
3120
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3121
|
BEGIN
|
3122
|
IF(ISNULL(@AMT_EXE,0) =0)
|
3123
|
BEGIN
|
3124
|
ROLLBACK TRANSACTION
|
3125
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
3126
|
RETURN '-1'
|
3127
|
END
|
3128
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
3129
|
BEGIN
|
3130
|
ROLLBACK TRANSACTION
|
3131
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
3132
|
RETURN '-1'
|
3133
|
END
|
3134
|
END
|
3135
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
3136
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
3137
|
BEGIN
|
3138
|
ROLLBACK TRANSACTION
|
3139
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
3140
|
RETURN '-1'
|
3141
|
END*/
|
3142
|
|
3143
|
DECLARE @p_REQ_JOB_DT_ID VARCHAR(15);
|
3144
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_JOB_DT', @p_REQ_JOB_DT_ID OUT;
|
3145
|
IF @p_REQ_JOB_DT_ID='' OR @p_REQ_JOB_DT_ID IS NULL GOTO ABORT;
|
3146
|
INSERT INTO TR_REQ_PAY_JOB_DT(REQ_PAY_JOB_DT_ID , REQ_PAY_ID , REQ_ID , REQ_CODE, MAKER_ID , CREATE_DT , FULLNAME, TLNAME, JOB_PLACE , FRMDATE , TODATE ,NUMBER_DAY , DAY_RATE ,
|
3147
|
JOB_COST , TYPE_TRANS , COST_MOVE , COST_RESIDENCE , COST_OTHER , COST_AMT , AUTH_STATUS, AUTH_STATUS_KT)
|
3148
|
VALUES (@p_REQ_JOB_DT_ID , @p_REQ_PAY_ID, @REQ_ID_DT, @REQ_CODE_DT, @MAKER_ID_DT,
|
3149
|
GETDATE() , @FULLNAME_DT ,@TLNAME_DT, @JOB_PLACE_DT , CONVERT(DATE,@FRMDATE_DT,103) , CONVERT(DATE,@TODATE_DT,103) ,
|
3150
|
@NUMBER_DAY_DT, @DAY_RATE_DT , @JOB_COST_DT , @TYPE_TRANS_DT , @COST_MOVE_DT,
|
3151
|
@COST_RESIDENCE_DT, @COST_OTHER_DT , @COST_AMT_DT , @AUTH_STATUS_DT, @AUTH_STATUS_KT_DT)
|
3152
|
IF @@error<>0 GOTO ABORT;
|
3153
|
FETCH NEXT FROM XmlDataJobDT INTO @REQ_PAY_JOB_DT_ID , @REQ_PAY_ID_DT, @REQ_ID_DT, @REQ_CODE_DT, @MAKER_ID_DT,
|
3154
|
@CREATE_DT_DT , @FULLNAME_DT , @TLNAME_DT, @JOB_PLACE_DT , @FRMDATE_DT , @TODATE_DT ,
|
3155
|
@NUMBER_DAY_DT, @DAY_RATE_DT , @JOB_COST_DT , @TYPE_TRANS_DT , @COST_MOVE_DT,
|
3156
|
@COST_RESIDENCE_DT, @COST_OTHER_DT , @COST_AMT_DT , @AUTH_STATUS_DT, @AUTH_STATUS_KT_DT
|
3157
|
END;
|
3158
|
CLOSE XmlDataJobDT;
|
3159
|
DEALLOCATE XmlDataJobDT;
|
3160
|
--- END INSERT CHI TIET PHIEU YEU CAU CONG TAC
|
3161
|
|
3162
|
|
3163
|
--doanptt 17/02/2022
|
3164
|
-- INSERT DRIVE
|
3165
|
-- DS PHIEU YEU CAU CONG TAC
|
3166
|
DELETE FROM TR_REQ_PAY_DRIVE WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3167
|
DECLARE @REQ_PAY_DRIVE_ID varchar(15), @CAR_ID varchar(15), @CAR_PLATE varchar(15), @RATE_GAS_100KM decimal(18,0), @CAR_TYPE VARCHAR(15)
|
3168
|
DECLARE XmlDataDrive CURSOR LOCAL FOR
|
3169
|
SELECT * FROM OPENXML(@hdocDrive, 'Root/XmlDataDrive',2)
|
3170
|
WITH(REQ_PAY_DRIVE_ID varchar(15) ,REQ_PAY_ID varchar(15), CAR_ID varchar(15), CAR_PLATE varchar(15), MAKER_ID varchar(15),CREATE_DT varchar(15), PAY_TYPE VARCHAR(5),
|
3171
|
PAY_PHASE NVARCHAR(250), PAY_AMT DECIMAL(18,0), PAY_DESC NVARCHAR(1000), AUTH_STATUS VARCHAR(1), AUTH_STATUS_KT VARCHAR(1),
|
3172
|
RATE_GAS_100KM decimal(18,0), CAR_TYPE VARCHAR(15))
|
3173
|
OPEN XmlDataDrive
|
3174
|
|
3175
|
--- INSERT PHIEU YEU CAU CONG TAC
|
3176
|
FETCH NEXT FROM XmlDataDrive INTO @REQ_PAY_DRIVE_ID ,@REQ_PAY_ID ,@CAR_ID , @CAR_PLATE, @MAKER_ID , @CREATE_DT , @PAY_TYPE , @PAY_PHASE,
|
3177
|
@PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT, @RATE_GAS_100KM, @CAR_TYPE
|
3178
|
WHILE @@fetch_status=0
|
3179
|
BEGIN
|
3180
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
3181
|
SET @INDEX_NS = @INDEX_NS +1
|
3182
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
3183
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3184
|
BEGIN
|
3185
|
IF(ISNULL(@AMT_EXE,0) =0)
|
3186
|
BEGIN
|
3187
|
ROLLBACK TRANSACTION
|
3188
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
3189
|
RETURN '-1'
|
3190
|
END
|
3191
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
3192
|
BEGIN
|
3193
|
ROLLBACK TRANSACTION
|
3194
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
3195
|
RETURN '-1'
|
3196
|
END
|
3197
|
END
|
3198
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT_DT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
3199
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
3200
|
BEGIN
|
3201
|
ROLLBACK TRANSACTION
|
3202
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
3203
|
RETURN '-1'
|
3204
|
END*/
|
3205
|
|
3206
|
DECLARE @p_REQ_DRIVE_ID VARCHAR(15);
|
3207
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_DRIVE', @p_REQ_DRIVE_ID OUT;
|
3208
|
IF @p_REQ_DRIVE_ID='' OR @p_REQ_DRIVE_ID IS NULL GOTO ABORT;
|
3209
|
INSERT INTO TR_REQ_PAY_DRIVE(REQ_PAY_DRIVE_ID ,REQ_PAY_ID ,CAR_ID , CAR_PLATE , MAKER_ID, CREATE_DT , PAY_TYPE , PAY_PHASE , PAY_AMT , PAY_DESC, AUTH_STATUS , AUTH_STATUS_KT, RATE_GAS_100KM, CAR_TYPE)
|
3210
|
VALUES (@p_REQ_DRIVE_ID ,@p_REQ_PAY_ID ,@CAR_ID , @CAR_PLATE, @MAKER_ID , GETDATE() , @PAY_TYPE , @PAY_PHASE , @PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT, @RATE_GAS_100KM, @CAR_TYPE)
|
3211
|
IF @@error<>0 GOTO ABORT;
|
3212
|
FETCH NEXT FROM XmlDataDrive INTO @REQ_PAY_DRIVE_ID ,@REQ_PAY_ID ,@CAR_ID , @CAR_PLATE, @MAKER_ID , @CREATE_DT , @PAY_TYPE , @PAY_PHASE,
|
3213
|
@PAY_AMT , @PAY_DESC, @AUTH_STATUS , @AUTH_STATUS_KT, @RATE_GAS_100KM, @CAR_TYPE
|
3214
|
END;
|
3215
|
CLOSE XmlDataDrive;
|
3216
|
DEALLOCATE XmlDataDrive;
|
3217
|
--- END INSERT PHIEU YEU CAU CONG TAC
|
3218
|
|
3219
|
-- INSERT DRIVE DT
|
3220
|
-- DS CHI TIET PHIEU YEU CAU CONG TAC
|
3221
|
DELETE FROM TR_REQ_PAY_DRIVE_DT WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3222
|
DECLARE @REQ_PAY_DRIVE_DT_ID varchar(15), @FULLNAME NVARCHAR(250), @BRANCH_REQ VARCHAR(15),
|
3223
|
@KM_START decimal(18,0), @KM_END varchar(250), @KM_USED decimal(18,0),
|
3224
|
@RATE_GAS decimal(18,0), @REAL_GAS decimal(18,0), @REDUNDANCY_GAS decimal(18,0), @INVENTORY_GAS decimal(18,0), @COST_INCURRED decimal(18,0),
|
3225
|
@CREATE_SCHEDULE NVARCHAR(250), @TRUONGDONVI VARCHAR(15)
|
3226
|
DECLARE XmlDataDriveDT CURSOR LOCAL FOR
|
3227
|
SELECT * FROM OPENXML(@hdocDriveDT, 'Root/XmlDataDriveDT',2)
|
3228
|
WITH(REQ_PAY_DRIVE_ID varchar(15), REQ_PAY_ID varchar(15), CAR_ID varchar(15), MAKER_ID varchar(15), CREATE_DT varchar(15),
|
3229
|
BRANCH_REQ varchar(15), PAY_PHASE NVARCHAR(250), CAR_TYPE Nvarchar(250), CAR_PLATE varchar(15),RATE_GAS_100KM decimal(18,0), KM_START decimal(18,0),
|
3230
|
KM_END decimal(18,0), KM_USED varchar(15), RATE_GAS decimal(18,0), REAL_GAS decimal(18,0), REDUNDANCY_GAS decimal(18,0), INVENTORY_GAS decimal(18,0),
|
3231
|
NOTES NVARCHAR(MAX), COST_INCURRED decimal(18,0), CREATE_SCHEDULE NVARCHAR(250), TRUONGDONVI VARCHAR(15) ,
|
3232
|
AUTH_STATUS varchar(1), AUTH_STATUS_KT varchar(1))
|
3233
|
OPEN XmlDataDriveDT
|
3234
|
|
3235
|
--- INSERT CHI TIÊT PHIEU YEU CAU CONG TAC
|
3236
|
FETCH NEXT FROM XmlDataDriveDT INTO @REQ_PAY_DRIVE_ID , @REQ_PAY_ID, @CAR_ID, @MAKER_ID, @CREATE_DT, @BRANCH_REQ, @PAY_PHASE, @CAR_TYPE, @CAR_PLATE,
|
3237
|
@RATE_GAS_100KM, @KM_START, @KM_END, @KM_USED, @RATE_GAS, @REAL_GAS, @REDUNDANCY_GAS, @INVENTORY_GAS, @NOTES, @COST_INCURRED, @CREATE_SCHEDULE,
|
3238
|
@TRUONGDONVI, @AUTH_STATUS, @AUTH_STATUS_KT
|
3239
|
WHILE @@fetch_status=0
|
3240
|
BEGIN
|
3241
|
/*--- KIEM TRA NEU NGAN SACH SU DUNG THUC THE LON HON NGAN SACH CON LAI
|
3242
|
SET @INDEX_NS = @INDEX_NS +1
|
3243
|
--KHI NAO BAM GUI PHE DUYET THI MOI CHECK VALIDATE
|
3244
|
IF(@p_TYPE_FUNCTION ='SEND')
|
3245
|
BEGIN
|
3246
|
IF(ISNULL(@AMT_EXE,0) =0)
|
3247
|
BEGIN
|
3248
|
ROLLBACK TRANSACTION
|
3249
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Số tiền sử dụng thực tế phải lớn hơn không.' ErrorDesc
|
3250
|
RETURN '-1'
|
3251
|
END
|
3252
|
IF((@AMT_EXE > @AMT_REMAIN_GD) AND ((SELECT GD_TYPE_ID FROM CM_GOODS WHERE GD_ID =@GD_ID) ='NS'))
|
3253
|
BEGIN
|
3254
|
ROLLBACK TRANSACTION
|
3255
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Thông tin hạng mục ngân sách và chi phí, dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng thực tế không được vượt quá ngân sách còn lại.' ErrorDesc
|
3256
|
RETURN '-1'
|
3257
|
END
|
3258
|
END
|
3259
|
IF(NOT EXISTS(SELECT * FROM PL_IMPORT WHERE TRADE_ID =@TRADE_ID AND IMP_YEAR =YEAR(GETDATE()))
|
3260
|
AND NOT EXISTS (SELECT * FROM PL_MASTER WHERE PLAN_ID =(SELECT TOP 1 PLAN_ID FROM PL_TRADEDETAIL WHERE TRADE_ID =@TRADE_ID) AND YEAR =YEAR(GETDATE())))
|
3261
|
BEGIN
|
3262
|
ROLLBACK TRANSACTION
|
3263
|
SELECT '-1' as Result, '' REQ_PAY_ID,'' AS REQ_PAY_CODE, N'Dòng '+ CONVERT(VARCHAR(5),@INDEX_NS)+ N': Ngân sách sử dụng phải chọn lại ngân sách của năm hiện tại. Không được phép sử dụng ngân sách năm cũ.' ErrorDesc
|
3264
|
RETURN '-1'
|
3265
|
END*/
|
3266
|
|
3267
|
DECLARE @p_REQ_DRIVE_DT_ID VARCHAR(15);
|
3268
|
EXEC SYS_CodeMasters_Gen 'TR_REQ_PAY_DRIVE_DT', @p_REQ_DRIVE_DT_ID OUT;
|
3269
|
IF @p_REQ_DRIVE_DT_ID='' OR @p_REQ_DRIVE_DT_ID IS NULL GOTO ABORT;
|
3270
|
INSERT INTO TR_REQ_PAY_DRIVE_DT(REQ_PAY_DRIVE_DT_ID, REQ_PAY_ID, CAR_ID, MAKER_ID, CREATE_DT, BRANCH_REQ, PAY_PHASE, CAR_TYPE, CAR_PLATE,
|
3271
|
RATE_GAS_100KM, KM_START, KM_END, KM_USED, RATE_GAS, REAL_GAS, REDUNDANCY_GAS, INVENTORY_GAS, COST_INCURRED, NOTES, CREATE_SCHEDULE, TRUONGDONVI,
|
3272
|
AUTH_STATUS, AUTH_STATUS_KT)
|
3273
|
VALUES (@p_REQ_DRIVE_DT_ID , @p_REQ_PAY_ID, @CAR_ID, @MAKER_ID, @CREATE_DT, @BRANCH_REQ, @PAY_PHASE, @CAR_TYPE, @CAR_PLATE,
|
3274
|
@RATE_GAS_100KM, @KM_START, @KM_END, @KM_USED, @RATE_GAS, @REAL_GAS, @REDUNDANCY_GAS, @INVENTORY_GAS, @COST_INCURRED, @NOTES,
|
3275
|
@CREATE_SCHEDULE, @TRUONGDONVI, @AUTH_STATUS, @AUTH_STATUS_KT)
|
3276
|
IF @@error<>0 GOTO ABORT;
|
3277
|
FETCH NEXT FROM XmlDataDriveDT INTO @REQ_PAY_DRIVE_ID , @REQ_PAY_ID, @CAR_ID, @MAKER_ID, @CREATE_DT, @BRANCH_REQ, @PAY_PHASE, @CAR_TYPE, @CAR_PLATE,
|
3278
|
@RATE_GAS_100KM, @KM_START, @KM_END, @KM_USED, @RATE_GAS, @REAL_GAS, @REDUNDANCY_GAS, @INVENTORY_GAS, @NOTES, @COST_INCURRED, @CREATE_SCHEDULE,
|
3279
|
@TRUONGDONVI, @AUTH_STATUS, @AUTH_STATUS_KT
|
3280
|
END;
|
3281
|
CLOSE XmlDataDriveDT;
|
3282
|
DEALLOCATE XmlDataDriveDT;
|
3283
|
--- END INSERT CHI TIET PHIEU YEU CAU CONG TAC
|
3284
|
COMMIT TRANSACTION
|
3285
|
-- BEIGN VALIDATE SEND APPROVE
|
3286
|
IF(@p_TYPE_FUNCTION ='SEND') -- KIEM TRA NEU 2 BIEN XML KHAC NULL TUC LA DANG TRONG QUA TRINH LUU NHAP
|
3287
|
BEGIN
|
3288
|
|
3289
|
-- DECLARE
|
3290
|
DECLARE @BRANCH_TYPE_CR VARCHAR(15)
|
3291
|
DECLARE @SUM_THANH_TOAN DECIMAL(18,0) =0, @SUM_PHUONG_THUC DECIMAL(18,0) =0, @SUM_NGAN_SACH DECIMAL(18,2) =0, @SUM_USE_REAL DECIMAL(18,2), @SUM_SERVICE DECIMAL(18,0),
|
3292
|
@SUM_SCHEDULE DECIMAL(18,0), @SUM_PERIOD DECIMAL(18,0), @SUM_PAY_BACK DECIMAL(18,0) =0, @SUM_ADD DECIMAL(18,0)
|
3293
|
-- SET
|
3294
|
SET @BRANCH_TYPE_CR =(SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_CREATE)
|
3295
|
SET @SUM_THANH_TOAN =(SELECT ISNULL(SUM(REQ_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3296
|
SET @SUM_PHUONG_THUC =ABS((SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
3297
|
AND (TYPE_TRANSFER ='A' OR TYPE_TRANSFER IS NULL OR TYPE_TRANSFER ='')) - (SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
3298
|
AND TYPE_TRANSFER ='R'))
|
3299
|
SET @SUM_NGAN_SACH =(SELECT ISNULL(SUM(AMT_EXE * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3300
|
SET @SUM_SERVICE =(SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3301
|
SET @SUM_PERIOD =(SELECT ISNULL(SUM(AMT_PAY * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3302
|
SET @SUM_SCHEDULE =(SELECT ISNULL(SUM(AMT_PAY_REAL * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3303
|
|
3304
|
IF(@p_REQ_TYPE ='I')
|
3305
|
BEGIN
|
3306
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(AMT_USE*ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT_DT WHERE PAY_ID =@p_REQ_PAY_ID)
|
3307
|
SET @SUM_PAY_BACK =(SELECT ISNULL(SUM(AMT_REVERT*ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT_DT WHERE PAY_ID =@p_REQ_PAY_ID)
|
3308
|
SET @SUM_ADD =(SELECT ISNULL(SUM(AMT_ADD*ISNULL(RATE,1)),0) FROM TR_REQ_PAYMENT_DT WHERE PAY_ID =@p_REQ_PAY_ID)
|
3309
|
SET @SUM_PHUONG_THUC =(SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE_TRANSFER ='A') -
|
3310
|
(SELECT ISNULL(SUM(TOTAL_AMT * ISNULL(RATE,1)),0) FROM TR_REQ_PAY_METHOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TYPE_TRANSFER ='R')
|
3311
|
END
|
3312
|
IF(@p_REQ_TYPE ='P' AND @p_IS_PERIOD ='Y' AND @p_IS_PERIOD <>'' AND @p_IS_PERIOD IS NOT NULL)
|
3313
|
BEGIN
|
3314
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(AMT_PAY*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3315
|
--SET @SUM_PAY_BACK =(SELECT ISNULL(SUM(AMT_PAY*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_PERIOD WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND PROCESS <> '0')
|
3316
|
|
3317
|
END
|
3318
|
IF(@p_REQ_TYPE ='P' AND (@p_IS_PERIOD ='N' OR (@p_IS_PERIOD ='' OR @p_IS_PERIOD IS NULL)))
|
3319
|
BEGIN
|
3320
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(AMT_PAY_REAL*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3321
|
SET @SUM_PAY_BACK =(SELECT ISNULL(SUM(AMT_ADVANCE*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SCHEDULE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3322
|
END
|
3323
|
IF(@p_REQ_TYPE ='D')
|
3324
|
BEGIN
|
3325
|
SET @SUM_USE_REAL =(SELECT ISNULL(SUM(TOTAL_AMT*ISNULL(RATE,1)),0) FROM TR_REQ_PAY_SERVICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
3326
|
END
|
3327
|
IF(@p_REQ_TYPE = 'D' AND ROUND(@SUM_NGAN_SACH,0) <> ROUND(@SUM_THANH_TOAN,0))
|
3328
|
BEGIN
|
3329
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3330
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3331
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3332
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền sử dụng ngân sách và chi phí phải bằng số tiền bạn cần thanh toán là: ' + FORMAT(SUM(@SUM_THANH_TOAN),'#,#', 'vi-VN') + 'ss ' + FORMAT(SUM(@SUM_NGAN_SACH),'#,#', 'vi-VN') ErrorDesc
|
3333
|
RETURN '-1'
|
3334
|
END
|
3335
|
IF(@p_REQ_TYPE <> 'D' AND ROUND(@SUM_NGAN_SACH,0) <> ROUND(@SUM_USE_REAL,0))
|
3336
|
BEGIN
|
3337
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3338
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3339
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3340
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền sử dụng ngân sách và chi phí phải bằng số tiền bạn sử dụng thực tế là: ' + FORMAT(SUM(@SUM_USE_REAL),'#,#', 'vi-VN') ErrorDesc
|
3341
|
RETURN '-1'
|
3342
|
END
|
3343
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE TRASFER_USER_RECIVE <> '' AND TRASFER_USER_RECIVE IS NOT NULL AND REQ_PAY_ID =@p_REQ_PAY_ID) AND @BRANCH_TYPE_CR ='PGD')
|
3344
|
BEGIN
|
3345
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3346
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3347
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3348
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Cấp độ phòng giao dịch vui lòng không được chọn cấp phê duyệt trung gian' ErrorDesc
|
3349
|
RETURN '-1'
|
3350
|
END
|
3351
|
IF(@p_REQ_TYPE <> 'I')
|
3352
|
BEGIN
|
3353
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
3354
|
BEGIN
|
3355
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3356
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3357
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3358
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Thông tin hạng mục ngân sách và chi phí không được để trống. Vui lòng chọn ngân sách và chi phí' ErrorDesc
|
3359
|
RETURN '-1'
|
3360
|
END
|
3361
|
--IF(ISNULL(@SUM_USE_REAL,0) - ISNULL(@SUM_PAY_BACK,0) <> @SUM_PHUONG_THUC)
|
3362
|
--BEGIN
|
3363
|
-- SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền phương thức thanh toán tương ứng với số tiền thanh toán trừ số tiền hoàn tạm ứng: ' + FORMAT((ISNULL(@SUM_USE_REAL,0) - ISNULL(@SUM_PAY_BACK,0)),'#,#', 'vi-VN') ErrorDesc
|
3364
|
-- RETURN '-1'
|
3365
|
--END
|
3366
|
IF(ROUND(@SUM_THANH_TOAN,0) <> ROUND(@SUM_PHUONG_THUC,0))
|
3367
|
BEGIN
|
3368
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3369
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3370
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3371
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền phương thức thanh toán phải bằng số tiền bạn cần thanh toán là: ' ErrorDesc
|
3372
|
RETURN '-1'
|
3373
|
END
|
3374
|
END
|
3375
|
ELSE
|
3376
|
BEGIN
|
3377
|
IF(ISNULL(@SUM_USE_REAL,0) >0)
|
3378
|
BEGIN
|
3379
|
IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
3380
|
BEGIN
|
3381
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3382
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3383
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3384
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Thông tin hạng mục ngân sách và chi phí không được để trống. Vui lòng chọn ngân sách và chi phí' ErrorDesc
|
3385
|
RETURN '-1'
|
3386
|
END
|
3387
|
IF(ROUND(@SUM_NGAN_SACH,0) <> ROUND(@SUM_USE_REAL,0))
|
3388
|
BEGIN
|
3389
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3390
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3391
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3392
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền sử dụng ngân sách và chi phí phải bằng số tiền sử dụng thực tế trên lưới hoàn tạm ứng: ' + FORMAT(SUM(@SUM_USE_REAL),'#,#', 'vi-VN') ErrorDesc
|
3393
|
RETURN '-1'
|
3394
|
END
|
3395
|
IF(ISNULL(@SUM_USE_REAL,0) <> (ISNULL(@SUM_SERVICE,0) + ISNULL(@SUM_PERIOD,0) + ISNULL(@SUM_SCHEDULE,0)))
|
3396
|
BEGIN
|
3397
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3398
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3399
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3400
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Tổng số tiền thanh toán dịch vụ, thanh toán nhà cung cấp, thanh toán định kì phải bằng số tiền sử dụng thực tế trên lưới hoàn tạm ứng: ' + FORMAT(SUM(@SUM_USE_REAL),'#,#', 'vi-VN') ErrorDesc
|
3401
|
RETURN '-1'
|
3402
|
END
|
3403
|
END
|
3404
|
--IF(ABS((ISNULL(@SUM_ADD,0) - ISNULL(@SUM_PAY_BACK,0))) <> @SUM_PHUONG_THUC)
|
3405
|
IF(((ISNULL(@SUM_ADD,0) - ISNULL(@SUM_PAY_BACK,0))) <> @SUM_PHUONG_THUC)
|
3406
|
BEGIN
|
3407
|
--doanptt 300622 XOA CAC DONG DINH MUC KHI DUYET LUOI NSCP
|
3408
|
DELETE FROM TR_REQ_BUDGET_MONTH_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3409
|
DELETE FROM TR_REQ_BUDGET_YEAR_LIMIT_DETAIL WHERE REQ_PAY_ID = @p_REQ_PAY_ID
|
3410
|
SELECT '-1' as Result, '' REQ_PAY_ID, N'Số tiền phương thức thanh toán (hiệu số thanh toán và trích từ tai khoản) tương ứng với số tiền chi bổ sung trừ số tiền hoàn tạm ứng: ' + FORMAT(ABS((ISNULL(@SUM_ADD,0) - ISNULL(@SUM_PAY_BACK,0))),'#,#', 'vi-VN') + ' ' + CAST(@SUM_PHUONG_THUC as nvarchar) ErrorDesc
|
3411
|
RETURN '-1'
|
3412
|
END
|
3413
|
END
|
3414
|
-- CAP NHAT TINH TRANG DUYET KE TOAN LA DANG XU LY
|
3415
|
IF(ISNULL(@p_TRASFER_USER_RECIVE, '') <> '')
|
3416
|
BEGIN
|
3417
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='W', PROCESS = NULL,CREATE_DT = GETDATE() WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
3418
|
END
|
3419
|
ELSE
|
3420
|
BEGIN
|
3421
|
UPDATE TR_REQ_PAYMENT SET AUTH_STATUS ='U', PROCESS = NULL,CREATE_DT = GETDATE() WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
3422
|
END
|
3423
|
|
3424
|
INSERT INTO dbo.PL_PROCESS(REQ_ID,PROCESS_ID,CHECKER_ID,APPROVE_DT,PROCESS_DESC,NOTES)
|
3425
|
|
3426
|
VALUES(@p_REQ_PAY_ID,'SEND',@p_MAKER_ID,GETDATE(), N'Đơn vị gửi phê duyệt',N'Đơn vị tạo phiếu thanh toán và gửi phê duyệt')
|
3427
|
--- Luu log chinh sua
|
3428
|
INSERT INTO TR_REQ_PAY_INVOICE_LOG SELECT * FROM TR_REQ_PAY_INVOICE WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
3429
|
-----
|
3430
|
UPDATE TR_REQ_PAY_SCHEDULE SET AMT_REMAIN =0.00 WHERE AMT_REMAIN <0
|
3431
|
UPDATE TR_REQ_PAY_BUDGET SET AMT_APP= ROUND(AMT_APP,0), AMT_REMAIN = ROUND(AMT_REMAIN,0)
|
3432
|
|
3433
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE (TRASFER_USER_RECIVE <> '' AND TRASFER_USER_RECIVE IS NOT NULL) AND REQ_PAY_ID =@p_REQ_PAY_ID))
|
3434
|
BEGIN
|
3435
|
SELECT '4' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Đơn vị gửi phiếu phê duyệt phiếu đề nghị thanh toán số: ' + ISNULL(@p_REQ_PAY_CODE,'') + N' thành công. Vui lòng đợi cấp phê duyệt trung gian xác nhận phiếu' ErrorDesc
|
3436
|
RETURN '4'
|
3437
|
END
|
3438
|
ELSE
|
3439
|
BEGIN
|
3440
|
SELECT '4' as Result, @p_REQ_PAY_ID REQ_PAY_ID, N'Đơn vị gửi phiếu phê duyệt phiếu đề nghị thanh toán số: ' + ISNULL(@p_REQ_PAY_CODE,'') + N' thành công. Vui lòng đợi trưởng đơn vị phê duyệt phiếu' ErrorDesc
|
3441
|
RETURN '4'
|
3442
|
END
|
3443
|
END
|
3444
|
-- END VALIDATE SEND APPROVE
|
3445
|
|
3446
|
|
3447
|
SELECT '0' as Result, @p_REQ_PAY_ID REQ_PAY_ID, '' ErrorDesc
|
3448
|
RETURN '0'
|
3449
|
ABORT:
|
3450
|
BEGIN
|
3451
|
ROLLBACK TRANSACTION
|
3452
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
3453
|
RETURN '-1'
|
3454
|
End
|
3455
|
|
3456
|
GO
|
3457
|
|
3458
|
ALTER PROCEDURE [dbo].[TR_ROLE_NOTIFI_ID]
|
3459
|
@PO_ID varchar(500),
|
3460
|
@TYPE VARCHAR(100)
|
3461
|
AS
|
3462
|
PRINT @TYPE
|
3463
|
|
3464
|
DECLARE
|
3465
|
@BRANCH_CREATE VARCHAR(15),
|
3466
|
@DEP_CREATE VARCHAR(15),
|
3467
|
@BRANCH_TYPE VARCHAR(15),
|
3468
|
@FATHER_ID VARCHAR(15),
|
3469
|
--@FLAG VARCHAR(1), -- FLAG = 1: THANH TOÁN / TẠM ỨNG
|
3470
|
---------BAODNQ 26/10/2022 : TĂNG KÍCH THƯỚC BIẾN @FLAG
|
3471
|
@FLAG VARCHAR(5), -- FLAG = 1: THANH TOÁN / TẠM ỨNG
|
3472
|
@AUTH_STATUS VARCHAR(10),
|
3473
|
@PROCESS VARCHAR(10),
|
3474
|
@MAKER_ID VARCHAR(15),
|
3475
|
@DEP_CODE VARCHAR(15),
|
3476
|
@NV_XL_MS VARCHAR(15)
|
3477
|
DECLARE @ROLE_CURRENT VARCHAR(15), @USER_RECIVE_MAIL VARCHAR(15), @REQ_TYPE VARCHAR(15)
|
3478
|
DECLARE @SYS_PREFIX VARCHAR(15),@PAGE NVARCHAR(200)
|
3479
|
DECLARE @l_LST_REQ_ID TABLE (
|
3480
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
3481
|
[REQ_PAY_ID] [VARCHAR](50) NULL)
|
3482
|
INSERT INTO @l_LST_REQ_ID SELECT VALUE FROM WSISPLIT(@PO_ID,',')
|
3483
|
DECLARE @LST_POID TABLE(ID VARCHAR(15))
|
3484
|
DECLARE @LST_USER_RECIVE TABLE (TLNAME VARCHAR(10))
|
3485
|
--- DECLARE TABLE NHAN DU LIEU LA USER NAME DANG O BUOC PHE DUYET HIEN TAI
|
3486
|
DECLARE @PL_PROCESS_CURRENT_SEARCH_TEMP TABLE
|
3487
|
(
|
3488
|
REQ_ID varchar(15),
|
3489
|
PROCESS_ID varchar(10),
|
3490
|
DVDM_NAME nvarchar(500),
|
3491
|
TLNAME nvarchar(255),
|
3492
|
TLFullName nvarchar(255),
|
3493
|
NOTES nvarchar(500)
|
3494
|
)
|
3495
|
-----BAODNQ 5/1/2021 : Thêm gửi mail cho GDDV, TP, PP----------
|
3496
|
DECLARE @p_MAKER_ID VARCHAR(15), @p_ROLE_ID VARCHAR(15), @p_ROLE_NAME VARCHAR(15)
|
3497
|
DECLARE @LST_ROLE TABLE(ROLE_ID VARCHAR(15), ROLE_NAME VARCHAR(15))
|
3498
|
---------BAODNQ 2/11/2022 : Lấy mã code phòng ban tạo-------------
|
3499
|
DECLARE @p_DEP_CREATE_CODE VARCHAR(15)
|
3500
|
--------------------------
|
3501
|
IF @TYPE = 'PO'
|
3502
|
BEGIN
|
3503
|
INSERT INTO @LST_POID VALUES(@PO_ID)
|
3504
|
SET @FLAG = 0
|
3505
|
END ELSE
|
3506
|
IF @TYPE = 'USE'
|
3507
|
BEGIN
|
3508
|
INSERT INTO @LST_POID SELECT B.PO_ID
|
3509
|
FROM ASS_MASTER_PO B WHERE B.ASSET_ID = (SELECT A.ASSET_ID FROM ASS_USE A WHERE A.USE_ID = @PO_ID)
|
3510
|
SET @FLAG = 0
|
3511
|
END ELSE
|
3512
|
IF @TYPE = 'USE_MUILT'
|
3513
|
BEGIN
|
3514
|
INSERT INTO @LST_POID SELECT B.PO_ID
|
3515
|
FROM ASS_MASTER_PO B WHERE B.ASSET_ID IN (SELECT A.ASSET_ID FROM ASS_USE_MULTI_DT A WHERE A.USER_MASTER_ID = @PO_ID)
|
3516
|
GROUP BY B.PO_ID
|
3517
|
SET @FLAG = 0
|
3518
|
END ELSE
|
3519
|
IF @TYPE = 'USE_ADDNEW'
|
3520
|
BEGIN
|
3521
|
INSERT INTO @LST_POID SELECT B.PO_ID
|
3522
|
FROM ASS_ADDNEW_PO B WHERE B.ADDNEW_ID = @PO_ID
|
3523
|
SET @FLAG = 0
|
3524
|
END
|
3525
|
-- Tạm ứng
|
3526
|
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_SEND_APR')
|
3527
|
BEGIN
|
3528
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3529
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>'')))
|
3530
|
BEGIN
|
3531
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3532
|
(SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3533
|
END
|
3534
|
ELSE
|
3535
|
BEGIN
|
3536
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3537
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3538
|
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3539
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
3540
|
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
3541
|
IF(@BRANCH_TYPE = 'PGD' )
|
3542
|
BEGIN
|
3543
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3544
|
SELECT TLNANME FROM TL_USER
|
3545
|
WHERE 1=1
|
3546
|
AND TLSUBBRID = @FATHER_ID
|
3547
|
AND ( RoleName IN ('TPGD','PP')
|
3548
|
OR RoleName IN ( SELECT ROLE_OLD
|
3549
|
FROM TL_SYS_ROLE_MAPPING
|
3550
|
WHERE ROLE_NEW IN ('TPGD','PP')
|
3551
|
AND RECORD_STATUS = 1
|
3552
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3553
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
3554
|
)
|
3555
|
)
|
3556
|
|
3557
|
END
|
3558
|
ELSE IF(@BRANCH_TYPE = 'CN' )
|
3559
|
BEGIN
|
3560
|
|
3561
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3562
|
SELECT TLNANME FROM TL_USER
|
3563
|
WHERE 1=1
|
3564
|
AND TLSUBBRID = @BRANCH_CREATE
|
3565
|
AND (RoleName IN ('GDDV','PGD') OR RoleName IN ( SELECT ROLE_OLD
|
3566
|
FROM TL_SYS_ROLE_MAPPING
|
3567
|
WHERE ROLE_NEW IN ('GDDV','PGD')
|
3568
|
AND RECORD_STATUS = 1
|
3569
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3570
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
3571
|
)
|
3572
|
)
|
3573
|
|
3574
|
END
|
3575
|
ELSE IF(@BRANCH_TYPE = 'HS' )
|
3576
|
BEGIN
|
3577
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3578
|
SELECT TLNANME FROM TL_USER
|
3579
|
WHERE 1=1
|
3580
|
AND TLSUBBRID = @BRANCH_CREATE
|
3581
|
AND SECUR_CODE = @DEP_CREATE
|
3582
|
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD
|
3583
|
FROM TL_SYS_ROLE_MAPPING
|
3584
|
WHERE ROLE_NEW IN ('GDDV','PP')
|
3585
|
AND RECORD_STATUS = 1
|
3586
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3587
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')
|
3588
|
)
|
3589
|
)
|
3590
|
END
|
3591
|
END
|
3592
|
SET @FLAG = 1
|
3593
|
END
|
3594
|
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_CONFIRM')
|
3595
|
BEGIN
|
3596
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3597
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3598
|
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3599
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
3600
|
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
3601
|
SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID)
|
3602
|
SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_CREATE)
|
3603
|
IF(@BRANCH_TYPE = 'PGD' )
|
3604
|
BEGIN
|
3605
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000015')) -- KHOI HO TRO
|
3606
|
BEGIN
|
3607
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='tunt')
|
3608
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3609
|
END
|
3610
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000016')) -- KHOI QUAN LY RUI RO
|
3611
|
BEGIN
|
3612
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='linhvtk')
|
3613
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3614
|
END
|
3615
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000017')) -- KHOI TAI CHINH
|
3616
|
BEGIN
|
3617
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='nhalc')
|
3618
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3619
|
END
|
3620
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000018')) -- KHOI CNTT
|
3621
|
BEGIN
|
3622
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='haipv')
|
3623
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3624
|
END
|
3625
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000020')) -- KHOI CNTT
|
3626
|
BEGIN
|
3627
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='tuvm')
|
3628
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3629
|
END
|
3630
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000022')) -- KHOI KHCN - KHACH HANG CA NHAN
|
3631
|
BEGIN
|
3632
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='sangnm1')
|
3633
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3634
|
END
|
3635
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000022')) -- KHOI KHCN - KHACH HANG CA NHAN
|
3636
|
BEGIN
|
3637
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='nhannt')
|
3638
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3639
|
END
|
3640
|
-- PTGD
|
3641
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000019')) -- KHOI VAN HANH
|
3642
|
BEGIN
|
3643
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='muoilvb')
|
3644
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3645
|
END
|
3646
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000014')) -- KHOI TRUC THUOC TGD
|
3647
|
BEGIN
|
3648
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
|
3649
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3650
|
END
|
3651
|
ELSE
|
3652
|
BEGIN
|
3653
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3654
|
SELECT TLNANME FROM TL_USER
|
3655
|
WHERE 1=1
|
3656
|
AND TLSUBBRID = @FATHER_ID
|
3657
|
AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD
|
3658
|
FROM TL_SYS_ROLE_MAPPING
|
3659
|
WHERE ROLE_NEW IN ('TPGD','PP') AND RECORD_STATUS = 1
|
3660
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3661
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
3662
|
END
|
3663
|
|
3664
|
END
|
3665
|
ELSE IF(@BRANCH_TYPE = 'CN' )
|
3666
|
BEGIN
|
3667
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000015')) -- KHOI HO TRO
|
3668
|
BEGIN
|
3669
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='tunt')
|
3670
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3671
|
END
|
3672
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000016')) -- KHOI QUAN LY RUI RO
|
3673
|
BEGIN
|
3674
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='linhvtk')
|
3675
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3676
|
END
|
3677
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000017')) -- KHOI TAI CHINH
|
3678
|
BEGIN
|
3679
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='nhalc')
|
3680
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3681
|
END
|
3682
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000018')) -- KHOI CNTT
|
3683
|
BEGIN
|
3684
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='haipv')
|
3685
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3686
|
END
|
3687
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000020')) -- KHOI CNTT
|
3688
|
BEGIN
|
3689
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='tuvm')
|
3690
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3691
|
END
|
3692
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000022')) -- KHOI KHCN - KHACH HANG CA NHAN
|
3693
|
BEGIN
|
3694
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='sangnm1')
|
3695
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3696
|
END
|
3697
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000022')) -- KHOI KHCN - KHACH HANG CA NHAN
|
3698
|
BEGIN
|
3699
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE TLNANME ='nhannt')
|
3700
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3701
|
END
|
3702
|
-- PTGD
|
3703
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000019')) -- KHOI VAN HANH
|
3704
|
BEGIN
|
3705
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='muoilvb')
|
3706
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3707
|
END
|
3708
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000014')) -- KHOI TRUC THUOC TGD
|
3709
|
BEGIN
|
3710
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
|
3711
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3712
|
END
|
3713
|
ELSE
|
3714
|
BEGIN
|
3715
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3716
|
SELECT TLNANME FROM TL_USER
|
3717
|
WHERE 1=1
|
3718
|
AND TLSUBBRID = @BRANCH_CREATE
|
3719
|
AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD
|
3720
|
FROM TL_SYS_ROLE_MAPPING
|
3721
|
WHERE ROLE_NEW IN ('GDDV','PGD') AND RECORD_STATUS = 1
|
3722
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3723
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
3724
|
END
|
3725
|
END
|
3726
|
ELSE IF(@BRANCH_TYPE = 'HS' )
|
3727
|
BEGIN
|
3728
|
IF(EXISTS(SELECT PROCESS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (PROCESS ='' OR PROCESS IS NULL)))
|
3729
|
BEGIN
|
3730
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3731
|
SELECT TLNANME FROM TL_USER
|
3732
|
WHERE 1=1
|
3733
|
AND TLSUBBRID = @BRANCH_CREATE
|
3734
|
AND SECUR_CODE = @DEP_CREATE
|
3735
|
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD
|
3736
|
FROM TL_SYS_ROLE_MAPPING
|
3737
|
WHERE ROLE_NEW IN ('GDDV','PP') AND RECORD_STATUS = 1
|
3738
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3739
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
3740
|
END
|
3741
|
ELSE
|
3742
|
BEGIN
|
3743
|
|
3744
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I'))
|
3745
|
BEGIN
|
3746
|
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
|
3747
|
BEGIN
|
3748
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt')
|
3749
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3750
|
END
|
3751
|
ELSE IF((@DEP_CODE LIKE'%06907%'))
|
3752
|
BEGIN
|
3753
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk')
|
3754
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3755
|
END
|
3756
|
ELSE IF((@DEP_CODE LIKE'%06908%'))
|
3757
|
BEGIN
|
3758
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='nhalc')
|
3759
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3760
|
END
|
3761
|
ELSE IF((@DEP_CODE LIKE'%06909%'))
|
3762
|
BEGIN
|
3763
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv')
|
3764
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3765
|
END
|
3766
|
ELSE IF((@DEP_CODE LIKE'%06921%'))
|
3767
|
BEGIN
|
3768
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='sangnm1')
|
3769
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3770
|
END
|
3771
|
END
|
3772
|
-- NEU CAP TIEP THEO LA PTGD
|
3773
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I'))
|
3774
|
BEGIN
|
3775
|
/*
|
3776
|
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
|
3777
|
BEGIN
|
3778
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt')
|
3779
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3780
|
END
|
3781
|
*/
|
3782
|
IF(@DEP_CODE ='0690405')
|
3783
|
BEGIN
|
3784
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
|
3785
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3786
|
END
|
3787
|
---- LUCTV 24.11.2022 BO SUNG GUI MAIL PTGD KHOI VAN HANH
|
3788
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000019')
|
3789
|
OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I'))
|
3790
|
BEGIN
|
3791
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='muoilvb')
|
3792
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3793
|
END
|
3794
|
END
|
3795
|
-- NEU CAP TIEP THEO LA TKTGD
|
3796
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TKTGD' AND @REQ_TYPE ='I'))
|
3797
|
BEGIN
|
3798
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TKTGD'
|
3799
|
END
|
3800
|
-- NEU CAP TIEP THEO LA TKHDQT
|
3801
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TKHDQT' AND @REQ_TYPE ='I'))
|
3802
|
BEGIN
|
3803
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TKHDQT'
|
3804
|
END
|
3805
|
-- NEU CAP TIEP THEO LA TGD
|
3806
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TGD' AND @REQ_TYPE ='I'))
|
3807
|
BEGIN
|
3808
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TGD'
|
3809
|
END
|
3810
|
-- NEU CAP TIEP THEO LA HDQT
|
3811
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='HDQT' AND @REQ_TYPE ='I'))
|
3812
|
BEGIN
|
3813
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='HDQT'
|
3814
|
END
|
3815
|
END
|
3816
|
END
|
3817
|
SET @FLAG = 1
|
3818
|
END
|
3819
|
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_APR')
|
3820
|
BEGIN
|
3821
|
SET @REQ_TYPE =(SELECT TOP 1 REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@PO_ID)
|
3822
|
--SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3823
|
SET @BRANCH_CREATE = (SELECT TOP 1 BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3824
|
SET @DEP_CREATE = (SELECT TOP 1 DEP_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3825
|
SET @DEP_CODE =(SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID =@DEP_CREATE)
|
3826
|
/*
|
3827
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TKTGD' AND @REQ_TYPE ='I'))
|
3828
|
BEGIN
|
3829
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TKTGD'
|
3830
|
END
|
3831
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TKHDQT' AND @REQ_TYPE ='I'))
|
3832
|
BEGIN
|
3833
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TKHDQT'
|
3834
|
END
|
3835
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='TGD' AND @REQ_TYPE ='I'))
|
3836
|
BEGIN
|
3837
|
--SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='TGD')
|
3838
|
--INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3839
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='TGD'
|
3840
|
END
|
3841
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='HDQT' AND @REQ_TYPE ='I'))
|
3842
|
BEGIN
|
3843
|
--SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='TGD')
|
3844
|
--INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3845
|
INSERT INTO @LST_USER_RECIVE SELECT TLNANME FROM TL_USER WHERE RoleName ='HDQT'
|
3846
|
END
|
3847
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='GDK' AND @REQ_TYPE ='I'))
|
3848
|
BEGIN
|
3849
|
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
|
3850
|
BEGIN
|
3851
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='tunt')
|
3852
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3853
|
END
|
3854
|
ELSE IF((@DEP_CODE LIKE'%06907%'))
|
3855
|
BEGIN
|
3856
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='linhvtk')
|
3857
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3858
|
END
|
3859
|
ELSE IF((@DEP_CODE LIKE'%06908%'))
|
3860
|
BEGIN
|
3861
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='nhalc')
|
3862
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3863
|
END
|
3864
|
ELSE IF((@DEP_CODE LIKE'%06909%'))
|
3865
|
BEGIN
|
3866
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='haipv')
|
3867
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3868
|
END
|
3869
|
ELSE IF((@DEP_CODE LIKE'%06921%'))
|
3870
|
BEGIN
|
3871
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDK' AND TLNANME ='sangnm1')
|
3872
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3873
|
END
|
3874
|
END
|
3875
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I'))
|
3876
|
BEGIN
|
3877
|
/*
|
3878
|
IF(@DEP_CREATE ='DEP000000000014' OR (@DEP_CODE LIKE'%06906%' AND @DEP_CODE <> '0690605'))
|
3879
|
BEGIN
|
3880
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='hantt')
|
3881
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3882
|
END
|
3883
|
*/
|
3884
|
IF( @DEP_CODE ='0690405')
|
3885
|
BEGIN
|
3886
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='tupa')
|
3887
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3888
|
END
|
3889
|
---- LUCTV 24.11.2022 BO SUNG GUI MAIL PTGD KHOI VAN HANH
|
3890
|
ELSE IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I' AND DVDM_ID ='DM0000000000019')
|
3891
|
OR EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID=@PO_ID AND STATUS ='C' AND ROLE_USER ='PTGD' AND @REQ_TYPE ='I') )
|
3892
|
BEGIN
|
3893
|
SET @USER_RECIVE_MAIL =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='PTGD' AND TLNANME ='muoilvb')
|
3894
|
INSERT INTO @LST_USER_RECIVE (TLNAME) VALUES (@USER_RECIVE_MAIL)
|
3895
|
END
|
3896
|
END
|
3897
|
*/
|
3898
|
|
3899
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND AUTH_STATUS ='A'))
|
3900
|
BEGIN
|
3901
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3902
|
SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID
|
3903
|
|
3904
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3905
|
SELECT TLNANME FROM TL_USER
|
3906
|
WHERE 1=1
|
3907
|
AND (RoleName = 'KSV' AND TLSUBBRID = 'DV0001' AND SECUR_CODE ='DEP000000000022')
|
3908
|
--OR TLNANME IN (SELECT TLNAME FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW ='KSV' AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL) AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL) AND RECORD_STATUS = 1)
|
3909
|
END
|
3910
|
SET @FLAG = 1
|
3911
|
END
|
3912
|
-- Điều phối tạm ứng/ thanh toán PL_REQUEST_PROCESS_CHILD
|
3913
|
ELSE IF (@TYPE = 'TR_REQ_PAYMENT_TRANSFER')
|
3914
|
BEGIN
|
3915
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3916
|
SELECT TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID IN (SELECT REQ_PAY_ID FROM @l_LST_REQ_ID) AND TYPE_JOB = 'XL' AND STATUS_JOB ='C'
|
3917
|
SET @FLAG = 1
|
3918
|
END
|
3919
|
--
|
3920
|
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_SEND_APR')
|
3921
|
BEGIN
|
3922
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3923
|
SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
|
3924
|
SET @FLAG = 1
|
3925
|
END
|
3926
|
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_SEND_SUG')
|
3927
|
BEGIN
|
3928
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3929
|
SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
|
3930
|
SET @FLAG = 1
|
3931
|
END
|
3932
|
ELSE IF (@TYPE = 'TR_REQ_ADVANCE_PAYMENT_KT_APPR')
|
3933
|
BEGIN
|
3934
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3935
|
SELECT TOP 1 MAKER_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID
|
3936
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3937
|
SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID = @PO_ID
|
3938
|
SET @FLAG = 1
|
3939
|
END
|
3940
|
-- Thanh toán
|
3941
|
ELSE IF (@TYPE = 'TR_REQ_PAYMENT_SEND_APR')
|
3942
|
BEGIN
|
3943
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3944
|
IF(EXISTS(SELECT * FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@PO_ID AND (TRASFER_USER_RECIVE IS NOT NULL AND TRASFER_USER_RECIVE <>'')))
|
3945
|
BEGIN
|
3946
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3947
|
(SELECT TRASFER_USER_RECIVE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3948
|
END
|
3949
|
ELSE
|
3950
|
BEGIN
|
3951
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3952
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3953
|
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3954
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
3955
|
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
3956
|
IF(@BRANCH_TYPE = 'PGD' )
|
3957
|
BEGIN
|
3958
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3959
|
SELECT TLNANME FROM TL_USER
|
3960
|
WHERE 1=1
|
3961
|
AND TLSUBBRID = @BRANCH_CREATE
|
3962
|
AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD
|
3963
|
FROM TL_SYS_ROLE_MAPPING
|
3964
|
WHERE ROLE_NEW IN ('TPGD','PP') AND RECORD_STATUS = 1
|
3965
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3966
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
3967
|
END
|
3968
|
ELSE IF(@BRANCH_TYPE = 'CN' )
|
3969
|
BEGIN
|
3970
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3971
|
SELECT TLNANME FROM TL_USER
|
3972
|
WHERE 1=1
|
3973
|
AND TLSUBBRID = @BRANCH_CREATE
|
3974
|
AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD
|
3975
|
FROM TL_SYS_ROLE_MAPPING
|
3976
|
WHERE ROLE_NEW IN ('GDDV','PGD') AND RECORD_STATUS = 1
|
3977
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3978
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
3979
|
END
|
3980
|
ELSE IF(@BRANCH_TYPE = 'HS' )
|
3981
|
BEGIN
|
3982
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
3983
|
SELECT TLNANME FROM TL_USER
|
3984
|
WHERE 1=1
|
3985
|
AND TLSUBBRID = @BRANCH_CREATE
|
3986
|
AND SECUR_CODE = @DEP_CREATE
|
3987
|
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD
|
3988
|
FROM TL_SYS_ROLE_MAPPING
|
3989
|
WHERE ROLE_NEW IN ('GDDV','PP') AND RECORD_STATUS = 1
|
3990
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
3991
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
3992
|
END
|
3993
|
END
|
3994
|
SET @FLAG = 1
|
3995
|
END
|
3996
|
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_APR')
|
3997
|
BEGIN
|
3998
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
3999
|
IF(@AUTH_STATUS = 'A')
|
4000
|
BEGIN
|
4001
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4002
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4003
|
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4004
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4005
|
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4006
|
|
4007
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4008
|
SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID
|
4009
|
|
4010
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4011
|
SELECT TLNANME FROM TL_USER
|
4012
|
WHERE 1=1
|
4013
|
AND (RoleName = 'KSV' OR RoleName IN (SELECT ROLE_OLD
|
4014
|
FROM TL_SYS_ROLE_MAPPING
|
4015
|
WHERE ROLE_NEW = 'KSV' AND RECORD_STATUS = 1
|
4016
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4017
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
4018
|
AND TLSUBBRID = 'DV0001' AND SECUR_CODE ='DEP000000000022'
|
4019
|
|
4020
|
SET @FLAG = 1
|
4021
|
END
|
4022
|
END
|
4023
|
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_CONFIRM')
|
4024
|
BEGIN
|
4025
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4026
|
SET @PROCESS = ( SELECT TOP 1 PROCESS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4027
|
IF(@AUTH_STATUS = 'U' AND @PROCESS = '0')
|
4028
|
BEGIN
|
4029
|
SET @AUTH_STATUS =( SELECT TOP 1 AUTH_STATUS FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4030
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4031
|
SET @DEP_CREATE = (SELECT DEP_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID)
|
4032
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4033
|
SET @FATHER_ID = (SELECT FATHER_ID FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4034
|
IF(@BRANCH_TYPE = 'PGD' )
|
4035
|
BEGIN
|
4036
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4037
|
SELECT TLNANME FROM TL_USER
|
4038
|
WHERE 1=1
|
4039
|
AND TLSUBBRID = @BRANCH_CREATE
|
4040
|
AND (RoleName IN ('TPGD','PP') OR RoleName IN (SELECT ROLE_OLD
|
4041
|
FROM TL_SYS_ROLE_MAPPING
|
4042
|
WHERE ROLE_NEW IN ('TPGD','PP') AND RECORD_STATUS = 1
|
4043
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4044
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
4045
|
|
4046
|
END
|
4047
|
ELSE IF(@BRANCH_TYPE = 'CN' )
|
4048
|
BEGIN
|
4049
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4050
|
SELECT TLNANME FROM TL_USER
|
4051
|
WHERE 1=1
|
4052
|
AND TLSUBBRID = @BRANCH_CREATE
|
4053
|
AND (RoleName IN ('GDDV','PGD') OR RoleName IN (SELECT ROLE_OLD
|
4054
|
FROM TL_SYS_ROLE_MAPPING
|
4055
|
WHERE ROLE_NEW IN ('GDDV','PGD') AND RECORD_STATUS = 1
|
4056
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4057
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
4058
|
END
|
4059
|
ELSE IF(@BRANCH_TYPE = 'HS' )
|
4060
|
BEGIN
|
4061
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4062
|
SELECT TLNANME FROM TL_USER
|
4063
|
WHERE 1=1
|
4064
|
AND TLSUBBRID = @BRANCH_CREATE
|
4065
|
AND SECUR_CODE = @DEP_CREATE
|
4066
|
AND (RoleName IN ('GDDV','PP') OR RoleName IN (SELECT ROLE_OLD FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW IN ('GDDV','PP') AND RECORD_STATUS = 1
|
4067
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4068
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE ='')))
|
4069
|
END
|
4070
|
SET @FLAG = 1
|
4071
|
END
|
4072
|
END
|
4073
|
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_SEND_APR')
|
4074
|
BEGIN
|
4075
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4076
|
SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
|
4077
|
SET @FLAG = 1
|
4078
|
END
|
4079
|
ELSE IF (@TYPE = 'TR_REQ_PAYMENT_KT_SEND_SUG')
|
4080
|
BEGIN
|
4081
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4082
|
SELECT TOP 1 TLNAME FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = @PO_ID AND TYPE_JOB = 'KS'
|
4083
|
SET @FLAG = 1
|
4084
|
END
|
4085
|
ELSE IF(@TYPE = 'TR_REQ_PAYMENT_KT_APR')
|
4086
|
BEGIN
|
4087
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4088
|
SELECT TOP 1 MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID
|
4089
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4090
|
SELECT TOP 1 MAKER_ID_KT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID = @PO_ID
|
4091
|
SET @FLAG = 1
|
4092
|
END
|
4093
|
-- Tờ trình chủ trương
|
4094
|
ELSE IF(@TYPE = 'PL_SEND_APP' OR @TYPE ='PL_REQUEST_DOC_App' OR @TYPE ='REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App')
|
4095
|
BEGIN
|
4096
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4097
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4098
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
|
4099
|
SET @FLAG = 2
|
4100
|
END
|
4101
|
ELSE IF(@TYPE='PL_REQ_PROCESS_CHILD_Ins')
|
4102
|
BEGIN
|
4103
|
DECLARE @PLREQ_ID VARCHAR(15)
|
4104
|
WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0)
|
4105
|
BEGIN
|
4106
|
SET @PLREQ_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID)
|
4107
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4108
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4109
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PLREQ_ID,@MAKER_ID,'TTCT-DVKD'
|
4110
|
DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@PLREQ_ID
|
4111
|
END
|
4112
|
SET @FLAG = 2
|
4113
|
END
|
4114
|
ELSE IF(@TYPE='REQUEST_DOC_PROCESS_Approve')
|
4115
|
BEGIN
|
4116
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE'))
|
4117
|
BEGIN
|
4118
|
IF(NOT EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='TGD'))
|
4119
|
BEGIN
|
4120
|
SET @FLAG = 2
|
4121
|
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4122
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4123
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
|
4124
|
END
|
4125
|
ELSE IF (EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='TGD'))
|
4126
|
BEGIN
|
4127
|
SET @FLAG = 2
|
4128
|
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4129
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4130
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
|
4131
|
--INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP (REQ_ID,TLNAME) SELECT @PO_ID, TLNANME FROM TL_USER WHERE RoleName ='TGD'
|
4132
|
END
|
4133
|
ELSE IF (EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='HDQT'))
|
4134
|
BEGIN
|
4135
|
SET @FLAG = 2
|
4136
|
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4137
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4138
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'TTCT-DVKD'
|
4139
|
--INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP (REQ_ID,TLNAME) SELECT @PO_ID, TLNANME FROM TL_USER WHERE RoleName ='TKTGD'
|
4140
|
END
|
4141
|
END
|
4142
|
ELSE
|
4143
|
BEGIN
|
4144
|
SET @FLAG = 3
|
4145
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4146
|
--INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4147
|
--EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_ID,@MAKER_ID,'TTCT-DVKD'
|
4148
|
END
|
4149
|
END
|
4150
|
ELSE IF(@TYPE='RESEND_REQUEST_DOC_PROCESS_Approve') --- LUCTV 28.11.2022 BO SUNG THEM 1 TYPE DE ANH BAOTQ GUI MAIL VE THU KY TGD DE THU KY TGD COPY LINK GUI CEO TRONG TRUONG HOP CEO MISS MAIL
|
4151
|
BEGIN
|
4152
|
IF (EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='TGD'))
|
4153
|
BEGIN
|
4154
|
SET @FLAG = 2
|
4155
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP (REQ_ID,TLNAME) SELECT @PO_ID, TLNANME FROM TL_USER WHERE RoleName ='TKTGD'
|
4156
|
END
|
4157
|
ELSE IF (EXISTS(SELECT * FROM PL_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='HDQT'))
|
4158
|
BEGIN
|
4159
|
SET @FLAG = 2
|
4160
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP (REQ_ID,TLNAME) SELECT @PO_ID, TLNANME FROM TL_USER WHERE RoleName ='TKHDQT'
|
4161
|
END
|
4162
|
END --- LUCTV 28.11.2022
|
4163
|
-------------------------------------------------------------------------------------------------------
|
4164
|
----- PHIẾU YÊU CẦU MUA SẮM --------------
|
4165
|
ELSE IF(@TYPE = 'TR_REQUEST_DOC_SendApp' OR @TYPE ='TR_REQUEST_DOC_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_App' OR @TYPE ='TR_REQ_PROCESS_CHILD_Upd' OR @TYPE='REQ_PROCESS_CHILD_App')
|
4166
|
BEGIN
|
4167
|
-------------------Nếu PYCMS chưa hoàn tất-------------------
|
4168
|
IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE'))
|
4169
|
BEGIN
|
4170
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4171
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4172
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD'
|
4173
|
SET @FLAG = 2
|
4174
|
END
|
4175
|
-------------------Nếu PYCMS hoàn tất-------------------
|
4176
|
ELSE
|
4177
|
BEGIN
|
4178
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4179
|
SET @NV_XL_MS =(SELECT TOP 1 USER_DVMS FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4180
|
SET @FLAG = 4
|
4181
|
END
|
4182
|
END
|
4183
|
ELSE IF(@TYPE='TR_REQ_PROCESS_CHILD_Ins')
|
4184
|
BEGIN
|
4185
|
|
4186
|
DECLARE @REQ_DOC_ID VARCHAR(15)
|
4187
|
WHILE((SELECT COUNT(*) FROM @l_LST_REQ_ID) >0)
|
4188
|
BEGIN
|
4189
|
SET @REQ_DOC_ID =(SELECT TOP 1 REQ_PAY_ID FROM @l_LST_REQ_ID)
|
4190
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4191
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4192
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @REQ_DOC_ID,@MAKER_ID,'PYCMS-DVKD'
|
4193
|
DELETE FROM @l_LST_REQ_ID WHERE REQ_PAY_ID =@REQ_DOC_ID
|
4194
|
END
|
4195
|
SET @FLAG = 2
|
4196
|
END
|
4197
|
ELSE IF(@TYPE='TR_REQUEST_DOC_PROCESS_Approve')
|
4198
|
BEGIN
|
4199
|
IF(NOT EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID AND PROCESS_ID ='APPROVE'))
|
4200
|
BEGIN
|
4201
|
--SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4202
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4203
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD'
|
4204
|
SET @FLAG = 3
|
4205
|
END
|
4206
|
ELSE
|
4207
|
BEGIN
|
4208
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4209
|
SET @NV_XL_MS =(SELECT TOP 1 USER_DVMS FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4210
|
SET @FLAG = 4
|
4211
|
END
|
4212
|
END
|
4213
|
----------------BAODNQ 20/10/2022 ; LẮP MAIL GỬI KHI CHUYỂN PYCMS CHO DVCM-----------------
|
4214
|
ELSE IF(@TYPE = 'TR_REQUEST_DOC_MOVE_DVCM')
|
4215
|
BEGIN
|
4216
|
SET @MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@PO_ID)
|
4217
|
INSERT INTO @PL_PROCESS_CURRENT_SEARCH_TEMP
|
4218
|
EXEC [dbo].[PL_PROCESS_CURRENT_SEARCH] @PO_ID,@MAKER_ID,'PYCMS-DVKD'
|
4219
|
SET @FLAG = 2
|
4220
|
END
|
4221
|
---------------ENDBAODNQ-----------------------------
|
4222
|
|
4223
|
------BAODNQ 4/1/2022: --------------
|
4224
|
-----Khai báo DTSD nội bộ - gửi YC phê duyệt-------
|
4225
|
ELSE IF @TYPE='BUD_CONTRACT_MASTER_SEND_APPROVE'
|
4226
|
BEGIN
|
4227
|
-----Có cấp phê duyệt trung gian-------
|
4228
|
IF (EXISTS (SELECT*FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
4229
|
BEGIN
|
4230
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4231
|
(SELECT A.SIGN_USER FROM BUD_CONTRACT_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
|
4232
|
|
4233
|
END
|
4234
|
ELSE
|
4235
|
-----Ko có cấp phê duyệt trung gian-------
|
4236
|
BEGIN
|
4237
|
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4238
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4239
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4240
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
4241
|
|
4242
|
IF(@BRANCH_TYPE = 'PGD')
|
4243
|
BEGIN
|
4244
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4245
|
--(SELECT TLNANME FROM TL_USER
|
4246
|
--WHERE 1=1
|
4247
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4248
|
--AND RoleName IN ('TPGD', 'PPGD'))
|
4249
|
SELECT TLNANME
|
4250
|
FROM TL_USER
|
4251
|
WHERE 1=1
|
4252
|
AND TLSUBBRID = @BRANCH_CREATE
|
4253
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
4254
|
END
|
4255
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
4256
|
BEGIN
|
4257
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4258
|
--(SELECT TLNANME FROM TL_USER
|
4259
|
--WHERE 1=1
|
4260
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4261
|
--AND RoleName IN ('GDDV', 'PDG'))
|
4262
|
SELECT TLNANME
|
4263
|
FROM TL_USER
|
4264
|
WHERE 1=1
|
4265
|
AND TLSUBBRID = @BRANCH_CREATE
|
4266
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
4267
|
END
|
4268
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
4269
|
BEGIN
|
4270
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4271
|
--(SELECT TLNANME FROM TL_USER
|
4272
|
--WHERE 1=1
|
4273
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4274
|
--AND DEP_ID = @DEP_CREATE
|
4275
|
--AND RoleName IN ('GDDV', 'PP'))
|
4276
|
SELECT TLNANME
|
4277
|
FROM TL_USER
|
4278
|
WHERE 1=1
|
4279
|
AND TLSUBBRID = @BRANCH_CREATE
|
4280
|
AND DEP_ID = @DEP_CREATE
|
4281
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
4282
|
END
|
4283
|
END
|
4284
|
|
4285
|
SET @FLAG = 5
|
4286
|
END
|
4287
|
|
4288
|
-----Khai báo DTSD nội bộ - trung gian duyệt thành công-------
|
4289
|
ELSE IF @TYPE='BUD_CONTRACT_MASTER_CONFIRM'
|
4290
|
BEGIN
|
4291
|
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4292
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4293
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4294
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
4295
|
|
4296
|
IF(@BRANCH_TYPE = 'PGD')
|
4297
|
BEGIN
|
4298
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4299
|
--(SELECT TLNANME FROM TL_USER
|
4300
|
--WHERE 1=1
|
4301
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4302
|
--AND RoleName IN ('TPGD', 'PPGD'))
|
4303
|
SELECT TLNANME
|
4304
|
FROM TL_USER
|
4305
|
WHERE 1=1
|
4306
|
AND TLSUBBRID = @BRANCH_CREATE
|
4307
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
4308
|
END
|
4309
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
4310
|
BEGIN
|
4311
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4312
|
--(SELECT TLNANME FROM TL_USER
|
4313
|
--WHERE 1=1
|
4314
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4315
|
--AND RoleName IN ('GDDV', 'PDG'))
|
4316
|
SELECT TLNANME
|
4317
|
FROM TL_USER
|
4318
|
WHERE 1=1
|
4319
|
AND TLSUBBRID = @BRANCH_CREATE
|
4320
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
4321
|
END
|
4322
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
4323
|
BEGIN
|
4324
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4325
|
--(SELECT TLNANME FROM TL_USER
|
4326
|
--WHERE 1=1
|
4327
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4328
|
--AND DEP_ID = @DEP_CREATE
|
4329
|
--AND RoleName IN ('GDDV', 'PP'))
|
4330
|
SELECT TLNANME
|
4331
|
FROM TL_USER
|
4332
|
WHERE 1=1
|
4333
|
AND TLSUBBRID = @BRANCH_CREATE
|
4334
|
AND DEP_ID = @DEP_CREATE
|
4335
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
4336
|
END
|
4337
|
|
4338
|
SET @FLAG = 5
|
4339
|
END
|
4340
|
-----Khai báo DTSD nội bộ - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-------
|
4341
|
ELSE IF @TYPE='BUD_CONTRACT_MASTER_APPROVED'
|
4342
|
BEGIN
|
4343
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4344
|
(SELECT A.MAKER_ID FROM BUD_CONTRACT_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
|
4345
|
|
4346
|
SET @FLAG = 5
|
4347
|
END
|
4348
|
---Quản lý hợp đồng khách thuê - gửi YC phê duyệt-----
|
4349
|
ELSE IF @TYPE='BUD_CONTRACT_CUST_MASTER_SEND_APPROVE'
|
4350
|
BEGIN
|
4351
|
-----Có cấp phê duyệt trung gian-------
|
4352
|
IF (EXISTS (SELECT*FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
4353
|
BEGIN
|
4354
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4355
|
(SELECT A.SIGN_USER FROM BUD_CONTRACT_CUST_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
|
4356
|
END
|
4357
|
ELSE
|
4358
|
-----Ko có cấp phê duyệt trung gian-------
|
4359
|
BEGIN
|
4360
|
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4361
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4362
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4363
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
4364
|
|
4365
|
IF(@BRANCH_TYPE = 'PGD')
|
4366
|
BEGIN
|
4367
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4368
|
--SELECT TLNANME FROM TL_USER
|
4369
|
--WHERE 1=1
|
4370
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4371
|
--AND RoleName IN ('TPGD', 'PP')
|
4372
|
SELECT TLNANME
|
4373
|
FROM TL_USER
|
4374
|
WHERE 1=1
|
4375
|
AND TLSUBBRID = @BRANCH_CREATE
|
4376
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
4377
|
END
|
4378
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
4379
|
BEGIN
|
4380
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4381
|
--SELECT TLNANME FROM TL_USER
|
4382
|
--WHERE 1=1
|
4383
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4384
|
--AND RoleName IN ('GDDV', 'PDG')
|
4385
|
SELECT TLNANME
|
4386
|
FROM TL_USER
|
4387
|
WHERE 1=1
|
4388
|
AND TLSUBBRID = @BRANCH_CREATE
|
4389
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
4390
|
END
|
4391
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
4392
|
BEGIN
|
4393
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4394
|
--SELECT TLNANME FROM TL_USER
|
4395
|
--WHERE 1=1
|
4396
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4397
|
--AND DEP_ID = @DEP_CREATE
|
4398
|
--AND RoleName IN ('GDDV', 'PP')
|
4399
|
SELECT TLNANME
|
4400
|
FROM TL_USER
|
4401
|
WHERE 1=1
|
4402
|
AND TLSUBBRID = @BRANCH_CREATE
|
4403
|
AND DEP_ID = @DEP_CREATE
|
4404
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
4405
|
END
|
4406
|
END
|
4407
|
|
4408
|
SET @FLAG = 5
|
4409
|
END
|
4410
|
---Quản lý hợp đồng khách thuê - trung gian duyệt thành công-----
|
4411
|
ELSE IF @TYPE='BUD_CONTRACT_CUST_MASTER_CONFIRM'
|
4412
|
BEGIN
|
4413
|
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4414
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4415
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_CONTRACT_CUST_MASTER WHERE CONTRACT_ID = @PO_ID)
|
4416
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
4417
|
|
4418
|
IF(@BRANCH_TYPE = 'PGD')
|
4419
|
BEGIN
|
4420
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4421
|
--(SELECT TLNANME FROM TL_USER
|
4422
|
--WHERE 1=1
|
4423
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4424
|
--AND RoleName IN ('TPGD', 'PP'))
|
4425
|
SELECT TLNANME
|
4426
|
FROM TL_USER
|
4427
|
WHERE 1=1
|
4428
|
AND TLSUBBRID = @BRANCH_CREATE
|
4429
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
4430
|
END
|
4431
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
4432
|
BEGIN
|
4433
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4434
|
--(SELECT TLNANME FROM TL_USER
|
4435
|
--WHERE 1=1
|
4436
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4437
|
--AND RoleName IN ('GDDV', 'PDG'))
|
4438
|
SELECT TLNANME
|
4439
|
FROM TL_USER
|
4440
|
WHERE 1=1
|
4441
|
AND TLSUBBRID = @BRANCH_CREATE
|
4442
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
4443
|
END
|
4444
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
4445
|
BEGIN
|
4446
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4447
|
--(SELECT TLNANME FROM TL_USER
|
4448
|
--WHERE 1=1
|
4449
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4450
|
--AND DEP_ID = @DEP_CREATE
|
4451
|
--AND RoleName IN ('GDDV', 'PP'))
|
4452
|
SELECT TLNANME
|
4453
|
FROM TL_USER
|
4454
|
WHERE 1=1
|
4455
|
AND TLSUBBRID = @BRANCH_CREATE
|
4456
|
AND DEP_ID = @DEP_CREATE
|
4457
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
4458
|
END
|
4459
|
|
4460
|
SET @FLAG = 5
|
4461
|
END
|
4462
|
---Quản lý hợp đồng khách thuê - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
|
4463
|
ELSE IF @TYPE='BUD_CONTRACT_CUST_MASTER_APPROVED'
|
4464
|
BEGIN
|
4465
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4466
|
(SELECT A.MAKER_ID FROM BUD_CONTRACT_CUST_MASTER A WHERE A.CONTRACT_ID = @PO_ID)
|
4467
|
SET @FLAG = 5
|
4468
|
END
|
4469
|
|
4470
|
------datmq 7/1/2022: --------------
|
4471
|
-----Quản lý trụ sở - gửi YC phê duyệt-------
|
4472
|
ELSE IF @TYPE='BUD_MASTER_SEND_APPROVE'
|
4473
|
BEGIN
|
4474
|
-----Có cấp phê duyệt trung gian-------
|
4475
|
IF (EXISTS (SELECT*FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
4476
|
BEGIN
|
4477
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4478
|
(SELECT A.SIGN_USER FROM BUD_MASTER A WHERE A.BUILDING_ID = @PO_ID)
|
4479
|
END
|
4480
|
ELSE
|
4481
|
-----Ko có cấp phê duyệt trung gian-------
|
4482
|
BEGIN
|
4483
|
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
|
4484
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4485
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
|
4486
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
4487
|
|
4488
|
IF(@BRANCH_TYPE = 'PGD')
|
4489
|
BEGIN
|
4490
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4491
|
--SELECT TLNANME FROM TL_USER
|
4492
|
--WHERE 1=1
|
4493
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4494
|
--AND RoleName IN ('TPGD', 'PP')
|
4495
|
SELECT TLNANME
|
4496
|
FROM TL_USER
|
4497
|
WHERE 1=1
|
4498
|
AND TLSUBBRID = @BRANCH_CREATE
|
4499
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
4500
|
END
|
4501
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
4502
|
BEGIN
|
4503
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4504
|
--SELECT TLNANME FROM TL_USER
|
4505
|
--WHERE 1=1
|
4506
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4507
|
--AND RoleName IN ('GDDV', 'PDG')
|
4508
|
SELECT TLNANME
|
4509
|
FROM TL_USER
|
4510
|
WHERE 1=1
|
4511
|
AND TLSUBBRID = @BRANCH_CREATE
|
4512
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
4513
|
END
|
4514
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
4515
|
BEGIN
|
4516
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4517
|
--SELECT TLNANME FROM TL_USER
|
4518
|
--WHERE 1=1
|
4519
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4520
|
--AND DEP_ID = @DEP_CREATE
|
4521
|
--AND RoleName IN ('GDDV', 'PP')
|
4522
|
SELECT TLNANME
|
4523
|
FROM TL_USER
|
4524
|
WHERE 1=1
|
4525
|
AND TLSUBBRID = @BRANCH_CREATE
|
4526
|
AND DEP_ID = @DEP_CREATE
|
4527
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
4528
|
END
|
4529
|
END
|
4530
|
SET @FLAG = 6
|
4531
|
END
|
4532
|
-----Quản lý trụ sở - trung gian duyệt thành công-------
|
4533
|
ELSE IF @TYPE='BUD_MASTER_CONFIRM'
|
4534
|
BEGIN
|
4535
|
SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
|
4536
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4537
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM BUD_MASTER WHERE BUILDING_ID = @PO_ID)
|
4538
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
4539
|
|
4540
|
IF(@BRANCH_TYPE = 'PGD')
|
4541
|
BEGIN
|
4542
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4543
|
--(SELECT TLNANME FROM TL_USER
|
4544
|
--WHERE 1=1
|
4545
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4546
|
--AND RoleName IN ('TPGD', 'PPGD'))
|
4547
|
SELECT TLNANME
|
4548
|
FROM TL_USER
|
4549
|
WHERE 1=1
|
4550
|
AND TLSUBBRID = @BRANCH_CREATE
|
4551
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
4552
|
END
|
4553
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
4554
|
BEGIN
|
4555
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4556
|
--(SELECT TLNANME FROM TL_USER
|
4557
|
--WHERE 1=1
|
4558
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4559
|
--AND RoleName IN ('GDDV', 'PDG'))
|
4560
|
SELECT TLNANME
|
4561
|
FROM TL_USER
|
4562
|
WHERE 1=1
|
4563
|
AND TLSUBBRID = @BRANCH_CREATE
|
4564
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
4565
|
END
|
4566
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
4567
|
BEGIN
|
4568
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4569
|
--(SELECT TLNANME FROM TL_USER
|
4570
|
--WHERE 1=1
|
4571
|
--AND TLSUBBRID = @BRANCH_CREATE
|
4572
|
--AND DEP_ID = @DEP_CREATE
|
4573
|
--AND RoleName IN ('GDDV', 'PP'))
|
4574
|
SELECT TLNANME
|
4575
|
FROM TL_USER
|
4576
|
WHERE 1=1
|
4577
|
AND TLSUBBRID = @BRANCH_CREATE
|
4578
|
AND DEP_ID = @DEP_CREATE
|
4579
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
4580
|
END
|
4581
|
|
4582
|
SET @FLAG = 6
|
4583
|
END
|
4584
|
---Quản lý trụ sở - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
|
4585
|
ELSE IF @TYPE='BUD_MASTER_APPROVED'
|
4586
|
BEGIN
|
4587
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4588
|
(SELECT A.MAKER_ID FROM BUD_MASTER A WHERE A.BUILDING_ID = @PO_ID)
|
4589
|
SET @FLAG = 6
|
4590
|
END
|
4591
|
-----PhongNT 15/9/2022: Quản lý TSCĐ/CCLĐ--------
|
4592
|
-- Thêm mới tài sản HCQT
|
4593
|
|
4594
|
ELSE IF @TYPE = 'ASS_SEND_TDV'
|
4595
|
BEGIN
|
4596
|
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
|
4597
|
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
|
4598
|
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
|
4599
|
)x)
|
4600
|
|
4601
|
SELECT @PAGE = sp.ID
|
4602
|
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
|
4603
|
|
4604
|
|
4605
|
-- SET @BRANCH_CREATE = (SELECT BRANCH_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID)
|
4606
|
--SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
4607
|
--SET @p_MAKER_ID = (SELECT MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID)
|
4608
|
--SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
4609
|
|
4610
|
IF(@PAGE='ASS_ADDNEW')
|
4611
|
BEGIN
|
4612
|
SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
|
4613
|
FROM (SELECT MAKER_ID FROM ASS_ADDNEW WHERE ADDNEW_ID =@PO_ID) A
|
4614
|
LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
|
4615
|
END
|
4616
|
ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
|
4617
|
BEGIN
|
4618
|
SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
|
4619
|
FROM (SELECT MAKER_ID FROM ASS_COLLECT_MULTI_MASTER WHERE COL_MULTI_MASTER_ID =@PO_ID) A
|
4620
|
LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
|
4621
|
END
|
4622
|
ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
|
4623
|
BEGIN
|
4624
|
SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
|
4625
|
FROM (SELECT MAKER_ID FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID =@PO_ID) A
|
4626
|
LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
|
4627
|
END
|
4628
|
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
|
4629
|
BEGIN
|
4630
|
SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
|
4631
|
FROM (SELECT MAKER_ID FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID =@PO_ID) A
|
4632
|
LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
|
4633
|
END
|
4634
|
ELSE IF(@PAGE='ASS_LIQUIDATION')
|
4635
|
BEGIN
|
4636
|
SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
|
4637
|
FROM (SELECT MAKER_ID FROM ASS_LIQUIDATION WHERE LIQ_ID =@PO_ID) A
|
4638
|
LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
|
4639
|
END
|
4640
|
ELSE IF(@PAGE='ASS_INVENTORY_MASTER')
|
4641
|
BEGIN
|
4642
|
IF((SELECT SIGN_USER FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @PO_ID) IS NOT NULL)
|
4643
|
BEGIN
|
4644
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4645
|
(SELECT SIGN_USER FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @PO_ID)
|
4646
|
END
|
4647
|
ELSE
|
4648
|
BEGIN
|
4649
|
SELECT @BRANCH_CREATE=B.TLSUBBRID, @BRANCH_TYPE =B.BRANCH_TYPE, @DEP_CREATE = B.DEP_ID
|
4650
|
FROM (SELECT MAKER_ID FROM ASS_INVENTORY_MASTER WHERE INVENT_ID =@PO_ID) A
|
4651
|
LEFT JOIN TL_USER B ON B.TLNANME = A.MAKER_ID
|
4652
|
END
|
4653
|
END
|
4654
|
|
4655
|
IF (@BRANCH_TYPE = 'HS')
|
4656
|
BEGIN
|
4657
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4658
|
(SELECT TLNANME FROM TL_USER
|
4659
|
WHERE 1=1
|
4660
|
AND TLSUBBRID = @BRANCH_CREATE
|
4661
|
AND SECUR_CODE = @DEP_CREATE
|
4662
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
|
4663
|
UNION ALL
|
4664
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
4665
|
WHERE 1=1
|
4666
|
AND BRANCH_ID = @BRANCH_CREATE
|
4667
|
AND DEP_ID = @DEP_CREATE
|
4668
|
AND ROLE_NEW IN ('GDDV','TP')
|
4669
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4670
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
4671
|
END
|
4672
|
ELSE IF(@BRANCH_TYPE IS NOT NULL)
|
4673
|
BEGIN
|
4674
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4675
|
(SELECT TLNANME FROM TL_USER
|
4676
|
WHERE 1=1
|
4677
|
AND TLSUBBRID = @BRANCH_CREATE
|
4678
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
|
4679
|
UNION ALL
|
4680
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
4681
|
WHERE 1=1
|
4682
|
AND BRANCH_ID = @BRANCH_CREATE
|
4683
|
AND ROLE_NEW IN ('GDDV','TPGD')
|
4684
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4685
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
4686
|
END
|
4687
|
SET @FLAG = 6
|
4688
|
END
|
4689
|
ELSE IF @TYPE = 'ASS_SEND_GDV'
|
4690
|
BEGIN
|
4691
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4692
|
(SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE('GDV','DV0001','DEP000000000022'))
|
4693
|
SET @FLAG = 6
|
4694
|
END
|
4695
|
ELSE IF @TYPE = 'ASS_REJECT_GDV'
|
4696
|
BEGIN
|
4697
|
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
|
4698
|
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
|
4699
|
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
|
4700
|
)x)
|
4701
|
|
4702
|
SELECT @PAGE = sp.ID
|
4703
|
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
|
4704
|
|
4705
|
IF(@PAGE='ASS_ADDNEW')
|
4706
|
BEGIN
|
4707
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4708
|
(
|
4709
|
SELECT MAKER_ID_KT
|
4710
|
FROM ASS_ADDNEW
|
4711
|
WHERE ADDNEW_ID = @PO_ID
|
4712
|
)
|
4713
|
END
|
4714
|
ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
|
4715
|
BEGIN
|
4716
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4717
|
(
|
4718
|
SELECT MAKER_ID_KT
|
4719
|
FROM ASS_COLLECT_MULTI_MASTER
|
4720
|
WHERE COL_MULTI_MASTER_ID = @PO_ID
|
4721
|
)
|
4722
|
END
|
4723
|
ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
|
4724
|
BEGIN
|
4725
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4726
|
(
|
4727
|
SELECT MAKER_ID_KT
|
4728
|
FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
|
4729
|
)
|
4730
|
END
|
4731
|
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
|
4732
|
BEGIN
|
4733
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4734
|
(
|
4735
|
SELECT MAKER_ID_KT
|
4736
|
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
|
4737
|
)
|
4738
|
END
|
4739
|
ELSE IF(@PAGE='ASS_LIQUIDATION')
|
4740
|
BEGIN
|
4741
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4742
|
(
|
4743
|
SELECT MAKER_ID_KT
|
4744
|
FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
|
4745
|
)
|
4746
|
|
4747
|
END
|
4748
|
SET @FLAG = 6
|
4749
|
END
|
4750
|
ELSE IF @TYPE = 'ASS_SEND_KSV'
|
4751
|
BEGIN
|
4752
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4753
|
(SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE('KSV','DV0001','DEP000000000022'))
|
4754
|
SET @FLAG = 6
|
4755
|
END
|
4756
|
ELSE IF @TYPE = 'ASS_APPROVED'
|
4757
|
BEGIN
|
4758
|
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
|
4759
|
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
|
4760
|
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
|
4761
|
)x)
|
4762
|
|
4763
|
SELECT @PAGE = sp.ID
|
4764
|
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
|
4765
|
|
4766
|
|
4767
|
IF(@PAGE='ASS_ADDNEW')
|
4768
|
BEGIN
|
4769
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4770
|
(SELECT MAKER_ID
|
4771
|
FROM ASS_ADDNEW
|
4772
|
WHERE ADDNEW_ID = @PO_ID
|
4773
|
UNION
|
4774
|
SELECT MAKER_ID_KT
|
4775
|
FROM ASS_ADDNEW
|
4776
|
WHERE ADDNEW_ID = @PO_ID
|
4777
|
)
|
4778
|
END
|
4779
|
ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
|
4780
|
BEGIN
|
4781
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4782
|
(SELECT MAKER_ID
|
4783
|
FROM ASS_COLLECT_MULTI_MASTER
|
4784
|
WHERE COL_MULTI_MASTER_ID = @PO_ID
|
4785
|
UNION
|
4786
|
SELECT MAKER_ID_KT
|
4787
|
FROM ASS_COLLECT_MULTI_MASTER
|
4788
|
WHERE COL_MULTI_MASTER_ID = @PO_ID
|
4789
|
)
|
4790
|
END
|
4791
|
ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
|
4792
|
BEGIN
|
4793
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4794
|
(SELECT MAKER_ID
|
4795
|
FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
|
4796
|
UNION
|
4797
|
SELECT MAKER_ID_KT
|
4798
|
FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
|
4799
|
)
|
4800
|
END
|
4801
|
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
|
4802
|
BEGIN
|
4803
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4804
|
(SELECT MAKER_ID
|
4805
|
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
|
4806
|
UNION
|
4807
|
SELECT MAKER_ID_KT
|
4808
|
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
|
4809
|
)
|
4810
|
END
|
4811
|
ELSE IF(@PAGE='ASS_LIQUIDATION')
|
4812
|
BEGIN
|
4813
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4814
|
(SELECT MAKER_ID
|
4815
|
FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
|
4816
|
UNION
|
4817
|
SELECT MAKER_ID_KT
|
4818
|
FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
|
4819
|
)
|
4820
|
|
4821
|
END
|
4822
|
ELSE IF(@PAGE='ASS_UPDATE')
|
4823
|
BEGIN
|
4824
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4825
|
(SELECT MAKER_ID
|
4826
|
FROM ASS_UPDATE au WHERE au.UPDATE_ID = @PO_ID
|
4827
|
)
|
4828
|
|
4829
|
END
|
4830
|
ELSE IF(@PAGE='ASS_INVENTORY_MASTER')
|
4831
|
BEGIN
|
4832
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4833
|
(SELECT MAKER_ID
|
4834
|
FROM ASS_INVENTORY_MASTER au WHERE au.INVENT_ID = @PO_ID
|
4835
|
)
|
4836
|
|
4837
|
END
|
4838
|
SET @FLAG = 6
|
4839
|
END
|
4840
|
ELSE IF @TYPE = 'ASS_SEND_NT'
|
4841
|
BEGIN
|
4842
|
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
|
4843
|
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
|
4844
|
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
|
4845
|
)x)
|
4846
|
|
4847
|
SELECT @PAGE = sp.ID
|
4848
|
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
|
4849
|
|
4850
|
IF(@PAGE='ASS_ADDNEW')
|
4851
|
BEGIN
|
4852
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4853
|
(SELECT MAKER_ID
|
4854
|
FROM ASS_ADDNEW
|
4855
|
WHERE ADDNEW_ID = @PO_ID
|
4856
|
)
|
4857
|
END
|
4858
|
ELSE IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
|
4859
|
BEGIN
|
4860
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4861
|
(SELECT MAKER_ID
|
4862
|
FROM ASS_COLLECT_MULTI_MASTER
|
4863
|
WHERE COL_MULTI_MASTER_ID = @PO_ID
|
4864
|
)
|
4865
|
END
|
4866
|
ELSE IF(@PAGE='ASS_TRANSFER_MULTI_MASTER')
|
4867
|
BEGIN
|
4868
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4869
|
(SELECT MAKER_ID
|
4870
|
FROM ASS_TRANSFER_MULTI_MASTER WHERE TRANS_MULTI_MASTER_ID = @PO_ID
|
4871
|
)
|
4872
|
END
|
4873
|
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
|
4874
|
BEGIN
|
4875
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4876
|
(SELECT MAKER_ID
|
4877
|
FROM ASS_USE_MULTI_MASTER WHERE USER_MASTER_ID = @PO_ID
|
4878
|
)
|
4879
|
END
|
4880
|
ELSE IF(@PAGE='ASS_LIQUIDATION')
|
4881
|
BEGIN
|
4882
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4883
|
(SELECT MAKER_ID
|
4884
|
FROM ASS_LIQUIDATION WHERE LIQ_ID = @PO_ID
|
4885
|
)
|
4886
|
END
|
4887
|
ELSE IF(@PAGE='ASS_UPDATE')
|
4888
|
BEGIN
|
4889
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4890
|
(SELECT MAKER_ID
|
4891
|
FROM ASS_UPDATE au WHERE UPDATE_ID = @PO_ID
|
4892
|
)
|
4893
|
END
|
4894
|
ELSE IF(@PAGE='ASS_COST_ALLOCATION')
|
4895
|
BEGIN
|
4896
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4897
|
(SELECT MAKER_ID
|
4898
|
FROM ASS_COST_ALLOCATION au WHERE au.COS_ID = @PO_ID
|
4899
|
)
|
4900
|
END
|
4901
|
ELSE IF(@PAGE='CON_MASTER')
|
4902
|
BEGIN
|
4903
|
|
4904
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4905
|
(SELECT MAKER_ID
|
4906
|
FROM CON_MASTER CM WHERE CM.CONSTRUCT_ID = @PO_ID
|
4907
|
)
|
4908
|
END
|
4909
|
ELSE IF(@PAGE='CON_LAYOUT_BLUEPRINT')
|
4910
|
BEGIN
|
4911
|
|
4912
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4913
|
(SELECT MAKER_ID
|
4914
|
FROM CON_LAYOUT_BLUEPRINT CM WHERE CM.CON_LAYOUT_BLUEPRINT_ID = @PO_ID
|
4915
|
)
|
4916
|
END
|
4917
|
SET @FLAG = 6
|
4918
|
END
|
4919
|
ELSE IF @TYPE = 'ASS_SEND_CONFIRM'
|
4920
|
BEGIN
|
4921
|
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
|
4922
|
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
|
4923
|
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
|
4924
|
)x)
|
4925
|
|
4926
|
SELECT @PAGE = sp.ID
|
4927
|
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
|
4928
|
|
4929
|
DECLARE @BRANCH_ID VARCHAR(20),@DEP_ID VARCHAR(20)
|
4930
|
|
4931
|
IF(@PAGE='ASS_COLLECT_MULTI_MASTER')
|
4932
|
BEGIN
|
4933
|
SELECT TOP 1 @BRANCH_CREATE = A.BRANCH_ID,@DEP_CREATE = A.DEPT_ID_USE,@BRANCH_TYPE = B.BRANCH_TYPE
|
4934
|
FROM dbo.ASS_COLLECT_MULTI_DT A
|
4935
|
LEFT JOIN dbo.CM_BRANCH B ON A.BRANCH_ID =B.BRANCH_ID
|
4936
|
WHERE COL_MULTI_MASTER_ID = @PO_ID
|
4937
|
ORDER BY COLLECT_MULTI_ID ASC
|
4938
|
END
|
4939
|
ELSE IF(@PAGE='ASS_USE_MULTI_MASTER')
|
4940
|
BEGIN
|
4941
|
SELECT TOP 1 @BRANCH_CREATE = A.BRANCH_ID, @DEP_CREATE = DEPT_ID,@BRANCH_TYPE = B.BRANCH_TYPE
|
4942
|
FROM dbo.ASS_USE_MULTI_DT A
|
4943
|
LEFT JOIN dbo.CM_BRANCH B ON A.BRANCH_ID =B.BRANCH_ID
|
4944
|
WHERE A.USER_MASTER_ID = @PO_ID
|
4945
|
ORDER BY USE_MULTI_ID ASC
|
4946
|
END
|
4947
|
|
4948
|
|
4949
|
IF (@BRANCH_TYPE = 'HS')
|
4950
|
BEGIN
|
4951
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4952
|
(SELECT TLNANME FROM TL_USER
|
4953
|
WHERE 1=1
|
4954
|
AND TLSUBBRID = @BRANCH_CREATE
|
4955
|
AND SECUR_CODE = @DEP_CREATE
|
4956
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
|
4957
|
UNION ALL
|
4958
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
4959
|
WHERE 1=1
|
4960
|
AND
|
4961
|
((BRANCH_ID = @BRANCH_ID AND DEP_ID = @DEP_ID)
|
4962
|
OR
|
4963
|
(BRANCH_ID = @BRANCH_CREATE AND DEP_ID = @DEP_CREATE))
|
4964
|
AND ROLE_NEW IN ('GDDV','TP')
|
4965
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4966
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
4967
|
END
|
4968
|
ELSE
|
4969
|
BEGIN
|
4970
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4971
|
(SELECT TLNANME FROM TL_USER
|
4972
|
WHERE 1=1
|
4973
|
AND TLSUBBRID = @BRANCH_CREATE
|
4974
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
|
4975
|
UNION ALL
|
4976
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
4977
|
WHERE 1=1
|
4978
|
AND
|
4979
|
((BRANCH_ID = @BRANCH_ID)
|
4980
|
OR
|
4981
|
(BRANCH_ID = @BRANCH_CREATE))
|
4982
|
AND ROLE_NEW IN ('GDDV','TPGD')
|
4983
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
4984
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
4985
|
END
|
4986
|
SET @FLAG =6
|
4987
|
END
|
4988
|
ELSE IF @TYPE ='ASS_TRANSFER_CONFIRM_HANDOVER'
|
4989
|
BEGIN
|
4990
|
SELECT TOP 1 @BRANCH_CREATE=A.BRANCH_ID_OLD,@DEP_CREATE =DEPT_ID_OLD,@BRANCH_TYPE =b.BRANCH_TYPE
|
4991
|
FROM dbo.ASS_TRANSFER_MULTI_DT A
|
4992
|
LEFT JOIN dbo.CM_BRANCH B ON B.BRANCH_ID = A.BRANCH_ID_OLD
|
4993
|
WHERE A.TRANS_MULTI_MASTER_ID = @PO_ID
|
4994
|
ORDER BY TRANSFER_MULTI_ID ASC
|
4995
|
|
4996
|
IF (@BRANCH_TYPE = 'HS')
|
4997
|
BEGIN
|
4998
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
4999
|
(SELECT TLNANME FROM TL_USER
|
5000
|
WHERE 1=1
|
5001
|
AND TLSUBBRID = @BRANCH_CREATE
|
5002
|
AND SECUR_CODE = @DEP_CREATE
|
5003
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
|
5004
|
UNION ALL
|
5005
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
5006
|
WHERE 1=1
|
5007
|
AND
|
5008
|
((BRANCH_ID = @BRANCH_ID AND DEP_ID = @DEP_ID)
|
5009
|
OR
|
5010
|
(BRANCH_ID = @BRANCH_CREATE AND DEP_ID = @DEP_CREATE))
|
5011
|
AND ROLE_NEW IN ('GDDV','TP')
|
5012
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
5013
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
5014
|
END
|
5015
|
ELSE
|
5016
|
BEGIN
|
5017
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5018
|
(SELECT TLNANME FROM TL_USER
|
5019
|
WHERE 1=1
|
5020
|
AND TLSUBBRID = @BRANCH_CREATE
|
5021
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
|
5022
|
UNION ALL
|
5023
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
5024
|
WHERE 1=1
|
5025
|
AND
|
5026
|
((BRANCH_ID = @BRANCH_ID)
|
5027
|
OR
|
5028
|
(BRANCH_ID = @BRANCH_CREATE))
|
5029
|
AND ROLE_NEW IN ('GDDV','TPGD')
|
5030
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
5031
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
5032
|
END
|
5033
|
SET @FLAG =6
|
5034
|
END
|
5035
|
ELSE IF @TYPE ='ASS_TRANSFER_CONFIRM_RECEIVER'
|
5036
|
BEGIN
|
5037
|
SELECT TOP 1 @BRANCH_CREATE =A.BRANCH_ID,@DEP_CREATE = DEPT_ID,@BRANCH_TYPE =b.BRANCH_TYPE
|
5038
|
FROM dbo.ASS_TRANSFER_MULTI_DT A
|
5039
|
LEFT JOIN dbo.CM_BRANCH B ON B.BRANCH_ID = A.BRANCH_ID
|
5040
|
WHERE A.TRANS_MULTI_MASTER_ID = @PO_ID
|
5041
|
ORDER BY TRANSFER_MULTI_ID ASC
|
5042
|
|
5043
|
|
5044
|
IF (@BRANCH_TYPE = 'HS')
|
5045
|
BEGIN
|
5046
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5047
|
(SELECT TLNANME FROM TL_USER
|
5048
|
WHERE 1=1
|
5049
|
AND TLSUBBRID = @BRANCH_CREATE
|
5050
|
AND SECUR_CODE = @DEP_CREATE
|
5051
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TP'))
|
5052
|
UNION ALL
|
5053
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
5054
|
WHERE 1=1
|
5055
|
AND
|
5056
|
((BRANCH_ID = @BRANCH_ID AND DEP_ID = @DEP_ID)
|
5057
|
OR
|
5058
|
(BRANCH_ID = @BRANCH_CREATE AND DEP_ID = @DEP_CREATE))
|
5059
|
AND ROLE_NEW IN ('GDDV','TP')
|
5060
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
5061
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
5062
|
END
|
5063
|
ELSE
|
5064
|
BEGIN
|
5065
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5066
|
(SELECT TLNANME FROM TL_USER
|
5067
|
WHERE 1=1
|
5068
|
AND TLSUBBRID = @BRANCH_CREATE
|
5069
|
AND EXISTS(SELECT * FROM [dbo].[TL_USER_GET_ROLES](TLNANME) WHERE ROLE_ID IN ('GDDV','TPGD'))
|
5070
|
UNION ALL
|
5071
|
SELECT TLNAME AS TLNANME FROM dbo.TL_SYS_ROLE_MAPPING
|
5072
|
WHERE 1=1
|
5073
|
AND
|
5074
|
((BRANCH_ID = @BRANCH_ID)
|
5075
|
OR
|
5076
|
(BRANCH_ID = @BRANCH_CREATE))
|
5077
|
AND ROLE_NEW IN ('GDDV','TPGD')
|
5078
|
AND (CONVERT(DATE,GETDATE(),103) >= CONVERT(DATE,EFF_DATE, 103) OR EFF_DATE IS NULL OR EFF_DATE ='')
|
5079
|
AND (CONVERT(DATE, GETDATE(),103) <=CONVERT(DATE,EXP_DATE, 103) OR EXP_DATE IS NULL OR EXP_DATE =''))
|
5080
|
END
|
5081
|
SET @FLAG =6
|
5082
|
END
|
5083
|
ELSE IF @TYPE ='ASS_INVENTORY_RECIVE_MAIL'
|
5084
|
BEGIN
|
5085
|
IF(EXISTS(SELECT 1 FROM ASS_INVENTORY_MASTER WHERE SIGN_USER IS NOT NULL AND CHECKER_ID_DVKD IS NULL AND INVENT_ID=@PO_ID))
|
5086
|
BEGIN
|
5087
|
SELECT @BRANCH_CREATE =BRANCH_ID,@DEP_ID = DEPT_ID FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID=@PO_ID
|
5088
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5089
|
(SELECT TLNANME FROM dbo.FN_GET_USER_BY_ROLE('GDDV',@BRANCH_CREATE,@DEP_ID))
|
5090
|
END
|
5091
|
ELSE
|
5092
|
BEGIN
|
5093
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5094
|
(SELECT PARTY_NAME FROM dbo.ASS_INVENTORY_PARTY_DT WHERE IS_RECIVE_MAIL =1 AND INVENT_ID =@PO_ID)
|
5095
|
END
|
5096
|
|
5097
|
SET @FLAG =6
|
5098
|
END
|
5099
|
ELSE IF @TYPE ='ASS_INVENTORY_MAIN'
|
5100
|
BEGIN
|
5101
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5102
|
(SELECT PARTY_NAME FROM dbo.ASS_INVENTORY_PARTY_DT WHERE IS_MAIN = 1 AND INVENT_ID =@PO_ID)
|
5103
|
SET @FLAG =6
|
5104
|
END
|
5105
|
|
5106
|
----------BAODNQ :15/2/2022 --Xử lý gửi mail cho phân hệ Quản lý BDS---------
|
5107
|
---Quản lý BDS- gửi YC phê duyệt-----
|
5108
|
ELSE IF @TYPE='RET_MASTER_SEND_APPROVE'
|
5109
|
BEGIN
|
5110
|
-----Có cấp phê duyệt trung gian-------
|
5111
|
IF (EXISTS (SELECT * FROM RET_MASTER WHERE RET_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
5112
|
BEGIN
|
5113
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5114
|
(SELECT A.SIGN_USER FROM RET_MASTER A WHERE A.RET_ID = @PO_ID)
|
5115
|
END
|
5116
|
ELSE
|
5117
|
-----Ko có cấp phê duyệt trung gian-------
|
5118
|
BEGIN
|
5119
|
SET @BRANCH_CREATE =
|
5120
|
(SELECT B.BRANCH_ID
|
5121
|
FROM RET_MASTER A
|
5122
|
LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
|
5123
|
WHERE RET_ID = @PO_ID)
|
5124
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5125
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_MASTER WHERE RET_ID = @PO_ID)
|
5126
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5127
|
|
5128
|
IF(@BRANCH_TYPE = 'PGD')
|
5129
|
BEGIN
|
5130
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5131
|
--SELECT TLNANME FROM TL_USER
|
5132
|
--WHERE 1=1
|
5133
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5134
|
--AND RoleName IN ('TPGD', 'PP')
|
5135
|
SELECT TLNANME
|
5136
|
FROM TL_USER
|
5137
|
WHERE 1=1
|
5138
|
AND TLSUBBRID = @BRANCH_CREATE
|
5139
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5140
|
END
|
5141
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5142
|
BEGIN
|
5143
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5144
|
--SELECT TLNANME FROM TL_USER
|
5145
|
--WHERE 1=1
|
5146
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5147
|
--AND RoleName IN ('GDDV', 'PDG')
|
5148
|
SELECT TLNANME
|
5149
|
FROM TL_USER
|
5150
|
WHERE 1=1
|
5151
|
AND TLSUBBRID = @BRANCH_CREATE
|
5152
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5153
|
END
|
5154
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5155
|
BEGIN
|
5156
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5157
|
--SELECT TLNANME FROM TL_USER
|
5158
|
--WHERE 1=1
|
5159
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5160
|
--AND DEP_ID = @DEP_CREATE
|
5161
|
--AND RoleName IN ('GDDV', 'PP')
|
5162
|
SELECT TLNANME
|
5163
|
FROM TL_USER
|
5164
|
WHERE 1=1
|
5165
|
AND TLSUBBRID = @BRANCH_CREATE
|
5166
|
AND DEP_ID = @DEP_CREATE
|
5167
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5168
|
END
|
5169
|
END
|
5170
|
|
5171
|
SET @FLAG = 7
|
5172
|
END
|
5173
|
---Quản lý BDS - trung gian duyệt thành công-----
|
5174
|
ELSE IF @TYPE='RET_MASTER_CONFIRM'
|
5175
|
BEGIN
|
5176
|
SET @BRANCH_CREATE =
|
5177
|
(SELECT B.BRANCH_ID
|
5178
|
FROM RET_MASTER A
|
5179
|
LEFT JOIN ASS_MASTER B ON A.ASSET_ID = B.ASSET_ID
|
5180
|
WHERE RET_ID = @PO_ID)
|
5181
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5182
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_MASTER WHERE RET_ID = @PO_ID)
|
5183
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5184
|
|
5185
|
IF(@BRANCH_TYPE = 'PGD')
|
5186
|
BEGIN
|
5187
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5188
|
--(SELECT TLNANME FROM TL_USER
|
5189
|
--WHERE 1=1
|
5190
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5191
|
--AND RoleName IN ('TPGD', 'PP'))
|
5192
|
SELECT TLNANME
|
5193
|
FROM TL_USER
|
5194
|
WHERE 1=1
|
5195
|
AND TLSUBBRID = @BRANCH_CREATE
|
5196
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5197
|
END
|
5198
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5199
|
BEGIN
|
5200
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5201
|
--(SELECT TLNANME FROM TL_USER
|
5202
|
--WHERE 1=1
|
5203
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5204
|
--AND RoleName IN ('GDDV', 'PDG'))
|
5205
|
SELECT TLNANME
|
5206
|
FROM TL_USER
|
5207
|
WHERE 1=1
|
5208
|
AND TLSUBBRID = @BRANCH_CREATE
|
5209
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5210
|
END
|
5211
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5212
|
BEGIN
|
5213
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5214
|
--(SELECT TLNANME FROM TL_USER
|
5215
|
--WHERE 1=1
|
5216
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5217
|
--AND DEP_ID = @DEP_CREATE
|
5218
|
--AND RoleName IN ('GDDV', 'PP'))
|
5219
|
SELECT TLNANME
|
5220
|
FROM TL_USER
|
5221
|
WHERE 1=1
|
5222
|
AND TLSUBBRID = @BRANCH_CREATE
|
5223
|
AND DEP_ID = @DEP_CREATE
|
5224
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5225
|
END
|
5226
|
|
5227
|
SET @FLAG = 7
|
5228
|
END
|
5229
|
---Quản lý BDS - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
|
5230
|
ELSE IF @TYPE='RET_MASTER_APPROVED'
|
5231
|
BEGIN
|
5232
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5233
|
(SELECT A.MAKER_ID FROM RET_MASTER A WHERE A.RET_ID = @PO_ID)
|
5234
|
SET @FLAG = 7
|
5235
|
END
|
5236
|
|
5237
|
---Thông tin sửa chữa BDS- gửi YC phê duyệt-----
|
5238
|
ELSE IF @TYPE='RET_REPAIR_SEND_APPROVE'
|
5239
|
BEGIN
|
5240
|
-----Có cấp phê duyệt trung gian-------
|
5241
|
IF (EXISTS (SELECT*FROM RET_REPAIR WHERE RP_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
5242
|
BEGIN
|
5243
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5244
|
(SELECT A.SIGN_USER FROM RET_REPAIR A WHERE A.RP_ID = @PO_ID)
|
5245
|
END
|
5246
|
ELSE
|
5247
|
-----Ko có cấp phê duyệt trung gian-------
|
5248
|
BEGIN
|
5249
|
SET @BRANCH_CREATE = (SELECT OFFER_BRANCH FROM RET_REPAIR WHERE RP_ID = @PO_ID)
|
5250
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5251
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_REPAIR WHERE RP_ID = @PO_ID)
|
5252
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5253
|
|
5254
|
IF(@BRANCH_TYPE = 'PGD')
|
5255
|
BEGIN
|
5256
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5257
|
--SELECT TLNANME FROM TL_USER
|
5258
|
--WHERE 1=1
|
5259
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5260
|
--AND RoleName IN ('TPGD', 'PP')
|
5261
|
SELECT TLNANME
|
5262
|
FROM TL_USER
|
5263
|
WHERE 1=1
|
5264
|
AND TLSUBBRID = @BRANCH_CREATE
|
5265
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5266
|
END
|
5267
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5268
|
BEGIN
|
5269
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5270
|
--SELECT TLNANME FROM TL_USER
|
5271
|
--WHERE 1=1
|
5272
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5273
|
--AND RoleName IN ('GDDV', 'PDG')
|
5274
|
SELECT TLNANME
|
5275
|
FROM TL_USER
|
5276
|
WHERE 1=1
|
5277
|
AND TLSUBBRID = @BRANCH_CREATE
|
5278
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5279
|
|
5280
|
END
|
5281
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5282
|
BEGIN
|
5283
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5284
|
--SELECT TLNANME FROM TL_USER
|
5285
|
--WHERE 1=1
|
5286
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5287
|
--AND DEP_ID = @DEP_CREATE
|
5288
|
--AND RoleName IN ('GDDV', 'PP')
|
5289
|
SELECT TLNANME
|
5290
|
FROM TL_USER
|
5291
|
WHERE 1=1
|
5292
|
AND TLSUBBRID = @BRANCH_CREATE
|
5293
|
AND DEP_ID = @DEP_CREATE
|
5294
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5295
|
|
5296
|
END
|
5297
|
END
|
5298
|
|
5299
|
SET @FLAG = 7
|
5300
|
END
|
5301
|
---Thông tin sửa chữa BDS - trung gian duyệt thành công-----
|
5302
|
ELSE IF @TYPE='RET_REPAIR_CONFIRM'
|
5303
|
BEGIN
|
5304
|
SET @BRANCH_CREATE = (SELECT OFFER_BRANCH FROM RET_REPAIR WHERE RP_ID = @PO_ID)
|
5305
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5306
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM RET_REPAIR WHERE RP_ID = @PO_ID)
|
5307
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5308
|
|
5309
|
IF(@BRANCH_TYPE = 'PGD')
|
5310
|
BEGIN
|
5311
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5312
|
--(SELECT TLNANME FROM TL_USER
|
5313
|
--WHERE 1=1
|
5314
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5315
|
--AND RoleName IN ('TPGD', 'PP'))
|
5316
|
SELECT TLNANME
|
5317
|
FROM TL_USER
|
5318
|
WHERE 1=1
|
5319
|
AND TLSUBBRID = @BRANCH_CREATE
|
5320
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5321
|
|
5322
|
END
|
5323
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5324
|
BEGIN
|
5325
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5326
|
--(SELECT TLNANME FROM TL_USER
|
5327
|
--WHERE 1=1
|
5328
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5329
|
--AND RoleName IN ('GDDV', 'PDG'))
|
5330
|
SELECT TLNANME
|
5331
|
FROM TL_USER
|
5332
|
WHERE 1=1
|
5333
|
AND TLSUBBRID = @BRANCH_CREATE
|
5334
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5335
|
|
5336
|
END
|
5337
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5338
|
BEGIN
|
5339
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5340
|
--(SELECT TLNANME FROM TL_USER
|
5341
|
--WHERE 1=1
|
5342
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5343
|
--AND DEP_ID = @DEP_CREATE
|
5344
|
--AND RoleName IN ('GDDV', 'PP'))
|
5345
|
SELECT TLNANME
|
5346
|
FROM TL_USER
|
5347
|
WHERE 1=1
|
5348
|
AND TLSUBBRID = @BRANCH_CREATE
|
5349
|
AND DEP_ID = @DEP_CREATE
|
5350
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5351
|
|
5352
|
END
|
5353
|
|
5354
|
SET @FLAG = 7
|
5355
|
END
|
5356
|
---Thông tin sửa chữa BDS - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
|
5357
|
ELSE IF @TYPE='RET_REPAIR_APPROVED'
|
5358
|
BEGIN
|
5359
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5360
|
(SELECT A.MAKER_ID FROM RET_REPAIR A WHERE A.RP_ID = @PO_ID)
|
5361
|
SET @FLAG = 7
|
5362
|
END
|
5363
|
|
5364
|
---BDS thuê làm trụ sở CN/PGD - gửi YC phê duyệt-----
|
5365
|
ELSE IF @TYPE='REAL_ESTATE_R_H_SEND_APPROVE'
|
5366
|
BEGIN
|
5367
|
-----Có cấp phê duyệt trung gian-------
|
5368
|
IF (EXISTS (SELECT*FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
5369
|
BEGIN
|
5370
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5371
|
(SELECT A.SIGN_USER FROM REAL_ESTATE_R_H A WHERE A.RET_R_H_ID = @PO_ID)
|
5372
|
END
|
5373
|
ELSE
|
5374
|
-----Ko có cấp phê duyệt trung gian-------
|
5375
|
BEGIN
|
5376
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
|
5377
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5378
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
|
5379
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5380
|
|
5381
|
IF(@BRANCH_TYPE = 'PGD')
|
5382
|
BEGIN
|
5383
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5384
|
--SELECT TLNANME FROM TL_USER
|
5385
|
--WHERE 1=1
|
5386
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5387
|
--AND RoleName IN ('TPGD', 'PP')
|
5388
|
SELECT TLNANME
|
5389
|
FROM TL_USER
|
5390
|
WHERE 1=1
|
5391
|
AND TLSUBBRID = @BRANCH_CREATE
|
5392
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5393
|
|
5394
|
END
|
5395
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5396
|
BEGIN
|
5397
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5398
|
--SELECT TLNANME FROM TL_USER
|
5399
|
--WHERE 1=1
|
5400
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5401
|
--AND RoleName IN ('GDDV', 'PDG')
|
5402
|
SELECT TLNANME
|
5403
|
FROM TL_USER
|
5404
|
WHERE 1=1
|
5405
|
AND TLSUBBRID = @BRANCH_CREATE
|
5406
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5407
|
END
|
5408
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5409
|
BEGIN
|
5410
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5411
|
--SELECT TLNANME FROM TL_USER
|
5412
|
--WHERE 1=1
|
5413
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5414
|
--AND DEP_ID = @DEP_CREATE
|
5415
|
--AND RoleName IN ('GDDV', 'PP')
|
5416
|
SELECT TLNANME
|
5417
|
FROM TL_USER
|
5418
|
WHERE 1=1
|
5419
|
AND TLSUBBRID = @BRANCH_CREATE
|
5420
|
AND DEP_ID = @DEP_CREATE
|
5421
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5422
|
END
|
5423
|
END
|
5424
|
|
5425
|
SET @FLAG = 7
|
5426
|
END
|
5427
|
---BDS thuê làm trụ sở CN/PGD - trung gian duyệt thành công-----
|
5428
|
ELSE IF @TYPE='REAL_ESTATE_R_H_CONFIRM'
|
5429
|
BEGIN
|
5430
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
|
5431
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5432
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_R_H WHERE RET_R_H_ID = @PO_ID)
|
5433
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5434
|
|
5435
|
IF(@BRANCH_TYPE = 'PGD')
|
5436
|
BEGIN
|
5437
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5438
|
--(SELECT TLNANME FROM TL_USER
|
5439
|
--WHERE 1=1
|
5440
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5441
|
--AND RoleName IN ('TPGD', 'PP'))
|
5442
|
SELECT TLNANME
|
5443
|
FROM TL_USER
|
5444
|
WHERE 1=1
|
5445
|
AND TLSUBBRID = @BRANCH_CREATE
|
5446
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5447
|
END
|
5448
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5449
|
BEGIN
|
5450
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5451
|
--(SELECT TLNANME FROM TL_USER
|
5452
|
--WHERE 1=1
|
5453
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5454
|
--AND RoleName IN ('GDDV', 'PDG'))
|
5455
|
SELECT TLNANME
|
5456
|
FROM TL_USER
|
5457
|
WHERE 1=1
|
5458
|
AND TLSUBBRID = @BRANCH_CREATE
|
5459
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5460
|
END
|
5461
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5462
|
BEGIN
|
5463
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5464
|
--(SELECT TLNANME FROM TL_USER
|
5465
|
--WHERE 1=1
|
5466
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5467
|
--AND DEP_ID = @DEP_CREATE
|
5468
|
--AND RoleName IN ('GDDV', 'PP'))
|
5469
|
SELECT TLNANME
|
5470
|
FROM TL_USER
|
5471
|
WHERE 1=1
|
5472
|
AND TLSUBBRID = @BRANCH_CREATE
|
5473
|
AND DEP_ID = @DEP_CREATE
|
5474
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5475
|
END
|
5476
|
|
5477
|
SET @FLAG = 7
|
5478
|
END
|
5479
|
---BDS thuê làm trụ sở CN/PGD - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
|
5480
|
ELSE IF @TYPE='REAL_ESTATE_R_H_APPROVED'
|
5481
|
BEGIN
|
5482
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5483
|
(SELECT A.MAKER_ID FROM REAL_ESTATE_R_H A WHERE A.RET_R_H_ID = @PO_ID)
|
5484
|
SET @FLAG = 7
|
5485
|
END
|
5486
|
|
5487
|
---BDS đang hoàn thiện thủ tục pháp lý - gửi YC phê duyệt-----
|
5488
|
ELSE IF @TYPE='REAL_ESTATE_L_C_SEND_APPROVE'
|
5489
|
BEGIN
|
5490
|
-----Có cấp phê duyệt trung gian-------
|
5491
|
IF (EXISTS (SELECT*FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
5492
|
BEGIN
|
5493
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5494
|
(SELECT A.SIGN_USER FROM REAL_ESTATE_L_C A WHERE A.RET_L_C_ID = @PO_ID)
|
5495
|
END
|
5496
|
ELSE
|
5497
|
-----Ko có cấp phê duyệt trung gian-------
|
5498
|
BEGIN
|
5499
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
|
5500
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5501
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
|
5502
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5503
|
|
5504
|
IF(@BRANCH_TYPE = 'PGD')
|
5505
|
BEGIN
|
5506
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5507
|
--SELECT TLNANME FROM TL_USER
|
5508
|
--WHERE 1=1
|
5509
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5510
|
--AND RoleName IN ('TPGD', 'PP')
|
5511
|
SELECT TLNANME
|
5512
|
FROM TL_USER
|
5513
|
WHERE 1=1
|
5514
|
AND TLSUBBRID = @BRANCH_CREATE
|
5515
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5516
|
END
|
5517
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5518
|
BEGIN
|
5519
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5520
|
--SELECT TLNANME FROM TL_USER
|
5521
|
--WHERE 1=1
|
5522
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5523
|
--AND RoleName IN ('GDDV', 'PDG')
|
5524
|
SELECT TLNANME
|
5525
|
FROM TL_USER
|
5526
|
WHERE 1=1
|
5527
|
AND TLSUBBRID = @BRANCH_CREATE
|
5528
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5529
|
END
|
5530
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5531
|
BEGIN
|
5532
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5533
|
--SELECT TLNANME FROM TL_USER
|
5534
|
--WHERE 1=1
|
5535
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5536
|
--AND DEP_ID = @DEP_CREATE
|
5537
|
--AND RoleName IN ('GDDV', 'PP')
|
5538
|
SELECT TLNANME
|
5539
|
FROM TL_USER
|
5540
|
WHERE 1=1
|
5541
|
AND TLSUBBRID = @BRANCH_CREATE
|
5542
|
AND DEP_ID = @DEP_CREATE
|
5543
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5544
|
END
|
5545
|
END
|
5546
|
|
5547
|
SET @FLAG = 7
|
5548
|
END
|
5549
|
---BDS đang hoàn thiện thủ tục pháp lý - trung gian duyệt thành công-----
|
5550
|
ELSE IF @TYPE='REAL_ESTATE_L_C_CONFIRM'
|
5551
|
BEGIN
|
5552
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
|
5553
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5554
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM REAL_ESTATE_L_C WHERE RET_L_C_ID = @PO_ID)
|
5555
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5556
|
|
5557
|
IF(@BRANCH_TYPE = 'PGD')
|
5558
|
BEGIN
|
5559
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5560
|
--(SELECT TLNANME FROM TL_USER
|
5561
|
--WHERE 1=1
|
5562
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5563
|
--AND RoleName IN ('TPGD', 'PP'))
|
5564
|
SELECT TLNANME
|
5565
|
FROM TL_USER
|
5566
|
WHERE 1=1
|
5567
|
AND TLSUBBRID = @BRANCH_CREATE
|
5568
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5569
|
END
|
5570
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5571
|
BEGIN
|
5572
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5573
|
--(SELECT TLNANME FROM TL_USER
|
5574
|
--WHERE 1=1
|
5575
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5576
|
--AND RoleName IN ('GDDV', 'PDG'))
|
5577
|
SELECT TLNANME
|
5578
|
FROM TL_USER
|
5579
|
WHERE 1=1
|
5580
|
AND TLSUBBRID = @BRANCH_CREATE
|
5581
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5582
|
END
|
5583
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5584
|
BEGIN
|
5585
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5586
|
--(SELECT TLNANME FROM TL_USER
|
5587
|
--WHERE 1=1
|
5588
|
--AND TLSUBBRID = @BRANCH_CREATE
|
5589
|
--AND DEP_ID = @DEP_CREATE
|
5590
|
--AND RoleName IN ('GDDV', 'PP'))
|
5591
|
SELECT TLNANME
|
5592
|
FROM TL_USER
|
5593
|
WHERE 1=1
|
5594
|
AND TLSUBBRID = @BRANCH_CREATE
|
5595
|
AND DEP_ID = @DEP_CREATE
|
5596
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5597
|
END
|
5598
|
|
5599
|
SET @FLAG = 7
|
5600
|
END
|
5601
|
---BDS đang hoàn thiện thủ tục pháp lý - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
|
5602
|
ELSE IF @TYPE='REAL_ESTATE_L_C_APPROVED'
|
5603
|
BEGIN
|
5604
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5605
|
(SELECT A.MAKER_ID FROM REAL_ESTATE_L_C A WHERE A.RET_L_C_ID = @PO_ID)
|
5606
|
SET @FLAG = 7
|
5607
|
END
|
5608
|
--PHONGNT 24/2/2022 PHIẾU YÊU CẦU CÔNG TÁC--
|
5609
|
---PHIẾU YÊU CẦU CÔNG TÁC - gửi YC phê duyệt---
|
5610
|
ELSE IF @TYPE='TR_REQUEST_JOB_FORM_SEND_APPROVE'
|
5611
|
BEGIN
|
5612
|
-----Có cấp phê duyệt trung gian-------
|
5613
|
IF (EXISTS (SELECT*FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID AND SIGN_USER IS NOT NULL))
|
5614
|
BEGIN
|
5615
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5616
|
(SELECT A.SIGN_USER FROM TR_REQUEST_JOB_FORM A WHERE A.REQ_ID = @PO_ID)
|
5617
|
END
|
5618
|
ELSE
|
5619
|
-----Ko có cấp phê duyệt trung gian-------
|
5620
|
BEGIN
|
5621
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID)
|
5622
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5623
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM TR_REQUEST_JOB_FORM WHERE @PO_ID = @PO_ID)
|
5624
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5625
|
|
5626
|
IF(@BRANCH_TYPE = 'PGD')
|
5627
|
BEGIN
|
5628
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5629
|
SELECT TLNANME FROM TL_USER
|
5630
|
WHERE 1=1
|
5631
|
AND TLSUBBRID = @BRANCH_CREATE
|
5632
|
AND RoleName IN ('TPGD', 'PP')
|
5633
|
END
|
5634
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5635
|
BEGIN
|
5636
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5637
|
SELECT TLNANME FROM TL_USER
|
5638
|
WHERE 1=1
|
5639
|
AND TLSUBBRID = @BRANCH_CREATE
|
5640
|
AND RoleName IN ('GDDV', 'PDG')
|
5641
|
END
|
5642
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5643
|
BEGIN
|
5644
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5645
|
SELECT TLNANME FROM TL_USER
|
5646
|
WHERE 1=1
|
5647
|
AND TLSUBBRID = @BRANCH_CREATE
|
5648
|
AND DEP_ID = @DEP_CREATE
|
5649
|
AND RoleName IN ('GDDV', 'PP')
|
5650
|
END
|
5651
|
END
|
5652
|
|
5653
|
SET @FLAG = 7
|
5654
|
END
|
5655
|
---Phiếu yêu cầu công tác - trung gian duyệt thành công-----
|
5656
|
ELSE IF @TYPE='TR_REQUEST_JOB_FORM_CONFIRM'
|
5657
|
BEGIN
|
5658
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID)
|
5659
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5660
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM TR_REQUEST_JOB_FORM WHERE REQ_ID = @PO_ID)
|
5661
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5662
|
|
5663
|
IF(@BRANCH_TYPE = 'PGD')
|
5664
|
BEGIN
|
5665
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5666
|
(SELECT TLNANME FROM TL_USER
|
5667
|
WHERE 1=1
|
5668
|
AND TLSUBBRID = @BRANCH_CREATE
|
5669
|
AND RoleName IN ('TPGD', 'PP'))
|
5670
|
END
|
5671
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5672
|
BEGIN
|
5673
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5674
|
(SELECT TLNANME FROM TL_USER
|
5675
|
WHERE 1=1
|
5676
|
AND TLSUBBRID = @BRANCH_CREATE
|
5677
|
AND RoleName IN ('GDDV', 'PDG'))
|
5678
|
END
|
5679
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5680
|
BEGIN
|
5681
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5682
|
(SELECT TLNANME FROM TL_USER
|
5683
|
WHERE 1=1
|
5684
|
AND TLSUBBRID = @BRANCH_CREATE
|
5685
|
AND DEP_ID = @DEP_CREATE
|
5686
|
AND RoleName IN ('GDDV', 'PP'))
|
5687
|
END
|
5688
|
|
5689
|
SET @FLAG = 7
|
5690
|
END
|
5691
|
---Phiếu yêu cầu công tác - trưởng đơn vị đã duyệt, trả mail về cho ng tạo-----
|
5692
|
ELSE IF @TYPE='TR_REQUEST_JOB_FORM_APPROVED'
|
5693
|
BEGIN
|
5694
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5695
|
(SELECT A.MAKER_ID FROM TR_REQUEST_JOB_FORM A WHERE A.REQ_ID = @PO_ID)
|
5696
|
SET @FLAG = 7
|
5697
|
END
|
5698
|
--PHONGNT 24/2/2022 PHIẾU YÊU CẦU XE--
|
5699
|
---PHIẾU YÊU CẦU XE - gửi YC phê duyệt---
|
5700
|
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_TDV'
|
5701
|
BEGIN
|
5702
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
|
5703
|
SET @BRANCH_TYPE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5704
|
SET @p_MAKER_ID = (SELECT MAKER_ID FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
|
5705
|
SET @DEP_CREATE =(SELECT DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5706
|
|
5707
|
IF(@BRANCH_TYPE = 'PGD')
|
5708
|
BEGIN
|
5709
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5710
|
SELECT TLNANME FROM TL_USER A
|
5711
|
JOIN AbpUserRoles B ON B.UserId = A.ID
|
5712
|
JOIN AbpRoles C ON C.Id=B.RoleId
|
5713
|
WHERE 1=1
|
5714
|
AND A.TLSUBBRID = @BRANCH_CREATE
|
5715
|
AND C.DisplayName IN ('TPGD', 'PPGD')
|
5716
|
END
|
5717
|
ELSE IF(@BRANCH_TYPE = 'CN')
|
5718
|
BEGIN
|
5719
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5720
|
SELECT TLNANME FROM TL_USER A
|
5721
|
JOIN AbpUserRoles B ON B.UserId = A.ID
|
5722
|
JOIN AbpRoles C ON C.Id=B.RoleId
|
5723
|
WHERE 1=1
|
5724
|
AND A.TLSUBBRID = @BRANCH_CREATE
|
5725
|
AND RoleName IN ('GDDV', 'PDG')
|
5726
|
END
|
5727
|
ELSE IF(@BRANCH_TYPE = 'HS')
|
5728
|
BEGIN
|
5729
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5730
|
SELECT TLNANME FROM TL_USER A
|
5731
|
JOIN AbpUserRoles B ON B.UserId = A.ID
|
5732
|
JOIN AbpRoles C ON C.Id=B.RoleId
|
5733
|
WHERE 1=1
|
5734
|
AND A.TLSUBBRID = @BRANCH_CREATE
|
5735
|
AND A.DEP_ID = @DEP_CREATE
|
5736
|
AND RoleName IN ('GDDV', 'TP','TBP','PP')
|
5737
|
END
|
5738
|
SET @FLAG = 7
|
5739
|
END
|
5740
|
---Phiếu yêu cầu xe - gửi mail cho người cập nhật phiếu-----
|
5741
|
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_USERUPD'
|
5742
|
BEGIN
|
5743
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5744
|
(SELECT USER_UPDATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
|
5745
|
SET @FLAG = 7
|
5746
|
END
|
5747
|
---Phiếu yêu cầu xe - gửi mail cho CVĐĐ Xe-----
|
5748
|
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_CV'
|
5749
|
BEGIN
|
5750
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5751
|
(SELECT CDVAL FROM CM_ALLCODE WHERE CDNAME = 'REQCAR')
|
5752
|
SET @FLAG = 7
|
5753
|
END
|
5754
|
---Phiếu yêu cầu xe - gửi mail cho người tạo-----
|
5755
|
ELSE IF @TYPE='TR_REQUEST_CAR_COST_SEND_MAKER'
|
5756
|
BEGIN
|
5757
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5758
|
(SELECT MAKER_ID FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
|
5759
|
SET @FLAG = 7
|
5760
|
END
|
5761
|
---Phiếu yêu cầu xe - CVĐĐ Xe đã duyệt, gửi mail cho Lãnh Đạo HC HO-----
|
5762
|
ELSE IF @TYPE='TR_REQUEST_CAR_COST_CV_App'
|
5763
|
BEGIN
|
5764
|
SET @BRANCH_CREATE = (SELECT BRANCH_CREATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
|
5765
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5766
|
(SELECT TLNANME FROM TL_USER
|
5767
|
WHERE 1=1
|
5768
|
AND TLSUBBRID = @BRANCH_CREATE
|
5769
|
AND RoleName IN ('GDDV', 'PP'))
|
5770
|
SET @FLAG = 7
|
5771
|
END
|
5772
|
---Phiếu yêu cầu xe - Gửi CV và người tạo-----
|
5773
|
ELSE IF @TYPE='TR_REQUEST_CAR_SEND_CV_USER'
|
5774
|
BEGIN
|
5775
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5776
|
(SELECT MAKER_ID FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
|
5777
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5778
|
(SELECT USER_UPDATE FROM TR_REQUEST_CAR WHERE REQ_ID = @PO_ID)
|
5779
|
SET @FLAG = 7
|
5780
|
END
|
5781
|
-- Kho vật liệu
|
5782
|
ELSE IF (@TYPE = 'MW_IN_KT_APPR')
|
5783
|
BEGIN
|
5784
|
IF(EXISTS(SELECT * FROM MW_IN_MASTER WHERE IN_ID = @PO_ID AND AUTH_STATUS = 'A' AND AUTH_STATUS_KT = 'A'))
|
5785
|
BEGIN
|
5786
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5787
|
(SELECT MAKER_ID FROM MW_IN_MASTER WHERE IN_ID = @PO_ID)
|
5788
|
END
|
5789
|
SET @FLAG = 8
|
5790
|
END
|
5791
|
ELSE IF (@TYPE = 'MW_OUT_KT_APPR')
|
5792
|
BEGIN
|
5793
|
IF(EXISTS(SELECT * FROM MW_OUT WHERE OUT_ID = @PO_ID AND AUTH_STATUS = 'A' AND KT_AUTH_STATUS = 'A'))
|
5794
|
BEGIN
|
5795
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5796
|
(SELECT MAKER_ID FROM MW_OUT WHERE OUT_ID = @PO_ID)
|
5797
|
END
|
5798
|
SET @FLAG = 8
|
5799
|
END
|
5800
|
ELSE IF (@TYPE = 'MW_TRANSFER_KT_APPR')
|
5801
|
BEGIN
|
5802
|
IF(EXISTS(SELECT * FROM MW_TRANSFER WHERE TRANSFER_ID = @PO_ID AND AUTH_STATUS = 'A' AND KT_AUTH_STATUS = 'A'))
|
5803
|
BEGIN
|
5804
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5805
|
(SELECT MAKER_ID FROM MW_TRANSFER WHERE TRANSFER_ID = @PO_ID)
|
5806
|
END
|
5807
|
SET @FLAG = 8
|
5808
|
END
|
5809
|
ELSE IF (@TYPE = 'MW_LIQUID_KT_APPR')
|
5810
|
BEGIN
|
5811
|
IF(EXISTS(SELECT * FROM MW_LIQ_MASTER WHERE LIQ_ID = @PO_ID AND AUTH_STATUS = 'A' AND KT_AUTH_STATUS = 'A'))
|
5812
|
BEGIN
|
5813
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5814
|
(SELECT MAKER_ID FROM MW_LIQ_MASTER WHERE LIQ_ID = @PO_ID)
|
5815
|
END
|
5816
|
SET @FLAG = 8
|
5817
|
END
|
5818
|
ELSE IF @TYPE = 'TR_REJECT_GDV'
|
5819
|
BEGIN
|
5820
|
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
|
5821
|
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
|
5822
|
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
|
5823
|
)x)
|
5824
|
|
5825
|
SELECT @PAGE = sp.ID
|
5826
|
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
|
5827
|
IF(@PAGE='TR_REQ_PAYMENT')
|
5828
|
BEGIN
|
5829
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5830
|
(
|
5831
|
SELECT MAKER_ID_KT
|
5832
|
FROM TR_REQ_PAYMENT
|
5833
|
WHERE REQ_PAY_ID = @PO_ID
|
5834
|
)
|
5835
|
END
|
5836
|
ELSE IF(@PAGE='TR_REQ_ADVANCE_PAMENT')
|
5837
|
BEGIN
|
5838
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5839
|
(
|
5840
|
SELECT MAKER_ID_KT
|
5841
|
FROM TR_REQ_ADVANCE_PAYMENT
|
5842
|
WHERE REQ_PAY_ID = @PO_ID
|
5843
|
)
|
5844
|
END
|
5845
|
|
5846
|
SET @FLAG = 6
|
5847
|
END
|
5848
|
ELSE IF @TYPE = 'TR_REJECT_NT'
|
5849
|
BEGIN
|
5850
|
--cắt chuỗi lấy PREFIX để xác định Thêm mới, Xuất, Điều chuyển, Thu hồi, Thanh lý
|
5851
|
SET @SYS_PREFIX =(SELECT LEFT(Val,PATINDEX('%[^a-z]%', Val+'0')-1) from(
|
5852
|
SELECT SUBSTRING(@PO_ID, PATINDEX('%[a-z]%', @PO_ID), LEN(@PO_ID)) Val
|
5853
|
)x)
|
5854
|
|
5855
|
|
5856
|
SELECT @PAGE = sp.ID
|
5857
|
FROM SYS_PREFIX sp WHERE sp.Prefix = @SYS_PREFIX
|
5858
|
|
5859
|
IF(@PAGE='TR_REQ_PAYMENT')
|
5860
|
BEGIN
|
5861
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5862
|
(SELECT MAKER_ID
|
5863
|
FROM TR_REQ_PAYMENT
|
5864
|
WHERE REQ_PAY_ID = @PO_ID
|
5865
|
)
|
5866
|
END
|
5867
|
ELSE IF(@PAGE='TR_REQ_ADVANCE_PAMENT')
|
5868
|
BEGIN
|
5869
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5870
|
(SELECT MAKER_ID
|
5871
|
FROM TR_REQ_ADVANCE_PAYMENT
|
5872
|
WHERE REQ_PAY_ID = @PO_ID
|
5873
|
)
|
5874
|
END
|
5875
|
SET @FLAG = 6
|
5876
|
END
|
5877
|
|
5878
|
----------------BAODNQ 26/10/2022 : GỬI MAIL QUẢN LÝ HỢP ĐỒNG-------------------
|
5879
|
--------------------NG TẠO GỬI YÊU CẦU PHÊ DUYỆT HỢP ĐỒNG--------------------
|
5880
|
ELSE IF (@TYPE = 'TR_CONTRACT_SEND_APP')
|
5881
|
BEGIN
|
5882
|
DECLARE @p_MAKER_BRANCH_CREATE VARCHAR(15),
|
5883
|
@p_MAKER_BRANCH_TYPE VARCHAR(15),
|
5884
|
@p_MAKER_DEP_CREATE VARCHAR(15)
|
5885
|
SET @p_MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_CONTRACT WHERE CONTRACT_ID = @PO_ID)
|
5886
|
SET @p_MAKER_BRANCH_CREATE = (SELECT TOP 1 TLSUBBRID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5887
|
SET @p_MAKER_BRANCH_TYPE = (SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_MAKER_BRANCH_CREATE)
|
5888
|
SET @p_MAKER_DEP_CREATE =(SELECT TOP 1 DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5889
|
SET @p_DEP_CREATE_CODE = (SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID = @p_MAKER_DEP_CREATE)
|
5890
|
IF(@p_MAKER_BRANCH_TYPE = 'PGD')
|
5891
|
BEGIN
|
5892
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5893
|
SELECT TLNANME
|
5894
|
FROM TL_USER
|
5895
|
WHERE 1=1
|
5896
|
AND TLSUBBRID = @p_MAKER_BRANCH_CREATE
|
5897
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5898
|
END
|
5899
|
ELSE IF (@p_MAKER_BRANCH_TYPE = 'CN')
|
5900
|
BEGIN
|
5901
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5902
|
SELECT TLNANME
|
5903
|
FROM TL_USER
|
5904
|
WHERE 1=1
|
5905
|
AND TLSUBBRID = @p_MAKER_BRANCH_CREATE
|
5906
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5907
|
END
|
5908
|
ELSE IF (@p_MAKER_BRANCH_TYPE = 'HS')
|
5909
|
BEGIN
|
5910
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5911
|
SELECT TLNANME
|
5912
|
FROM TL_USER
|
5913
|
WHERE 1=1
|
5914
|
AND TLSUBBRID = @p_MAKER_BRANCH_CREATE
|
5915
|
AND DEP_ID = @p_MAKER_DEP_CREATE
|
5916
|
AND(
|
5917
|
(------------Nếu là phòng hành chính, k gửi mail cho GDDV-------------
|
5918
|
@p_DEP_CREATE_CODE = '0690604'
|
5919
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TBP', 'TP', 'PP'))
|
5920
|
)
|
5921
|
OR(------------Các phòng ban khác gửi mail bth-------------
|
5922
|
@p_DEP_CREATE_CODE <> '0690604'
|
5923
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5924
|
)
|
5925
|
)
|
5926
|
END
|
5927
|
|
5928
|
SET @FLAG = 9
|
5929
|
END
|
5930
|
|
5931
|
--------------------TRƯỞNG ĐV ĐÃ DUYỆT, TRẢ MAIL VỀ CHO NG TẠO---------------------
|
5932
|
ELSE IF (@TYPE = 'TR_CONTRACT_APPROVE')
|
5933
|
BEGIN
|
5934
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5935
|
(SELECT A.MAKER_ID FROM TR_CONTRACT A WHERE A.CONTRACT_ID = @PO_ID)
|
5936
|
SET @FLAG = 9
|
5937
|
END
|
5938
|
|
5939
|
----------------BAODNQ 26/10/2022 : GỬI MAIL QUẢN LÝ PO-------------------
|
5940
|
--------------------NG TẠO GỬI YÊU CẦU PHÊ DUYỆT PO--------------------
|
5941
|
ELSE IF(@TYPE = 'TR_PO_MASTER_SEND_APP')
|
5942
|
BEGIN
|
5943
|
SET @BRANCH_CREATE = (SELECT TOP 1 BRANCH_ID FROM TR_PO_MASTER WHERE PO_ID = @PO_ID)
|
5944
|
SET @BRANCH_TYPE = (SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @BRANCH_CREATE)
|
5945
|
SET @p_MAKER_ID = (SELECT TOP 1 MAKER_ID FROM TR_PO_MASTER WHERE PO_ID = @PO_ID)
|
5946
|
SET @DEP_CREATE = (SELECT TOP 1 DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID)
|
5947
|
SET @p_DEP_CREATE_CODE = (SELECT TOP 1 DEP_CODE FROM CM_DEPARTMENT WHERE DEP_ID = @DEP_CREATE)
|
5948
|
|
5949
|
IF(@BRANCH_TYPE = 'PGD')
|
5950
|
BEGIN
|
5951
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5952
|
SELECT TLNANME
|
5953
|
FROM TL_USER
|
5954
|
WHERE 1=1
|
5955
|
AND TLSUBBRID = @BRANCH_CREATE
|
5956
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TPGD', 'PPGD'))
|
5957
|
END
|
5958
|
ELSE IF (@BRANCH_TYPE = 'CN')
|
5959
|
BEGIN
|
5960
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5961
|
SELECT TLNANME
|
5962
|
FROM TL_USER
|
5963
|
WHERE 1=1
|
5964
|
AND TLSUBBRID = @BRANCH_CREATE
|
5965
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'PGD'))
|
5966
|
END
|
5967
|
ELSE IF (@BRANCH_TYPE = 'HS')
|
5968
|
BEGIN
|
5969
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5970
|
SELECT TLNANME
|
5971
|
FROM TL_USER
|
5972
|
WHERE 1=1
|
5973
|
AND TLSUBBRID = @BRANCH_CREATE
|
5974
|
AND DEP_ID = @DEP_CREATE
|
5975
|
AND(
|
5976
|
(------------Nếu là phòng hành chính, k gửi mail cho GDDV-------------
|
5977
|
@p_DEP_CREATE_CODE = '0690604'
|
5978
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('TBP', 'TP', 'PP'))
|
5979
|
)
|
5980
|
OR(------------Các phòng ban khác gửi mail bth-------------
|
5981
|
@p_DEP_CREATE_CODE <> '0690604'
|
5982
|
AND EXISTS(SELECT * FROM TL_USER_GET_ROLES (TLNANME) WHERE ROLE_ID IN ('GDDV', 'TBP', 'TP', 'PP'))
|
5983
|
)
|
5984
|
)
|
5985
|
|
5986
|
END
|
5987
|
|
5988
|
SET @FLAG = 10
|
5989
|
END
|
5990
|
|
5991
|
--------------------TRƯỞNG ĐV ĐÃ DUYỆT, TRẢ MAIL VỀ CHO NG TẠO---------------------
|
5992
|
ELSE IF(@TYPE = 'TR_PO_MASTER_APPROVE')
|
5993
|
BEGIN
|
5994
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
5995
|
(SELECT A.MAKER_ID FROM TR_PO_MASTER A WHERE A.PO_ID = @PO_ID)
|
5996
|
SET @FLAG = 10
|
5997
|
END
|
5998
|
------------------END BAODNQ--------------------
|
5999
|
|
6000
|
----- END PYC MUA SẮM --------------------
|
6001
|
|
6002
|
---START hieuhm 09/11/2022 Gửi phê duyệt công trình, gửi mail cho người duyệt-----
|
6003
|
ELSE IF @TYPE='CON_MASTER_SendApp'
|
6004
|
BEGIN
|
6005
|
DECLARE @BRANCH_ID_CONMASTER VARCHAR(15) = '', @DEP_ID_CONMASTER VARCHAR(15) =''
|
6006
|
--SELECT @BRANCH_ID_CONMASTER = BRANCH_ID, @DEP_ID_CONMASTER = DEP_CREATE FROM CON_MASTER WHERE CONSTRUCT_ID = @PO_ID
|
6007
|
INSERT INTO @LST_USER_RECIVE (TLNAME) (SELECT TLNANME FROM [dbo].[FN_GET_USER_BY_ROLE] ('GDDV',@BRANCH_ID_CONMASTER,@DEP_ID_CONMASTER))
|
6008
|
SET @FLAG = 6
|
6009
|
END
|
6010
|
---END hieuhm 09/11/2022 Gửi phê duyệt công trình, gửi mail cho người duyệt-----
|
6011
|
|
6012
|
---START hieuhm 11/11/2022 Phê duyệt công trình, gửi mail cho người tạo-----
|
6013
|
ELSE IF @TYPE='CON_MASTER_APP'
|
6014
|
BEGIN
|
6015
|
INSERT INTO @LST_USER_RECIVE (TLNAME) (SELECT MAKER_ID FROM CON_MASTER CM WHERE CM.CONSTRUCT_ID = @PO_ID)
|
6016
|
SET @FLAG = 6
|
6017
|
END
|
6018
|
---END hieuhm 11/11/2022 Phê duyệt công trình, gửi mail cho người tạo-----
|
6019
|
|
6020
|
---START hieuhm 16/11/2022 Gửi phê duyệt layout bản vẽ, gửi mail cho người duyệt-----
|
6021
|
ELSE IF (@TYPE='CON_LAYOUT_BLUEPRINT_App' OR @TYPE ='CON_LAYOUT_BLUEPRINT_SendApp')
|
6022
|
BEGIN
|
6023
|
IF(EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND [STATUS] = 'C' AND PROCESS_ID <> 'APPROVE'))
|
6024
|
BEGIN
|
6025
|
DECLARE @BRANCH_ID_CONLB VARCHAR(15) = '', @DEP_ID_CONLB VARCHAR(15) ='', @ROLE_CONLB VARCHAR(15) ='',@PROCESS_ID_CONLB VARCHAR(15) ='',@DVDM_ID_CONLB VARCHAR(15) =''
|
6026
|
SELECT @BRANCH_ID_CONLB = BRANCH_ID,@DEP_ID_CONLB = DEP_ID,@ROLE_CONLB = ROLE_USER,@PROCESS_ID_CONLB = PROCESS_ID,@DVDM_ID_CONLB = DVDM_ID FROM PL_REQUEST_PROCESS WHERE REQ_ID = @PO_ID AND [STATUS] = 'C'
|
6027
|
IF(@PROCESS_ID_CONLB NOT IN ('GDK_HT','PTGD_TC','PTGD_VH'))
|
6028
|
BEGIN
|
6029
|
INSERT INTO @LST_USER_RECIVE (TLNAME) (SELECT DISTINCT TLNANME FROM [dbo].[FN_GET_USER_BY_ROLE] (@ROLE_CONLB,@BRANCH_ID_CONLB,@DEP_ID_CONLB))
|
6030
|
END
|
6031
|
ELSE
|
6032
|
BEGIN
|
6033
|
DECLARE @BRANCH_TYPE_CONLB VARCHAR(15) = (SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID = @BRANCH_ID_CONLB)
|
6034
|
INSERT INTO @LST_USER_RECIVE (TLNAME)
|
6035
|
SELECT TLNANME FROM (
|
6036
|
SELECT TU.TLNANME, TU.TLFullName, TU.TLSUBBRID AS BRANCH_ID, TU.SECUR_CODE AS DEP_ID, R.DisplayName AS ROLE_OLD, TRM.ROLE_NEW,NULL AS EFF_DATE, NULL AS EXP_DATE
|
6037
|
FROM dbo.TL_USER TU
|
6038
|
LEFT JOIN dbo.AbpUserRoles UR ON TU.ID = UR.UserId
|
6039
|
INNER JOIN dbo.AbpRoles R ON R.Id = UR.RoleId
|
6040
|
LEFT JOIN (SELECT * FROM dbo.TL_SYS_ROLE_MAPPING RM WHERE RM.TLNAME IS NULL OR RM.TLNAME = '') TRM ON (TRM.ROLE_OLD = R.DisplayName)
|
6041
|
UNION ALL
|
6042
|
SELECT TU.TLNANME, TU.TLFullName, RM.BRANCH_ID, RM.DEP_ID, RM.ROLE_OLD, RM.ROLE_NEW, RM.EFF_DATE,RM.EXP_DATE
|
6043
|
FROM dbo.TL_USER TU
|
6044
|
LEFT JOIN dbo.TL_SYS_ROLE_MAPPING RM ON TU.TLNANME = RM.TLNAME
|
6045
|
WHERE CAST(RM.EXP_DATE AS DATE) >= CAST(GETDATE() AS DATE)
|
6046
|
) TMP
|
6047
|
WHERE 1 = 1
|
6048
|
AND ((TMP.ROLE_OLD = @ROLE_CONLB OR TMP.ROLE_NEW = @ROLE_CONLB ) OR @ROLE_CONLB IS NULL OR @ROLE_CONLB = '')
|
6049
|
AND ((TMP.BRANCH_ID IN (SELECT BRANCH_ID FROM PL_COSTCENTER_DT WHERE COST_ID IN (select COST_ID from PL_COSTCENTER where DVDM_ID = @DVDM_ID_CONLB)) AND TMP.DEP_ID IN (SELECT DEP_ID FROM PL_COSTCENTER_DT WHERE COST_ID IN (select COST_ID from PL_COSTCENTER where DVDM_ID = @DVDM_ID_CONLB)))
|
6050
|
OR (NOT EXISTS(SELECT * FROM PL_COSTCENTER_DT WHERE COST_ID IN (select COST_ID from PL_COSTCENTER where DVDM_ID = @DVDM_ID_CONLB)))
|
6051
|
)
|
6052
|
END
|
6053
|
END
|
6054
|
SET @FLAG = 6
|
6055
|
END
|
6056
|
-----END hieuhm 16/11/2022 Gửi phê duyệt layout bản vẽ, gửi mail cho người duyệt-----
|
6057
|
IF(@FLAG = 0)
|
6058
|
BEGIN
|
6059
|
SELECT A.*,B.TLFullName,B.EMAIL
|
6060
|
FROM TL_ROLE_NOTIFICATION A
|
6061
|
LEFT JOIN TL_USER B ON A.TL_NAME=B.TLNANME
|
6062
|
WHERE EXISTS(SELECT * FROM @LST_POID WHERE ID = A.PO_ID)
|
6063
|
|
6064
|
END
|
6065
|
ELSE IF(@FLAG = 1)
|
6066
|
BEGIN
|
6067
|
SELECT B.*,A.TLFullName,A.EMAIL
|
6068
|
FROM TL_USER A
|
6069
|
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1 >2
|
6070
|
WHERE (A.TLNANME IN (SELECT * FROM @LST_USER_RECIVE))
|
6071
|
--AND A.TLNANME NOT IN ('trungnq1','taila')
|
6072
|
END
|
6073
|
-- NEU LA TO TRINH CHU TRUONG, PYC MS THÌ TRA VE FLAG =2
|
6074
|
ELSE IF(@FLAG = 2)
|
6075
|
BEGIN
|
6076
|
SELECT B.*,A.TLFullName,A.EMAIL
|
6077
|
FROM TL_USER A
|
6078
|
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1>2
|
6079
|
WHERE (A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP))
|
6080
|
--AND A.TLNANME NOT IN ('trungnq1','taila')
|
6081
|
|
6082
|
END
|
6083
|
-- SAU KHI TT CHU TRUONG DUOC PHE DUYET THI THONG BAO CHO NGUOI TAO TO TRINH
|
6084
|
ELSE IF(@FLAG = 3)
|
6085
|
BEGIN
|
6086
|
SELECT B.*,A.TLFullName,A.EMAIL
|
6087
|
FROM TL_USER A
|
6088
|
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1>2
|
6089
|
WHERE (A.TLNANME =@MAKER_ID OR A.TLNANME IN (SELECT TLNAME FROM @PL_PROCESS_CURRENT_SEARCH_TEMP))
|
6090
|
--AND A.TLNANME NOT IN ('trungnq1','taila')
|
6091
|
END
|
6092
|
-- SAU KHI PYCMS DUOC PHE DUYET THI THONG BAO CHO NGUOI TAO VA NGUOI XU LY
|
6093
|
ELSE IF(@FLAG = 4)
|
6094
|
BEGIN
|
6095
|
SELECT B.*,A.TLFullName,A.EMAIL
|
6096
|
FROM TL_USER A
|
6097
|
LEFT JOIN TL_ROLE_NOTIFICATION B ON B.TL_NAME=A.TLNANME AND 1>2
|
6098
|
WHERE (A.TLNANME =@MAKER_ID OR A.TLNANME =@NV_XL_MS)
|
6099
|
--AND A.TLNANME NOT IN ('trungnq1','taila')
|
6100
|
END
|
6101
|
|
6102
|
-----------Quản lý cho thuê----------------
|
6103
|
ELSE IF(@FLAG = 5)
|
6104
|
BEGIN
|
6105
|
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
|
6106
|
FROM TL_USER
|
6107
|
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
|
6108
|
END
|
6109
|
|
6110
|
ELSE IF(@FLAG = 6)
|
6111
|
BEGIN
|
6112
|
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
|
6113
|
FROM TL_USER
|
6114
|
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
|
6115
|
END
|
6116
|
--------------BAODNQ 15/2/2022: Quản lý BDS--------------------
|
6117
|
ELSE IF(@FLAG = 7)
|
6118
|
BEGIN
|
6119
|
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
|
6120
|
FROM TL_USER
|
6121
|
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
|
6122
|
END
|
6123
|
--------------QUẢN LÝ THANH TOÁN TẠM ỨNG------------------
|
6124
|
ELSE IF(@FLAG = 8)
|
6125
|
BEGIN
|
6126
|
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
|
6127
|
FROM TL_USER
|
6128
|
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
|
6129
|
END
|
6130
|
--------------BAODNQ 26/10/2022 QUẢN LÝ HỢP ĐỒNG MUA SẮM-------------------
|
6131
|
ELSE IF (@FLAG = 9)
|
6132
|
BEGIN
|
6133
|
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
|
6134
|
FROM TL_USER
|
6135
|
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
|
6136
|
END
|
6137
|
--------------BAODNQ 26/10/2022 QUẢN LÝ PO-------------------
|
6138
|
ELSE IF (@FLAG = 10)
|
6139
|
BEGIN
|
6140
|
SELECT TLFullName, EMAIL AS Email, ID as [USER_ID]
|
6141
|
FROM TL_USER
|
6142
|
WHERE (TLNANME IN (SELECT TLNAME FROM @LST_USER_RECIVE))
|
6143
|
END
|
6144
|
|