ALTER PROCEDURE dbo.CAR_MASTER_App @p_CAR_ID VARCHAR(15) = NULL, @p_AUTH_STATUS VARCHAR(1) = NULL, @p_CHECKER_ID varchar(15) = NULL, @p_APPROVE_DT VARCHAR(15) = NULL, @p_ASSET_ID VARCHAR(15) = NULL AS DECLARE @sErrorCode VARCHAR(20) DECLARE @aStatus VARCHAR(1) --Put validation here SET @sErrorCode = '' SELECT @aStatus = [AUTH_STATUS] FROM CAR_MASTER WHERE CAR_ID = @p_CAR_ID IF @aStatus = 'A' SET @sErrorCode = 'CAR-00003' IF @sErrorCode <> '' BEGIN SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode RETURN 0 END BEGIN TRANSACTION BEGIN UPDATE CAR_MASTER SET AUTH_STATUS = @p_AUTH_STATUS, CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = CONVERT(datetime, @p_APPROVE_DT, 103) WHERE CAR_ID = @p_CAR_ID --THAY DOI LOAI TAI SAN LA 2 UPDATE ASS_MASTER SET ASS_TYPE = '2' WHERE ASSET_ID = @p_ASSET_ID IF @@Error <> 0 GOTO ABORT IF(EXITES(SELECT 1 FROM CAR_DRIVE WHERE CAR_ID=@p_CAR_ID)) BEGIN DECLARE @l_CAR_DR_ID VARCHAR(15),@FUEL DECIMAL(18,2),@INDEX_NUMBER DECIMAL(18,2) EXEC SYS_CodeMasters_Gen 'CAR_DRIVE', @l_CAR_DR_ID out IF @l_CAR_DR_ID='' OR @l_CAR_DR_ID IS NULL GOTO ABORT SELECT @FUEL =originaL_FUEL_NUMBER,@INDEX_NUMBER =originaL_INDEX_NUMBER FROM CAR_MASTER WHERE CAR_ID=@p_CAR_ID INSERT CAR_DRIVE(CAR_DR_ID, CAR_ID, ASSET_ID, ASSET_NAME, OLD_INDEX_NUMBER, NEW_INDEX_NUMBER, INDEX_NUMBER, POWER_RATE, POWER_RATE_INDEX, CURR_POWER_RATE, INPUT_DT, ISLEAF, PARENT_ID, NOTES, RECORD_STATUS, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, CAR_AMT, INVOICE_NO, DR_ROUTE, REQ_PAY_ID, DIFF_FUEL_CONSUM, REQ_CAR_ID, OLD_FUEL_NUMBER, NEW_FUEL_NUMBER) VALUES (@l_CAR_DR_ID, @p_CAR_ID, NULL, NULL, @INDEX_NUMBER, @INDEX_NUMBER, @INDEX_NUMBER, NULL, NULL, 0.00, 'GETDATE(), 'Y', NULL, NULL, '1', 'admin', GETDATE(), 'A', NULL, NULL, NULL, NULL, N'Import data', NULL, NULL, '', 0.00, @FUEL) END END COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN 0 ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ErrorDesc RETURN -1 END --update 28042023_secretkey