首页 > 其他分享 >AWC 批量查询使用关系的最新版本并导出Excel

AWC 批量查询使用关系的最新版本并导出Excel

时间:2024-09-03 23:36:43浏览次数:11  
标签:uiValues parent title 导出 Excel item props AWC id

1.查询使用关系的方法:

* 调用查询返回数据  * @param {Object} data  * @returns {Promise}  * */ export let queryItemRevisionById = function (data) {     if (!data.item_id) {         messagingService.showInfo("请输入查询条件");         return;     }     var item_id=data.item_id.dbValue.replace(' ',';');     //根据id查询对ITEMS     let itemQuery = {         inputCriteria: [{             queryNames: ['__QueryLastedItemRevision'],             queryType: 1         }]     }     soaSvc.post("Query-2010-04-SavedQuery", "findSavedQueries", itemQuery).then(async (findQuery) => {         var savedQuery = findQuery.savedQueries[0];         let queryItemsCondition = {             query: savedQuery,             entries: ["ID"],             values: [data.item_id.dbValue],         }         //查询ITem对象         return await soaSvc.post("Query-2006-03-SavedQuery", "executeSavedQuery", queryItemsCondition, policyIOverride).then(async (queryUserResponse1) => {             let queryParentCondition = {                 objects: queryUserResponse1.objects,                 numLevels: 1,                 whereUsedPrecise: false,                 rule: "最新版本",             }             //查询引用的对象             var queryUserResponse2 = await soaSvc.post("Core-2007-01-DataManagement", "whereUsed", queryParentCondition, policyIOverride).then(async (queryUserResponse2) => {                 console.log(queryUserResponse2);                 return queryUserResponse2;             }).catch(                 function (error) {                     console.log(error);                 }             );             createDataTable(queryUserResponse1, queryUserResponse2);
        }).catch(             function (error) {                 console.log(error);             }         );;     }); }   2.创建表格: let createDataTable = function (queryUserResponse1, queryUserResponse2) {     columns = [{             title: '子项',             columns: [{                     title: '子项ID',                     field: 'child_item_id',                     width: 'auto'                 },                 {                     title: '子项版本',                     field: 'child_item_revision_id',                     width: 'auto'                 },                 {                     title: '子项名称',                     field: 'child_object_name',                     width: 'auto'                 },                 {                     title: '子项描述',                     field: 'child_object_desc',                     width: 'auto'                 },                 {                     title: '子项状态',                     field: 'child_release_status_list',                     width: 'auto'                 },                 {                     title: '子项发布日期',                     field: 'child_date_released',                     width: 'auto'                 },                 {                     title: '子项类型',                     field: 'child_object_type',                     width: 'auto'                 },                 {                     title: '子项所有者',                     field: 'child_owning_user',                     width: 'auto'                 }             ]         },         {             title: '父项',             columns: [{                     title: '父项ID',                     field: 'parent_item_id',                     width: 'auto'                 },                 {                     title: '父项版本',                     field: 'parent_item_revision_id',                     width: 'auto'                 },                 {                     title: '父项名称',                     field: 'parent_object_name',                     width: 'auto'                 },                 {                     title: '父项描述',                     field: 'parent_object_desc',                     width: 'auto'                 },                 {                     title: '父项状态',                     field: 'parent_release_status_list',                     width: 'auto'                 },                 {                     title: '父项发布日期',                     field: 'parent_date_released',                     width: 'auto'                 },                 {                     title: '父项类型',                     field: 'parent_object_type',                     width: 'auto'                 },                 {                     title: '父项所有者',                     field: 'parent_owning_user',                     width: 'auto'                 }             ]         }     ];     records = [];         var map= new Map();     //获取其中的不重复的父项最大版本     _.forEach(queryUserResponse2.output, (output1 => {         _.forEach(output1.info, (info => {         var  parent_item_id=info.parentItemRev.props.item_id.uiValues[0];         var parent_item_revision_id= info.parentItemRev.props.item_revision_id.uiValues[0];         if(!map.has(parent_item_id))             map.set(parent_item_id,parent_item_revision_id);         else{             var temp=map.get(parent_item_id);             if(temp<parent_item_revision_id)                 map.set(parent_item_id,parent_item_revision_id);         }         }));     }));
    _.forEach(queryUserResponse1.objects, (inputObject) => {         _.forEach(queryUserResponse2.output, (output1 => {             if (output1.inputObject === inputObject) {                 _.forEach(output1.info, (info => {                     var parent_item_id=info.parentItemRev.props.item_id.uiValues[0];                     var parent_item_revision_id=info.parentItemRev.props.item_revision_id.uiValues[0]                     if(map.get(parent_item_id)==parent_item_revision_id){                         var record = {                             child_item_id: inputObject.props.item_id.uiValues[0],                             child_item_revision_id: inputObject.props.item_revision_id.uiValues[0],                             child_object_name: inputObject.props.object_name.uiValues[0],                             child_object_desc: inputObject.props.object_desc.uiValues[0],                             child_release_status_list: inputObject.props.release_status_list.uiValues[0],                             child_date_released: inputObject.props.date_released.uiValues[0],                             child_object_type: inputObject.props.object_type.uiValues[0],                             child_owning_user: inputObject.props.owning_user.uiValues[0],                                 parent_item_id: info.parentItemRev.props.item_id.uiValues[0],                             parent_item_revision_id: info.parentItemRev.props.item_revision_id.uiValues[0],                             parent_object_name: info.parentItemRev.props.object_name.uiValues[0],                             parent_object_desc: info.parentItemRev.props.object_desc.uiValues[0],                             parent_release_status_list: info.parentItemRev.props.release_status_list.uiValues[0],                             parent_date_released: info.parentItemRev.props.date_released.uiValues[0],                             parent_object_type: info.parentItemRev.props.object_type.uiValues[0],                             parent_owning_user: info.parentItemRev.props.owning_user.uiValues[0]                         };                         records.push(record);                     }                 }));             }         }));     });     //构建表格     const option = {         records: records,         columns: columns,
        autoWrapText: true,         heightMode: 'autoHeight',         editCellTrigger: 'click',         keyboardOptions: {             copySelected: true,             pasteValueToCell: true,             selectAllOnCtrlA: true         },         theme: vt.themes.ARCO.extends({             scrollStyle: {                 visible: 'always',                 scrollSliderColor: 'purple',                 scrollRailColor: '#bac3cc',                 hoverOn: false,                 barToSide: true             }         }),         rowSeriesNumber: {             title: '序号',             width: 'auto',             headerStyle: {                 color: 'black',                 bgColor: 'pink'             },             style: {                 color: 'red'             }         },         emptyTip: {             text: '未查询到数据!'         }     };
    let dom = document.getElementById("QueryWhereUserdView");     queryWhereUserdDataTable = new vt.ListTable(dom, option);     window['queryWhereUserdDataTable'] = queryWhereUserdDataTable }
