#ifndef OMD #define OMD #include "01-base.idl" module com { module vci { module corba{ module omd { module ddl{ interface DDLService{ boolean generatorODDLForBt(in wstring apContent, in wstring btContent); boolean generatorSDDLForBt(in wstring apContent, in wstring btContent); boolean generatorODDLForLt(in wstring apContent, in wstring ltContent); boolean generatorSDDLForLt(in wstring apContent, in wstring ltContent); //创建, 修改, 删除业务类型Table boolean executeUpdateOracle(in wstring sql); boolean executeUpdateSQLServer(in wstring sql); //批量执行sql boolean batchExecuteUpdateOracle(in common::data::WStringArray sqlArray); boolean batchExecuteUpdateSQLServer(in common::data::WStringArray sqlArray); //记录修改Table DDL(alter table t add(column type) boolean alterTableDDLOracle(in wstring sql); boolean alterTableDDLSQLServer(in wstring sql); //检查业务类型, 链接类型在数据库中是否已有数据对象 boolean hasInstanceOralce(in wstring name); boolean hasInstanceSQLServer(in wstring name); }; }; // 枚举类型管理 module enumManager{ struct EnumChild{ wstring name; wstring value; wstring description; }; typedef sequence EmChildren; struct EnumItem{ wstring oid; wstring ts; wstring creator; wstring createTime; wstring modifier; wstring modifyTime; wstring name; wstring label; wstring type; long length; EmChildren children; }; typedef sequence EnumItemArray; struct EnumItemFilter{ wstring name; }; interface EnumService{ //增加枚举 boolean addEmItem(in EnumItem ei)raises (com::vci::corba::common::VCIError); boolean addEmItemNoCache(in EnumItem ei)raises (com::vci::corba::common::VCIError); //修改枚举 boolean modifyEmItem(in EnumItem ei)raises (com::vci::corba::common::VCIError); //删除枚举 boolean deleteEmItem(in EnumItem ei)raises (com::vci::corba::common::VCIError); boolean deleteEmItemNoCache(in EnumItem ei)raises (com::vci::corba::common::VCIError); boolean deleteEmItems(in EnumItemArray eis)raises (com::vci::corba::common::VCIError); //查询枚举 EnumItemArray getEmItems(in EnumItemFilter filter, in long start, in long rows)raises (com::vci::corba::common::VCIError); //检查枚举名是否存在 boolean checkRowIsExists(in wstring name)raises (com::vci::corba::common::VCIError); //根据枚举类型查询枚举 EnumItemArray getEmItemsByType(in wstring type)raises (com::vci::corba::common::VCIError); //根据枚举名字查询枚举 EnumItem getEmItemByName(in wstring name)raises (com::vci::corba::common::VCIError); //模型迁移 boolean xml2DB(in wstring userName)raises(com::vci::corba::common::VCIError); }; }; // 属性定义管理接口 module attribpool{ struct AttribItem{ wstring oid; wstring ts; wstring creator; wstring createTime; wstring modifier; wstring modifyTime; wstring name; wstring label; wstring description; wstring vtDataType; wstring defValue; wstring rage; wstring other; }; typedef sequence AttribItemArray; struct AttribItemFilter{ wstring name; }; interface AttPoolService{ //添加属性项 boolean addAttribItem(in AttribItem attr)raises (com::vci::corba::common::VCIError); boolean addAttribItemNoCache(in AttribItem attr)raises (com::vci::corba::common::VCIError); //修改属性项 boolean modifyAbItem(in AttribItem attr)raises (com::vci::corba::common::VCIError); //删除参数列表中的属性项 boolean deleteAbItems(in AttribItemArray attrs)raises (com::vci::corba::common::VCIError); boolean deleteAbItem(in AttribItem attr)raises (com::vci::corba::common::VCIError); boolean deleteAbItemNoCache(in AttribItem attr)raises (com::vci::corba::common::VCIError); //查询属性项 AttribItemArray getAttribItems(in AttribItemFilter filter, in long start, in long rows)raises (com::vci::corba::common::VCIError); //根据属性名列表查询属性项 AttribItemArray getAttribItemsByNames(in common::data::WStringArray abNameArray)raises (com::vci::corba::common::VCIError); //查询不在参数列表中的属性项 AttribItemArray getAttribItemsOutNames(in common::data::WStringArray abNameArray,in wstring text)raises (com::vci::corba::common::VCIError); //检查要插入的记录是否存在 boolean checkRowIsExists(in wstring name)raises (com::vci::corba::common::VCIError); //根据属性名获取属性 AttribItem getAttribItemByName(in wstring abName)raises(com::vci::corba::common::VCIError); //根据属性名获取属性数据类型 wstring getAttribItemDataType(in wstring abName)raises(com::vci::corba::common::VCIError); //提供AP数据文件内容 wstring getAPData()raises(com::vci::corba::common::VCIError); //获取使用指定枚举名的属性名列表 common::data::WStringArray getAPNamesByEMName(in wstring emName)raises(com::vci::corba::common::VCIError); //模型迁移 boolean xml2DB(in wstring userName)raises(com::vci::corba::common::VCIError); }; }; // 状态管理接口 module statePoolManager{ struct StatePool{ wstring oid; wstring ts; wstring creator; wstring createTime; wstring modifier; wstring modifyTime; wstring id; wstring name; wstring tag; wstring imagePath; wstring description; }; typedef sequence StatePoolArray; interface StatePoolService{ //增加statePool boolean addStatePool(in StatePool state)raises (com::vci::corba::common::VCIError); //修改statePool boolean modifyStatePool(in StatePool state)raises (com::vci::corba::common::VCIError); //删除statePool boolean deleteStatePool(in StatePool state)raises (com::vci::corba::common::VCIError); //删除statePools boolean deleteStatePools(in StatePoolArray states)raises (com::vci::corba::common::VCIError); //获取所有的statePool StatePoolArray getStatePools()raises (com::vci::corba::common::VCIError); //获取statePool StatePool getStatePool(in wstring name)raises (com::vci::corba::common::VCIError); common::data::WStringArray getImagePaths()raises (com::vci::corba::common::VCIError); //模型迁移 boolean xml2DB(in wstring userName)raises(com::vci::corba::common::VCIError); }; }; // 生命周期模型管理 module lifecycleManager{ struct Bound{ wstring id; wstring name; wstring cellx; wstring celly; wstring cellw; wstring cellh; wstring cellicon; }; typedef sequence BoundArray; struct TransitionVOEvent{ wstring id; wstring name; }; typedef sequence TransitionVOEventArray; struct TransitionVO{ wstring id; wstring source; wstring destination; wstring connect; TransitionVOEventArray transitionVOEvents; }; typedef sequence TransitionVOArray; struct LifeCycle{ wstring oid; wstring ts; wstring creator; wstring createTime; wstring modifier; wstring modifyTime; wstring id; wstring name; wstring tag; wstring description; wstring startState; BoundArray bounds; TransitionVOArray routes; }; typedef sequence LifeCycleArray; struct PropertyInfo{ wstring property; wstring value; }; typedef sequence PropertyInfoList; //事务历史记录 struct TransationHistoryRecord{ wstring id; wstring name; TransitionVO transationVO; wstring btmName; wstring transationTime; wstring userName; }; typedef sequence TransationHistoryRecords; interface LifeCycleService{ //增加生命周期 boolean addLifeCycle(in LifeCycle lc)raises (com::vci::corba::common::VCIError); //修改生命周期 boolean modifyLifeCycle(in LifeCycle lc)raises (com::vci::corba::common::VCIError); //删除生命周期 boolean deleteLifeCycle(in LifeCycle lc)raises (com::vci::corba::common::VCIError); //获取所有的生命周期 LifeCycleArray getLifeCycles()raises (com::vci::corba::common::VCIError); //获取指定的生命周期 LifeCycle getLifeCycle(in wstring name)raises (com::vci::corba::common::VCIError); wstring getLifeCycleEventPath()raises (com::vci::corba::common::VCIError); wstring getLifeCycleEventViewPath()raises (com::vci::corba::common::VCIError); wstring getLifeCycleEventViewSavePath()raises (com::vci::corba::common::VCIError); wstring get_lifecycle_event_path()raises (com::vci::corba::common::VCIError); //记录事务历史 boolean recordTransitionHistory(in TransationHistoryRecord thr)raises (com::vci::corba::common::VCIError); //执行事务 //void excuteTransitionEvents (in TransitionVO transitionVO)raises (com::vci::corba::common::VCIError); //获取事件key common::data::WStringArray getLCEventKeys()raises (com::vci::corba::common::VCIError); //获取事件value wstring getLCEventValueByKey(in wstring key)raises(com::vci::corba::common::VCIError); //删除生命周期 boolean deleteLifeCycles(in LifeCycleArray lcs)raises (com::vci::corba::common::VCIError); //模型迁移 boolean xml2DB(in wstring userName)raises(com::vci::corba::common::VCIError); }; }; // 版本规则管理接口 module versionRuleManager{ struct VersionRule{ wstring oid; wstring ts; wstring creator; wstring createTime; wstring modifier; wstring modifyTime; wstring id; wstring name; wstring tag; wstring jumpCharacter; wstring initialValue; wstring stepLength; wstring prefixion; wstring suffix; wstring description; wstring associated; }; typedef sequence VersionRuleArray; interface VersionRuleService{ //增加VersionRule boolean addVersionRule(in VersionRule vr)raises (com::vci::corba::common::VCIError); //修改VersionRule boolean modifyVersionRule(in VersionRule vr)raises (com::vci::corba::common::VCIError); //删除VersionRule boolean deleteVersionRule(in VersionRule vr)raises (com::vci::corba::common::VCIError); //获取所有的VersionRules VersionRuleArray getVersionRules()raises (com::vci::corba::common::VCIError); //删除VersionRules boolean deleteVersionRules(in VersionRuleArray vrs)raises (com::vci::corba::common::VCIError); //获取指定的VersionRules VersionRule getVersionRule(in wstring name)raises (com::vci::corba::common::VCIError); //模型迁移 boolean xml2DB(in wstring userName)raises(com::vci::corba::common::VCIError); }; }; // 业务类型管理接口 module btm{ // 业务类型 struct BtmItem{ wstring oid; wstring ts; wstring creator; wstring createTime; wstring modifier; wstring modifyTime; wstring name; wstring label; wstring description; boolean isAbstract; wstring fName; wstring implClass; wstring shape; wstring lifeCycle; common::data::WStringArray lifeCycles; wstring imageName; long revLevel; wstring revRuleName; //是否手工输入版本号规则 boolean revInput; wstring delimiter; long verRuleName; common::data::WStringArray apNameArray; }; typedef sequence BtmItemArray; struct BtmAndApName{ wstring btmName; common::data::WStringArray apName; }; typedef sequence BtmAndApNameArray; interface BTMService{ //获取全部业务类型 BtmItemArray getAllBtmItem(in wstring filter) raises (com::vci::corba::common::VCIError); //获取当前业务类型的子类型 BtmItemArray getChildrenBtms(in wstring btmName) raises (com::vci::corba::common::VCIError); //获取指定的业务类型 BtmItem getBtmItemByName(in wstring btmName)raises(com::vci::corba::common::VCIError); //获取属性名和对应的业务类型名 BtmAndApNameArray getBtmAndApNameArray(in wstring btmName)raises(com::vci::corba::common::VCIError); //增加业务类型 boolean addBtmItem(in BtmItem bt)raises(com::vci::corba::common::VCIError); boolean addBtmItemNoCache(in BtmItem bt)raises(com::vci::corba::common::VCIError); //修改业务类型 boolean updateBtmItem(in BtmItem bt)raises(com::vci::corba::common::VCIError); //删除业务类型 boolean deleteBtmItem(in BtmItem bt)raises(com::vci::corba::common::VCIError); boolean deleteBtmItemNoCache(in BtmItem bt)raises(com::vci::corba::common::VCIError); //检查要插入的记录是否存在 boolean checkRowIsExists(in wstring name)raises (com::vci::corba::common::VCIError); //获取业务类型的属性名列表 common::data::WStringArray getBtmApNameArray(in wstring btmName)raises(com::vci::corba::common::VCIError); // 获取指定类型的所有属性 attribpool::AttribItemArray getAttributes(in wstring btName)raises(com::vci::corba::common::VCIError); //提供BTM数据文件内容 wstring getBTMData()raises(com::vci::corba::common::VCIError); //根据属性名获取使用该属性名的全部业务类型名 common::data::WStringArray getBTMNamesByAPName(in wstring apName)raises(com::vci::corba::common::VCIError); //根据版本规则名获取使用该版本规则的全部业务类型名 common::data::WStringArray getBTMNamesByVerName(in wstring verName)raises(com::vci::corba::common::VCIError); //根据生命周期名获取使用该生命周期的全部业务类型名 common::data::WStringArray getBTMNamesByLCyName(in wstring lCyName)raises(com::vci::corba::common::VCIError); //获取服务端图片路径后缀 common::data::WStringArray getImagePaths()raises(com::vci::corba::common::VCIError); //获取业务类型的子类型名 common::data::WStringArray getChildrenNames(in wstring btmName)raises(com::vci::corba::common::VCIError); //业务类型与数据库一致性检查 common::data::WStringArray btmConsistencyCheck()raises(com::vci::corba::common::VCIError); //执行修复的sql common::data::WStringArray executeRepair(in common::data::WStringArray sqlArray)raises(com::vci::corba::common::VCIError); // 创建业务对象表 boolean createTable(in wstring btmName)raises(com::vci::corba::common::VCIError); //创建业务类型视图 boolean createView()raises(com::vci::corba::common::VCIError); //清空表中数据 boolean truncateTable(in wstring tableName)raises(com::vci::corba::common::VCIError); //清空表中数据 boolean deleteTable(in wstring tableName)raises(com::vci::corba::common::VCIError); //清空业务表, 业务类型 boolean deleteBtsAndTables(in BtmItemArray bts)raises(com::vci::corba::common::VCIError); //清空业务类型 boolean deleteBtmItems(in BtmItemArray bts)raises(com::vci::corba::common::VCIError); //获取表中fields中不能 删除的字段 common::data::WStringArray getUnRemovableFields(in wstring tableName, in common::data::WStringArray fields)raises(com::vci::corba::common::VCIError); //模型迁移 boolean xml2DB(in wstring userName)raises(com::vci::corba::common::VCIError); //若表tableName不存在,则用createSql创建表 boolean checkTable(in wstring tableName, in wstring createSql)raises(com::vci::corba::common::VCIError); // 查询指定对象是否存在实例数据 boolean hasData(in wstring btName)raises(com::vci::corba::common::VCIError); }; interface BTMFactory { BTMService getBTMService() raises (com::vci::corba::common::VCIError); }; }; // 链接类型管理接口 module linkTypeManager{ struct LinkType{ wstring oid; wstring ts; wstring creator; wstring createTime; wstring modifier; wstring modifyTime; wstring id;//链接类型唯一标识 wstring name;//链接类型名称 wstring tag;//链接类型标签 wstring description;//描述 common::data::WStringArray btmItemsFrom;//From端业务类型名称集合 common::data::WStringArray btmItemsTo;//to端业务类型名称集合 wstring primitivesFrom;//from端主类型 wstring primitivesTo;//to端主类型 wstring relationFrom;//from端关系 wstring relationTo;//to端关系 wstring relation; wstring implClass;//实现类 wstring shape;//形状 common::data::WStringArray attributes;//属性名称集合 }; typedef sequence LinkTypeArray; interface LinkTypeService{ /**添加链接类型**/ boolean addLinkType(in LinkType lt)raises (com::vci::corba::common::VCIError); boolean addLinkTypeNoCache(in LinkType lt)raises (com::vci::corba::common::VCIError); /**修改链接类型**/ boolean modifyLinkType(in LinkType lt)raises (com::vci::corba::common::VCIError); /**删除链接类型**/ boolean deleteLinkType(in LinkType lt)raises (com::vci::corba::common::VCIError); boolean deleteLinkTypeNoCache(in LinkType lt)raises (com::vci::corba::common::VCIError); /**获取所有链接类型集合**/ LinkTypeArray getLinkTypes()raises (com::vci::corba::common::VCIError); /**获取指定的链接类型**/ LinkType getLinkType(in wstring name)raises (com::vci::corba::common::VCIError); // 获取指定类型的所有属性 attribpool::AttribItemArray getAttributes(in wstring ltName)raises(com::vci::corba::common::VCIError); /**(对外)提供链接类型的数据文件数据**/ wstring getLTData()raises(com::vci::corba::common::VCIError); /**获取使用指定属性的链接类型名称**/ common::data::WStringArray getLTNamesByAPName(in wstring apName)raises(com::vci::corba::common::VCIError); //业务类型与数据库一致性检查 common::data::WStringArray linkTypeConsistencyCheck()raises(com::vci::corba::common::VCIError); //执行修复的sql common::data::WStringArray executeRepair(in common::data::WStringArray sqlArray)raises(com::vci::corba::common::VCIError); // 创建链接类型数据表 boolean createTable(in wstring ltName)raises(com::vci::corba::common::VCIError); //创建链接类型查询全部To/From端业务类型的视图 boolean createView()raises(com::vci::corba::common::VCIError); //清空链接表, 链接类型 boolean deleteLtsAndTables(in LinkTypeArray lts)raises(com::vci::corba::common::VCIError); //清空链接类型 boolean deleteLinkTypes(in LinkTypeArray lts)raises(com::vci::corba::common::VCIError); //模型迁移 boolean xml2DB(in wstring userName)raises(com::vci::corba::common::VCIError); //链接类型获取根据业务类型名及方向 LinkTypeArray getLinkTypeByBtmName(in wstring btmName, in wstring direction)raises(com::vci::corba::common::VCIError); // 查询指定链接对象是否存在实例数据 boolean hasData(in wstring ltName)raises(com::vci::corba::common::VCIError); }; }; module data { //system conf info struct SystemModelData { versionRuleManager::VersionRuleArray versionRules; statePoolManager::StatePoolArray states; lifecycleManager::LifeCycleArray lifecycles; linkTypeManager::LinkTypeArray linkTypes; enumManager::EnumItemArray enumItems; attribpool::AttribItemArray attrItems; btm::BtmItemArray btmItems; }; /**属性对象**/ struct AttributeValue { wstring attrName; //属性对应数据库表的列名称 wstring attrVal; //属性值 }; typedef sequence AttributeValueList; /**业务对象**/ struct BusinessObject { wstring oid; wstring revisionid; wstring nameoid; wstring btmName; long isLastR; long isFirstR; long isLastV; long isFirstV; wstring creator; wstring createTime; wstring lastModifier; wstring lastModifyTime; wstring revisionRule; wstring versionRule; long revisionSeq; wstring revisionValue; long versionSeq; wstring versionValue; wstring lctId; wstring lcStatus; wstring ts; wstring id; wstring name; wstring description; wstring owner; wstring checkinBy; wstring checkinTime; wstring checkoutBy; wstring checkoutTime; wstring copyFromVersion; AttributeValueList newAttrValList; AttributeValueList hisAttrValList; };// typedef sequence BusinessObjectList; /**链接对象**/ struct LinkObject{ wstring oid; wstring creator; wstring createTime; wstring lastModifier; wstring lastModifyTime; wstring fromOid; wstring fromRevisionOid; wstring fromNameOid; wstring fromBTMName; wstring toOid; wstring toRevisionOid; wstring toNameOid; wstring toBTMName; wstring ts; wstring linkTypeName; AttributeValueList newAttrValList; AttributeValueList hisAttrValList; }; typedef sequence LinkObjectList; /**版本数据对象**/ struct RevisionDataInfo { wstring revisionVal; long revisionSeq; }; /**版次数据对象**/ struct VersionDataInfo { wstring versionVal; long versionSeq; }; }; // 对象模型定义服务 interface OMDService { //根据传入的业务对象名称,获取对象建模的所有数据(参数为空时,获取所有建模数据) data::SystemModelData getSysModelData(in com::vci::corba::common::data::WStringArray boTypes) raises (com::vci::corba::common::VCIError); // 获取DDL服务 ddl::DDLService getDDLService() raises (com::vci::corba::common::VCIError); // 获取枚举类型服务 enumManager::EnumService getEnumService() raises (com::vci::corba::common::VCIError); // 获取属性管理服务 attribpool::AttPoolService getAttributeService() raises (com::vci::corba::common::VCIError); // 获取生命周期状态服务 statePoolManager::StatePoolService getStateService() raises (com::vci::corba::common::VCIError); // 获取生命周期模型服务 lifecycleManager::LifeCycleService getLifeCycleService() raises (com::vci::corba::common::VCIError); // 获取版本规则类型服务 versionRuleManager::VersionRuleService getVerRuleService() raises (com::vci::corba::common::VCIError); // 获取业务类型服务 btm::BTMService getBTMService() raises (com::vci::corba::common::VCIError); // 获取链接类型服务 linkTypeManager::LinkTypeService getLinkTypeService() raises (com::vci::corba::common::VCIError); }; };//common }; }; }; #endif