ARIS项目落地利刃之风险导入
(function () {
const msg = Dialogs.MsgBox.bind(Dialogs);
const glang = Context.getSelectedLanguage();
const gGroup = ArisData.getSelectedGroups();
const activeDb = ArisData.getActiveDatabase();
const fontStyle = activeDb.createFontStyle("test", glang, true);
if (gGroup.length == 0) {
msg('必须选择组');
return;
}
//创建方式
// 1.选择导入文件
// 2.创建风险图,名称为文件名
//
const reader = readExcel();
if (!reader) {
return;
}
//启动扫描行开始
const startRow = 2;
//从第12列开始扫描
const startCol = 12;
//停止列
const stopCol = 0;
//文件索引
const sheetIndex = 0;
const ret = reader.readAlarmDir(sheetIndex, startRow, startCol, stopCol);
const detail = reader.readAlarmDetail(1, 2, 0, 19);
reader.fillControll(ret, detail);
if (ret) {
//return;
newModelByTree(gGroup[0], ret);
}
function getFileInfo(name) {
return name.split('.');
}
function selectFile(msg, isMulti, ext) {
var defaultExt = "全部|*.*";
if (ext) {
defaultExt = ext;
}
return Dialogs.getFilePath(null, defaultExt, null, msg, isMulti ? 8 : 0);
}
//
function newModelByTree(group, sour) {
function getAttObj(obj, attNum) {
return obj.Attribute(attNum, glang);
}
function getAttStr(obj, attNum) {
return String(getAttObj(obj, attNum).getValue());
}
function setAttStr(obj, attNum, val) {
return getAttObj(obj, attNum).setValue(val);
}
function getId(objDef, searchKey) {
var id = typeof searchKey !== 'undefined' ? searchKey : Constants.AT_ID;
return getAttStr(objDef, id);
}
function setId(objDef, id, searchKey, setKey) {
if (typeof searchKey !== 'undefined') {
setAttStr(objDef, searchKey, setKey);
}
setAttStr(objDef, Constants.AT_ID, id);
}
function newModel(group, name, modelType, id, searchKey, setKey) {
var obj = group.CreateModel(modelType, name, glang);
setId(obj, id, searchKey, setKey)
return obj;
}
function newObjDef(g, objDefType, symbolNum, name, id, searchKey, setKey) {
var obj = g.CreateObjDef(objDefType/*Constants.OT_RISK_CATEGORY*/, name, glang);
obj.setDefaultSymbolNum(symbolNum/*Constants.ST_RISK_CATEGORY*/, true);
setId(obj, id, searchKey, setKey);
return obj;
}
function isArray(x) {
return Object.prototype.toString.call(x) === '[object Array]';
}
function newChildGroup(parentGroup, name, id) {
var g = parentGroup.CreateChildGroup(name, glang);
setId(g, id);
return g;
}
function getGroups(group) {
return group.Childs();
}
function newAssignModel(objDef, model) {
return objDef.CreateAssignment(model, false);
}
function updateAttr(objDef, attType, newValue) {
if (getAttStr(objDef, attType) !== newValue) {
setAttStr(objDef, attType, newValue);
}
}
function newPointArray(n) {
return java.lang.reflect.Array.newInstance(java.awt.Point, n);
}
function newPoint(x, y) {
return new java.awt.Point(x, y);
}
function newCxnOcc(sourOcc, targetOcc, cxnType) {
var sourModel = sourOcc.Model();
var sourDef = sourOcc.ObjDef();
var targetDef = targetOcc.ObjDef();
var list = sourDef.CxnList([sourModel]);
list = list.filter(function (x) {
return x.TypeNum() === cxnType;
});
var cxnDef;
for (var i = 0; i < list.length; i++) {
var cxn = list[i];
if (cxn.TargetObjDef().equals(targetDef)) {
cxnDef = cxn.TargetObjDef();
return;
}
}
var r = sourModel.CreateCxnOcc(cxnDef ? false : true, sourOcc, targetOcc, cxnType, newPointArray(0));
if (!r) {
throw new Error('create fail')
}
return r;
}
function markLevel(arr, level) {
for (var i = 0; i < arr.length; i++) {
arr[i].level = level;
markLevel(arr[i].children, level + 1);
}
}
function beyondMusic(model, headOcc) {
var occ = headOcc;
var x = occ.X();
var y = o

本文介绍了ARIS项目在落地过程中的关键步骤——风险导入,作者指出这一环节对于项目的成功至关重要,并预告将发布ARIS脚本编程系列教程。
最低0.47元/天 解锁文章
1764

被折叠的 条评论
为什么被折叠?



