|  | @ -308,6 +308,15 @@ | 
			
		
	
		
		
			
				
					|  |  |                     </el-table> |  |  |                     </el-table> | 
			
		
	
		
		
			
				
					|  |  |                   </div> |  |  |                   </div> | 
			
		
	
		
		
			
				
					|  |  |                 </el-tab-pane> |  |  |                 </el-tab-pane> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 <el-tab-pane label="样例数据" name="demoData"> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                   <div class="table-container"> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                     <el-table :data="demoDataList" height="calc(100vh - 395px)"> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                       <template v-for="item in columnList"> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                         <el-table-column :label="(item.fldCnName && item.fldCnName.length>0)?item.fldCnName:((item.fldCrrctName && item.fldCrrctName.length>0)?item.fldCrrctName:item.fldEngName)" width="100" align="center" :prop="item.fldEngName"></el-table-column> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                       </template> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                     </el-table> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                   </div> | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                 </el-tab-pane> | 
			
		
	
		
		
			
				
					|  |  |                 <el-tab-pane label="业务关系" name="businessRelation"> |  |  |                 <el-tab-pane label="业务关系" name="businessRelation"> | 
			
		
	
		
		
			
				
					|  |  |                   <div v-loading="loadingBusiness" v-if="activeColumnTab=== 'businessRelation'" style="height: calc(100vh - 395px);"> |  |  |                   <div v-loading="loadingBusiness" v-if="activeColumnTab=== 'businessRelation'" style="height: calc(100vh - 395px);"> | 
			
		
	
		
		
			
				
					|  |  |                     <div style="position: absolute;top:10px;left: 10px;z-index: 10"> |  |  |                     <div style="position: absolute;top:10px;left: 10px;z-index: 10"> | 
			
		
	
	
		
		
			
				
					|  | @ -557,6 +566,7 @@ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | <script setup name="Meta"> |  |  | <script setup name="Meta"> | 
			
		
	
		
		
			
				
					|  |  |   import {getDataSourceList, getMetaDataList, getColumnList, getMetaClasList, postMetaSupp, getMetaDataRelship} from "@/api/meta/metaInfo" |  |  |   import {getDataSourceList, getMetaDataList, getColumnList, getMetaClasList, postMetaSupp, getMetaDataRelship} from "@/api/meta/metaInfo" | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   import { getMetaSecurityData } from "@/api/dataAsset/directory" | 
			
		
	
		
		
			
				
					|  |  |   import { ref, nextTick, computed, watch, reactive, onMounted } from 'vue' |  |  |   import { ref, nextTick, computed, watch, reactive, onMounted } from 'vue' | 
			
		
	
		
		
			
				
					|  |  |   import SQLCodeMirror from "@/components/codemirror/SQLCodeMirror.vue"; |  |  |   import SQLCodeMirror from "@/components/codemirror/SQLCodeMirror.vue"; | 
			
		
	
		
		
			
				
					|  |  |   import cache from "@/plugins/cache"; |  |  |   import cache from "@/plugins/cache"; | 
			
		
	
	
		
		
			
				
					|  | @ -627,17 +637,31 @@ | 
			
		
	
		
		
			
				
					|  |  |   const { proxy } = getCurrentInstance(); |  |  |   const { proxy } = getCurrentInstance(); | 
			
		
	
		
		
			
				
					|  |  |   const changedColumns = ref([]) |  |  |   const changedColumns = ref([]) | 
			
		
	
		
		
			
				
					|  |  |   const businessRelation = ref([]) |  |  |   const businessRelation = ref([]) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   const demoDataList = ref([]) | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |   function changeColumnTab(){ |  |  |   function changeColumnTab(){ | 
			
		
	
		
		
			
				
					|  |  |     if (activeColumnTab.value === 'businessRelation'){ |  |  |     if (activeColumnTab.value === 'businessRelation'){ | 
			
		
	
		
		
			
				
					|  |  |       changeBusinessOption() |  |  |       changeBusinessOption() | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     if (activeColumnTab.value === 'demoData'){ | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       generateDemoData() | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					|  |  |     if (activeColumnTab.value === 'proc'){ |  |  |     if (activeColumnTab.value === 'proc'){ | 
			
		
	
		
		
			
				
					|  |  |       procStr.value = "--基金量化产品监管报送存储过程:ADS.SP_ADS_SAC_QNTPRD_ALL\n" + |  |  |       procStr.value = "--基金量化产品监管报送存储过程:ADS.SP_ADS_SAC_QNTPRD_ALL\n" + | 
			
		
	
		
		
			
				
					|  |  |           "CREATE OR REPLACE PROCEDURE ADS.SP_ADS_SAC_QNTPRD_ALL(I_BUSI_DATE VARCHAR2, O_RET_CODE OUT NUMBER, O_RET_MSG OUT VARCHAR2) AS V_STATUS NUMBER DEFAULT 0; --状态,0:成功,-1失败 \n V_ETL_NAME VARCHAR2(50) DEFAULT 'ADS.SP_ADS_SAC_QNTPRD_ALL'; V_ETL_NAME_CN VARCHAR2(100) DEFAULT '量化产品监管报送报表总调度'; ----ETL中文名称 V_ETL_TYPE NUMBER DEFAULT 1; --ETL类型,0:采集,1:转换 V_START_TIME DATE DEFAULT SYSDATE; --开始时间 V_MSG VARCHAR2(1000) DEFAULT '成功'; ----ETL信息 V_SOURCE_TABLE VARCHAR2(200) DEFAULT 'ADS.SP_ADS_SAC_QNTPRD_DTL,ADS.SP_ADS_SAC_QNTPRD_AGGR'; V_DEST_TABLE VARCHAR2(200) DEFAULT 'ADS.T_ADS_SAC_QNTPRD_DTL_M_M_OC,ADS.T_ADS_SAC_QNTPRD_AGGR_M_M_OC'; V_SRC_CNT NUMBER DEFAULT 0; --源数据量 V_DEST_CNT NUMBER DEFAULT 0; --目标新增数据量 V_CNT NUMBER; V_SOURCE_CODE VARCHAR2(4) ; V_DATE DATE DEFAULT TO_DATE(I_BUSI_DATE,'YYYY-MM-DD'); --每月第一个交易日 V_RET_CODE NUMBER; V_RET_MSG VARCHAR2(4000); BEGIN O_RET_CODE := 0; O_RET_MSG := 'SUCCESS'; --每个月第一个交易日更新数据 SELECT T.TM_SH_FST_TRDY_FLAG INTO V_CNT FROM DWS.T_DWS_DIM_DATE_OC T WHERE T.D_DATE= V_DATE; IF V_CNT = 0 THEN RETURN; END IF; --加载明细表数据 ADS.SP_ADS_SAC_QNTPRD_DTL (I_BUSI_DATE => I_BUSI_DATE, --每月第一个交易日 O_RET_CODE => V_RET_CODE, O_RET_MSG => V_RET_MSG ) ; IF V_RET_CODE <> 0 THEN O_RET_CODE := V_RET_CODE; O_RET_MSG := V_RET_MSG; RETURN; END IF; --加载汇总表数据 ADS.SP_ADS_SAC_QNTPRD_AGGR(I_BUSI_DATE => I_BUSI_DATE, --每月第一个交易日 O_RET_CODE => V_RET_CODE, O_RET_MSG => V_RET_MSG ) ; IF V_RET_CODE <> 0 THEN O_RET_CODE := V_RET_CODE; O_RET_MSG := V_RET_MSG; RETURN; END IF; --日志:判断是否源表目标表的数量是否相同,如不相同则修改日志校验MSG --日志:写日志 DWS.SP_DWT_LOG(I_ETL_NAME => V_ETL_NAME, I_ETL_NAME_CN => V_ETL_NAME_CN, I_ETL_TYPE => V_ETL_TYPE, I_START_TIME => V_START_TIME, I_END_TIME => SYSDATE, I_STATUS => V_STATUS, I_MSG => V_MSG, I_SOURCE_TABLES => V_SOURCE_TABLE, I_DEST_TABLES => V_DEST_TABLE, I_SRC_CNT => V_SRC_CNT, I_DEST_CNT => V_DEST_CNT, I_VERI_SRC_CNT => NULL, I_VERI_DEST_CNT => NULL, I_VERI_MSG => NULL, I_VERI_STATUS => NULL, I_BUSI_DATE => I_BUSI_DATE); EXCEPTION WHEN OTHERS THEN O_RET_CODE := -1; O_RET_MSG := SQLCODE || ',' || SQLERRM; ROLLBACK; V_STATUS := -1; V_MSG := O_RET_MSG; DWS.SP_DWT_LOG(I_ETL_NAME => V_ETL_NAME, I_ETL_NAME_CN => V_ETL_NAME_CN, I_ETL_TYPE => V_ETL_TYPE, I_START_TIME => V_START_TIME, I_END_TIME => SYSDATE, I_STATUS => V_STATUS, I_MSG => V_MSG, I_SOURCE_TABLES => V_SOURCE_TABLE, I_DEST_TABLES => V_DEST_TABLE, I_SRC_CNT => V_SRC_CNT, I_DEST_CNT => V_DEST_CNT, I_VERI_SRC_CNT => NULL, I_VERI_DEST_CNT => NULL, I_VERI_MSG => NULL, I_VERI_STATUS => NULL, I_BUSI_DATE => I_BUSI_DATE); END;" |  |  |           "CREATE OR REPLACE PROCEDURE ADS.SP_ADS_SAC_QNTPRD_ALL(I_BUSI_DATE VARCHAR2, O_RET_CODE OUT NUMBER, O_RET_MSG OUT VARCHAR2) AS V_STATUS NUMBER DEFAULT 0; --状态,0:成功,-1失败 \n V_ETL_NAME VARCHAR2(50) DEFAULT 'ADS.SP_ADS_SAC_QNTPRD_ALL'; V_ETL_NAME_CN VARCHAR2(100) DEFAULT '量化产品监管报送报表总调度'; ----ETL中文名称 V_ETL_TYPE NUMBER DEFAULT 1; --ETL类型,0:采集,1:转换 V_START_TIME DATE DEFAULT SYSDATE; --开始时间 V_MSG VARCHAR2(1000) DEFAULT '成功'; ----ETL信息 V_SOURCE_TABLE VARCHAR2(200) DEFAULT 'ADS.SP_ADS_SAC_QNTPRD_DTL,ADS.SP_ADS_SAC_QNTPRD_AGGR'; V_DEST_TABLE VARCHAR2(200) DEFAULT 'ADS.T_ADS_SAC_QNTPRD_DTL_M_M_OC,ADS.T_ADS_SAC_QNTPRD_AGGR_M_M_OC'; V_SRC_CNT NUMBER DEFAULT 0; --源数据量 V_DEST_CNT NUMBER DEFAULT 0; --目标新增数据量 V_CNT NUMBER; V_SOURCE_CODE VARCHAR2(4) ; V_DATE DATE DEFAULT TO_DATE(I_BUSI_DATE,'YYYY-MM-DD'); --每月第一个交易日 V_RET_CODE NUMBER; V_RET_MSG VARCHAR2(4000); BEGIN O_RET_CODE := 0; O_RET_MSG := 'SUCCESS'; --每个月第一个交易日更新数据 SELECT T.TM_SH_FST_TRDY_FLAG INTO V_CNT FROM DWS.T_DWS_DIM_DATE_OC T WHERE T.D_DATE= V_DATE; IF V_CNT = 0 THEN RETURN; END IF; --加载明细表数据 ADS.SP_ADS_SAC_QNTPRD_DTL (I_BUSI_DATE => I_BUSI_DATE, --每月第一个交易日 O_RET_CODE => V_RET_CODE, O_RET_MSG => V_RET_MSG ) ; IF V_RET_CODE <> 0 THEN O_RET_CODE := V_RET_CODE; O_RET_MSG := V_RET_MSG; RETURN; END IF; --加载汇总表数据 ADS.SP_ADS_SAC_QNTPRD_AGGR(I_BUSI_DATE => I_BUSI_DATE, --每月第一个交易日 O_RET_CODE => V_RET_CODE, O_RET_MSG => V_RET_MSG ) ; IF V_RET_CODE <> 0 THEN O_RET_CODE := V_RET_CODE; O_RET_MSG := V_RET_MSG; RETURN; END IF; --日志:判断是否源表目标表的数量是否相同,如不相同则修改日志校验MSG --日志:写日志 DWS.SP_DWT_LOG(I_ETL_NAME => V_ETL_NAME, I_ETL_NAME_CN => V_ETL_NAME_CN, I_ETL_TYPE => V_ETL_TYPE, I_START_TIME => V_START_TIME, I_END_TIME => SYSDATE, I_STATUS => V_STATUS, I_MSG => V_MSG, I_SOURCE_TABLES => V_SOURCE_TABLE, I_DEST_TABLES => V_DEST_TABLE, I_SRC_CNT => V_SRC_CNT, I_DEST_CNT => V_DEST_CNT, I_VERI_SRC_CNT => NULL, I_VERI_DEST_CNT => NULL, I_VERI_MSG => NULL, I_VERI_STATUS => NULL, I_BUSI_DATE => I_BUSI_DATE); EXCEPTION WHEN OTHERS THEN O_RET_CODE := -1; O_RET_MSG := SQLCODE || ',' || SQLERRM; ROLLBACK; V_STATUS := -1; V_MSG := O_RET_MSG; DWS.SP_DWT_LOG(I_ETL_NAME => V_ETL_NAME, I_ETL_NAME_CN => V_ETL_NAME_CN, I_ETL_TYPE => V_ETL_TYPE, I_START_TIME => V_START_TIME, I_END_TIME => SYSDATE, I_STATUS => V_STATUS, I_MSG => V_MSG, I_SOURCE_TABLES => V_SOURCE_TABLE, I_DEST_TABLES => V_DEST_TABLE, I_SRC_CNT => V_SRC_CNT, I_DEST_CNT => V_DEST_CNT, I_VERI_SRC_CNT => NULL, I_VERI_DEST_CNT => NULL, I_VERI_MSG => NULL, I_VERI_STATUS => NULL, I_BUSI_DATE => I_BUSI_DATE); END;" | 
			
		
	
		
		
			
				
					|  |  |     } |  |  |     } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |   } |  |  |   } | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   function generateDemoData(){ | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     let param ={ | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       dataAstSrc: currentMetaData.value.ssysCd, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       dataAstEngName:currentMetaData.value.mdlName+"."+currentMetaData.value.tabEngName | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     getMetaSecurityData(param).then(res=>{ | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       demoDataList.value = res.data.data | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     }) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   } | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |   function changeBusinessOption(){ |  |  |   function changeBusinessOption(){ | 
			
		
	
		
		
			
				
					|  |  |     loadingBusiness.value = true; |  |  |     loadingBusiness.value = true; | 
			
		
	
		
		
			
				
					|  |  |     let data = { |  |  |     let data = { | 
			
		
	
	
		
		
			
				
					|  | 
 |