ALTER PROC [dbo].[CM_ACCOUNT_PAY_Ins] @p_USER_ID VARCHAR(15) = NULL, @p_ACC_TYPE VARCHAR(150) = NULL, @p_ACC_NO VARCHAR(150) = NULL, @p_ACC_NAME VARCHAR(150) = NULL, @p_TK_GL VARCHAR(100) = NULL, @p_TK_GL_NAME VARCHAR(1000) = NULL, @p_MAKER_ID VARCHAR(15)= NULL AS BEGIN TRANSACTION IF(EXISTS(SELECT * FROM CM_ACCOUNT_PAY WHERE ACC_TYPE =@p_ACC_TYPE AND REF_ID =@p_USER_ID) AND @p_ACC_TYPE <> 'ENTRIES' ) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ACC_ID, N'Tài khoản tạm ứng của nhân viên ' +@p_USER_ID + N' đã tồn tại trong hệ thống' ErrorDesc RETURN '-1' END IF(EXISTS(SELECT * FROM CM_ACCOUNT_PAY WHERE ACC_TYPE =@p_ACC_TYPE AND REF_ID =@p_USER_ID) AND @p_ACC_TYPE = 'ENTRIES' ) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ACC_ID, N'Tài khoản hạch toán ' + @p_ACC_NO + N' đã tồn tại trong hệ thống' ErrorDesc RETURN '-1' END IF(@p_TK_GL ='' OR @p_TK_GL IS NULL) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ACC_ID, N'Tài khoản GL không được phép để trống' ErrorDesc RETURN '-1' END IF(@p_TK_GL_NAME ='' OR @p_TK_GL_NAME IS NULL) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản GL không được phép để trống' ErrorDesc RETURN '-1' END IF(@p_ACC_NO ='' OR @p_ACC_NO IS NULL) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ACC_ID, N'Số tài khoản không được phép để trống' ErrorDesc RETURN '-1' END IF(@p_ACC_NAME ='' OR @p_ACC_NAME IS NULL) BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ACC_ID, N'Tên tài khoản không được phép để trống' ErrorDesc RETURN '-1' END IF(@p_ACC_TYPE ='ADV_PAY') BEGIN INSERT INTO CM_ACCOUNT_PAY (REF_ID,ACC_TYPE,ACC_NUM,ACC_NAME,FUNTION,TK_GL,CREATE_DT,MAKER_ID,EDITOR_ID,EDITOR_DT,AUTH_STATUS,CHECKER_ID,APPROVE_DT,TK_GL_NAME) VALUES (@p_USER_ID,@p_ACC_TYPE,@p_ACC_NO,@p_ACC_NAME,'I',@p_TK_GL,GETDATE(),@p_MAKER_ID,NULL,NULL,'U',NULL,NULL,@p_TK_GL_NAME) END ELSE BEGIN INSERT INTO CM_ACCOUNT(ACC_NO,ACC_NAME,TK_GL,TK_GL_NAME,MAKER_ID,CREATE_DT,AUTH_STATUS,EDITOR_ID,EDITOR_DT,CHECKER_ID,APPROVE_DT) VALUES (@p_ACC_NO,@p_ACC_NAME,@p_TK_GL,@p_TK_GL_NAME,@p_MAKER_ID,GETDATE(),'U',NULL,NULL,NULL,NULL) END COMMIT TRANSACTION SELECT '0' as Result, '' ACC_ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ACC_ID, '' ErrorDesc RETURN '-1' END