Workflow.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace app\admin\model;
  3. use think\facade\Config;
  4. //记录操作流程
  5. class Workflow extends \think\Model
  6. {
  7. public static $conf=[];
  8. public function __construct(array $data = [])
  9. {
  10. parent::__construct($data);
  11. self::$conf=Config::get("process");
  12. }
  13. public static function SaveFlow($data){
  14. $conf =self::$conf;
  15. $action = isset($conf[$data['order_type']]) ? $conf[$data['order_type']]:[];
  16. $last =end($action);
  17. $order_status=2;//默认进行中
  18. if((is_array($last)&&in_array($data['action_process'],$last))||$last==$data['action_process']){
  19. $order_status=3; //流程结束
  20. }
  21. $header =reset($action);
  22. if((is_array($header)&&in_array($data['action_process'],$header))||$header==$data['action_process']){
  23. $order_status=1; //流程新建
  24. }
  25. $proces = self::where(["order_type"=>$data['order_type'],"order_code"=>$data['order_code'],"is_del"=>0])->find();
  26. if($proces){
  27. $info=[
  28. "order_process"=>$data['order_status'],
  29. "order_status"=>$order_status,
  30. "action_uid"=>$data['action_uid'],
  31. "action_name"=>$data['action_name'],
  32. "updatetime"=>date("Y-m-d H:i:s")
  33. ];
  34. self::where(["id"=>$proces['id']])->update($info);
  35. }else{
  36. $proces=[
  37. "order_type"=>$data['order_type'],
  38. "order_code"=>$data['order_code'],
  39. "order_id"=>$data['order_id'],
  40. "order_process"=>$data['order_status'],
  41. "order_status"=>$order_status,
  42. "apply_id"=>$data['action_uid'],
  43. "apply_name"=>$data['action_name'],
  44. "action_uid"=>$data['action_uid'],
  45. "action_name"=>$data['action_name'],
  46. "addtime"=>date("Y-m-d H:i:s"),
  47. "updatetime"=>date("Y-m-d H:i:s")
  48. ];
  49. self::insert($proces);
  50. }
  51. }
  52. /**
  53. * 待办事项新建
  54. *
  55. */
  56. public function Addwait($data){
  57. }
  58. public function checkStatus(){
  59. }
  60. }