智能小e-智能办公文档
前言
- 集成配置
- 同步
- 单点
- 外联系统
- 智能办公
- 意图智能化处理引擎
- 文本结构化处理引擎
- 词典管理
- 智能办公案例
- 错误原因和解决方案
- 智能问答
- 智能体
本文章按照智能办公
1、 意图智能化处理引擎
本章节主要说明,如何配置意图以及解释字段使用说明情况,这里分为两种类型:
- API请求方式
- 指定网页跳转
1.1、API请求方式
返回结果配置分为3种: 无字段匹配配置
、有字段匹配配置
、纯脚本配置
1.1.1、无字段匹配配置
配置后,在智能办公中,执行后的效果;
1.1.2、有字段匹配配置
配置后,在智能办公中,执行后的效果;
1.1.3、纯脚本配置
整理中…
1.2、指定网页跳转
指定网页跳转配置,分为两种情况:
- 路径参数,示例:/mobile/ebdapp/view/
838181323482701828
- 拼接参数,示例:/ebdapp/view/detail
?id=123&name=dd
1.2.1、 路径参数
按照示例:/mobile/ebdapp/view/838181323482701828
,如何配置,参考下图:
图中,路径参数使用{}
标识,id
作为关联值;
接口参数中接口字段id(path)
,其中,id表示上面路径的关联值,(path)表示替换入参的标记
注意
{}
、id(path)
都要使用英文输入法
1.2.1、 拼接参数
按照示例:/ebdapp/view/detail?id=123&name=dd
,如何配置,参考下图:
1.3、配置使用权限
说明
新增的意图,需要添加使用时权限,否则无法使用!
2、文本结构化处理引擎
2.1、表单说明及作用
文本结构化处理引擎(表单)的作用,是帮助告诉智能小e表单的字段有哪些,以及表单字段的类型,才能引导用户通过多轮对话完成表单的填写。
添加表单:您可以选择上传Excel、图片一键智能生成表单,也可以手动添加表单
一键智能生成表单:您可以拽文件、选择本地文件去识别表单字段,支持Excel、图片,类型支持PNG、JPG
手动添加表单:您可以添加表单名称,以及表单的字段;
表单内部有:主表
、明细表
说明
表单本质就是提供业务API调用时的入参功能!
1、提交类型意图,表单根据内部字段提供了业务参数,例如:请假流程、预定会议等
2、查询类型意图,表单根据内部字段提供了查询的参数,例如:查询时间、查询关键词等
2.2、表单字段
表单字段,目前由字段名称
、字段格式
、字段属性
、关联词典
和字段默认值
组成;
字段格式
类型名称 | 说明 |
---|---|
文本 | 单行、多行文本 |
数字 | 整数、小数 |
日期 | yyyy-MM-dd HH:mm:ss yyyy-MM-dd HH:mm yyyy-MM-dd HH yyyy-MM-dd yyyy-MM yyyy |
时间 | HH:mm:ss HH:mm HH |
下拉选择 | 需要关联词典 使用,风格有:选择人员、选择会议室 |
浏览按钮 | 需要关联词典 使用 |
字段属性
- 可编辑
- 必填
- 显示
字段默认值
字段默认值,由智能推荐、指定内容、无默认值3种类型;
- 智能推荐,根据大模型自动抽取数据,回填到表单字段;
- 无默认值;
- 指定内容,分为3种类型:
- 固定值,直接输入文本内容即可
- API获取,参考下面案例具体说明
- 脚本,参考下面案例具体说明
注意
1、字段使用关联词典
后,默认值的显示内容,是根据关联词典
查询的结果返回的。通俗来讲,无论是API获取、脚本配置
返回结果
,这里的返回结果
都需要作为关联词典
的入参,再次执行词典调用,根据词典的返回结果,作为默认值的显示内容。2、字段没有使用
关联词典
,默认值的显示内容,就是配置的内容。
API获取
具体配置参考【创建意图】。
脚本
2.3、表单字段联动
表单字段联动,当字段的值会影响到其他字段时,需要配置字段属性联动,目前仅支持:
- 隐藏、显示
- 必填
2.4、表单动作
表单动作,可以配置校验的接口信息,会按照列表的顺序执行校验,目前分为:
- 提交前执行校验(意图提交前动作)
- 提交失败后执行校验( 意图提交后动作)
目前使用的场景是预定会议,这里使用表单动作,完成会议提交前冲突检测,推荐会议室两个动作;
下面是e10预定会议(会议室冲突检测)表单动作,图示如下:
2.5、表单字段(附件上传)
2.5.1 e9 附件上传
- 请求地址:
/api/doc/upload/uploadFile2Doc
- 请求方式:
POST
- 请求类型:
multipart/form-data
参数名称 | 说明 |
---|---|
category | 目录id,如何获取参考下面《e9 附件上传获取目录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"}
}
下面是图片示例:
e9 附件上传获取目录id
**注意 **
浏览器打开后,请使用F12
, 即可看到网络请求
2.5.2 e10 附件上传
- 请求地址:
/api/file/v2/common/upload
- 请求方式:
POST
- 请求类型:
multipart/form-data
参数名称 | 类型 | 必填 | 描述 |
---|---|---|---|
access_token | String | 必填 | 调用接口凭证 |
file | File | 必填 | 上传文件 |
name | String | 必填 | 文件名称 |
userid | Long | 必填 | 用户ID |
返回结果
直接复制到配置结果中!
{"message": {"errcode": "0","errmsg": "success"},"data": {"fileid": "744652681173368833","name": "test.jpeg","size": 69500,"sizeUnit": "B","extName": "jpeg","type": "image/jpeg","img": true,"uploadUser": "5111916321074015321","uploadUserName": "代娟娟","uploadTime": 1656577963664,"ban": false,"docId": "8515657796377515961"}
}
下面是图片示例:
3、 词典管理
3.1、 配置词典
智能小e词典,词典选项类型目前支持两种:
- 实时搜索外联系统,就是直接调用oa系统数据
- 手动添加
实时搜索外联系统
手动添加
3.2、词典案例场景
- e9案例场景参考文档地址:
- https://e-cloudstore.com/doc.html?appId=c373a4b01fb74d098b62e2b969081d2d
- https://www.e-cology.com.cn/sp/ebdpage/view/100514900000000089/page/100514900000000089?id=100594140000015343&_key=6booyj
- https://e-cloudstore.com/ec/api/applist/index.html#/
- e10案例场景参考文档地址:
- https://weapp.eteams.cn/sp/opendoc/freepass/10.0.2506.01/zh_cn/840691688848064512
3.2.1、人员列表
e9场景
-
地址:/api/public/browser/complete/1
-
请求类型: get
-
请求参数:
参数名称 说明 q 人员名称模糊查询关键词 -
接口返回结果
{"datas":[{"subcompanyid1span":"fxhB分部","subcompanyid":"42429","pinyinlastname":"fxhB-1","departmentidspan":"fxhB部门 | fxhB分部","departmentid":"39547","icon":"/messager/images/icon_w_wev8.jpg","subcompanyname":"fxhB分部","type":"resource","supsubcompanyname":"","title":"fxhB-1 | fxhB部门 | fxhB分部 | fxhB分部 | fxhA-1-1","lastname":"fxhB-1","jobtitlespan":"fxhA-1-1","jobtitlename":"fxhA-1-1","departmentname":"fxhB部门","lastnamespan":"fxhB-1","name":"fxhB-1","id":"15344","nodeid":"resource_15344x","supsubcompanyid":"0"}]}
下面时配置例图
e10场景
- 请求地址:
/api/hrm/restful/queryEmployee
- 请求方式:
POST
- 请求类型:
application/json
参数名称 | 类型 | 必填 | 描述 |
---|---|---|---|
access_token | String | 必填 | 调用接口凭证 |
current | Integer | 必填 | 分页-当前页 |
pageSize | Integer | 必填 | 分页-页大小(最大1000) |
nameLikeList | Arryay | 非必填 | 名称模糊查询 |
containEmployeeExtend | Boolean | 非必填 | 加载基本信息自定义 |
containUserInfoExtend | Boolean | 非必填 | 加载个人信息自定义(这个参数为true;必然提供个人信息内容) |
containUserInfo | Boolean | 非必填 | 加载个人信息 |
参数示例
{"access_token": "9b981cc58b484212a9923c768acaee75","current": 1,"pageSize": 20,"nameLikeList": ["zhang"],"containEmployeeExtend":true,"containUserInfoExtend":true,"containUserInfo":true
}
返回结果
直接复制到词典配置结果中!
{"message": {"errcode": "0","errmsg": "success"},"data": {"current": 1,"total": 1,"data": [{"employeeExtend": {"802830263522590723": {"title": "单行文本","value": "aassff"}},"education": {"id": "767257884333465620","name": "高中及以下"},"accumfundaccount": "sss","nation": {"id": "767257884333465630","name": "汉族"},"residence_place": "1122","modifier": "2226184113539534645","active_date": "2022-12-12","type": "inside","bankid": "798795283734192129","id_no": "342401198802051876","bank_accountname": "aass","id": "805851627118034951","bank_account": "aaas","created": "2022-12-12","degree": {"id": "767257884333465627","name": "博士"},"first_work_date": "2022-12-17","work_year": 0,"formdata": "807746708413734913","login_status": "invited","native_place": "安徽省","last_update_time": "2022-12-17","pinyin": "anbang,anbeng","user_id": "2227082695389976109","child_status": "ffss","birthday": "1988-02-05","tenant_key": "t7emfkqmmm","family_contact": "3344","sec_level": 0,"update_time": "2022-12-17","job_num": "RYGH5612","department": "2226184113543634646","logogram": "ab","personnel_status": "5","im_uid": "805851627118034951","household_type": {"id": "767257884333465611","name": "本市城镇"},"graduate_school": "aaass","marital_status": "married","politics_status": {"id": "767257884333465615","name": "党员(含预备党员)"},"age": 34,"username": "安蚌"}],"pageSize": 100}
}
3.2.2、 部门列表
e9场景
-
地址:/api/public/browser/complete/4
-
请求类型: get
-
请求参数:
参数名称 说明 q 部门名称模糊查询关键词 -
接口返回结果
{"datas":[{"name":"wyf0805-02","id":"-83","title":"wyf0805-02"}]}
下面时配置例图
e10场景
没有根据部门名称检索的接口,具体查看e10开放平台接口文档
3.2.3、 分部列表
e9场景
-
地址:/api/public/browser/complete/164
-
请求类型: get
-
请求参数:
参数名称 说明 q 分部名称模糊查询关键词 -
接口返回结果
{"datas":[{"name":"wyf0805-02","id":"-83","title":"wyf0805-02"}]}
下面时配置例图
e10场景
没有根据名称检索的接口,具体查看e10开放平台接口文档
3.2.4、 会议室列表
e9场景
e9目前没有推荐会议室标准接口,可以使用esb搭建开放平台接口,下面是sql(oracle数据库)示例:
select
id,name,roomdesc,images,allowmaxnum
from meetingroom
where subcompanyid = ( select subcompanyid1 from hrmresource where id='${hrmid}' )
and status=1
and ALLOWMAXNUM>= nvl('${userNum}',0)
and name like '%${name}%'
and id not in (
SELECT address FROM meeting
WHERE meetingstatus IN (0,1, 2) AND ( (begindate = '${startdate}' AND begintime < '${endtime}' AND endtime > '${starttime}') OR (begindate < '${enddate}' AND enddate > '${startdate}' ) ) AND ADDRESS is not null
)
esb入参:
参数名称 | 类型 | 必填 | 描述 |
---|---|---|---|
hrmid | String | 必填 | 用户id |
userNum | Long | 非必填 | 用户数量 |
name | String | 非必填 | 模糊搜索,会议室名称 |
startdate | String | 必填 | 开始日期 |
starttime | String | 必填 | 开始时间 |
enddate | String | 必填 | 结束日期 |
endtime | String | 必填 | 结束时间 |
e10场景
- 请求地址:
/api/meeting/meetingOpenApi/getRecommendRoomEvents
- 请求方式:
POST
- 请求类型:
application/json
参数名称 | 类型 | 必填 | 描述 |
---|---|---|---|
access_token | String | 必填 | 调用接口凭证 |
userid | Long | 必填 | 用户ID |
totalMember | Integer | 非必填 | 参会人数 |
size | Integer | 必填 | 推荐的数据个数(最多只能返回10个) |
start | String | 非必填 | 开始时间,格式为(yy-MM-dd HH:mm:ss) |
end | String | 非必填 | 结束时间,格式为(yy-MM-dd HH:mm:ss) |
keyWords | List | 非必填 | 模糊查询得关键词数组[“泛微”,“的”,“茶室”] |
参数示例
{"access_token": "b9758709a445ad918c1ff362ab236c28","userid": "5115992169571507219","totalMember": 5,"start": "2023-08-10 11:30:00","end": "2023-08-23 11:30:00","size": 2,"keyWords": ["测试"]
}
返回结果
直接复制到词典配置结果中!
{"code": 0,"msg": "success","status": true,"data": [{"start": "2023-09-10 08:30:00","end": "2023-09-10 23:30:00","permission": 0,"room": {"id": "761695987479191552","name": "测试会议室","roomDesc": "","status": 1,"equipments": ""}}],"fail": false
}
下面时图片示例:
注意
参数totalNumber
、start
、end
这3个参数还没有使用!!!
当这个词典被表单的字段使用后,在使用这3个参数!
-
首先,表单关联会议室词典
-
然后,找到会议室词典
-
其次,添加剩余参数
totalNumber
、start
、end
- totalMember 参数
function run(object) {var total = "";var tmp = object.field_1791414335218679810;if(tmp != null && tmp.value != null && tmp.value.length > 0){total = tmp.value[0];}if(startTime.length == 0){total = "2";}return total; }
- start 参数
function run(object) {var startTime = "";var tmp = object.field_1791414335214485505;if(tmp != null && tmp.value != null && tmp.value.length > 0){startTime = tmp.value[0];}if(startTime.length == 0){startTime = "";}return startTime; }
- end 参数
function run(object) {var end = "";var tmp = object.field_1791414335214485506;if(tmp != null && tmp.value != null && tmp.value.length > 0){end = tmp.value[0];}if(startTime.length == 0){end = "";}return end; }
- totalMember 参数
4、智能办公案例
参考 《智能办公如何创建e9流程》、参考 《智能办公如何创建e10流程》