ALTER PROCEDURE [dbo].[TR_REQ_PAY_GET_PAY_JOB_PAID] @p_REQ_PAY_ID VARCHAR(20) = NULL AS BEGIN TRANSACTION DECLARE @IS_PAID VARCHAR(1) = 'N'; DECLARE @MESSAGE NVARCHAR(MAX) = ''; DECLARE @INDEX INT = 0; DECLARE @REQ_PAY_JOB_ID VARCHAR(20) = NULL, @REQ_PAY_ID VARCHAR(20) = NULL, @REQ_ID VARCHAR(20) = NULL, @REQ_CODE NVARCHAR(500), @PAY_TYPE VARCHAR(50), @PAY_TYPE_NAME NVARCHAR(150) DECLARE XmlData CURSOR FOR SELECT A.REQ_PAY_JOB_ID, A.REQ_PAY_ID, A.REQ_ID, A.REQ_CODE, A.PAY_TYPE, P.CONTENT AS PAY_TYPE_NAME FROM TR_REQ_PAY_JOB A LEFT JOIN CM_ALLCODE P ON A.PAY_TYPE = P.CDVAL AND P.CDNAME = 'TR_REQ' AND P.CDTYPE = 'REQ_JOB' WHERE REQ_PAY_ID = @p_REQ_PAY_ID ORDER BY CONVERT(DECIMAL(18,0),RIGHT(A.REQ_PAY_JOB_ID, 11)) OPEN XmlData; FETCH NEXT FROM XmlData INTO @REQ_PAY_JOB_ID, @REQ_PAY_ID, @REQ_ID, @REQ_CODE, @PAY_TYPE, @PAY_TYPE_NAME WHILE @@FETCH_STATUS = 0 BEGIN SET @INDEX = @INDEX + 1; print '1' IF( ( SELECT COUNT(*) FROM TR_REQ_PAY_JOB A INNER JOIN TR_REQ_PAYMENT B ON A.REQ_PAY_ID = B.REQ_PAY_ID WHERE A.REQ_ID = @REQ_ID AND A.PAY_TYPE = @PAY_TYPE AND ISNULL(B.AUTH_STATUS, '') NOT IN ('', 'E', 'R')) > 1 ) BEGIN print '@REQ_ID: ' + @REQ_ID print '@REQ_CODE: ' + @REQ_CODE SET @IS_PAID = 'Y'; IF(ISNULL(@MESSAGE, '') = '') BEGIN SET @MESSAGE = N'Lưới thông tin thanh toán chi phí đi công tác có các chi phí đã được thanh toán: ' + N'
* Dòng ' + CONVERT(VARCHAR(5),@INDEX) + N': PYCCT số ' + @REQ_CODE + N', loại chi phí ' + @PAY_TYPE_NAME; END ELSE BEGIN SET @IS_PAID = 'Y'; SET @MESSAGE = @MESSAGE + N'
* Dòng ' + CONVERT(VARCHAR(5),@INDEX) + N': PYCCT số ' + @REQ_CODE + N', loại chi phí ' + @PAY_TYPE_NAME; END END FETCH NEXT FROM XmlData INTO @REQ_PAY_JOB_ID, @REQ_PAY_ID, @REQ_ID, @REQ_CODE, @PAY_TYPE, @PAY_TYPE_NAME END; CLOSE XmlData; DEALLOCATE XmlData; COMMIT TRANSACTION IF(@IS_PAID = 'Y') BEGIN SELECT '0' as Result, @REQ_PAY_ID ID, @MESSAGE ErrorDesc RETURN '0' END ELSE BEGIN SELECT '-1' as Result, '' ID, '' ErrorDesc RETURN '-1' END ABORT: BEGIN ROLLBACK TRANSACTION CLOSE XmlData; DEALLOCATE XmlData; SELECT '-1' as Result, '' ID, '' ErrorDesc RETURN '-1' END GO --21082023_secretkey