Project

General

Profile

script_check_capex.txt

Luc Tran Van, 08/08/2023 09:24 AM

 
1

    
2
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_CHECK_CAPEX] 
3
@p_REQ_PAY_ID VARCHAR(20) = NULL
4
AS
5
BEGIN
6
	DECLARE @tbl_po TABLE (PO_CODE VARCHAR(MAX))
7
	INSERT INTO @tbl_po SELECT PO_CODE
8
						FROM TR_REQ_ADVANCE_DT A
9
						LEFT JOIN TR_PO_MASTER B ON A.REF_ID = B.PO_ID
10
						WHERE A.REQ_PAY_ID = @p_REQ_PAY_ID
11
	INSERT INTO @tbl_po SELECT CONTRACT_CODE
12
						FROM TR_REQ_ADVANCE_DT A
13
						LEFT JOIN TR_CONTRACT B ON A.REF_ID = B.CONTRACT_ID
14
						WHERE A.REQ_PAY_ID = @p_REQ_PAY_ID
15
	DECLARE @PO_LIST_STRING NVARCHAR(MAX)
16
	SELECT @PO_LIST_STRING = STUFF	(
17
										(   SELECT ', ' + PO_CODE 
18
											FROM @tbl_po 
19
											WHERE 1=1
20
											FOR XML PATH(''), TYPE
21
										).value('.[1]', 'nvarchar(max)'), 1, 1, ''
22
									)
23
	DECLARE @tbl_invoice TABLE (INVOICE_NO VARCHAR(MAX))
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(1=1)
39
		BEGIN
40
			SELECT '-1' AS Result, '' PO_LIST_STRING,  '' INVOICE_LIST_STRING, '' ErrorDesc;
41
			RETURN '-1';
42
		END
43
		ELSE IF(NOT EXISTS(SELECT * FROM TR_REQ_PAYMENT_MAPPING_ASS_ADDNEW  WHERE ADDNEW_ID =@p_REQ_PAY_ID))
44
		BEGIN
45
			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;
46
			RETURN '0';
47
		END
48
		ELSE
49
		BEGIN
50
			SELECT '-1' AS Result, '' PO_LIST_STRING,  '' INVOICE_LIST_STRING, '' ErrorDesc;
51
			RETURN '-1';
52
		END
53
	END
54
	ELSE
55
	BEGIN
56
		SELECT '-1' AS Result, '' PO_LIST_STRING,  '' INVOICE_LIST_STRING, '' ErrorDesc;
57
		RETURN '-1';
58
	END
59
END