diff --git a/vue-fastapi-backend/module_admin/controller/meta_controller.py b/vue-fastapi-backend/module_admin/controller/meta_controller.py index 6f8909f..c5d5c21 100644 --- a/vue-fastapi-backend/module_admin/controller/meta_controller.py +++ b/vue-fastapi-backend/module_admin/controller/meta_controller.py @@ -1,4 +1,4 @@ -from fastapi import APIRouter, Depends, Request, UploadFile, File +from fastapi import APIRouter, Depends, Request, UploadFile, File, Query from sqlalchemy.ext.asyncio import AsyncSession from config.get_db import get_db from module_admin.entity.vo.user_vo import CurrentUserModel @@ -93,7 +93,8 @@ async def export_system_user_template(request: Request, query_db: AsyncSession = async def batch_import_meta_data( request: Request, file: UploadFile = File(...), + overWrite: bool = Query(alias='overWrite'), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)): - batch_import_result = await MetaService.batch_import_meta_services(query_db, file, current_user) + batch_import_result = await MetaService.batch_import_meta_services(query_db, file, overWrite, current_user) return ResponseUtil.success(msg=batch_import_result) diff --git a/vue-fastapi-backend/module_admin/service/meta_service.py b/vue-fastapi-backend/module_admin/service/meta_service.py index f310f4f..adb1544 100644 --- a/vue-fastapi-backend/module_admin/service/meta_service.py +++ b/vue-fastapi-backend/module_admin/service/meta_service.py @@ -548,6 +548,7 @@ class MetaService: async def batch_import_meta_services(cls, result_db: AsyncSession, file: UploadFile, + overWrite: bool, current_user: CurrentUserModel): import_err_msg = [] # 调用DS接口通过系统代码查询系统ID @@ -652,12 +653,20 @@ class MetaService: suppTableInfo.ssys_id = ssysId suppTableInfo.mdl_name = row['mdl_name'] suppTableInfo.tab_eng_name = row['tab_eng_name'] - suppTableInfo.tab_crrct_name = row['tab_crrct_name'] - suppTableInfo.tab_desc = row['tab_desc'] + if overWrite: + suppTableInfo.tab_crrct_name = row['tab_crrct_name'] + suppTableInfo.tab_desc = row['tab_desc'] + suppTableInfo.rec_subm_prsn = row['rec_subm_prsn'] + else: + suppTableInfo.tab_crrct_name = row['tab_crrct_name'] if row['tab_crrct_name'] and \ + row['tab_crrct_name'].strip() != '' else oldTable.tab_crrct_name if oldTable else None + suppTableInfo.tab_desc = row['tab_desc'] if row['tab_desc'] and \ + row['tab_desc'].strip() != '' else oldTable.tab_desc if oldTable else None + suppTableInfo.rec_subm_prsn = row['rec_subm_prsn'] if row['rec_subm_prsn'] and \ + row['rec_subm_prsn'].strip() != '' else oldTable.rec_subm_prsn if oldTable else None suppTableInfo.pic = oldTable.pic if oldTable else None suppTableInfo.gov_flag = oldTable.gov_flag if oldTable else None suppTableInfo.tab_clas = oldTable.tab_clas if oldTable else None - suppTableInfo.rec_subm_prsn = row['rec_subm_prsn'] suppTableInfo.apply_time = applyTime suppTableInfo.apply_status = 'waiting' suppTableInfo.business_id = businessId @@ -724,16 +733,30 @@ class MetaService: suppColumnInfo.mdl_name = row['mdl_name'] suppColumnInfo.tab_eng_name = row['tab_eng_name'] suppColumnInfo.fld_eng_name = row['fld_eng_name'] - suppColumnInfo.fld_crrct_name = row['fld_crrct_name'] - suppColumnInfo.crrct_pk_flag = True if row['crrct_pk_flag'] and row['crrct_pk_flag'] == '是' else False - suppColumnInfo.fld_desc = row['fld_desc'] + if overWrite: + suppColumnInfo.fld_crrct_name = row['fld_crrct_name'] + suppColumnInfo.crrct_pk_flag = True if row['crrct_pk_flag'] and row['crrct_pk_flag'] == '是' else False + suppColumnInfo.fld_desc = row['fld_desc'] + suppColumnInfo.data_sec_lvl = row['data_sec_lvl'] + suppColumnInfo.rec_subm_prsn = row['rec_subm_prsn'] + suppColumnInfo.data_dict_id = dataDictId if dataDictId != '' else None + else: + suppColumnInfo.fld_crrct_name = row['fld_crrct_name'] if row['fld_crrct_name'] and \ + row['fld_crrct_name'].strip() != '' else oldColumn.fld_crrct_name if oldColumn else None + suppColumnInfo.crrct_pk_flag = oldColumn.crrct_pk_flag if row['crrct_pk_flag'] is None \ + else True if row['crrct_pk_flag'] and row['crrct_pk_flag'] == '是' else False + suppColumnInfo.fld_desc = row['fld_desc'] if row['fld_desc'] and \ + row['fld_desc'].strip() != '' else oldColumn.fld_desc if oldColumn else None + suppColumnInfo.data_sec_lvl = row['data_sec_lvl'] if row['data_sec_lvl'] and \ + row['data_sec_lvl'].strip() != '' else oldColumn.data_sec_lvl if oldColumn else None + suppColumnInfo.rec_subm_prsn = row['rec_subm_prsn'] if row['rec_subm_prsn'] and \ + row['rec_subm_prsn'].strip() != '' else oldColumn.rec_subm_prsn if oldColumn else None + suppColumnInfo.data_dict_id = dataDictId if dataDictId != '' else oldColumn.data_dict_id \ + if oldColumn else None suppColumnInfo.pic = oldColumn.pic if oldColumn else None suppColumnInfo.fld_clas = oldColumn.fld_clas if oldColumn else None suppColumnInfo.fld_null_rate = oldColumn.fld_null_rate if oldColumn else None - suppColumnInfo.data_dict_id = dataDictId if dataDictId != '' else None - suppColumnInfo.data_sec_lvl = row['data_sec_lvl'] suppColumnInfo.rec_stat = oldColumn.rec_stat if oldColumn else None - suppColumnInfo.rec_subm_prsn = row['rec_subm_prsn'] suppColumnInfo.business_id = businessId suppColumnInfo.apply_time = applyTime suppColumnInfo.apply_status = 'waiting' diff --git a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue index aba3b8a..b44fe6f 100644 --- a/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue +++ b/vue-fastapi-frontend/src/views/meta/metaInfo/index.vue @@ -755,7 +755,7 @@ :limit="1" accept=".xlsx, .xls" :headers="upload.headers" - :action="upload.url" + :action="upload.url + '?overWrite=' + upload.overWrite" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" @@ -771,6 +771,11 @@ + + + + +