巧用智能助手实现会议室状态变更,避免使用时间冲突

1. 简介

1.1 案例简介

会议室预约是人事管理里中非常高频的场景,本案例将介绍,如何通过智能助手、数据联动、流程搭建会议室预约系统,实现会议室使用时间校验,有效避免会议室使用冲突,减小沟通成本,提高办公效率。

1.2 设计思路

1)当成员在「会议室预约」表单中申请会议室时,通过智能助手同步新增到辅助表「会议室申请记录」中;

2)会议室申请审批完成后,通过智能助手将审批结果同步更新到辅助表「会议室申请记录」中;

3)在「会议室预约」表单中通过数据联动,调用「会议室申请记录」中的会议室预约记录;

4)在「会议室预约」表单中设置流程节点提交校验,当本次预约时间与已有的会议室申请记录有时间冲突时,不能提交表单。

1.3 预期效果

在「会议室预约」中选择要预约的会议室后,即可通过关联查询字段查看到该会议室的预约记录。选择会议的开始、结束时间时,如果与预约记录中的会议开始时间、结束时间有冲突,则会进行流程节点校验,无法提交表单;修改会议的开始、结束时间和预约记录不冲突后,即可完成表单提交,效果如下:

2. 设置步骤

在学习之前建议安装 人事OA管理 应用模板,本文将按照模板中的示例数据进行讲解。

2.1 表单设计

本案例需要使用 3 张表单,分别是:

  • 会议室基础表:用于录入会议室地点、名称、容纳人数、设备等基础信息;
  • 会议室预约:用于进行会议的预约申请、行政审批;
  • 会议室申请记录:作为智能助手的新增、修改辅助表,用于后续表单校验的调用。

2.2 配置智能助手

进入「管理后台 >> 智能助手」,点击「新建智能助手」:

2.2.1 会议记录自动新增

新增智能助手,命名为「会议记录自动新增」,当「会议室预约」表单新增预约记录时,将表单信息同步新增到「会议室申请记录」中。

1)智能助手触发动作配置如下:

  • 触发动作:新增数据
  • 触发表单:会议室预约

2)智能助手执行动作配置如下:

  • 执行动作:新增数据
  • 目标表单:会议室申请记录
  • 字段赋值:如下图所示

2.2.2 会议预约表修改会议记录表

新增智能助手,命名为「会议预约表修改会议记录表」,当预约申请审批完成时,将审核结果等信息同步更新到「会议室申请记录」中。

1)智能助手触发动作配置如下:

  • 触发动作:修改数据
  • 触发表单:会议室预约
  • 触发条件:流程状态等于「流转完成」

2)智能助手执行动作配置如下:

  • 执行动作:修改已有数据
  • 目标表单:会议室申请记录
  • 过滤条件:
    • 执行表单中的「会议主题」等于触发表单中「会议主题」的字段值
    • 执行表单中的「会议地点」等于触发表单中「会议室地点」的字段值
    • 执行表单中的「会议室」等于触发表单中「会议室」的字段值
    • 执行表单中的「会议室编号」等于触发表单中「会议室编号」的字段值
    • 执行表单中的「当前时间」等于触发表单中「当前时间」的字段值
  • 字段修改赋值:
    • 执行表单中的「会议开始时间」赋值为触发表单中「会议开始时间」的字段值
    • 执行表单中的「会议结束时间」赋值为触发表单中「会议结束时间」的字段值
    • 执行表单中的「与会人员」赋值为触发表单中「与会人员」的字段值
    • 执行表单中的「会议主题」赋值为触发表单中「会议主题」的字段值
    • 执行表单中的「审批意见」赋值为触发表单中「审批意见」的字段值

2.3 设置数据联动

在「会议室预约」表单中新增 3 个辅助字段:「开始时间判断」、「结束时间判断」、「开始和结束时间判断」,用于对会议室预约时间进行校验,避免使用时间冲突,字段的数据联动配置如下:

1)选中「开始时间判断」字段,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」:

2)进入数据联动设置页面,具体设置如下:

  • 联动表单:会议室申请记录
  • 联动条件:
    • 当前表单中的「会议室」等于联动表单的「会议室」字段
    • 当前表单中的「会议开始时间」小于等于联动表单的「会议开始时间」字段
    • 当前表单中的「会议结束时间」大于等于联动表单的「会议开始时间」字段
    • 当前表单中的「审批意见」不等于“拒绝”
  • 触发联动:「开始时间判断」字段显示联动表单的「会议主题」

全部设置完成点击「确定」。

3)同样的方法,设置「结束时间判断」字段的数据联动规则如下:

  • 联动表单:会议室申请记录
  • 联动条件:
    • 当前表单中的「会议室」等于联动表单的「会议室」字段
    • 当前表单中的「会议开始时间」小于等于联动表单的「会议结束时间」字段
    • 当前表单中的「会议结束时间」大于等于联动表单的「会议结束时间」字段
    • 当前表单中的「审批意见」不等于“拒绝”
  • 触发联动:「结束时间判断」字段显示联动表单的「会议主题」

全部设置完成点击「确认」。

4)同样的方法,设置「开始和结束时间判断」字段的数据联动规则如下:

  • 联动表单:会议室申请记录
  • 联动条件:
    • 当前表单中的「会议室」等于联动表单的「会议室」字段
    • 当前表单中的「会议开始时间」大于等于联动表单的「会议开始时间」字段
    • 当前表单中的「会议结束时间」小于等于联动表单的「会议结束时间」字段
    • 当前表单中的「审批意见」不等于“拒绝”
  • 触发联动:「开始和结束时间判断」字段显示联动表单的「会议主题」

全部设置完成点击「确认」。

2.4 设置流程提交校验

1)进入「流程设定」,选中「流程发起节点」,在「节点属性 >> 更多属性 >> 节点校验条件」处,选择「满足条件的数据才可提交」,点击下方「添加校验条件」:

2)在节点提交校验页面,设置校验内容如下:

  • 不满足校验条件时提示文字:会议结束时间必须大于会议开始时间
  • 公式:
会议开始时间<会议结束时间

3)同样的方法,设置如下节点校验条件:

  • 不满足校验条件时提示文字:会议开始时间需要大于当前时间!
  • 公式:
当前时间<会议开始时间
  • 不满足校验条件时提示文字:开始时间与历史预约记录有冲突,请修改后提交!
  • 公式:(即校验是否该会议开始时间已有其他会议占用)
EXACT(开始时间判断,'')
  • 不满足校验条件时提示文字:结束时间与历史预约记录有冲突,请修改后提交!
  • 公式:(即校验是否该会议结束时间已有其他会议占用)
EXACT(结束时间判断,'')
  • 不满足校验条件时提示文字:开始和结束时间与历史预约记录有冲突,请修改后提交!
  • 公式:(即校验是否该会议时间已有其他会议占用)
EXACT(开始和结束时间判断,'')

2.5 效果演示

效果演示参见本文【1.3 预期效果】。

Copyright(C)2023 HFBangFu Inc. All Rights Reserved 皖ICP备12017563号-5