Workflow.php 2.2 KB

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