diff --git a/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc b/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc index cf8b795..61dbca9 100644 Binary files a/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc and b/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc differ diff --git a/apps/createDocument/controllers/dg.py b/apps/createDocument/controllers/dg.py index d21b3cb..57f4c8e 100644 --- a/apps/createDocument/controllers/dg.py +++ b/apps/createDocument/controllers/dg.py @@ -13,7 +13,7 @@ from docxtpl import DocxTemplate, InlineImage from pathlib import Path from utils.chen_response import ChenResponse # 导入数据库ORM -from apps.project.models import Project, Contact, Abbreviation, ProjectSoftSummary +from apps.project.models import Project, Contact, Abbreviation, ProjectSoftSummary, StuctSortData from apps.dict.models import Dict # 导入工具函数 from utils.util import get_str_dict, get_list_dict, get_testType, get_ident, get_str_abbr @@ -365,6 +365,8 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): # 生成被测软件接口章节 @route.get('/create/interface', url_name='create-interface') def create_interface(self, id: int): + input_path = Path.cwd() / 'media' / project_path(id) / 'form_template' / 'dg' / '被测软件接口.docx' + doc = DocxTemplate(input_path) project_qs = get_object_or_404(Project, id=id) project_name = project_qs.name interfaceNameList = [] @@ -389,12 +391,28 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): 'protocal': interface.protocal, } interface_list.append(interface_dict) + # 项目接口图处理 - 2026/2/4 + image_obj = StuctSortData.objects.filter(project=project_qs) + ## 判断是否存在 + image_render = None + fontnote = None + if image_obj.exists(): + base64_bytes = base64.b64decode(image_obj.first().content.replace("data:image/png;base64,", "")) + image_render = InlineImage(doc, io.BytesIO(base64_bytes), width=Mm(120)) + fontnote = image_obj.first().fontnote context = { 'project_name': project_name, 'iters': interfaceNameList, 'iter_list': interface_list, + 'image_render': image_render if image_render else "", + 'fontnote': fontnote if fontnote else "".join([project_name, '接口示意图']) } - return create_dg_docx('被测软件接口.docx', context, id) + doc.render(context, autoescape=True) + try: + doc.save(Path.cwd() / "media" / project_path(id) / "output_dir" / '被测软件接口.docx') + return ChenResponse(status=200, code=200, message="文档生成成功!") + except PermissionError as e: + return ChenResponse(status=400, code=400, message="模版文件已打开,请关闭后再试,{0}".format(e)) # 生成顶层技术文件 @route.get('/create/top_file', url_name='create-performance') diff --git a/apps/project/__pycache__/models.cpython-313.pyc b/apps/project/__pycache__/models.cpython-313.pyc index ced7a8f..855f36f 100644 Binary files a/apps/project/__pycache__/models.cpython-313.pyc and b/apps/project/__pycache__/models.cpython-313.pyc differ diff --git a/apps/project/models.py b/apps/project/models.py index bdadaa4..1fb544b 100644 --- a/apps/project/models.py +++ b/apps/project/models.py @@ -530,4 +530,4 @@ class StuctSortData(CoreModel): verbose_name_plural = verbose_name def __str__(self): - return f"{self.soft_summary} - 结构排序化数据:({self.pk})" + return f"结构排序化数据:({self.pk})" diff --git a/conf/base_document/form_template/dg/被测软件接口.docx b/conf/base_document/form_template/dg/被测软件接口.docx index 9529c67..8b5b265 100644 Binary files a/conf/base_document/form_template/dg/被测软件接口.docx and b/conf/base_document/form_template/dg/被测软件接口.docx differ diff --git a/media/R25999/final_seitai/测评大纲.docx b/media/R25999/final_seitai/测评大纲.docx index 1832b16..acb2fa1 100644 Binary files a/media/R25999/final_seitai/测评大纲.docx and b/media/R25999/final_seitai/测评大纲.docx differ diff --git a/media/R25999/form_template/dg/被测软件接口.docx b/media/R25999/form_template/dg/被测软件接口.docx index 9529c67..8b5b265 100644 Binary files a/media/R25999/form_template/dg/被测软件接口.docx and b/media/R25999/form_template/dg/被测软件接口.docx differ diff --git a/media/R25999/output_dir/主要功能和性能指标.docx b/media/R25999/output_dir/主要功能和性能指标.docx index 9d96cec..448b3a9 100644 Binary files a/media/R25999/output_dir/主要功能和性能指标.docx and b/media/R25999/output_dir/主要功能和性能指标.docx differ diff --git a/media/R25999/output_dir/代码质量度量分析表.docx b/media/R25999/output_dir/代码质量度量分析表.docx index b6de3a4..e935a9b 100644 Binary files a/media/R25999/output_dir/代码质量度量分析表.docx and b/media/R25999/output_dir/代码质量度量分析表.docx differ diff --git a/media/R25999/output_dir/动态测试环境说明.docx b/media/R25999/output_dir/动态测试环境说明.docx index c668eb1..e46665b 100644 Binary files a/media/R25999/output_dir/动态测试环境说明.docx and b/media/R25999/output_dir/动态测试环境说明.docx differ diff --git a/media/R25999/output_dir/动态硬件和固件项.docx b/media/R25999/output_dir/动态硬件和固件项.docx index 76c4976..5ec0dca 100644 Binary files a/media/R25999/output_dir/动态硬件和固件项.docx and b/media/R25999/output_dir/动态硬件和固件项.docx differ diff --git a/media/R25999/output_dir/动态软件项.docx b/media/R25999/output_dir/动态软件项.docx index 5785cc6..ac87f15 100644 Binary files a/media/R25999/output_dir/动态软件项.docx and b/media/R25999/output_dir/动态软件项.docx differ diff --git a/media/R25999/output_dir/反向需求规格追踪表.docx b/media/R25999/output_dir/反向需求规格追踪表.docx index b7a20ba..2273a25 100644 Binary files a/media/R25999/output_dir/反向需求规格追踪表.docx and b/media/R25999/output_dir/反向需求规格追踪表.docx differ diff --git a/media/R25999/output_dir/技术依据文件.docx b/media/R25999/output_dir/技术依据文件.docx index ec95a05..014ada5 100644 Binary files a/media/R25999/output_dir/技术依据文件.docx and b/media/R25999/output_dir/技术依据文件.docx differ diff --git a/media/R25999/output_dir/标准依据文件.docx b/media/R25999/output_dir/标准依据文件.docx index 9549b26..90407e0 100644 Binary files a/media/R25999/output_dir/标准依据文件.docx and b/media/R25999/output_dir/标准依据文件.docx differ diff --git a/media/R25999/output_dir/测评对象.docx b/media/R25999/output_dir/测评对象.docx index 33f05fd..2174dac 100644 Binary files a/media/R25999/output_dir/测评对象.docx and b/media/R25999/output_dir/测评对象.docx differ diff --git a/media/R25999/output_dir/测评数据.docx b/media/R25999/output_dir/测评数据.docx index 55a3188..bcba0e3 100644 Binary files a/media/R25999/output_dir/测评数据.docx and b/media/R25999/output_dir/测评数据.docx differ diff --git a/media/R25999/output_dir/测评时间和地点.docx b/media/R25999/output_dir/测评时间和地点.docx index fcac75e..f22c845 100644 Binary files a/media/R25999/output_dir/测评时间和地点.docx and b/media/R25999/output_dir/测评时间和地点.docx differ diff --git a/media/R25999/output_dir/测评条件保障.docx b/media/R25999/output_dir/测评条件保障.docx index 3f00977..22e9e6c 100644 Binary files a/media/R25999/output_dir/测评条件保障.docx and b/media/R25999/output_dir/测评条件保障.docx differ diff --git a/media/R25999/output_dir/测评组织及任务分工.docx b/media/R25999/output_dir/测评组织及任务分工.docx index 7ccefe3..3998272 100644 Binary files a/media/R25999/output_dir/测评组织及任务分工.docx and b/media/R25999/output_dir/测评组织及任务分工.docx differ diff --git a/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx b/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx index 405de51..985a870 100644 Binary files a/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx and b/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx differ diff --git a/media/R25999/output_dir/测试策略.docx b/media/R25999/output_dir/测试策略.docx index 4b2f293..562dcc8 100644 Binary files a/media/R25999/output_dir/测试策略.docx and b/media/R25999/output_dir/测试策略.docx differ diff --git a/media/R25999/output_dir/测试级别和测试类型.docx b/media/R25999/output_dir/测试级别和测试类型.docx index a5d1300..32f0f1e 100644 Binary files a/media/R25999/output_dir/测试级别和测试类型.docx and b/media/R25999/output_dir/测试级别和测试类型.docx differ diff --git a/media/R25999/output_dir/测试项及方法.docx b/media/R25999/output_dir/测试项及方法.docx index 9c00388..5005470 100644 Binary files a/media/R25999/output_dir/测试项及方法.docx and b/media/R25999/output_dir/测试项及方法.docx differ diff --git a/media/R25999/output_dir/环境差异性分析.docx b/media/R25999/output_dir/环境差异性分析.docx index af048b7..83f5701 100644 Binary files a/media/R25999/output_dir/环境差异性分析.docx and b/media/R25999/output_dir/环境差异性分析.docx differ diff --git a/media/R25999/output_dir/研制总要求追踪表.docx b/media/R25999/output_dir/研制总要求追踪表.docx index 28faab8..a21ddcc 100644 Binary files a/media/R25999/output_dir/研制总要求追踪表.docx and b/media/R25999/output_dir/研制总要求追踪表.docx differ diff --git a/media/R25999/output_dir/缩略语.docx b/media/R25999/output_dir/缩略语.docx index f5fee85..2df24a3 100644 Binary files a/media/R25999/output_dir/缩略语.docx and b/media/R25999/output_dir/缩略语.docx differ diff --git a/media/R25999/output_dir/联系人和方式.docx b/media/R25999/output_dir/联系人和方式.docx index 0733c24..6636cb9 100644 Binary files a/media/R25999/output_dir/联系人和方式.docx and b/media/R25999/output_dir/联系人和方式.docx differ diff --git a/media/R25999/output_dir/被测软件基本信息.docx b/media/R25999/output_dir/被测软件基本信息.docx index 7eef6bb..fd38c76 100644 Binary files a/media/R25999/output_dir/被测软件基本信息.docx and b/media/R25999/output_dir/被测软件基本信息.docx differ diff --git a/media/R25999/output_dir/被测软件接口.docx b/media/R25999/output_dir/被测软件接口.docx index 9d76e9a..b218093 100644 Binary files a/media/R25999/output_dir/被测软件接口.docx and b/media/R25999/output_dir/被测软件接口.docx differ diff --git a/media/R25999/output_dir/需求规格说明追踪表.docx b/media/R25999/output_dir/需求规格说明追踪表.docx index 763e741..39a952c 100644 Binary files a/media/R25999/output_dir/需求规格说明追踪表.docx and b/media/R25999/output_dir/需求规格说明追踪表.docx differ diff --git a/media/R25999/output_dir/静态测试环境说明.docx b/media/R25999/output_dir/静态测试环境说明.docx index 51fea9f..03e6083 100644 Binary files a/media/R25999/output_dir/静态测试环境说明.docx and b/media/R25999/output_dir/静态测试环境说明.docx differ diff --git a/media/R25999/output_dir/静态硬件和固件项.docx b/media/R25999/output_dir/静态硬件和固件项.docx index 16c2346..73362ac 100644 Binary files a/media/R25999/output_dir/静态硬件和固件项.docx and b/media/R25999/output_dir/静态硬件和固件项.docx differ diff --git a/media/R25999/output_dir/静态软件项.docx b/media/R25999/output_dir/静态软件项.docx index 9142837..df5b45a 100644 Binary files a/media/R25999/output_dir/静态软件项.docx and b/media/R25999/output_dir/静态软件项.docx differ diff --git a/media/R25999/output_dir/顶层技术文件.docx b/media/R25999/output_dir/顶层技术文件.docx index b40b8aa..20f2ece 100644 Binary files a/media/R25999/output_dir/顶层技术文件.docx and b/media/R25999/output_dir/顶层技术文件.docx differ diff --git a/media/R25999/temp/测评大纲.docx b/media/R25999/temp/测评大纲.docx index 4f0d76f..98c9784 100644 Binary files a/media/R25999/temp/测评大纲.docx and b/media/R25999/temp/测评大纲.docx differ