UNPKG

w-vue-middle

Version:

统一公共服务组件

526 lines (511 loc) 11.8 kB
/* * @Author: Jason Liu * @Date: 2022-11-01 14:35:18 * @Desc: 数据质控规则类接口 */ const $axios = require('w-vue-middle/api/axios').default; /** * @Author: Jason Liu * @description: 评估维度枚举 */ export const evaluationDimensions = (isRegion) => { let list = []; if (isRegion) { list = [ { label: $t('完整性'), value: '02', }, { label: $t('规范性'), options: [ { label: $t('枚举校验'), value: '0101', }, { label: $t('术语校验'), value: '0102', }, { label: $t('长度校验'), value: '0103', }, ], }, { label: $t('一致性'), value: '04', }, { label: $t('时效性'), value: '05', }, ]; } else { list = [ { label: $t('完整性'), value: '02', }, { label: $t('规范性'), options: [ { label: $t('枚举校验'), value: '0101', }, { label: $t('术语校验'), value: '0102', }, { label: $t('长度校验'), value: '0103', }, { label: $t('格式校验'), value: '0104', }, ], }, { label: $t('准确性'), value: '03', }, { label: $t('一致性'), value: '04', }, { label: $t('时效性'), value: '05', }, { label: $t('唯一性'), value: '06', }, ]; } return list; }; export const ruleInfo = { countSql: undefined, //总记录数校验SQL errorDesc: undefined, //错误提示 errorSql: undefined, //错误记录数校验SQL fieldCode: [], //校验表字段代码;个别纬度下支持多选;英文,分隔 fieldType: [], //校验表字段类型;个别纬度下支持多选;英文,分隔 successSql: undefined, //正确记录数校验SQL formula: undefined, //formula filterFormulaInfo: { //校验公式-公式配置 content: undefined, //配置公式内容 contentValue: undefined, //配置公式内容-变量 tableCode: undefined, //表代码 tables: [], /* { columns: [{ column: undefined, //列信息 columnName: undefined }], tableCode: undefined, //表代码 tableName: undefined, //表名称 } */ unit: undefined, //单位 }, indicatorSystemCode: '02', //指标体系代码,大类-小类 维度 isEnable: 0, riskLevel: '2', groupListNodes: [], groupIdList: [], isnull: 0, //非空标志;0:不允许为空 1:允许为空;完整性校验纬度下,1表示所有字段不可同时为空,0表示每个字段都不能为空 legalLength: undefined, //字段有效长度;支持多选(英文,分隔) masterConstraint: undefined, //主表约束条件 忽略 orgField: undefined, //医疗机构代码标识字段 //选择一个表里的字段,来区分医疗机构 permittedValue: undefined, //有效值,多选,英文逗号分隔 //值域代码 relationId: undefined, //关联ID 前端不用,回显字段 ruleId: undefined, ruleName: undefined, //规则名称 versions: undefined, //版本号 slaveField: undefined, //子表字段名;一致性规则中的对照字段 slaveTable: undefined, //子表名;一致性规则中的对照表 slaveTableId: undefined, //子表名;在元数据系统中的position tableCode: undefined, tableId: undefined, timestampField: undefined, //选择表里面,是时间格式 timestamp type: 0, //类型,0:界面公式生成;1:SQL脚本 weight: 10, //权重 verificaFormulaInfo: { //校验公式-公式配置 content: undefined, //配置公式内容 contentValue: undefined, //配置公式内容-变量 tableCode: undefined, //表代码 tables: [], /* { columns: [{ column: undefined, //列信息 columnName: undefined }], tableCode: undefined, //表代码 tableName: undefined, //表名称 } */ unit: undefined, //单位 }, dbType: undefined, dfDqRelationTables: [ { dbId: undefined, //数据源ID schema: undefined, tableCode: undefined, tableId: undefined, tableName: undefined, }, ], /* { tableId: undefined, //关联表ID,可以去tables里面取表详情 tableCode: undefined, asName: undefined, //关联的别名 joinType: "innerjoin", //关联方式 order: 0, //关联顺序 conditions: [ //关联条件 { relation: undefined, //对对比方式 left: { //左边的内容 asName: "ROLE", //管关联的表别名 columnName: "PERSON_ID", tableId: "2c90809d811d28b401811dfe357d007b", tableCode: undefined, }, right: { //右边的内容 asName: "PERSON", //关联的表别名 columnName: "PERSON_ID", tableId: "2c90809d811d28b401811dfe357d007b", tableCode: undefined, }, order: 0, //条件顺序 } ] } */ dfDqRelations: [], threshold: 100, formatType: undefined, //校验格式 regular: undefined, //正则表达式 //区域平台新增功能 modelType: 'DB', //--数据元模型来源类型;DB,MODEL modelGroupId: undefined, topicId: undefined, // 所属主题id categoryId: undefined, // 所属分类id rangeMaximum: 100, //区间最大值 rangeMax: 10, //区间最大得分 rangeMid: 8, //区间中间得分 rangeMedian: 90, //区间中间值 rangeMidSec: 5, //区间中间得分 rangeMinimum: 60, //区间最小值 rangeMin: 0, //区间最小得分 }; export const indicatorSystemList = (isRegion) => { let list = []; if (isRegion) { list = [ { label: $t('全部'), value: '', }, { label: $t('规范性'), value: '01', }, { label: $t('完整性'), value: '02', }, { label: $t('一致性'), value: '04', }, { label: $t('时效性'), value: '05', }, ]; } else { list = [ { label: $t('全部'), value: '', }, { label: $t('规范性'), value: '01', }, { label: $t('完整性'), value: '02', }, { label: $t('准确性'), value: '03', }, { label: $t('一致性'), value: '04', }, { label: $t('时效性'), value: '05', }, { label: $t('唯一性'), value: '06', }, ]; } return list; }; /** * @Author: Jason Liu * @description: 获取内涵质控规则列表 */ export function getConnotationruleList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/rules`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取内涵质控规则列表 */ export function getruleList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.qualityService}/api/v2/ruleBase/rules`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 根据规则ID获取规则详情 */ export function getConnotationRuleById( params = { ruleId: undefined, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/rule`, method: 'get', params: params, }); } /** * @Author: Jason Liu * @description: 根据规则ID获取规则详情 */ export function getRuleDetailById( params = { ruleId: undefined, }, ) { return $axios({ url: `${$service.qualityService}/api/v2/ruleBase/rule`, method: 'get', params: params, }); } /** * @Author: Jason Liu * @description: 保存内涵质控信息 */ export function saveConnotationRule( params = { ...ruleInfo, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/rule`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 保存内涵质控信息 */ export function saveRuleInfo( params = { ...ruleInfo, }, ) { return $axios({ url: `${$service.qualityService}/api/v2/ruleBase/addRule`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 修改规则状态 */ export function changeConnotationRuleStatic( params = { ruleId: undefined, state: undefined, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/ruleState/${params.ruleId}/${params.state}`, method: 'post', }); } /** * @Author: Jason Liu * @description: 删除质控规则 */ export function deleteConnotationRule( params = { ruleIdList: undefined, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/delRules`, method: 'post', params: params, }); } /** * @Author: Jason Liu * @description: 质控规则启用、禁用 */ export function isEnableRuleList(params = [], isEnable) { return $axios({ url: `${$service.qualityService}/api/v2/ruleBase/isEnableRuleList/${isEnable}`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取数据源列表 */ export function getDatasourceList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/dfDiDatasource/list`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 采集内容数据 */ export function collectionDataInfo( params = { clusterId: undefined, //集群ID collectType: 'schema', // 采集类型:schema、table、column dsId: undefined, schema: undefined, tableName: undefined, }, ) { return $axios({ url: `${$service.dataIntegration}/api/v1/MetaData/realtime/job`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取值域表信息 */ export function getMdmCodoList( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/mdmCodoMain`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取值域表详情信息 */ export function mdmCodoMainInfos( params = { pageNum: 1, pageSize: 15, queryParams: {}, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/mdmCodoMainInfos`, method: 'post', data: params, }); } /** * @Author: Jason Liu * @description: 获取值域表信息 */ export function getMdmCodoMainById( params = { id, }, ) { return $axios({ url: `${$service.qualityService}/api/v1/rulebase/getMdmCodoMainById/${params.id}`, method: 'get', data: params, }); } /** * @Author: y_zp * @description: 规则管理 - 下载模板 */ export function exportExcelModel() { return $axios({ url: `${$service.qualityService}/api/v2/ruleBase/exportExcel_Model`, method: 'get', responseType: 'blob', }); } /** * @Author: y_zp * @description: 规则管理-同步状态 */ export function syncRuleStatus() { return $axios({ url: `${$service.qualityService}/api/v2/ruleBase/syncRuleStatus`, method: 'post', }); }