一、设备码字段维护
- 在设备对象上提前维护“二维码/条形码编码(Api Name:device_code)”字段附值规则,二维码/条形码生成、扫码识别均基于该字段。
- 注意:历史企业字段名称可能叫做设备序列号
- 默认下二维码/条形码编码等于序列号,如果企业有其他附值规则,手动输入或通过函数生成到该字段中
二、设备码(二维码)模版和样式
- 设置入口:服务通->系统设置->设备管理->设备设置,进入“设备码”菜单,
- 其他系统生成:在租户内复制指定链接,在生成码的其他机器上将链接转换为二维码即可
三、设备码(二维码)使用场景
3.1通用对象【关联设备】扫码(二维码)
- 如在【工单】对象、【备件消耗】对象等“关联设备”的字段,启用支持扫一扫添加,通过调用ui函数即可识别设备编码并关联上设备。
// 支持扫设备码(二维码)
// 这里以工单上的 field_n63ql__c 字段作为扫码字段,注意,后续根据实际情况替换
// 获取扫一扫字段的数据
String deviceContent = context.data.field_n63ql__c;
Map map=[:]
// 如果是链接
if (deviceContent != null && deviceContent.startsWith("https://")) {
// 截取短链最后的编码
int indexOf = deviceContent.lastIndexOf("/")
String code = deviceContent.substring(indexOf + 1);
log.info("扫码内容:" + deviceContent)
// 根据短链获取长链
def(boolean error, Map data, String message) = Fx.biz.callAPI("Fx.BI.shorturlInnerGetOriginalUrl", code)
log.info("长链结果:" + data)
if (data != null) {
// 长链
String url = data["originalUrl"] as String;
int startIndex = url.indexOf("dataId%3D");
if (startIndex != -1) {
url = url.substring(startIndex + 9, url.length());
int endIndex = url.indexOf("%26");
if (endIndex != -1) {
// 获取数据ID
url = url.substring(0, endIndex);
map=["field_n63ql__c":url];
}
}
}
}
UIEvent event = UIEvent.build(context){
editMaster(map)
}
return event
3.2工程师工扫码查设备
- 在工程师工作台设置“扫一扫”入口,工程师在工作台点击扫一扫后扫描二维码进入到设备详情页,可下钻查询相关工单等信息;
- 工程师点击企信右上角“+”的“扫一扫”,扫描二维码进入到设备详情页,可下钻查询相关工单等信息;
4.3外部终端用户扫码查设备
前提:需要启用终端用户服务通,并且需要对终端用户或游客角色开放【设备】对象权限,如需游客角色扫码查询全部设备,需要将设备对象数据权限设置为公开。(业务对象和角色权限)
- 外部终端用户微信上点击“扫一扫”,扫描二维码(只能扫描二维码)进入到设备详情页,可点击【故障报修】提交工单;
- 在服务号配置微信扫一扫菜单(微信服务号菜单设置),扫描二维码(只能扫描二维码)进入到设备详情页,可点击【故障报修】提交工单;
- 在终端用户门户页面设置“扫一扫”菜单(终端用户自助门户页面),终端用户点击扫一扫扫描二维码进入到设备详情页,可点击【故障报修】提交工单;
- 终端用户在浏览器点击“扫一扫”,扫描二维码(只能扫描二维码)进入到设备详情页,可点击【故障报修】提交工单;
3.4外部终端用户扫码故障报修规则
- 在设备详情页,系统预设了“故障报修”按钮,并为故障报修按钮预设了映射逻辑,企业可根据本企业诉求,将设备信息映射到工单上
- 设备故障报修详细配置请参考设备故障报修