纷享销客开发者手册 纷享销客开发者手册
  • APL开发手册
  • PWC开发手册
  • OpenAPI 文档
APL代码介绍
API Reference
开发工具
更新日志
  • 简体中文
  • English
APL代码介绍
API Reference
开发工具
更新日志
  • 简体中文
  • English
  • 入门

  • APL函数开放场景

  • APL类开放场景

    • 公共库

    • 电子签

    • 认证提供商

    • 可用业务类型

    • 对象Controller插件

    • 事件监听

    • 对象导出插件

    • ERP集成平台

    • 外勤类型函数校验

      • 1.概述
      • 2.配置步骤
        • ⼀ . 签到签退完成校验
      • 3.Groovy代码示例
      • 4.常见问题
    • 快消订货业务插件

    • 对象业务处理器

    • 在线文档

    • 自定义模型

    • 环境部署

目录

配置步骤

该能⼒还在灰度测试期间,想要体验需要在灰度申请进⾏申请

# ⼀ . 签到签退完成校验

# 1. 配置⽅式

在外勤类型 - 全局设置中进⾏开启,选择已经开发好的或者新建⼀个 APL 类使⽤,并且需要钩 上具体在哪个节点使⽤。不钩上即使函数⾥⾯实现了该节点的⽅案也不会执⾏!!!。

img_1.png

备注:如果上述⽅式均配置了 还是没有执⾏函数,到后台查看函数执⾏⽇志,看是否函数执⾏ 报错,如果函数本⾝写的有问题报错,默认不在拦截!!!!

# 2. APL 类说明

直接在类型中新建或者在 APL 后台管理中新建 APL 类,选择外勤类型函数校验的命名空间即 可,将必填字段补充完整

img_2.png

⽬前没有新建模版,可以直接使⽤空模版⾥⾯也有详细说明,或者选择这个企业历史创建的都 可以

整个类中有三个⽅法,对应签到(beforeCheckin)、签退(beforeCheckout)、完成 (beforeCheckFinish)三个节点的处理,每个⽅法⼊参数和出参完全⼀致,通过实现每个⽅ 法进⾏不同的判断,返回是否阻拦检验。

⼊参:( ⽬前定位这些字段内容均不可靠 只供参考,不建议直接使⽤!!! 经纬度⽐较可信 )

    class Arg implements Serializable {

        private String checkId;//外勤记录id
        private String mainObjApiName;//外勤关联主对象apiNam
        private String mainObjDataId;//外勤关联主对象id
        private String checkTypeId;//外勤类型id
        private String userId;//⽤⼾ID
        private Map<String, Object> checkinMap;//外勤相关字段. -- 终端版本需要更新到最新,详情见下边
    }

    /**
     * checkinmap中所有的字段
     */
    class CheckinMap {
        private String locationInfo;//当前终端定位信息 --定位这些均在895之后版本才有
        private String checkinsLon;//经度
        private String checkinsLat;//纬度
        private String checkinsAddressCountry;// 国家 --以下信息均可能为空,终端定位信息弱等等情况
        // ⽬前定位这些字段内容均不可靠 只供参考,不建议直接使⽤!!!
        private String checkinsAddressProvince;// 省
        private String checkinsAddressCity;//城市
        private String checkinsAddressStreetNum;//街道
        private String checkinsAddressStreet;//街道号
        private String checkinsAddressDesc;//详细地址

        private List<Object> referenceObject;//⼦对象信息 --终端版本905之后
    }

出参(返回值)

    class Result implements Serializable {

        private boolean success;//是否校验通过
        private boolean block;//校验不通过 是否阻拦
        private String title;//不通过时弹窗标题
        private String message;//不通过时弹窗文案
    }

# 3. 简单案例

空模版可以直接保存使⽤,就是没有逻辑判断,直接默认签到时直接校验通过、签退时校验不 通过不强制阻拦,完成校验不通过且强制阻拦。

checkTypeId主要针对不同类型配置⽤⼀个函数的情况,可以⾛不同的逻辑,如果⼀个类型创建⼀个函 数类,则可以不⽤这个做判断

详见groovy代码示例

1.概述
3.Groovy代码示例

← 1.概述 3.Groovy代码示例→

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式