3.最终效果,可以批量查询多个数据的使用关系:

 

标签:uiValues,parent,title,导出,Excel,item,props,AWC,id
From: https://www.cnblogs.com/PLM-Teamcenter/p/18395651

相关文章

  • AWC通过条件控制 菜单可见
    1.定义条件:"conditions":{    "objectIsSelectedFolder":{      "expression":{        "$source":{          "$adapt":"ctx.selected"        },       ......
  • Python批量分割Excel后逐行做差、合并文件的方法
      本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件,首先依据某一列数据的特征截取我们需要的数据,随后对截取出来的数据逐行求差,并基于其他多个文件夹中同样大量的Excel表格文件,进行数据跨文件合并的具体方法。  首先,我们来明确一下本文的具体需......
  • 【Python自动化办公】按条件删除Excel表格数据
    本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。其中,Excel表......
  • 【Azure Developer】如何在Azure门户上把当前账号下的所有资源信息列举并导出呢?
    问题描述是否可以在Azure上,一次性把当前账号所有能查看的资源都导出来呢?包含资源名称,类型,定价层SKU信息呢? 问题解答是的,通过AzureResourceGraphExplorer服务可以实现。AzureResourceGraphExplorer是一个强大的工具,旨在提供跨订阅的资源查询和治理。它允许用户在任何Azure......
  • 本地机spool导出多个查询结果到多个CSV文件
    问题需要在PL/SQLdeveloper上多次手动重复查询导出大量数据。解决使用sqlcl中提供的SETSQLFORMATcsv和SQLplus提供的Spool导出数据到csv文件。代码setserveroutputonsettermoutoffspoolD:\SpoolFile\tmp_script.sqlDECLARETYPETYPE_ARRAYISVARRAY(10)O......
  • vue2+html2canvas+jspdf 导出网页
    `asynchandlePreview(){constpdf=awaitthis.exportToPdf()//使用浏览器预览PDF-安全策略有缺陷constpdfDataURI=pdf.output('datauristring')window.open(pdfDataURI,'_blank','location=no');},asynchandleDown(){constpdf=awai......
  • Python 中读取 Excel 表格数据
    在Python中读取Excel表格数据可以使用 pandas 库,这个库为数据处理和分析提供了强大的工具。以下是如何在Python中读取Excel文件的示例脚本。安装所需库首先,我们需要确保安装了所需的库。主要使用的库是 pandas 和 openpyxl(用于读取Excel文件)。您可以使用以下......
  • elasticsearch数据导出和导出
    数据导入和导出依赖于命令elasticdump数据导出#!/bin/bashES=http://ip:portED=数据保存位置datename=$(date+%Y-%m-%d)#datename=2021-08-20index=导出的索引名echo"elasticdump--input=$ES/$index--output=$ED/$index.json"elasticdump--input=$ES/$......
  • Excel vloopup应用案例
    业务大致要求给出某一特定范围员工的上班记录 eg.出具横向的报表了解背景,考勤数据无法从系统获取,那就默认考勤数据是准确的,只需要把列表记录转换成矩阵结构就行。 方案一:手工(少量,人员不定)按人员日期排序,人员复制过去,日期和项目一并复制,然后转置(行列互换)就可以了......
  • Advanced Spreadsheets using Excel
    AdvancedSpreadsheets using ExcelSoftware: Microsoft ExcelIntroductiontoCourseThiscoursewill buildontheskillsyou have developed intheTerm 1 Spreadsheetscourse.Itwillextendyourproficiency using Excel, introducing yo......