Project

General

Profile

CM_ACCOUNT_PAY.txt

Luc Tran Van, 10/17/2022 02:03 PM

 
1

    
2
ALTER   PROC [dbo].[CM_ACCOUNT_PAY_Upd]
3
@p_REF_ID VARCHAR(15) = NULL,
4
@p_ACC_TYPE VARCHAR(150) = NULL,
5
@p_ACC_NO VARCHAR(150) = NULL,
6
@p_ACC_NAME NVARCHAR(150) = NULL,
7
@p_MAKER_ID VARCHAR(15)= NULL,
8
@p_TK_GL VARCHAR(100)= NULL,
9
@p_TK_GL_NAME NVARCHAR(1000)= NULL,
10
@p_EDITOR_ID   VARCHAR(15)= NULL
11
AS
12
BEGIN TRANSACTION
13
	-- CHUYEN THANH CHU IN HOA KHONG DAU
14
	SET @p_ACC_NAME = UPPER(dbo.fChuyenCoDauThanhKhongDau(@p_ACC_NAME))
15
	SET @p_TK_GL_NAME = UPPER(dbo.fChuyenCoDauThanhKhongDau(@p_TK_GL_NAME))
16

    
17
	IF(@p_TK_GL ='' OR @p_TK_GL IS NULL)
18
	BEGIN
19
		ROLLBACK TRANSACTION
20
		SELECT '-1' as Result, '' ACC_ID, N'Tài khoản GL không được phép để trống' ErrorDesc
21
		RETURN '-1'
22
	END
23
	IF(@p_TK_GL_NAME ='' OR @p_TK_GL_NAME IS NULL)
24
	BEGIN
25
		ROLLBACK TRANSACTION
26
		SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản GL không được phép để trống' ErrorDesc
27
		RETURN '-1'
28
	END
29
	IF(@p_ACC_NO ='' OR @p_ACC_NO IS NULL)
30
	BEGIN
31
		ROLLBACK TRANSACTION
32
		SELECT '-1' as Result, '' ACC_ID, N'Số tài khoản không được phép để trống' ErrorDesc
33
		RETURN '-1'
34
	END
35
	IF(@p_ACC_NAME ='' OR @p_ACC_NAME IS NULL)
36
	BEGIN
37
		ROLLBACK TRANSACTION
38
		SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản không được phép để trống' ErrorDesc
39
		RETURN '-1'
40
	END
41

    
42
	IF(@p_ACC_TYPE ='ADV_PAY')
43
	BEGIN
44
	
45
		IF (@p_REF_ID IS NULL OR @p_REF_ID = '')
46
		BEGIN
47
			ROLLBACK TRANSACTION
48
			SELECT '-1' as Result, '' ACC_ID, N'Người đề nghị tạm ứng không được phép để trống' ErrorDesc
49
			RETURN '-1'
50
		END
51

    
52
		IF (LEN(@p_ACC_NO) < 13 OR LEN(@p_ACC_NO) > 13)
53
		BEGIN
54
		ROLLBACK TRANSACTION
55
			SELECT '-1' as Result, '' ACC_ID, N'Tài khoản tạm ứng nội bộ không hợp lệ: Tài khoản tạm ứng phải đủ 13 ký tự' ErrorDesc
56
			RETURN '-1'
57
		END
58
		IF (SUBSTRING(@p_ACC_NO,7,1) <> '8')
59
		BEGIN
60
		ROLLBACK TRANSACTION
61
			SELECT '-1' as Result, '' ACC_ID, N'Tài khoản tạm ứng nội bộ không hợp lệ: Ký tự thứ 7 phải là số 8' ErrorDesc
62
			RETURN '-1'
63
		END
64

    
65
		UPDATE CM_ACCOUNT_PAY SET ACC_NAME =@p_ACC_NAME, ACC_NUM =@p_ACC_NO,EDITOR_DT = GETDATE(), EDITOR_ID =@p_EDITOR_ID,AUTH_STATUS ='U' WHERE REF_ID =@p_REF_ID
