From 0d019c1c8e2ec42368fa4eeb572f85b3abbd4b41 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Thu, 13 Aug 2026 02:39:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(gerp/form):=20CompanyInfo=20=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E7=A7=9F=E6=88=B7=E4=BB=85=E4=B8=80=E6=9D=A1=EF=BC=8C?= =?UTF-8?q?=E9=98=B2=E9=87=8D=E5=A4=8D=E6=8F=90=E4=BA=A4=EF=BC=88epcreate?= =?UTF-8?q?=20=E6=89=93=E9=80=9A=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gvsds/apps/gerp/form_service.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gvsds/apps/gerp/form_service.py b/gvsds/apps/gerp/form_service.py index a916a9f4..a653e9cc 100644 --- a/gvsds/apps/gerp/form_service.py +++ b/gvsds/apps/gerp/form_service.py @@ -1247,6 +1247,11 @@ class FormService(FormServiceBase): dup_qs = dup_qs.filter(CompanyUUID=urw_company) if dup_qs.exists(): return {'error': f'该用户-角色对已在此{target_label}中', 'field': 'UserRoleUUID'} + # CompanyInfo 唯一性:同一租户仅一条企业信息(epcreate 是"完善本企业"向导, + # 防重复提交产生多条;修改走租户详情编辑) + if table_name == 'CompanyInfo' and self.current_tenant_uuid: + if CompanyInfo.objects.filter(TenantUUID_id=self.current_tenant_uuid).exists(): + return {'error': '该租户已存在企业信息,如需修改请在租户详情中编辑', 'field': 'Table'} pk_field_name = model._meta.pk.name if model._meta.pk else None # 关联表主键由后端强制生成(UserRole/UserRoleWorkgroup/UserRoleDepartment/WorkgroupRole 等): # 前端新增时若携带主键(如编辑表单回填),直接覆盖,避免撞主键报 1062 Duplicate