<?php

namespace app\admin\controller;

use app\BaseController;
use think\App;
use think\facade\Db;

//消息(已读未读)
class Proorder extends BaseController
{
public $post="";
public function __construct(App $app)
{
    parent::__construct($app);
    $this->post=$this->request->post();
}
//public function llist(){
//    $page = isset($this->post['page']) && $this->post['page'] !==""? intval($this->post['page']) :"1";
//    $size = isset($this->post['size']) && $this->post['size'] !==""? intval($this->post['size']) :"10";
//    $where =[['c.is_del',"=",0]];
//    $count = Db::name('process')->alias('a')
//        ->join("process_order b","b.order_type=a.process_type","left")
//        ->join("action_process c","c.pid=a.id","left")
//        ->where($where)->count();
//    $total = ceil("$count/$size");
//    $page = $page>$total ? $total:$page;
//    $list = Db::name('process')->alias('a')
//        ->join("process_order b","b.order_type=a.process_type","left")
//        ->join("action_process c","c.pid=a.id","left")
//        ->field('b.order_type,b.order_code,c.order_name,b.action_process')
//        ->where($where)->page($page,$size)->order("a.addtime desc")->select();
//    return app_show(0,"获取成功",['list'=>$list,'count'=>$count]);
//}
public function list(){
    $page = isset($this->post['page']) && $this->post['page'] !==""? intval($this->post['page']) :"1";
    $size = isset($this->post['size']) && $this->post['size'] !==""? intval($this->post['size']) :"10";
    $where =[['is_del',"=",0]];
    $count = Db::name('workflow')->where($where)->count();
    $total = ceil("$count/$size");
    $page = $page>$total ? $total:$page;
    $list = Db::name('workflow')
        ->where($where)->page($page,$size)->order("addtime desc")->select();
    $data=[];
    foreach ($list as $value){
        $str = Db::name("process_order")->where(['order_type'=>$value['order_type']])->find();
        $value['order_type']=$str['order_type'];
        $value['order_status']=$str['order_status'];
        $data[]=$value;
    }
    return app_show(0,"获取成功",['count'=>$count,'list'=>$data]);
}
public function waitlist(){
    $page = isset($this->post['page']) && $this->post['page'] !==""? intval($this->post['page']) :"1";
    $size = isset($this->post['size']) && $this->post['size'] !==""? intval($this->post['size']) :"10";
    $where = [['is_del',"=",0]];
    $order_code= isset($this->post['order_code']) && $this->post['order_code'] !==""? intval($this->post['order_code']):"";
    if($order_code!=""){
        $where[]= ["order_code",'like',"%$order_code%"];
    }
    $apply_id = isset($this->post['apply_id']) && $this->post['apply_id'] !==""? trim($this->post['apply_id']) :"";
    if($apply_id!=""){
        $where[]=["apply_id","=",$apply_id];
    }
    $action_uid = isset($this->post['action_uid']) && $this->post['action_uid'] !==""? trim($this->post['action_uid']) :"";
    if($action_uid!=""){
        $where[]=["action_uid","=",$action_uid];
    }
    $count = Db::name('workflow')->where($where)->count();
    $total = ceil("$count/$size");
    $page = $page>$total ? $total:$page;
    $list = Db::name("workflow")
        ->field("apply_id,apply_name,addtime,action_uid,action_name,order_status,order_type,order_process,order_code,order_id,id")
        ->where($where)->page($page,$size)->order("addtime desc")->select();
    $data=[];//->field("status,order_name,process_name")
    foreach ($list as $value) {
        $str = Db::name("process")->where(['process_type' => $value['order_type']])->field("process_name,status")->find();
        $var = Db::name("action_process")->where(['order_type'=>$value['order_type'],'order_process'=>$value['order_process']])->field("status_name,order_process,order_name,roleid")->find();
 // var_dump(Db::name("action_process")->getLastSql());
        $item = Db::name('role')->where(['id'=>$var['roleid']])->field("role_name")->find();
        $value['process_name']=$str['process_name'];
      $value['order_name']=$var['order_name'];
       // $value['order_id']=$var['order_id'];
      //  $value['order_process']=$var['order_process'];
        $value['status_name'] = $var['status_name'];
   $value['roleid'] = $var['roleid'];
      $value['status']=$str['status'];
    $value['role_name']=$item['role_name'];
        $data[]=$value;
    }
    return app_show(0,"获取成功",["list"=>$data,'count'=>$count]);
}
public function all(){
    $token = isset($this->post['token']) ? trim($this->post['token']) : "";
    if($token==""){
        return error_show(101,'token不能为空');
    }
    $effetc = VerifyTokens($token);
    if(!empty($effetc) && $effetc['code']!=0){
        return error_show($effetc['code'],$effetc['message']);
    }
    $where=[["is_del","=",0]];
    $process_name = isset($this->post['process_name']) && $this->post['process_name'] !==""? trim($this->post['process_name']) :"";
    if($process_name!=""){
        $where[]=["process_name","like","%$process_name%"];
    }
    $process_type = isset($this->post['process_type']) && $this->post['process_type'] !==""? trim($this->post['process_type']) :"";
    if($process_type!=""){
        $where[]=["process_type","like","%$process_type%"];
    }
    $list = Db::name('process')->where($where)->order("addtime desc")->select();
    return app_show(0,"获取成功",$list);
}
}