完成3月试用问题修改
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -460,7 +460,12 @@ class ProjectController(ControllerBase):
|
||||
item_qs = self.get_model_from_category(category).objects.filter(project=project_obj)
|
||||
if item_qs.exists():
|
||||
item_obj = item_qs.first()
|
||||
return ChenResponse(status=200, code=25001, data={"table": item_obj.table, "fontnote": item_obj.fontnote})
|
||||
if item_obj:
|
||||
return ChenResponse(status=200, code=25001, data={
|
||||
"table": item_obj.table,
|
||||
"fontnote": item_obj.fontnote,
|
||||
"rounds": item_obj.rounds_map or []
|
||||
})
|
||||
return ChenResponse(status=200, code=25002, data=None)
|
||||
|
||||
# ~~~静态软件项、静态硬件项、动态软件项、动态硬件项、测评数据 - 新增或修改~~~
|
||||
@@ -470,10 +475,21 @@ class ProjectController(ControllerBase):
|
||||
project_obj = self.get_project_by_id(data.id)
|
||||
model = self.get_model_from_category(data.category)
|
||||
item_qs = model.objects.filter(project=project_obj)
|
||||
# 处理rounds_map
|
||||
rounds = data.rounds
|
||||
if rounds is None:
|
||||
rounds = [["0"]] * len(data.table)
|
||||
|
||||
if item_qs.exists():
|
||||
# 如果存在则修改
|
||||
item_qs.delete()
|
||||
model.objects.create(project=project_obj, table=data.table, fontnote=data.fontnote)
|
||||
model.objects.create(
|
||||
project=project_obj,
|
||||
table=data.table,
|
||||
fontnote=data.fontnote,
|
||||
rounds_map=rounds,
|
||||
)
|
||||
return ChenResponse(status=200, code=20000, message="保存成功")
|
||||
|
||||
# ~~~环境差异性分析 - 获取~~~
|
||||
@route.get("/get_env_analysis/")
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
# Generated by Django 6.0.4 on 2026-04-23 18:15
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('project', '0035_design_is_bidirectional'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='dynamichardwaretable',
|
||||
name='rounds_map',
|
||||
field=models.JSONField(blank=True, default=list, help_text='二维数组,每个内层数组是该行选中的轮次索引(字符串)', verbose_name='轮次数据'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='dynamicsofttable',
|
||||
name='rounds_map',
|
||||
field=models.JSONField(blank=True, default=list, help_text='二维数组,每个内层数组是该行选中的轮次索引(字符串)', verbose_name='轮次数据'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='evaluatedata',
|
||||
name='rounds_map',
|
||||
field=models.JSONField(blank=True, default=list, help_text='二维数组,每个内层数组是该行选中的轮次索引(字符串)', verbose_name='轮次数据'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='staticsofthardware',
|
||||
name='rounds_map',
|
||||
field=models.JSONField(blank=True, default=list, help_text='二维数组,每个内层数组是该行选中的轮次索引(字符串)', verbose_name='轮次数据'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='project',
|
||||
name='beginTime',
|
||||
field=models.DateField(blank=True, help_text='开始时间', null=True, verbose_name='开始时间'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='project',
|
||||
name='endTime',
|
||||
field=models.DateField(blank=True, help_text='结束时间', null=True, verbose_name='结束时间'),
|
||||
),
|
||||
]
|
||||
18
apps/project/migrations/0037_staticsoftitem_rounds_map.py
Normal file
18
apps/project/migrations/0037_staticsoftitem_rounds_map.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 6.0.4 on 2026-04-23 18:19
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('project', '0036_dynamichardwaretable_rounds_map_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='staticsoftitem',
|
||||
name='rounds_map',
|
||||
field=models.JSONField(blank=True, default=list, help_text='二维数组,每个内层数组是该行选中的轮次索引(字符串)', verbose_name='轮次数据'),
|
||||
),
|
||||
]
|
||||
Binary file not shown.
Binary file not shown.
@@ -499,6 +499,12 @@ class StaticSoftItem(models.Model):
|
||||
verbose_name="关联项目", help_text="关联项目")
|
||||
table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value)
|
||||
fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明")
|
||||
rounds_map = models.JSONField(
|
||||
verbose_name="轮次数据",
|
||||
help_text="二维数组,每个内层数组是该行选中的轮次索引(字符串)",
|
||||
default=list,
|
||||
blank=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = 'project_static_soft_item'
|
||||
@@ -511,6 +517,12 @@ class StaticSoftHardware(models.Model):
|
||||
verbose_name="关联项目", help_text="关联项目")
|
||||
table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value)
|
||||
fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明")
|
||||
rounds_map = models.JSONField(
|
||||
verbose_name="轮次数据",
|
||||
help_text="二维数组,每个内层数组是该行选中的轮次索引(字符串)",
|
||||
default=list,
|
||||
blank=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = 'project_static_hardware'
|
||||
@@ -523,6 +535,12 @@ class DynamicSoftTable(models.Model):
|
||||
verbose_name="关联项目", help_text="关联项目")
|
||||
table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value)
|
||||
fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明")
|
||||
rounds_map = models.JSONField(
|
||||
verbose_name="轮次数据",
|
||||
help_text="二维数组,每个内层数组是该行选中的轮次索引(字符串)",
|
||||
default=list,
|
||||
blank=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = 'project_dynamic_soft_item'
|
||||
@@ -535,6 +553,12 @@ class DynamicHardwareTable(models.Model):
|
||||
verbose_name="关联项目", help_text="关联项目")
|
||||
table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value)
|
||||
fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明")
|
||||
rounds_map = models.JSONField(
|
||||
verbose_name="轮次数据",
|
||||
help_text="二维数组,每个内层数组是该行选中的轮次索引(字符串)",
|
||||
default=list,
|
||||
blank=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = 'project_dynamic_hardware'
|
||||
@@ -547,6 +571,12 @@ class EvaluateData(models.Model):
|
||||
verbose_name="关联项目", help_text="关联项目")
|
||||
table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value)
|
||||
fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明")
|
||||
rounds_map = models.JSONField(
|
||||
verbose_name="轮次数据",
|
||||
help_text="二维数组,每个内层数组是该行选中的轮次索引(字符串)",
|
||||
default=list,
|
||||
blank=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
db_table = 'project_evaluate_data'
|
||||
|
||||
Binary file not shown.
@@ -62,6 +62,7 @@ class StaticDynamicData(Schema):
|
||||
category: str
|
||||
table: list[list[str]]
|
||||
fontnote: Optional[str] = ""
|
||||
rounds: Optional[List[List[str]]] = None # 允许不传递
|
||||
|
||||
# ~~~环境差异性分析~~~
|
||||
class EnvAnalysisSchema(Schema):
|
||||
|
||||
Reference in New Issue
Block a user