Project

General

Profile

REQ_AD_PAY_CONFIRM.txt

Luc Tran Van, 11/06/2020 11:28 AM

 
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