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 = []
filters.append(or_( # filters.append(or_(
DataStdDict.data_dict_cn_name.like(f"%{query.queryStr}%"), # DataStdDict.data_dict_cn_name.like(f"%{query.queryStr}%"),
DataStdDict.data_dict_eng_name.like(f"%{query.queryStr}%") # DataStdDict.data_dict_eng_name.like(f"%{query.queryStr}%")
)) # ))
filters.append(DataStdDict.src_sys == query.ssysCd) filters.append(DataStdDict.src_sys == query.ssysCd)
# c1 = aliased(DataStdDict) # 技术部门 # c1 = aliased(DataStdDict) # 技术部门
# 构建查询语句 # 构建查询语句
@ -500,6 +500,17 @@ class DataStdDao:
) )
).scalars().first() ).scalars().first()
return List 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 @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 from utils.common_util import CamelCaseUtil
import uuid import uuid
from utils.page_util import PageUtil from utils.page_util import PageUtil
from datetime import datetime
class MetaDao: class MetaDao:
@ -240,7 +241,8 @@ class MetaDao:
async def updateMetadataSuppInfoVett(cls, onum: str, operateType: str, db: AsyncSession): async def updateMetadataSuppInfoVett(cls, onum: str, operateType: str, db: AsyncSession):
table = dict( table = dict(
onum=onum, 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]) await db.execute(update(MetadataSuppInfoVett), [table])
@ -274,7 +276,7 @@ class MetaDao:
rec_stat=table.rec_stat, rec_stat=table.rec_stat,
tab_clas=table.tab_clas, tab_clas=table.tab_clas,
rec_subm_prsn=table.rec_subm_prsn, 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]) await db.execute(update(MetadataSuppInfo), [suppTable])
@ -372,7 +374,7 @@ class MetaDao:
@classmethod @classmethod
async def updateMetadataFldSuppInfoVett(cls, onum: str, operateType: str, db: AsyncSession): async def updateMetadataFldSuppInfoVett(cls, onum: str, operateType: str, db: AsyncSession):
updateColumn = dict( updateColumn = dict(
onum=onum, apply_status=operateType onum=onum, apply_status=operateType, upd_time=datetime.now()
) )
await db.execute(update(MetadataFldSuppInfoVett), [updateColumn]) await db.execute(update(MetadataFldSuppInfoVett), [updateColumn])
@ -388,7 +390,7 @@ class MetaDao:
fld_null_rate=column.fld_null_rate, fld_null_rate=column.fld_null_rate,
data_dict_id=column.data_dict_id, data_dict_id=column.data_dict_id,
rec_stat=column.rec_stat, 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]) await db.execute(update(MetadataFldSuppInfo), [updateColumn])
@ -461,6 +463,7 @@ class MetaDao:
) )
).scalars().first() ).scalars().first()
) )
return query_result return query_result
@classmethod @classmethod

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

@ -145,7 +145,7 @@ class DataStdMainPageQueryModel(DataStdMainModel):
class StdDictNoPageParam(BaseModel): class StdDictNoPageParam(BaseModel):
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) 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='系统名称') 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, \ from module_admin.entity.do.meta_do import MetadataSuppInfo, MetadataFldSuppInfo, MetadataSuppInfoVett, \
MetadataFldSuppInfoVett, MetadataExtractInfo, MetadataFldTabExtractInfo MetadataFldSuppInfoVett, MetadataExtractInfo, MetadataFldTabExtractInfo
from module_admin.dao.meta_dao import MetaDao from module_admin.dao.meta_dao import MetaDao
from module_admin.dao.datastd_dao import DataStdDao
from datetime import datetime from datetime import datetime
from module_admin.entity.vo.user_vo import CurrentUserModel from module_admin.entity.vo.user_vo import CurrentUserModel
from module_admin.entity.vo.approval_vo import ApplyModel 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, oldColumn = await MetaDao.get_supp_column_by_columnInfo(supple.ssys_cd, supple.mdl_name,
supple.tab_eng_name, supple.tab_eng_name,
column.fld_eng_name, result_db) 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, columnInfo = await MetaDao.get_meta_column(supple.ssys_cd, supple.mdl_name, supple.tab_eng_name,
column.fld_eng_name, result_db) column.fld_eng_name, result_db)
suppColumnInfo = MetadataFldSuppInfoVett() suppColumnInfo = MetadataFldSuppInfoVett()
@ -116,7 +121,7 @@ class MetaService:
suppColumnInfo.rec_subm_prsn = current_user.user.user_name suppColumnInfo.rec_subm_prsn = current_user.user.user_name
suppColumnInfo.apply_time = applyTime suppColumnInfo.apply_time = applyTime
suppColumnInfo.apply_status = 'waiting' 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) await MetaDao.insertMetadataFldSuppInfoVett(suppColumnInfo, result_db)
applyModel = ApplyModel() applyModel = ApplyModel()
applyModel.businessType = "metaDataInfo" applyModel.businessType = "metaDataInfo"
@ -144,15 +149,15 @@ class MetaService:
recStat=table.rec_stat if table else None, recStat=table.rec_stat if table else None,
tabClas=table.tab_clas if table else None, tabClas=table.tab_clas if table else None,
recSubmPrsn=table.rec_subm_prsn 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) return json.dumps(tableDict)
@classmethod @classmethod
def castToColumnStr(cls, column: MetadataFldSuppInfo, columnInfo: MetadataFldTabExtractInfo): def castToColumnStr(cls, column: MetadataFldSuppInfo, columnInfo: MetadataFldTabExtractInfo, dictName: str):
columnDict = dict( columnDict = dict(
onum=columnInfo.onum, 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, ssysCd=columnInfo.ssys_cd,
mdlName=columnInfo.mdl_name, mdlName=columnInfo.mdl_name,
tabEngName=columnInfo.tab_eng_name, tabEngName=columnInfo.tab_eng_name,
@ -162,15 +167,16 @@ class MetaService:
pkFlag=columnInfo.pk_flag, pkFlag=columnInfo.pk_flag,
requireFlag=columnInfo.require_flag, requireFlag=columnInfo.require_flag,
idxFlag=columnInfo.idx_flag, idxFlag=columnInfo.idx_flag,
fldCrrctName=column.fld_crrct_name 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 else None, crrctPkFlag=column.crrct_pk_flag if column and column.crrct_pk_flag else None,
fldDesc=column.fld_desc if column else None, fldDesc=column.fld_desc if column and column.fld_desc else None,
pic=column.pic if column else None, pic=column.pic if column and column.pic else None,
fldClas=column.fld_clas if column else None, fldClas=column.fld_clas if column and column.fld_clas else None,
fldNullRate=column.fld_null_rate if column else None, fldNullRate=column.fld_null_rate if column and column.fld_null_rate else None,
dataDictId=column.data_dict_id if column else None, dataDictId=column.data_dict_id if column and column.data_dict_id else None,
recStat=column.rec_stat if column else None, dataDictName=dictName,
updTime=column.upd_time.isoformat() if column else None 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) return json.dumps(columnDict)

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

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

Loading…
Cancel
Save