<?php namespace app\admin\model; use think\facade\Config; class ProcessOrder extends \think\Model { //记录流程 public static function AddProcess($token,$order){ if (is_string($token)) { $user = GetUserInfo($token); $uid = isset($user['data']['id']) ? $user['data']['id'] : 0; $name = isset($user['data']['nickname']) ? $user['data']['nickname'] : ''; } else { //主要是某些脚本调用时没有token $uid = isset($token['id']) ? $token['id'] : 0; $name = isset($token['nickname']) ? $token['nickname'] : ''; } $conf =Config::get("process"); $action = isset($conf[$order['order_type']]) ? $conf[$order['order_type']]:[]; $header =reset($action); if((is_array($header)&&in_array($order['order_status'],$header))||$header==$order['order_status']){ $order_status=1; //流程新建 }else{ $order_status=2; } $data=[ "order_type"=>$order['order_type'], "order_code"=>$order['order_code'], "order_id"=>isset($order['order_id']) ?$order['order_id']:0 , "order_status"=>$order_status, "action_process"=>$order['order_status'], "action_status"=>$order['before_status'], "action_uid"=>$uid, "action_name"=>$name, "addtime"=>date("Y-m-d H:i:s"), // 'holder_id'=>$order['holder_id'],//数据所有人 ]; OrderMsg::addmsg($data); //手动排除竞价单ZXD if($order['order_type']!='ZXD') { ProcessWait::add(array_merge($data, ['holder_id' => $order['holder_id'] ?? 0,'person_id' => $order['person_id'] ?? 0]), isset($order['wait_id']) ? $order['wait_id'] : 0, isset($order['wait_name']) ? $order['wait_name'] : '',$order['handle_user_list']??''); } $insert = $data; //如果是【供应商】应用,即abutment,增加字段source==2(操作来源为供应商) if (strtolower(app('http')->getName()) == 'abutment') $insert['source'] = 2; //区分操作账号等级?? $insert['level'] =$uid==0?2: request()->level??2; if (self::insert($insert)) { Workflow::SaveFlow($data); }; } public static function workdel($order){ Workflow::where(["order_type"=>$order['order_type'],"order_code"=>$order['order_code']])->save(["is_del"=>1,"updatetime"=>date("y-m-d H:i:s")]); } }