66
		--- UPDATE TOAN BO CAC HACH TOAN CO SU DUNG TAI KHOAN TAM UNG
67
		--UPDATE TR_REQ_ADVANCE_PAYMENT SET RECEIVER_DEBIT =@p_ACC_NO WHERE REF_ID =@p_REF_ID AND REQ_TYPE ='I'
68
		--UPDATE TR_REQ_PAY_ENTRIES SET ACCT= @p_ACC_NO WHERE REQ_PAY_ID IN (SELECT REQ_PAY_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REF_ID =@p_REF_ID AND REQ_TYPE ='I')
69
	END
70
	ELSE IF(@p_ACC_TYPE ='CASA')
71
	BEGIN
72
		IF (LEN(@p_ACC_NO) < 13 OR LEN(@p_ACC_NO) > 13 AND @p_ACC_TYPE ='CASA')
73
		BEGIN
74
		ROLLBACK TRANSACTION
75
			SELECT '-1' as Result, '' ACC_ID, N'Tài khoản CASA không hợp lệ: Tài khoản CASA phải đủ 13 ký tự' ErrorDesc
76
			RETURN '-1'
77
		END
78

    
79
		--KIEM TRA XEM DA TON TAI TAM UNG NOI BO NAO SU DUNG SO TAI KHOAN TAM UNG CUA NHAN VIEN NAY HAY KHONG
80
		IF(EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE AUTH_STATUS_KT ='A'))
81
		BEGIN
82
			ROLLBACK TRANSACTION
83
			SELECT '-1' as Result, '' ACC_ID, N'Tài khoản ' + @p_ACC_NO + N' đã được sử dụng để hạch toán (đã bắn bút toán tạm ứng vào core)' ErrorDesc
84
			RETURN '-1'
85
		END
86
		ELSE
87
		BEGIN
88
			UPDATE CM_ACCOUNT SET ACC_NAME =@p_ACC_NAME,AUTH_STATUS='U', TK_GL =@p_TK_GL,TK_GL_NAME =@p_TK_GL_NAME WHERE ACC_NO =@p_ACC_NO
89
		END
90
	END
91
	ELSE
92
	BEGIN
93
		/*
94
		IF (LEN(@p_ACC_NO) < 9 OR LEN(@p_ACC_NO) > 9 AND @p_ACC_TYPE ='GL')
95
		BEGIN
96
			ROLLBACK TRANSACTION
97
			SELECT '-1' as Result, '' ACC_ID, N'Tài khoản GL không hợp lệ: Tài khoản GL phải đủ 9 ký tự' ErrorDesc
98
			RETURN '-1'
99
		END
100
		*/
101
		IF(EXISTS(SELECT * FROM CM_ACCOUNT WHERE ACC_NO =@p_ACC_NO))
102
		BEGIN
103
			print 1
104
		END
105
		ELSE
106
		BEGIN
107
			INSERT INTO CM_ACCOUNT(ACC_NO,ACC_NAME,TK_GL,TK_GL_NAME,MAKER_ID,CREATE_DT,AUTH_STATUS,EDITOR_ID,EDITOR_DT,CHECKER_ID,APPROVE_DT) 
108
			VALUES (@p_ACC_NO,@p_ACC_NAME,@p_TK_GL,@p_TK_GL_NAME,@p_MAKER_ID,GETDATE(),'U',NULL,NULL,NULL,NULL)
109
		END
110
	END
111

    
112
	-- UPDATE CHUNG
113
	UPDATE CM_ACCOUNT SET TK_GL =@p_TK_GL, TK_GL_NAME = @p_TK_GL_NAME WHERE ACC_NO =@p_ACC_NO
114
COMMIT TRANSACTION
115
SELECT '0' as Result, ''  ACC_ID, '' ErrorDesc
116
RETURN '0'
117
ABORT:
118
BEGIN
119
		ROLLBACK TRANSACTION
120
		SELECT '-1' as Result, '' ACC_ID, '' ErrorDesc
121
		RETURN '-1'
122
END