Browse Source

数据标准问题修复

master
si@aidatagov.com 2 days ago
parent
commit
8866ae6898
  1. 18
      vue-fastapi-backend/module_admin/controller/datastd_controller.py
  2. 14
      vue-fastapi-backend/module_admin/service/datastd_service.py
  3. 22
      vue-fastapi-frontend/src/api/datastd/std.js
  4. 29
      vue-fastapi-frontend/src/views/datastd/main/stdMap.vue
  5. 22
      vue-fastapi-frontend/src/views/sqlFlow/index.vue

18
vue-fastapi-backend/module_admin/controller/datastd_controller.py

@ -1,5 +1,5 @@
from datetime import datetime from datetime import datetime
from fastapi import APIRouter, Depends, Request,UploadFile,File from fastapi import APIRouter, Depends, Request,UploadFile,File, Query, Body
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
from config.enums import BusinessType from config.enums import BusinessType
from config.get_db import get_db from config.get_db import get_db
@ -172,12 +172,12 @@ async def delete_std_code(
return ResponseUtil.success(msg=delete_std_code_result.message) return ResponseUtil.success(msg=delete_std_code_result.message)
@datastdController.delete('/stdcode/codeappr/{ids}', @datastdController.delete('/stdcode/codeappr',
dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdcode:codeWithItems:delete'))]) dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdcode:codeWithItems:delete'))])
@Log(title='标准代码与代码项管理', business_type=BusinessType.DELETE) @Log(title='标准代码与代码项管理', business_type=BusinessType.DELETE)
async def delete_std_code_with_items_appr( async def delete_std_code_with_items_appr(
request: Request, request: Request,
ids: str, ids: str = Body(..., embed=True, description="逗号分隔的字典ID字符串"),
query_db: AsyncSession = Depends(get_db), query_db: AsyncSession = Depends(get_db),
current_user: CurrentUserModel = Depends(LoginService.get_current_user), current_user: CurrentUserModel = Depends(LoginService.get_current_user),
): ):
@ -417,15 +417,15 @@ async def edit_std_dict_appr(
return ResponseUtil.success(msg=edit_std_dict_result.message) return ResponseUtil.success(msg=edit_std_dict_result.message)
@datastdController.delete('/stddict/dictappr/{id}', @datastdController.delete('/stddict/dictappr',
dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:remove'))]) dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:remove'))])
@Log(title='数据字典', business_type=BusinessType.DELETE) @Log(title='数据字典', business_type=BusinessType.DELETE)
async def delete_std_dict_Appr( async def delete_std_dict_Appr(
request: Request, request: Request,
id: str, ids: str = Body(..., embed=True, description="逗号分隔的字典ID字符串"),
query_db: AsyncSession = Depends(get_db), query_db: AsyncSession = Depends(get_db),
): ):
delete_std_dict_result = await DataStdService.delete_std_dict_Appr(query_db, id) delete_std_dict_result = await DataStdService.delete_std_dict_Appr(query_db, ids)
logger.info(delete_std_dict_result.message) logger.info(delete_std_dict_result.message)
return ResponseUtil.success(msg=delete_std_dict_result.message) return ResponseUtil.success(msg=delete_std_dict_result.message)
@ -746,15 +746,15 @@ async def delete_std_main(
return ResponseUtil.success(msg=delete_std_main_result.message) return ResponseUtil.success(msg=delete_std_main_result.message)
@datastdController.delete('/stdmain/mainAppr/{id}', @datastdController.delete('/stdmain/mainAppr',
dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:remove'))]) dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:remove'))])
@Log(title='数据标准', business_type=BusinessType.DELETE) @Log(title='数据标准', business_type=BusinessType.DELETE)
async def delete_std_main_Appr( async def delete_std_main_Appr(
request: Request, request: Request,
id: str, ids: str = Body(..., embed=True, description="逗号分隔的字典ID字符串"),
query_db: AsyncSession = Depends(get_db), query_db: AsyncSession = Depends(get_db),
): ):
delete_std_main_result = await DataStdService.delete_std_main_Appr(query_db, id) delete_std_main_result = await DataStdService.delete_std_main_Appr(query_db, ids)
logger.info(delete_std_main_result.message) logger.info(delete_std_main_result.message)
return ResponseUtil.success(msg=delete_std_main_result.message) return ResponseUtil.success(msg=delete_std_main_result.message)

14
vue-fastapi-backend/module_admin/service/datastd_service.py

