From d388769ef1cc6901fa43261bc4ec245a7607df83 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 8 May 2026 15:47:21 +0800 Subject: [PATCH] fix: replace uuid.uuid4() with getID() from appPublic.uniqueID for all table ID generation --- contract_management/ai_config_core.py | 2 +- contract_management/attachment_core.py | 3 ++- contract_management/contract_core.py | 3 ++- contract_management/enhanced_contract_core.py | 11 ++++++----- json/contract_list.json | 15 ++++++++++----- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/contract_management/ai_config_core.py b/contract_management/ai_config_core.py index d5682ef..e3fd2a5 100644 --- a/contract_management/ai_config_core.py +++ b/contract_management/ai_config_core.py @@ -23,7 +23,7 @@ async def save_ai_config(request_data: dict, org_id: str) -> dict: INSERT INTO contract_ai_config (id, ai_service_url, api_key, org_id, created_at, updated_at) VALUES (%(id)s, %(ai_service_url)s, %(api_key)s, %(org_id)s, NOW(), NOW()) """ - request_data['id'] = str(uuid.uuid4()).replace('-', '') + request_data['id'] = getID() request_data['org_id'] = org_id await sor.doTransaction([{'sql': sql, 'params': request_data}]) diff --git a/contract_management/attachment_core.py b/contract_management/attachment_core.py index 47e8ffb..ebda2b5 100644 --- a/contract_management/attachment_core.py +++ b/contract_management/attachment_core.py @@ -1,5 +1,6 @@ import os import uuid +from appPublic.uniqueID import getID from datetime import datetime from typing import List, Dict, Optional from appPublic.jsonConfig import getConfig @@ -28,7 +29,7 @@ class ContractAttachmentManager: user_id: str, org_id: str, description: Optional[str] = None) -> str: """上传合同附件""" - attachment_id = str(uuid.uuid4()).replace('-', '') + attachment_id = getID() dbp = await self.get_db_connection(org_id) org_dir = await self.ensure_upload_dir(org_id) diff --git a/contract_management/contract_core.py b/contract_management/contract_core.py index b3ddecf..5146a10 100644 --- a/contract_management/contract_core.py +++ b/contract_management/contract_core.py @@ -1,6 +1,7 @@ import os import json import uuid +from appPublic.uniqueID import getID from datetime import datetime from typing import List, Dict, Optional, Tuple from appPublic.jsonConfig import getConfig @@ -17,7 +18,7 @@ class ContractManager: async def create_contract(self, contract_data: Dict, user_id: str, org_id: str) -> str: """创建合同""" - contract_id = str(uuid.uuid4()).replace('-', '') + contract_id = getID() dbp = await self.get_db_connection(org_id) # 插入合同数据 diff --git a/contract_management/enhanced_contract_core.py b/contract_management/enhanced_contract_core.py index 22c1387..620932b 100644 --- a/contract_management/enhanced_contract_core.py +++ b/contract_management/enhanced_contract_core.py @@ -1,6 +1,7 @@ import os import json import uuid +from appPublic.uniqueID import getID from datetime import datetime, date, timedelta from typing import List, Dict, Optional, Tuple from appPublic.jsonConfig import getConfig @@ -48,7 +49,7 @@ class EnhancedContractManager: async def create_contract(self, contract_data: Dict, user_id: str, org_id: str) -> str: """创建合同(增强版)""" - contract_id = str(uuid.uuid4()).replace('-', '') + contract_id = getID() dbp = await self.get_db_connection(org_id) # 插入合同数据 @@ -99,7 +100,7 @@ class EnhancedContractManager: async def create_contract_version(self, contract_id: str, content: str, user_id: str, org_id: str, version_number: str, modified_reason: str = '') -> str: """创建合同版本""" - version_id = str(uuid.uuid4()).replace('-', '') + version_id = getID() dbp = await self.get_db_connection(org_id) # 将之前的当前版本标记为非当前 @@ -160,7 +161,7 @@ class EnhancedContractManager: # 插入里程碑 for milestone in milestones: - milestone_id = str(uuid.uuid4()).replace('-', '') + milestone_id = getID() milestone_data = { "id": milestone_id, "contract_id": contract_id, @@ -201,7 +202,7 @@ class EnhancedContractManager: # 创建订单 for i, order in enumerate(orders): - order_id = str(uuid.uuid4()).replace('-', '') + order_id = getID() order_number = f"{contract_data['contract_number']}-ORD-{i+1:02d}" order_data = { "id": order_id, @@ -242,7 +243,7 @@ class EnhancedContractManager: raise ValueError(f"订单金额不能超过合同剩余未收款金额 {remaining_amount}") # 创建订单 - order_id = str(uuid.uuid4()).replace('-', '') + order_id = getID() order_number = f"{contract['contract_number']}-MANUAL-{datetime.now().strftime('%Y%m%d%H%M%S')}" final_order_data = { "id": order_id, diff --git a/json/contract_list.json b/json/contract_list.json index c890406..a2c4728 100644 --- a/json/contract_list.json +++ b/json/contract_list.json @@ -70,27 +70,32 @@ { "field": "id", "title": "合同附件", - "url": "{{entire_url('contract_attachment')}}", + "url": "{{entire_url('../contract_attachment')}}", "subtable": "contract_attachment" }, { "field": "id", "title": "合同版本", - "url": "{{entire_url('contract_versions_list')}}", + "url": "{{entire_url('../contract_versions_list')}}", "subtable": "contract_versions" }, { "field": "id", "title": "里程碑", - "url": "{{entire_url('contract_milestones_list')}}", + "url": "{{entire_url('../contract_milestones_list')}}", "subtable": "contract_milestones" }, { "field": "id", "title": "订单", - "url": "{{entire_url('orders_list')}}", + "url": "{{entire_url('../orders_list')}}", "subtable": "orders" } - ] + ], + "editable": { + "new_data_url": "{{entire_url('../api/contracts_create.dspy')}}", + "update_data_url": "{{entire_url('../api/contracts_update.dspy')}}", + "delete_data_url": "{{entire_url('../api/contracts_delete.dspy')}}" + } } } \ No newline at end of file