配置信息

请参考谷神系统配置钉钉应用,在谷神系统添加钉钉配置项

流程简要说明

  1. 每个单据都可单独设置审批模式:内部或钉钉(参考启用钉钉审批),内部审批和钉钉审批用的是同一套按钮,当按钮触发后,会根据单据类型来判断是走内部审批还是钉钉审批。
  2. 大致流程:
    • 谷神系统提交,调用钉钉接口创建任务
    • 审核人在钉钉或谷神(谷神审核会调钉钉接口同步)进行审核,操作后钉钉回调谷神。
    • 谷神接收回调确认后,调用审批过程函数(和内部审批共用)回写单据
  3. 谷神回调处理后,会马上开启异步线程请求钉钉接口,获取当前审批人和已审批人并保存,这样会显示在待办事项已办事项。查看审批流时也会优先从数据库查询,没有记录才会请求接口。因为主动查询,所以只要是由谷神发起的审批,即使在钉钉操作,也会显示在已办事项
  4. 钉钉提交时,如有设置附件,会自动读取此单据附件并上传。钉钉审批的附件要上传到钉盘,需要授权码。如果是在钉钉工作台系统可直接获取,外部浏览器则需要用户扫码授权

启用钉钉审批

每个单据可单独设置审批模式,在单据类型管理设置

同步审批模板

请在谷神系统,钉钉模块->审批模板菜单,点击同步模板同步钉钉审批模板。
注意:当前登录操作员,必须已匹配钉钉用户,且是钉钉管理员

模板匹配设置

1. 新增模板

模板匹配菜单,点击新增按钮增加匹配记录

  • 单据类型:选择对应单据类型名称
  • 模板名称:选择匹配的钉钉模板名称
  • 过程函数:此过程脚本为取数据调用,格式:过程函数:方法名,可使用公用(请参考产品示例说明)或自定义
  • 数据源:配置取数据规则,以主表进行关联查询。三个参数,:分割,格式:数据源:表名=表别名:当前表字段=主表字段,多数据源用;分割。
    注意: 1、表别名可省略;2、如为主表,则第三个参数应仅为主表单据号字段;3、如为其他表,第三个参数可为当前表字段,这样会以单据号做为条件查询。
  • 参数:此内容为json格式模板,应依照钉钉审批模板填写,key为钉钉组件名称,value为数据源的字段。配置参考下一节模板配置

2. 模板配置

  1. 配置项
    元素配置:每个元素内都可增加DINGTALK_SETUP子元素指定数据源、控件类型等配置信息。

    {
     "DINGTALK_SETUP": {
         "DATASOURCE": "A", //指定数据源
         "CONTROL": { //指定字段控件类型
             "部门": "DEPT",
             "附件": "DINGTALK_OA_FILE", //附件也可以用值DINGTALK_OA_FILE表示
             "多选框": "CHOICE_DOUBLE",
             "日期": "INPUT_DATE",
             "日期时间": "INPUT_DATE_TIME"
         }
     },
     "部门": "COMPANY_CORPORATION",
     "附件": "", //附件也可以用值DINGTALK_OA_FILE表示
     "单选框": "COMPANY_REMARK",
     "多选框": "COMPANY_REMARK",
     "日期": "COMPANY_FOUNDTIME",
     "日期时间": "COMPANY_FOUNDTIME",
     ......
    }

    数据源:每个元素内都可用DATASOURCE指定当前元素默认数据源(不包含子元素),如无指定则默认数据源为主表。值可使用表名或别名.的方式可指定数据源,如无指定使用默认数据源。注意:如果元素配置已包含数据源,则以元素配置为准。

  2. 字段取值
    字符串拼接:CONCAT(A.MONEY,00,$,…)
    计算表达式:+-*/,(),IFNULL(A.MONEY,1),IFNULL 第一个参数只能是字段值,不能是表达式。计算方式从左至右,因此*/应使用()提高优先级。如:A.MONEY+1.5*IFNULL(B.EXRATE,1),应写为A.MONEY+(1.5*IFNULL(B.EXRATE,1))。

  3. 钉钉控件

    • 基础控件:

      • 单行输入框:数据类型:字符串、数字,无需指定控件类型;
      • 多行输入框:数据类型:字符串、数字,无需指定控件类型;
      • 数字输入框:数据类型:字符串、数字,无需指定控件类型;
      • 单选框:数据类型:字符串、数字,必须是预设值,无需指定控件类型;
      • 多选框:数据类型:字符串、数字,必须是预设值,控件类型:CHOICE_DOUBLE;
      • 日期:数据类型:日期,控件类型:INPUT_DATE(yyyy-MM-dd)或INPUT_DATE_TIME(yyyy-MM-dd HH:mm);
      • 日期区间:数据类型:数组,如[“2019-02-19”,”2019-02-25”],控件类型:DATE_INTERVAL;
      • 暂不支持:说明文字、身份证、电话;
    • 增强控件:

      • 图片:数据类型:数组,如[“url1”,”url2”],控件类型:PICTURE;
      • 明细/表格:无需配置,自动转换;
      • 金额:数据类型:数字,无需指定控件类型;
      • 附件:元素配置添加或值固定为”DINGTALK_OA_FILE”,提交会自动上传附件,控件类型:DINGTALK_OA_FILE;
      • 联系人:数据类型:数组、字符串,传高达操作员CODE自动转换,控件类型:LINKMAN;
      • 部门:数据类型:数组、字符串,传高达部门CODE自动转换,控件类型:DEPT;
      • 计算公式:数据类型:数字,无需指定控件类型
      • 关联审批单:数据类型:数组,如[“”,””],控件类型:CORRELATION_AUDIT;
      • 暂不支持:手写签名、外部联系人、地点、电子发票、省市区、评分、收款账户;

回调

钉钉审批事件都会触发回调方法,请在回调过程函数回写单据

其他说明

  • 弃审没调审批公共方法,暂无审核模式判断,各项目可使用方法$auditUtil.auditMode($billtypeCode),返回2为钉钉审批,自行添加
  • 单个审批如果几秒内频繁提交、撤回,钉钉接口可能会报错:钉钉接口频繁操作 : 审批系统错误,原因为【{0}】,这个没事重新点击即可
文档更新时间: 2021-12-28 11:00   作者:杜少荣