暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

质流零代码开发十讲之三:触发器开发配置

56

通常业务处理都可以转化为对表的插入和更新操作,所以过去数据库都支持触发器和存储过程,支持降低业务开发代码的复杂度,但由于数据库的触发器调测困难,维护需要数据库管理员参与才可以,后来基本上都被代码逻辑代替。

质流基于配置模式实现数据跨表更新的触发器能力,将表单的增删改查导入及流程审批增加钩子能力,自动根据配置的sql进行事务处理,sql执行可测试,可日志跟踪,可视化修改变更,有效的发挥了触发器的价值,又避免了数据库触发器的弊端。

本文通过触发器的配置说明,使用一个仓库减库存的例子演示来进一步讲解质流的触发器配置使用方法。

01

触发器配置

    管理员登录    --> 系统设置  -->  表单触发器管理    

表单触发器管理主要配置两个参数,一个是执行步骤,一个是执行sql

  

执行步骤如果是非流程的,增加和修改为0,删除为-1,如果是流程则配置流程步骤,例如配置2,则表明执行第二步审批的时候触发。

执行sql可通过{{id}}获取当前更新数据的主键,举例如下:

    update  warehouse_management a  set   item_inventory_quantity  =item_inventory_quantity  -  (select  issue_quantity  from  items_out_of_storage where id={{id}}) where  article_numbering =(select article_numbering   from  items_out_of_storage where id={{id}})


    02

    修改库存的例子

    我们举个例子来进一步说明质流中的触发器使用方法。

    我们有两个应用,一个应用是仓库管理,包括字段如下:

    另一个是物品出库的流程应用,包括字段如下,相关应用创建看前两讲即可。


    相关表的字段名称
    表名
    字段名称
    表字段名
    warehouse_management
    (仓库管理)
    物品编码
    article_numbering
    物品名称
    item_name
    物品库存数量
    item_inventory_quantity
    items_out_of_storage
    (物品出库)

    物品编码
    article_numbering
    物品名称
    item_name
    出库数量
    issue_quantity
    提交人
    author
    提交时间
    commit_time


    如上图所示,我们需要在物品出库的第二步审批通过的时候执行库存修改,如果审批不通过则不修改

    配置如下:

    配置的sql如下:

      update  warehouse_management a  set   item_inventory_quantity  =item_inventory_quantity  -  (select  issue_quantity  from  items_out_of_storage where id={{id}}) where  article_numbering =(select article_numbering   from  items_out_of_storage where id={{id}})

      其中{{id}}无需再增加引号,也可以配置多个用;分开的sql语句。
      效果如下:
      我们点击物品出库(表单关联的能力后面文章会说明),填写如下:
      流程走到第一步审批如下,选择通过并提交:
      再看仓库管理中的这条物品数据,库存已经变成30

      质流零代码一键启动免费体验

      质流零代码开发十讲之一:表单开发配置

      质流零代码开发十讲之二:流程工单开发配置

      文章转载自数据库平台优化,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论