<!-- Thank you for your contribution! -->
<!-- Unless your change is trivial, please create an issue to discuss the change before creating a PR -->

## Change Summary
Added fix for signature of inherited dataclass when using the pydantic dataclass decorator. 

There is a bug in the following code 

```python
from pydantic.dataclasses import dataclass

@dataclass
class A:
    a: int

@dataclass
class B(A):
    b: int
```
where the signature of the class B does not include the subclass (B) fields (see issue #7906 )

<!-- Please give a short summary of the changes. -->

* Used generate_model_signature to create a temporary signature before running generate_dataclass_signature
* Added unit test for fix

## Related issue number
<!-- WARNING: please use "fix #123" style references so the issue is closed when this PR is merged. -->
fix #7906 

## Checklist

* [ ] The pull request title is a good summary of the changes - it will be used in the changelog
* [x] Unit tests for the changes exist
* [ ] Tests pass on CI
* [ ] Documentation reflects the changes where applicable
* [x] My PR is ready to review, **please add a comment including the phrase "please review" to assign reviewers**

# please review

Added fix for signature of inherited dataclass. <!-- Thank you for your contribution! -->
<!-- Unless your change is trivial, please create an issue to discuss the change before creating a PR -->

## Change Summary
Added fix for signature of inherited dataclass when using the pydantic dataclass decorator. 

There is a bug in the following code 

```python
from pydantic.dataclasses import dataclass

@dataclass
class A:
    a: int

@dataclass
class B(A):
    b: int
```
where the signature of the class B does not include the subclass (B) fields (see issue #7906 )

<!-- Please give a short summary of the changes. -->

* Used generate_model_signature to create a temporary signature before running generate_dataclass_signature
* Added unit test for fix

## Related issue number
<!-- WARNING: please use "fix #123" style references so the issue is closed when this PR is merged. -->
fix #7906 

## Checklist

* [ ] The pull request title is a good summary of the changes - it will be used in the changelog
* [x] Unit tests for the changes exist
* [ ] Tests pass on CI
* [ ] Documentation reflects the changes where applicable
* [x] My PR is ready to review, **please add a comment including the phrase "please review" to assign reviewers**

# please review

"""
Check that all `Usage docs` tags in docstrings link to the latest version of pydantic.
"""
import re
import sys
from pathlib import Path

ROOT_DIR = Path(__file__).parent.parent
PYDANTIC_DIR = ROOT_DIR / 'pydantic'
version_file = PYDANTIC_DIR / 'version.py'


version = re.search(rb"VERSION = '(.*)'", version_file.read_bytes()).group(1)
version_major_minor = b'.'.join(version.split(b'.')[:2])
expected_base = b'https://docs.pydantic.dev/' + version_major_minor + b'/'

paths = sys.argv[1:]
error_count = 0
for path_str in paths:
    path = ROOT_DIR / path_str
    b = path.read_bytes()

    changed = 0

    def sub(m: re.Match) -> bytes:
        global changed
        if m.group(2) != expected_base:
            changed += 1
            return m.group(1) + expected_base
        else:
            return m.group(0)

    b = re.sub(rb'(""" *usage.docs: *)(https://.+?/.+?/)', sub, b, flags=re.I)
    if changed:
        error_count += changed
        path.write_bytes(b)
        plural = 's' if changed > 1 else ''
        print(f'{path_str:50} {changed} usage docs link{plural} updated')

if error_count:
    sys.exit(1)

"""
Check that all `Usage docs` tags in docstrings link to the latest version of pydantic.
"""
import re
import sys
from pathlib import Path

ROOT_DIR = Path(__file__).parent.parent
PYDANTIC_DIR = ROOT_DIR / 'pydantic'
version_file = PYDANTIC_DIR / 'version.py'


version = re.search(rb"VERSION = '(.*)'", version_file.read_bytes()).group(1)
version_major_minor = b'.'.join(version.split(b'.')[:2])
expected_base = b'https://docs.pydantic.dev/' + version_major_minor + b'/'

paths = sys.argv[1:]
error_count = 0
for path_str in paths:
    path = ROOT_DIR / path_str
    b = path.read_bytes()

    changed = 0

    def sub(m: re.Match) -> bytes:
        global changed
        if m.group(2) != expected_base:
            changed += 1
            return m.group(1) + expected_base
        else:
            return m.group(0)

    b = re.sub(rb'(""" *usage.docs: *)(https://.+?/.+?/)', sub, b, flags=re.I)
    if changed:
        error_count += changed
        path.write_bytes(b)
        plural = 's' if changed > 1 else ''
        print(f'{path_str:50} {changed} usage docs link{plural} updated')

if error_count:
    sys.exit(1)
