Browse Source

数据标准问题修复

master
si@aidatagov.com 19 hours 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 fastapi import APIRouter, Depends, Request,UploadFile,File
from fastapi import APIRouter, Depends, Request,UploadFile,File, Query, Body
from sqlalchemy.ext.asyncio import AsyncSession
from config.enums import BusinessType
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)
@datastdController.delete('/stdcode/codeappr/{ids}',
@datastdController.delete('/stdcode/codeappr',
dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdcode:codeWithItems:delete'))])
@Log(title='标准代码与代码项管理', business_type=BusinessType.DELETE)
async def delete_std_code_with_items_appr(
request: Request,
ids: str,
ids: str = Body(..., embed=True, description="逗号分隔的字典ID字符串"),
query_db: AsyncSession = Depends(get_db),
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)
@datastdController.delete('/stddict/dictappr/{id}',
@datastdController.delete('/stddict/dictappr',
dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:remove'))])
@Log(title='数据字典', business_type=BusinessType.DELETE)
async def delete_std_dict_Appr(
request: Request,
id: str,
ids: str = Body(..., embed=True, description="逗号分隔的字典ID字符串"),
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)
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)
@datastdController.delete('/stdmain/mainAppr/{id}',
@datastdController.delete('/stdmain/mainAppr',
dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:remove'))])
@Log(title='数据标准', business_type=BusinessType.DELETE)
async def delete_std_main_Appr(
request: Request,
id: str,
ids: str = Body(..., embed=True, description="逗号分隔的字典ID字符串"),
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)
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:
watingList=await DataStdDao.check_std_main_waiting(col_info.onum,query_db )
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.changeType="delete"
apprModel.onum=str(uuid.uuid4())
@ -1404,7 +1404,7 @@ class DataStdService:
if col_info:
watingList=await DataStdDao.check_std_dict_waiting(col_info.onum,query_db )
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.changeType="delete"
apprModel.onum=str(uuid.uuid4())
@ -1647,7 +1647,7 @@ class DataStdService:
}
children.append(sys_main_node)
cd_type = dataStdNo.src_sys
check_model.data_std_no = dataStdNo.onum
check_model.data_std_no = dataStdNo.data_std_no
# Redis 判断是否有字典层
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)
if not meta_list:
return {"children": children}
return {"children": []}
children = []
for meta in meta_list:
@ -1742,9 +1742,9 @@ class DataStdService:
"""
获取用户导入模板service
:return: 用户导入模板excel的二进制数据
:return: 用户导入模板excel的二进制
"""
header_list = ['标准归属', '来源系统', '标准编号', '标准中文名', '标准文名', '标准业务定义', '标准类型', '标准来源', '数据类别','安全等级', '代码编号', '标准目录','业务认责部门', '业务认责人员', '技术认责部门', '技术认责人员']
header_list = ['标准归属', '来源系统', '标准编号', '数据标准英文名', '标准文名', '标准业务定义', '标准类型', '标准来源', '数据类别','安全等级', '代码编号', '标准目录','业务认责部门', '业务认责人员', '技术认责部门', '技术认责人员']
selector_header_list = ['标准归属', '标准类型',"标准来源"]
option_list = [{'标准归属': ['公司级', '系统级']}, {'标准类型': ['基础数据', '指标数据']}, {'标准来源': ['行业标准', '自建标准','自建标准-智能']}]
binary_data = get_excel_template(
@ -1807,8 +1807,8 @@ class DataStdService:
'标准归属': 'data_std_vest',
'来源系统': 'std_source_system',
'标准编号': 'data_std_no',
'标准中文名': 'std_name_zh',
'标准英文名': 'std_name_en',
'标准中文名': 'std_name_zh',
'标准业务定义': 'std_definition',
'标准类型': 'std_type',
'标准来源': '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({
url: '/default-api/datastd/stdcode/codeappr/' + colId,
url: '/default-api/datastd/stdcode/codeappr' ,
data: { ids } ,
method: 'delete'
})
}
@ -153,9 +155,11 @@ export function deleteStdCodes(colIds) {
}
// 批量删除标准代码项
export function deleteStdCodeItems(rowIds) {
export function deleteStdCodeItems(ids) {
return request({
url: '/default-api/datastd/stdcode/codeItem/' + rowIds,
url: '/default-api/datastd/stdcode/codeItem',
data: { ids } ,
method: 'delete'
})
}
@ -208,9 +212,10 @@ export function updateStdDict(data) {
// 删除标准代码
export function deleteStdDict(colId) {
export function deleteStdDict(ids) {
return request({
url: '/default-api/datastd/stddict/dictappr/' + colId,
url: '/default-api/datastd/stddict/dictappr',
data: { ids } ,
method: 'delete'
})
}
@ -314,9 +319,10 @@ export function updateStdMain(data) {
// 删除数据标准
export function deleteStdMain(colId) {
export function deleteStdMain(ids) {
return request({
url: '/default-api/datastd/stdmain/mainAppr/' + colId,
url: '/default-api/datastd/stdmain/mainAppr' ,
data: { ids } ,
method: 'delete'
})
}

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

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