feat: ofm-models 修改专利patent 字段

This commit is contained in:
zty 2025-10-22 16:10:22 +08:00
parent 303252e7a5
commit 7cd95bd1b5
3 changed files with 15 additions and 6 deletions

View File

@ -60,7 +60,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='patentinfo',
name='tech_status',
field=models.JSONField(blank=True, default=apps.ofm.models.PatentInfo.default_document_state, help_text='技术状态信息列表每个条目包含name(名称)、status(状态)、file(文件)字段', verbose_name='技术状态'),
field=models.JSONField(blank=True, default=list, help_text='技术状态信息列表每个条目包含name(名称)、status(状态)、file(文件)字段', verbose_name='技术状态'),
),
migrations.AlterField(
model_name='borrowrecord',

View File

@ -170,9 +170,6 @@ class PatentInfo(CommonBDModel):
('Foreign', '国外申请'),
(' PCT', 'PCT申请'),
)
def default_document_state(self):
return []
name = models.CharField('拟申请专利名称', max_length=100)
author = models.CharField('发明人(设计人)', max_length=100)
@ -180,7 +177,7 @@ class PatentInfo(CommonBDModel):
is_public = models.BooleanField('是否公开', default=False)
area = models.CharField('拟申请地域', max_length=50, choices=APPLY_AREAS, default='Domestic')
other_area = models.CharField('其它申请地域', max_length=50, blank=True, null=True)
tech_status = models.JSONField('技术状态', default=default_document_state, blank=True, help_text='技术状态信息列表每个条目包含name(名称)、status(状态)、file(文件)字段')
tech_status = models.JSONField('技术状态', default=list, blank=True, help_text='技术状态信息列表每个条目包含name(名称)、status(状态)、file(文件)字段')
tech_file = models.JSONField('技术文件', default=list, help_text='技术文件信息列表每个条目包含name(名称)page(页数)字段')
ticket = models.ForeignKey('wf.ticket', verbose_name='关联工单',
on_delete=models.SET_NULL, related_name='patentInfo_ticket', null=True, blank=True, db_constraint=False)

View File

@ -152,4 +152,16 @@ def bind_patent(ticket: Ticket, transition, new_ticket_data: dict):
ticket.save()
if ins.ticket is None:
ins.ticket = ticket
ins.save()
ins.save()
def patent_save_ticket_data(ticket: Ticket, new_ticket_data: dict, **kwargs):
try:
obj = PatentInfo.objects.get(id=new_ticket_data['t_id'])
except PatentInfo.DoesNotExist:
raise ParseError("Publicity t_id 不存在")
data_save = {k: v for k, v in new_ticket_data.items() if k not in ['t_model', 't_id']}
for k, v in data_save.items():
setattr(obj, k, v)
obj.save()