1
|
|
2
|
|
3
|
|
4
|
ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_Confirm]
|
5
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
6
|
@p_CHECKER_ID varchar(15) = NULL
|
7
|
AS
|
8
|
BEGIN TRANSACTION
|
9
|
DECLARE @ROLE_SIGN VARCHAR(15), @REQ_TYPE VARCHAR(15), @BRANCH_CREATE_TYPE VARCHAR(15)
|
10
|
--SET @BRANCH_CREATE_TYPE = (SELECT TOP 1 BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = (SELECT TOP 1 BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID))
|
11
|
--SET @ROLE_SIGN =(SELECT RoleName FROM TL_USER_V2 WHERE TLNANME =@p_CHECKER_ID)
|
12
|
SET @ROLE_SIGN =(SELECT TOP 1 RoleName FROM TL_USER WHERE TLNANME =@p_CHECKER_ID)
|
13
|
IF(@ROLE_SIGN IS NOT NULL AND @ROLE_SIGN <>'' AND @ROLE_SIGN IN ('TPGD','GDDV','PGD','PTGD','TGD','HDQT','TP','PP','TBP','KTT','GDK','KSV','TC','NVTC','TPTC','PPGD'))
|
14
|
BEGIN
|
15
|
PRINT @ROLE_SIGN
|
16
|
END
|
17
|
ELSE
|
18
|
BEGIN
|
19
|
--SET @ROLE_ID =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_USER_LOGIN)
|
20
|
SET @ROLE_SIGN =(SELECT TOP 1 RoleName FROM TL_USER_V2 WHERE TLNANME =@p_CHECKER_ID)
|
21
|
IF(@ROLE_SIGN IS NULL OR @ROLE_SIGN ='')
|
22
|
BEGIN
|
23
|
SET @ROLE_SIGN =(SELECT TOP 1 ROLE_NEW FROM TL_SYS_ROLE_MAPPING WHERE ROLE_OLD =(SELECT TOP 1 ROLENAME FROM TL_USER WHERE TLNANME=@ROLE_SIGN))
|
24
|
END
|
25
|
END
|
26
|
SET @REQ_TYPE =(SELECT REQ_TYPE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID)
|
27
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID AND AUTH_STATUS ='R'))
|
28
|
BEGIN
|
29
|
ROLLBACK TRANSACTION
|
30
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Bạn không được phép xác nhận hoặc phê duyệt giao dịch này. 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ề. Vui lòng đợi nhân viên cập nhật thông tin và gửi phê duyệt lại' ErrorDesc
|
31
|
RETURN '-1'
|
32
|
END
|
33
|
-- KIEM TRA NEU PHIEU DA XAC NHAN ROI THI KHONG CHO PHÉP XAC NHAN LAN THU 2
|
34
|
IF(EXISTS(SELECT * FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID=@p_REQ_PAY_ID AND PROCESS ='0'))
|
35
|
BEGIN
|
36
|
ROLLBACK TRANSACTION
|
37
|
SELECT '-1' as Result, @p_REQ_PAY_ID REQ_PAY_ID ,N'Phiếu đề nghị tạm ứng đã được cấp phê duyệt trung gian xác nhận trước đó' ErrorDesc
|
38
|
RETURN '-1'
|
39
|
END
|
40
|
PRINT @ROLE_SIGN
|
41
|
IF(@REQ_TYPE ='I')
|
42
|
BEGIN
|
43
|
IF(@ROLE_SIGN IN ('GDDV','PP','KTT','TC','TPTC'))
|
44
|
BEGIN
|
45
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS='0' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
46
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,'0',@p_CHECKER_ID, GETDATE(),N'Trưởng đơn vị xác nhận phiếu',N'Xác nhận phiếu tạm ứng')
|
47
|
END
|
48
|
ELSE
|
49
|
BEGIN
|
50
|
IF((SELECT BRANCH_CREATE FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID) ='DV0001')
|
51
|
BEGIN
|
52
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,'0',@p_CHECKER_ID, GETDATE(),N'Cấp phê duyệt trung gian xác nhận phiếu' ,N'Xác nhận phiếu tạm ứng')
|
53
|
END
|
54
|
ELSE
|
55
|
BEGIN
|
56
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS='0' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
57
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,'0',@p_CHECKER_ID, GETDATE(),N'Cấp phê duyệt trung gian xác nhận phiếu',N'Xác nhận phiếu tạm ứng')
|
58
|
END
|
59
|
END
|
60
|
-- NẾU NGƯỜI DUYỆT TRÙNG VỚI CẤP PHÊ DUYỆT TRUNG GIAN THÌ KHÔNG CẦN UPDATE PROCESS_ID
|
61
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS='' WHERE REQ_PAY_ID =@p_REQ_PAY_ID AND TRASFER_USER_RECIVE =@p_CHECKER_ID AND @REQ_TYPE ='I' AND @BRANCH_CREATE_TYPE ='HS'
|
62
|
END
|
63
|
ELSE
|
64
|
BEGIN
|
65
|
UPDATE TR_REQ_ADVANCE_PAYMENT SET PROCESS='0' WHERE REQ_PAY_ID =@p_REQ_PAY_ID
|
66
|
INSERT INTO PL_PROCESS VALUES (@p_REQ_PAY_ID,'0',@p_CHECKER_ID, GETDATE(),N'Cấp phê duyệt trung gian xác nhận phiếu',N'Xác nhận phiếu tạm ứng')
|
67
|
END
|
68
|
|
69
|
COMMIT TRANSACTION
|
70
|
SELECT '0' as Result, @p_REQ_PAY_ID 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 cấp phê duyệt trung gian xác nhận thành công! Vui lòng đợi trưởng đơn vị phê duyệt phiếu' ErrorDesc
|
71
|
RETURN '0'
|
72
|
ABORT:
|
73
|
BEGIN
|
74
|
ROLLBACK TRANSACTION
|
75
|
SELECT '-1' as Result, '' REQ_PAY_ID, '' ErrorDesc
|
76
|
RETURN '-1'
|
77
|
END
|