|
|
@ -155,19 +155,37 @@ class DataStdService: |
|
|
|
@classmethod |
|
|
|
async def code_appr_detail_services(cls, query_db: AsyncSession, col: str): |
|
|
|
""" |
|
|
|
获取参数配置详细信息service |
|
|
|
获取参数配置详细信息 service |
|
|
|
|
|
|
|
:param query_db: orm对象 |
|
|
|
:param config_id: 参数配置id |
|
|
|
:return: 参数配置id对应的信息 |
|
|
|
:param col: 参数配置 id |
|
|
|
:return: 参数配置 id 对应的信息,标记变更字段 |
|
|
|
""" |
|
|
|
config = await DataStdDao.get_std_code_appr_by_id(query_db, col) |
|
|
|
if config: |
|
|
|
result = DataStdCodeApprModel(**CamelCaseUtil.transform_result(config)) |
|
|
|
else: |
|
|
|
result = DataStdCodeApprModel(**dict()) |
|
|
|
if not config: |
|
|
|
return DataStdCodeApprModel(**dict()) |
|
|
|
|
|
|
|
old_config = await DataStdDao.get_std_code_appr_by_id(query_db, config.compareId) |
|
|
|
|
|
|
|
# 将 ORM 对象转为 dict 并驼峰命名 |
|
|
|
current = CamelCaseUtil.transform_result(config) |
|
|
|
result_data = current.copy() |
|
|
|
|
|
|
|
if old_config: |
|
|
|
old = CamelCaseUtil.transform_result(old_config) |
|
|
|
|
|
|
|
def diff(field): |
|
|
|
old_val = str(old.get(field, '') or '') |
|
|
|
new_val = str(current.get(field, '') or '') |
|
|
|
return f"{old_val} ==> {new_val}" if old_val != new_val else new_val |
|
|
|
|
|
|
|
# 比较指定字段 |
|
|
|
result_data["cdNo"] = diff("cdNo") |
|
|
|
result_data["cdValCnMean"] = diff("cdValCnMean") |
|
|
|
result_data["srcSys"] = diff("srcSys") |
|
|
|
|
|
|
|
return result_data |
|
|
|
|
|
|
|
return result |
|
|
|
@classmethod |
|
|
|
async def edit_std_code_services(cls, request: Request, query_db: AsyncSession, page_object: DataStdCodeModel): |
|
|
|
""" |
|
|
@ -481,6 +499,8 @@ class DataStdService: |
|
|
|
item.parent_id = code.onum |
|
|
|
item.upd_prsn = current_user.user.user_name |
|
|
|
item.upd_time = datetime.now() |
|
|
|
item.create_by = current_user.user.user_name |
|
|
|
item.create_time = datetime.now() |
|
|
|
item.src_sys = '公司级' if 'company' == item.cd_type else item.src_sys |
|
|
|
|
|
|
|
if item.onum: # 修改项 |
|
|
@ -491,7 +511,7 @@ class DataStdService: |
|
|
|
last_item_appr= await DataStdDao.get_last_std_code_appr_by_id(query_db,item_appr_model.onum) |
|
|
|
item_appr_model.changeType = "update" |
|
|
|
item_appr_model.compareId = last_item_appr.onum |
|
|
|
item_appr_model.parent_id = code.onum |
|
|
|
item_appr_model.parent_id = appr_model.onum |
|
|
|
item_appr_model.oldInstId = item.onum |
|
|
|
item_appr_model.approStatus = "waiting" |
|
|
|
item_appr_model.flowId = appr_model.flowId |
|
|
@ -513,7 +533,7 @@ class DataStdService: |
|
|
|
item_appr_model.oldInstId = item.onum |
|
|
|
item_appr_model.approStatus = "waiting" |
|
|
|
item_appr_model.flowId = appr_model.flowId |
|
|
|
item_appr_model.parent_id = code.onum |
|
|
|
item_appr_model.parent_id = appr_model.onum |
|
|
|
|
|
|
|
await DataStdDao.add_std_code_appr(query_db, item_appr_model) |
|
|
|
for old_item in code_item_list_old: |
|
|
@ -527,7 +547,7 @@ class DataStdService: |
|
|
|
delete_appr_model.approStatus = "waiting" |
|
|
|
delete_appr_model.flowId = appr_model.flowId |
|
|
|
delete_appr_model.onum = str(uuid.uuid4()) |
|
|
|
delete_appr_model.parent_id = code.onum |
|
|
|
delete_appr_model.parent_id = appr_model.onum |
|
|
|
|
|
|
|
delete_appr_model.create_by = current_user.user.user_name |
|
|
|
delete_appr_model.create_time = datetime.now() |
|
|
@ -1346,15 +1366,15 @@ class DataStdService: |
|
|
|
else: |
|
|
|
raise ServiceException(message='传入标准ID为空') |
|
|
|
@classmethod |
|
|
|
async def change_std_main_onum(cls, query_db: AsyncSession, ids: str,onum:int): |
|
|
|
async def change_std_main_onum(cls, query_db: AsyncSession, ids: str,belt_data_std_content:int): |
|
|
|
if ids: |
|
|
|
col_id_list = ids.split(',') |
|
|
|
try: |
|
|
|
for col_id in col_id_list: |
|
|
|
col_info = await cls.get_std_main_by_id(query_db, col_id) |
|
|
|
if col_info: |
|
|
|
col_info.belt_data_std_content=onum |
|
|
|
await DataStdDao.update_std_main(query_db,col_info.model_dump(exclude_unset=True) ) |
|
|
|
col_info.belt_data_std_content=belt_data_std_content |
|
|
|
await DataStdDao.update_std_main(query_db,col_info ) |
|
|
|
await query_db.commit() |
|
|
|
return CrudResponseModel(is_success=True, message='修改标准分类成功') |
|
|
|
except Exception as e: |
|
|
|