Project

General

Profile

1.0. PAYMENT CHECK CAPEX.txt

Luc Tran Van, 07/10/2023 09:51 AM

 
1
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_CHECK_CAPEX] 
2
@p_REQ_PAY_ID VARCHAR(20) = NULL
3
AS
4
BEGIN
5
	DECLARE @tbl_po TABLE (PO_CODE VARCHAR(20))
6
	INSERT INTO @tbl_po SELECT PO_CODE
7
						FROM TR_REQ_ADVANCE_DT A
8
						LEFT JOIN TR_PO_MASTER B ON A.REF_ID = B.PO_ID
9
						WHERE A.REQ_PAY_ID = @p_REQ_PAY_ID
10
	INSERT INTO @tbl_po SELECT CONTRACT_CODE
11
						FROM TR_REQ_ADVANCE_DT A
12
						LEFT JOIN TR_CONTRACT B ON A.REF_ID = B.CONTRACT_ID
13
						WHERE A.REQ_PAY_ID = @p_REQ_PAY_ID
14
	DECLARE @PO_LIST_STRING NVARCHAR(MAX)
15
	SELECT @PO_LIST_STRING = STUFF	(
16
										(   SELECT ', ' + PO_CODE 
17
											FROM @tbl_po 
18
											WHERE 1=1
19
											FOR XML PATH(''), TYPE
20
										).value('.[1]', 'nvarchar(max)'), 1, 1, ''
21
									)
22

    
23
	DECLARE @tbl_invoice TABLE (INVOICE_NO VARCHAR(20))
24
	INSERT INTO @tbl_invoice SELECT INVOICE_NO
25
						FROM TR_REQ_PAY_INVOICE A
26
						WHERE A.REQ_PAY_ID = @p_REQ_PAY_ID
27
	DECLARE @INVOICE_LIST_STRING NVARCHAR(MAX)
28
	SELECT @INVOICE_LIST_STRING = STUFF	(
29
											(   SELECT ', ' + INVOICE_NO 
30
												FROM @tbl_invoice 
31
												WHERE 1=1
32
												FOR XML PATH(''), TYPE
33
											).value('.[1]', 'nvarchar(max)'), 1, 1, ''
34
										)
35
	
36
	IF(EXISTS (SELECT * FROM CM_GOODS WHERE GD_ID IN (SELECT GD_ID FROM TR_REQ_PAY_BUDGET WHERE REQ_PAY_ID =@p_REQ_PAY_ID) AND GD_CODE LIKE N'%.CE.%'))
37
	BEGIN
38
		IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT_MAPPING_ASS_ADDNEW  WHERE ADDNEW_ID =@p_REQ_PAY_ID))
39
		BEGIN
40
			SELECT '0' AS Result, @PO_LIST_STRING PO_LIST_STRING,  @INVOICE_LIST_STRING INVOICE_LIST_STRING, N'Bạn đang thực hiện việc thanh toán nhà cung cấp có sử dụng ngân sách CAPEX. Vui lòng nhập kho tài sản song song với quá trình thanh toán, sau đó bấm GỬI DUYỆT lại' ErrorDesc;
41
			RETURN '0';
42
		END
43
		ELSE
44
		BEGIN
45
			SELECT '-1' AS Result, '' PO_LIST_STRING,  '' INVOICE_LIST_STRING, '' ErrorDesc;
46
			RETURN '-1';
47
		END
48
	END
49
	ELSE
50
	BEGIN
51
		SELECT '-1' AS Result, '' PO_LIST_STRING,  '' INVOICE_LIST_STRING, '' ErrorDesc;
52
		RETURN '-1';
53
	END
54
END