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
|