@ -1374,7 +1374,7 @@ class DataStdService:
if col_info: if col_info:
watingList=await DataStdDao.check_std_main_waiting(col_info.onum,query_db ) watingList=await DataStdDao.check_std_main_waiting(col_info.onum,query_db )
if watingList : # 如果 watingList 存在,意味着标准正在审批中 if watingList : # 如果 watingList 存在,意味着标准正在审批中
raise ServiceException(message="数据标准正在审批中,请等待审批完成") raise ServiceException(message=col_info.data_std_cn_name+"数据标准正在审批中,请等待审批完成")
apprModel = DataStdMainApprModel(**col_info.model_dump(exclude_unset=True, by_alias=True)) apprModel = DataStdMainApprModel(**col_info.model_dump(exclude_unset=True, by_alias=True))
apprModel.changeType="delete" apprModel.changeType="delete"
apprModel.onum=str(uuid.uuid4()) apprModel.onum=str(uuid.uuid4())
@ -1404,7 +1404,7 @@ class DataStdService:
if col_info: if col_info:
watingList=await DataStdDao.check_std_dict_waiting(col_info.onum,query_db ) watingList=await DataStdDao.check_std_dict_waiting(col_info.onum,query_db )
if watingList : # 如果 watingList 存在,意味着标准正在审批中 if watingList : # 如果 watingList 存在,意味着标准正在审批中
raise ServiceException(message="数据字典正在审批中,请等待审批完成") raise ServiceException(message=col_info.data_dict_cn_name+"数据字典正在审批中,请等待审批完成")
apprModel = DataStdDictApprModel(**col_info.model_dump(exclude_unset=True, by_alias=True)) apprModel = DataStdDictApprModel(**col_info.model_dump(exclude_unset=True, by_alias=True))
apprModel.changeType="delete" apprModel.changeType="delete"
apprModel.onum=str(uuid.uuid4()) apprModel.onum=str(uuid.uuid4())
@ -1647,7 +1647,7 @@ class DataStdService:
} }
children.append(sys_main_node) children.append(sys_main_node)
cd_type = dataStdNo.src_sys cd_type = dataStdNo.src_sys
check_model.data_std_no = dataStdNo.onum check_model.data_std_no = dataStdNo.data_std_no
# Redis 判断是否有字典层 # Redis 判断是否有字典层
hasDict = await request.app.state.redis.get(f'{RedisInitKeyConfig.SYS_CONFIG.key}:sys.std.dict') hasDict = await request.app.state.redis.get(f'{RedisInitKeyConfig.SYS_CONFIG.key}:sys.std.dict')
@ -1717,7 +1717,7 @@ class DataStdService:
# 获取该字典直接引用的元数据列表 # 获取该字典直接引用的元数据列表
meta_list = await DataStdDao.get_meta_field_list_by_onum(query_db, id) meta_list = await DataStdDao.get_meta_field_list_by_onum(query_db, id)
if not meta_list: if not meta_list:
return {"children": children} return {"children": []}
children = [] children = []
for meta in meta_list: for meta in meta_list:
@ -1742,9 +1742,9 @@ class DataStdService:
""" """
获取用户导入模板service 获取用户导入模板service
:return: 用户导入模板excel的二进制数据 :return: 用户导入模板excel的二进制
""" """
header_list = ['标准归属', '来源系统', '标准编号', '标准中文名', '标准文名', '标准业务定义', '标准类型', '标准来源', '数据类别','安全等级', '代码编号', '标准目录','业务认责部门', '业务认责人员', '技术认责部门', '技术认责人员'] header_list = ['标准归属', '来源系统', '标准编号', '数据标准英文名', '标准文名', '标准业务定义', '标准类型', '标准来源', '数据类别','安全等级', '代码编号', '标准目录','业务认责部门', '业务认责人员', '技术认责部门', '技术认责人员']
selector_header_list = ['标准归属', '标准类型',"标准来源"] selector_header_list = ['标准归属', '标准类型',"标准来源"]
option_list = [{'标准归属': ['公司级', '系统级']}, {'标准类型': ['基础数据', '指标数据']}, {'标准来源': ['行业标准', '自建标准','自建标准-智能']}] option_list = [{'标准归属': ['公司级', '系统级']}, {'标准类型': ['基础数据', '指标数据']}, {'标准来源': ['行业标准', '自建标准','自建标准-智能']}]
binary_data = get_excel_template( binary_data = get_excel_template(
@ -1807,8 +1807,8 @@ class DataStdService:
'标准归属': 'data_std_vest', '标准归属': 'data_std_vest',
'来源系统': 'std_source_system', '来源系统': 'std_source_system',
'标准编号': 'data_std_no', '标准编号': 'data_std_no',
'标准中文名': 'std_name_zh',
'标准英文名': 'std_name_en', '标准英文名': 'std_name_en',
'标准中文名': 'std_name_zh',
'标准业务定义': 'std_definition', '标准业务定义': 'std_definition',
'标准类型': 'std_type', '标准类型': 'std_type',
'标准来源': 'std_source', '标准来源': 'std_source',

22
vue-fastapi-frontend/src/api/datastd/std.js

@ -129,9 +129,11 @@ export function updateStdCodeItem(data) {
} }
// 删除标准代码 // 删除标准代码
export function deleteStdCode(colId) { export function deleteStdCode(ids) {
return request({ return request({
url: '/default-api/datastd/stdcode/codeappr/' + colId, url: '/default-api/datastd/stdcode/codeappr' ,
data: { ids } ,
method: 'delete' method: 'delete'
}) })
} }
@ -153,9 +155,11 @@ export function deleteStdCodes(colIds) {
} }
// 批量删除标准代码项 // 批量删除标准代码项
export function deleteStdCodeItems(rowIds) { export function deleteStdCodeItems(ids) {
return request({ return request({
url: '/default-api/datastd/stdcode/codeItem/' + rowIds, url: '/default-api/datastd/stdcode/codeItem',
data: { ids } ,
method: 'delete' method: 'delete'
}) })
} }
@ -208,9 +212,10 @@ export function updateStdDict(data) {
// 删除标准代码 // 删除标准代码
export function deleteStdDict(colId) { export function deleteStdDict(ids) {
return request({ return request({
url: '/default-api/datastd/stddict/dictappr/' + colId, url: '/default-api/datastd/stddict/dictappr',
data: { ids } ,
method: 'delete' method: 'delete'
}) })
} }
@ -314,9 +319,10 @@ export function updateStdMain(data) {
// 删除数据标准 // 删除数据标准
export function deleteStdMain(colId) { export function deleteStdMain(ids) {
return request({ return request({
url: '/default-api/datastd/stdmain/mainAppr/' + colId, url: '/default-api/datastd/stdmain/mainAppr' ,
data: { ids } ,
method: 'delete' method: 'delete'
}) })
} }

29
vue-fastapi-frontend/src/views/datastd/main/stdMap.vue

@ -37,20 +37,11 @@
<el-table <el-table
v-loading="loading" v-loading="loading"
:data="tableData" :data="tableData"
@selection-change="handleSelectionChange"
border border
style="width: 100%" style="width: 100%"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="源系统" align="center" prop="targetSysName">
<template #default="scope">
<span >
{{
getSrcSysName(scope.row.targetSysName)
}}
</span>
</template>
</el-table-column> -->
<el-table-column label="标准编号" prop="dataStdNo" align="center" /> <el-table-column label="标准编号" prop="dataStdNo" align="center" />
<el-table-column label="标准英文名称" prop="dataStdEngName" align="center" /> <el-table-column label="标准英文名称" prop="dataStdEngName" align="center" />
<el-table-column label="标准中文名称" prop="dataStdCnName" align="center" /> <el-table-column label="标准中文名称" prop="dataStdCnName" align="center" />
@ -77,7 +68,7 @@ const userStore = useUserStore(); // 正确调用
const dsSysList = userStore.dsSysList; // 访 const dsSysList = userStore.dsSysList; // 访
const props = defineProps({ const props = defineProps({
codeId: { codeId: {
type: Object, type: String,
required: false required: false
}, },
@ -139,27 +130,21 @@ const getList = async () => {
console.log(queryParams.value,"queryParams.value") console.log(queryParams.value,"queryParams.value")
const response = await listStdCodemap2(queryParams.value); const response = await listStdCodemap2(queryParams.value);
tableData.value = response.rows.map(item => ({ ...item})); tableData.value = response.rows.map(item => ({ ...item}));
console.log(tableData.value,"tableData.value")
loading.value = false; loading.value = false;
}; };
const handleCodeClick = (row) => {
console.log('点击了标准代码名称', row);
};
const handleSelectionChange = (selection) => { const handleSelectionChange = (selection) => {
multiple.value = selection.length > 0; multiple.value = selection.length > 0;
selections.value = selection; // selections.value = selection; //
console.log(selections.value,"子页面选中")
}; };
//
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
};
defineExpose({ defineExpose({
@ -193,8 +178,10 @@ onMounted(() => {
if (treeGraph.value) { if (treeGraph.value) {
treeGraph.value.refreshGraph(); treeGraph.value.refreshGraph();
} }
getList();
}); });
getList();
}); });

22
vue-fastapi-frontend/src/views/sqlFlow/index.vue

@ -0,0 +1,22 @@
<template>
<div class="sql-container">
<SQLCodeMirror v-if="activeColumnTab === 'proc'" :data="procStr" :dbType="dbType" />
</div>
</template>
<script setup>
import { ref } from 'vue'
import SQLCodeMirror from '@/components/codemirror/SQLCodeMirror.vue'
const activeColumnTab = ref('proc')
const procStr = ref('SELECT * FROM users LIMIT 100;')
const dbType = ref('MYSQL')
</script>
<style scoped>
.sql-container {
padding: 16px;
background: #fafafa;
height: 100vh;
}
</style>
Loading…
Cancel
Save