php中的多级工作流创建

时间:2017-02-27 13:18:20

标签: laravel workflow laravel-5.3

我需要在php web应用程序中创建一个多级审批表单。基本上我们对每次重新获取都有不同的要求,有不同级别的人需要批准。一旦创作者提交的表格必须在第一个分配者批准时转到第一个分配者,第二个分配者必须批准。这可以是任何级别,它应该是动态的。在php中实现这个的最佳程序是什么?我们在laravel 5.3框架和mysql中编写应用程序。

1 个答案:

答案 0 :(得分:1)

您可以将表单数据存储在一个表格中,该表格包含当前审批级别的字段,并根据此级别向合适的人员显示。

要向不同的人通知需要批准的表单,您可以在提交表单时触发Function.prototype.bind(意思是:当它进入下一个审批级别时),然后发送电子邮件,或者您喜欢通知人们。

<强>更新

对于数据库,我将创建一个名为&#34; requisitions&#34;的表,其中包含请求所需的所有表单字段的列以及另外两个:level,type。 Level可以是一个整数,我也会将它用于类型列(&#34; cast&#34;这是应用程序中的描述性文本)。

要将用户映射到不同的类型,您还有很多选项可以执行此操作。有关查询相关用户申请的最简单方法是添加&#34; user_can_approve&#34;表,就像那样:

user_id     requisition_type     requisition_level
1           2                    2
2           1                    1
2           2                    1
2           3                    1
3           2                    2

(意思是:

  • ID 1 的用户可以批准 2 类型 2 的申请
  • ID 2 的用户可以批准 1 类型 1 类型的申请
  • ID 2 的用户可以批准 1
  • 级别的 2 类型的申请
  • 等......

然后,您可以查询特定用户的相关申请,如下所示:

class User extends Model {
         public function roles() {
             return $this->belongsToMany('App\Models\SystemRole', 'app_system_role_users', 'user_id', 'role_id', 'id');
 } 
}