Compare commits

...

2 Commits

Author SHA1 Message Date
xueyinfei 12a12c08e8 Merge remote-tracking branch 'origin/master' 1 month ago
xueyinfei d37ea59767 元数据模块bug修复 1 month ago
  1. 19
      vue-fastapi-backend/module_admin/dao/datastd_dao.py
  2. 11
      vue-fastapi-backend/module_admin/dao/meta_dao.py
  3. 2
      vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py
  4. 32
      vue-fastapi-backend/module_admin/service/meta_service.py
  5. 25
      vue-fastapi-frontend/src/views/meta/metaInfo/index.vue

19
vue-fastapi-backend/module_admin/dao/datastd_dao.py

@ -420,10 +420,10 @@ class DataStdDao:
"""
# 构建查询条件
filters = []
filters.append(or_(
DataStdDict.data_dict_cn_name.like(f"%{query.queryStr}%"),
DataStdDict.data_dict_eng_name.like(f"%{query.queryStr}%")
))
# filters.append(or_(
# DataStdDict.data_dict_cn_name.like(f"%{query.queryStr}%"),
# DataStdDict.data_dict_eng_name.like(f"%{query.queryStr}%")
# ))
filters.append(DataStdDict.src_sys == query.ssysCd)
# c1 = aliased(DataStdDict) # 技术部门
# 构建查询语句
@ -500,6 +500,17 @@ class DataStdDao:
)
).scalars().first()
return List
@classmethod
async def get_data_dict_by_id(cls, db: AsyncSession, id: str):
List = (
await db.execute(
select(DataStdDict)
.where(
DataStdDict.onum == id
)
)
).scalars().first()
return List
# 数据标准目录
@classmethod

11
vue-fastapi-backend/module_admin/dao/meta_dao.py

@ -8,6 +8,7 @@ from module_admin.entity.do.meta_do import MetadataExtractInfo, MetadataSuppInfo
from utils.common_util import CamelCaseUtil
import uuid
from utils.page_util import PageUtil
from datetime import datetime
class MetaDao:
@ -240,7 +241,8 @@ class MetaDao:
async def updateMetadataSuppInfoVett(cls, onum: str, operateType: str, db: AsyncSession):
table = dict(
onum=onum,
apply_status=operateType
apply_status=operateType,
upd_time=datetime.now().strftime("%Y-%m-%d %H:%M:%S")
)
await db.execute(update(MetadataSuppInfoVett), [table])
@ -274,7 +276,7 @@ class MetaDao:
rec_stat=table.rec_stat,
tab_clas=table.tab_clas,
rec_subm_prsn=table.rec_subm_prsn,
upd_time=table.upd_time
upd_time=table.upd_time if table.upd_time else datetime.now()
)
await db.execute(update(MetadataSuppInfo), [suppTable])
@ -372,7 +374,7 @@ class MetaDao:
@classmethod
async def updateMetadataFldSuppInfoVett(cls, onum: str, operateType: str, db: AsyncSession):
updateColumn = dict(
onum=onum, apply_status=operateType
onum=onum, apply_status=operateType, upd_time=datetime.now()
)
await db.execute(update(MetadataFldSuppInfoVett), [updateColumn])
@ -388,7 +390,7 @@ class MetaDao:
fld_null_rate=column.fld_null_rate,
data_dict_id=column.data_dict_id,
rec_stat=column.rec_stat,
upd_time=column.upd_time,
upd_time=column.upd_time if column.upd_time else datetime.now(),
)
await db.execute(update(MetadataFldSuppInfo), [updateColumn])
@ -461,6 +463,7 @@ class MetaDao:
)
).scalars().first()
)
return query_result
@classmethod

2
vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py

@ -145,7 +145,7 @@ class DataStdMainPageQueryModel(DataStdMainModel):
class StdDictNoPageParam(BaseModel):
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
queryStr: Optional[str] = Field(default=None, description='查询数据字典名称或代码')
# queryStr: Optional[str] = Field(default=None, description='查询数据字典名称或代码')
ssysCd: Optional[str] = Field(default=None, description='系统名称')

32
vue-fastapi-backend/module_admin/service/meta_service.py

@ -6,6 +6,7 @@ from module_admin.entity.vo.meta_vo import MetaPageObject, MetaColObject, Supple
from module_admin.entity.do.meta_do import MetadataSuppInfo, MetadataFldSuppInfo, MetadataSuppInfoVett, \
MetadataFldSuppInfoVett, MetadataExtractInfo, MetadataFldTabExtractInfo
from module_admin.dao.meta_dao import MetaDao
from module_admin.dao.datastd_dao import DataStdDao
from datetime import datetime
from module_admin.entity.vo.user_vo import CurrentUserModel
from module_admin.entity.vo.approval_vo import ApplyModel
@ -97,6 +98,10 @@ class MetaService:
oldColumn = await MetaDao.get_supp_column_by_columnInfo(supple.ssys_cd, supple.mdl_name,
supple.tab_eng_name,
column.fld_eng_name, result_db)
data_dict_name = ''
if oldColumn.data_dict_id and oldColumn.data_dict_id != '':
oldDict = await DataStdDao.get_data_dict_by_id(result_db, oldColumn.data_dict_id)
data_dict_name = oldDict.data_dict_cn_name if oldDict else ''
columnInfo = await MetaDao.get_meta_column(supple.ssys_cd, supple.mdl_name, supple.tab_eng_name,
column.fld_eng_name, result_db)
suppColumnInfo = MetadataFldSuppInfoVett()
@ -116,7 +121,7 @@ class MetaService:
suppColumnInfo.rec_subm_prsn = current_user.user.user_name
suppColumnInfo.apply_time = applyTime
suppColumnInfo.apply_status = 'waiting'
suppColumnInfo.oldColumnData = cls.castToColumnStr(oldColumn, columnInfo)
suppColumnInfo.oldColumnData = cls.castToColumnStr(oldColumn, columnInfo, data_dict_name)
await MetaDao.insertMetadataFldSuppInfoVett(suppColumnInfo, result_db)
applyModel = ApplyModel()
applyModel.businessType = "metaDataInfo"
@ -144,15 +149,15 @@ class MetaService:
recStat=table.rec_stat if table else None,
tabClas=table.tab_clas if table else None,
recSubmPrsn=table.rec_subm_prsn if table else None,
updTime=table.upd_time if table else None
updTime=table.upd_time.isoformat() if table and table.upd_time else None
)
return json.dumps(tableDict)
@classmethod
def castToColumnStr(cls, column: MetadataFldSuppInfo, columnInfo: MetadataFldTabExtractInfo):
def castToColumnStr(cls, column: MetadataFldSuppInfo, columnInfo: MetadataFldTabExtractInfo, dictName: str):
columnDict = dict(
onum=columnInfo.onum,
crrctVerNum=column.crrct_ver_num if column else None,
crrctVerNum=column.crrct_ver_num if column and column.crrct_ver_num else None,
ssysCd=columnInfo.ssys_cd,
mdlName=columnInfo.mdl_name,
tabEngName=columnInfo.tab_eng_name,
@ -162,15 +167,16 @@ class MetaService:
pkFlag=columnInfo.pk_flag,
requireFlag=columnInfo.require_flag,
idxFlag=columnInfo.idx_flag,
fldCrrctName=column.fld_crrct_name if column else None,
crrctPkFlag=column.crrct_pk_flag if column else None,
fldDesc=column.fld_desc if column else None,
pic=column.pic if column else None,
fldClas=column.fld_clas if column else None,
fldNullRate=column.fld_null_rate if column else None,
dataDictId=column.data_dict_id if column else None,
recStat=column.rec_stat if column else None,
updTime=column.upd_time.isoformat() if column else None
fldCrrctName=column.fld_crrct_name if column and column.fld_crrct_name else None,
crrctPkFlag=column.crrct_pk_flag if column and column.crrct_pk_flag else None,
fldDesc=column.fld_desc if column and column.fld_desc else None,
pic=column.pic if column and column.pic else None,
fldClas=column.fld_clas if column and column.fld_clas else None,
fldNullRate=column.fld_null_rate if column and column.fld_null_rate else None,
dataDictId=column.data_dict_id if column and column.data_dict_id else None,
dataDictName=dictName,
recStat=column.rec_stat if column and column.rec_stat else None,
updTime=column.upd_time.isoformat() if column and column.upd_time else None
)
return json.dumps(columnDict)

25
vue-fastapi-frontend/src/views/meta/metaInfo/index.vue

@ -509,11 +509,8 @@
<el-select
v-model="currentColumnData.dataDictId"
filterable
remote
reserve-keyword
style="width: 192px"
placeholder="请输入关键词"
:remote-method="remoteStddict"
@change="changestdDict"
:loading="loading">
<el-option
@ -841,29 +838,24 @@
}
function changestdDict(val){
console.log(val)
for (let i = 0; i < stddictOptions.value.length; i++) {
if (val === stddictOptions.value[i].onum){
currentColumnData.value.dataDictName = stddictOptions.value[i].dataDictCnName
}
}
console.log()
}
function remoteStddict(query){
if (query !== ""){
let param = {queryStr:query}
let dbList = databaseList.value[0].children;
for (let i = 0; i < dbList.length; i++) {
if (currentMetaData.value.ssysCd.toUpperCase() === dbList[i].name.toUpperCase()){
param.ssysCd = dbList[i].id + ""
}
function remoteStddict(){
let param = {ssysCd:""}
let dbList = databaseList.value[0].children;
for (let i = 0; i < dbList.length; i++) {
if (currentMetaData.value.ssysCd.toUpperCase() === dbList[i].name.toUpperCase()){
param.ssysCd = dbList[i].id + ""
}
}
if (param.ssysCd !== ""){
listStdDictNoPage(param).then(res=>{
stddictOptions.value = res.data
})
}else{
stddictOptions.value = []
}
}
function generateDemoData(){
@ -1195,6 +1187,7 @@
getMetaClasList().then(res=>{
metaClasList.value = res.data
})
remoteStddict()
}
function showColumnDialog(row) {
let tableData = JSON.parse(JSON.stringify(row))

Loading…
Cancel
Save