智能办公如何创建e9流程
前言
配置e9流程前,您要做的事情:
- 1、非标包集成到e9系统;
- 2、配置同步人员、单点登录;
- 3、进入千里聆系统,进行“外联系统认证配置”;
- 4、进入e9系统,找到对应的表单信息;
- 5、进入千里聆系统,AI办公管理->文本结构化处理引擎,创建“必填字段表单”,创建表单字段关联的“词典”;
- 6、然后,进入意图智能化处理引擎,创建意图,并且关联上步中的表单;
- 7、最后,把创建的意图(编辑菜单时可以看到“权限”入口),赋权,所有人使用。
当然第4、5、6步骤可以省略,在“添加意图”中找到“意图云市场”,点击进入后,搜索“请假”,找到含有标签"e9"的意图执行安装,
然后编辑意图和表单。
E9提供的API接口文档地址:https://e-cloudstore.com/ec/api/applist/index.html 或者 https://www.e-cology.com.cn/sp/ebdpage/view/100514900000000089/page/100514900000000089?id=100594140000015343&_key=6booyj
创建流程
创建流程分为两个模式:
- 从OA系统同步
- 手动添加:
- 创建词典、表单
- 创建意图
1、从OA系统同步
2、 手动添加词典、表单
手动创建OA流程,需要了解流程业务,主要从表单建模中获取:
- 表单结构(主表、明细表);
- 表单字段类型(文本、数字、浏览框);
- 表单字段必填字段,用于创建文本结构引擎;
- 浏览框类型字段,用于创建智能小e词典
2.1 获取e9表单字段
2.2 创建智能小e词典
智能小e词典,词典选项类型目前支持两种:
- 实时搜索外联系统,就是直接调用oa系统数据
- 手动添加
实时搜索外联系统
手动添加
2.3 创建智能小e文本结构引擎
注意
一定要点击最外层,“确定” 按钮!!!
3、手动创建意图
- 请求地址:
/api/workflow/paService/doCreateRequest
- 请求方式:
POST
- 请求类型:
application/x-www-form-urlencoded
参数名称 | 类型 | 必填 | 描述 |
---|---|---|---|
mainData | JsonArray | 必填 | 主表数据,配置流程表单字段 |
detailData | JsonArray | 非必填 | 明细表数据,配置流程表单字段 |
requestName | String | 必填 | 流程标题 |
workflowId | String | 必填 | 流程id |
otherParams | Json | 非必填 | 其他参数,示例:{“isnextflow”:1} |
返回结果
直接复制到意图配置结果中!
{"code":"SUCCESS","data":{"requestid":2966060},"errMsg":{}
}
code | 说明 |
---|---|
SUCCESS | 成功 |
PARAM_ERROR | 参数错误 |
NO_PERMISSION | 无权限 |
SYSTEM_INNER_ERROR | 程序异常 |
USER_EXCEPTION | 用户异常 |
3.1、配置意图
按照上图配置相关请求信息即可!
参数说明
参数requestName
requestName脚本示例
function run(object) {// 当前日期var date = $_CURRENT_DATE_$;// 当前用户名称var username = $_CURRENT_USER_NAME_$;// 返回示例:泛微请假流程-2024-01-02-张三return "泛微请假流程-" + date + "-" + username;
}
参数mainData
必填明细表数据字段mainData
,示例格式:
[{"fieldName": "dhwb","fieldValue": {"value": "1212","name": "aaaa.html"}},{"fieldName": "drlzy", "fieldValue": "2978" // 1、应用表单字段单个值格式,例如:时间、人员、天数、原因等等},{"fieldName": "drlzy1","fieldValue": "2978,2979" // 2、应用表单字段多个值格式,例如:预定会议的参会人员},{"fieldName": "fjsc", // 3、应用表单字段附件上传格式"fieldValue": [{"filePath": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577426926378&di=0084fc19f5cb90fc2286aab5ca8c343e&imgtype=0&src=http%3A%2F%2Fpic.51yuansu.com%2Fpic2%2Fcover%2F00%2F41%2F80%2F581369c715701_610.jpg","fileName": "timg.jpg"},{"filePath": "http://192.168.7.216:8080/weaver/weaver.file.FileDownload?download=1&fileid=3819049&authStr=dmlld0NoYWluPTIyNTkzOTA1fG1haW5pZD0yMjU5MzkwNXw=&authSignatureStr=81b08f6e0b8ee06dcc1b43fda8204bdf&requestid=22593905&f_weaver_belongto_userid=4548&f_weaver_belongto_usertype=0","fileName": "自由节点视图mysql.txt"}]}
]
意图脚本代码示例:
function run(object) {// mainData 是一个 数组对象,需要动态的存放表单对应的参数值var mainData = [];// 请假开始时间mainData.push(getFormField(object.field_1661930099356147714, "qjkssj"));// 请假结束时间mainData.push(getFormField(object.field_1661930099372924929, "qjkssj"));// 创建者var userId = $_CURRENT_USER_ID_$;mainData.push({"fieldValue":userId, "fieldName":"sqr"});// 部门var deptId = $_CURRENT_DEPT_ID_$;mainData.push({"fieldValue":deptId, "fieldName":"sqbm"});// 浏览类型,多选数据,例如:参会人员 fieldValue: "2978,2979"mainData.push({"fieldName": "chry","fieldValue": getFormMoreValue(object.field_1661930099372924922)});// 附件格式mainData.push({"fieldName": "fjsc","fieldValue": getFormMoreValue(object.field_1661930099372924929)});return mainData;
}function getFormField(tmp, key){return {"fieldName": key,"fieldValue": getFormValue(tmp)}
}function getFormValue(tmp){if(null != tmp && null != tmp.value && tmp.value.length > 0){return tmp.value[0];}return "";
}function getFormMoreValue(tmp){if(null != tmp && null != tmp.value && tmp.value.length > 0){var arr = tmp.valuevar _v = arr[0];for(var i = 1; i < arr.length; i ++){_v += "," + arr[i];}return _v;}return "";
}
参数detailData
非必填明细表数据字段detailData
, 脚本代码示例:
function run(object){var mainData = [];// 第一个明细表var detailTable1 = {"tableDBName": "formtable_main_1356_dt1","workflowRequestTableRecords": []}// 第一个明细表,选择一个 必填字段var tmp = object.sc_1826901249786830850.field_1826901306300882945;if(null != tmp && tmp.length > 0){for(var i = 0; i < tmp.length; i++){var lineData = {"recordOrder": 0,"workflowRequestTableFields": []}// 第一列 日期tmp = object.sc_1826901249786830850.field_1826901306300882945;lineData.workflowRequestTableFields.push(getLineData(tmp, i, "startDate"));// 第二列 附件类型tmp = object.sc_1826901249786830850.field_1826901306300882945;lineData.workflowRequestTableFields.push(getLineFileData(tmp, i, "fj"));// 自己扩展列 ......detailTable1.workflowRequestTableRecords.push(lineData);}}mainData.push(detailTable1);// 第2个明细表 ... ...return mainData;
}function getLineData(arr, index, fieldName){ // 获取明细表列值var fieldValue = "";if(arr.length > index){var obj = arr[index];if(obj.value != null && obj.value.length > 0){fieldValue = obj.value[0];}}return {"fieldName": fieldName, "fieldValue": fieldValue};
}function getLineFileData(arr, index, fieldName){ // 获取明细表附件列值var fieldValue = [];if(arr.length > index){var item = arr[index];if(item.value != null && item.value.length > 0){for(var i = 0; i < item.value.length; i ++){var k = item.value[i];var obj = item.option[k];if(null != obj){fieldValue.push({"filePath": obj.filePath,"fileName": obj.fileName})}}}}return {"fieldName": fieldName, "fieldValue": fieldValue};
}
4、表单、词典扩展
4.1 附件上传
用途:用于创建流程附件问题
- 请求地址:
/api/doc/upload/uploadFile2Doc
- 请求方式:
POST
- 请求类型:
multipart/form-data
参数名称 | 说明 |
---|---|
category | 目录id |
file | 文件数据流 不是string 是二进制文件流 |
name | 文件名称 |
返回结果
{"data": {"fileExtendName": "doc","isImg": false,"imagefileid": "31436","filelink": "/spa/document/index2file.jsp?f_weaver_belongto_userid=&f_weaver_belongto_usertype=&id=13613&imagefileId=31436&isFromAccessory=true&isrequest=1&requestid=-1&desrequestid=-1&authStr=&authSignatureStr=","uploaddate": "2019-08-10 12:34","showLoad": true,"filesize": "665K","loadlink": "/weaver/weaver.file.FileDownload?fileid=af4ce3a21192e7cc98d2f832098e4c354fbbb3bb6d4813ed9d19d5a04ce24d8015cce0841eb52e57c1c43fe0a9534dc07e747dbac04eb3827&download=1&requestid=-1&desrequestid=-1&authStr=&authSignatureStr=","isDoc": "1","versionId": 15532,"filename": "【267273】新增功能:门户跨系统导入导出功能.doc","showDelete": true,"imgSrc": "/images/filetypeicons/doc_wev8.png","fileid": "13613","username": "米莱3"}
}
5、问题排查
5.1、配置e9新建流程,执行“接口调试”过程中,出现返回结果:“{“msg”:“解密错误token:9abd91ere-… userId:0cfabsda2365fdgagadsa…”}”
解决方法:请使用e9同步人员,执行接口调试,不要使用小e手动新增人员
;