Browse Source

发包脚本上传,空值覆盖问题

master
xueyinfei 4 weeks ago
parent
commit
4e2485eb84
  1. 5
      vue-fastapi-backend/module_admin/controller/meta_controller.py
  2. 31
      vue-fastapi-backend/module_admin/service/meta_service.py
  3. 9
      vue-fastapi-frontend/src/views/meta/metaInfo/index.vue

5
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)

31
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']
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']
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'

9
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 @@
</div>
</template>
</el-upload>
<el-form>
<el-form-item label="开启覆盖">
<el-switch v-model="upload.overWrite"></el-switch>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
@ -899,6 +904,7 @@
isUploading: false,
//
headers: { Authorization: "Bearer " + getToken() },
overWrite: false,
//
url: import.meta.env.VITE_APP_BASE_API + "/dasset/meta/importData",
showResult: false,
@ -937,6 +943,7 @@
})
}
function generateDemoData(){
demoDataList.value = []
let param ={
dataAstSrc: currentMetaData.value.ssysCd,
dataAstEngName:currentMetaData.value.mdlName+"."+currentMetaData.value.tabEngName

Loading…
Cancel
Save