一、设备码字段维护
- 在设备对象上提前维护“二维码/条形码编码(Api Name:device_code)”字段附值规则,二维码/条形码生成、扫码识别均基于该字段。
- 注意:历史企业字段名称可能叫做设备序列号
- 默认下二维码/条形码编码等于序列号,如果企业有其他附值规则,手动输入或通过函数生成到该字段中
- 如果设备条形码已在其他系统生成,只需在新建设备数据时,将设备条形码录入/集成同步到“二维码/条形码编码”字段,也可扫码识别。
二、在纷享系统生成条形码
- 设置入口:服务通->系统设置->设备管理->设备设置
- 进入“设备码”菜单,点击【设备码生成规则】
2.1设备码(条形码)样式
- 在设备码生成规则基础信息设置中,选择码类型,可以生成条形码、二维码中的一种或同时生成两种
- 条形码:生成条形码,扫码后无跳转,仅能识别码文本
- 生成名称可自定义,即导出设备码PDF文件的名称,方便查询和归类
- 在样式打印模板中设置打印样式
- 码选择条形码
2.2设备码(条形码)打印
- 系统在设备对象预设了【打印设备码】按钮,请给相关角色/人员分配【导出设备码】按钮权限
- 点击【打印设备码】可以生成和打印设备码,或批量选择设备后,点击【导出设备码】或【合并导出设备码】
三、设备码(条形码)使用场景
3.1通用对象【关联设备】扫码
- 如在【工单】对象、【备件消耗】对象等“关联设备”的字段,启用支持扫一扫添加,通过调用ui函数即可识别设备编码并关联上设备。
// 支持扫设备条形码
// 这里以工单上的 field_97ZrY__c字段作为扫码字段,注意,后续根据实际情况替换
// 获取扫一扫字段的数据
String deviceContent = context.data.field_97ZrY__c;
Map map=[:]
if (deviceContent != null) {
// 根据条形码查询设备
// 根据短链获取长链
APIResult ret = Fx.object.findOne("DeviceObj", //查询客户对象
FQLAttribute.builder()
.columns(["_id", "name"]) //返回的数据id
.queryTemplate(QueryTemplate.AND(["device_code": QueryOperator.EQ(deviceContent)] ))
.build(),
SelectAttribute.builder()
.build());
log.info("ret :" + ret)
if (ret.data != null) {
String dataId = ret.data["_id"] as String;
map=["field_97ZrY__c":dataId];
}
}
UIEvent event = UIEvent.build(context){
editMaster(map)
}
return event
4.2外部终端用户扫码(条形码)查设备
前提:需要启用终端用户服务通,并且需要对终端用户或游客角色开放【设备】对象权限,如需游客角色扫码查询全部设备,需要将设备对象数据权限设置为公开。(业务对象和角色权限)
- 外部用户提交工单时,设备字段,点击扫码可关联上设备
- 查询工具菜单,通过手动输入文本或扫描条形码识别后进行搜索。终端用户查询工具