|
@@ -14,82 +14,145 @@ public function __construct(App $app)
|
|
|
parent::__construct($app);
|
|
|
}
|
|
|
|
|
|
-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],['a.order_status',"=",2]];
|
|
|
- $role=$this->checkRole();
|
|
|
- if(!empty($role['write'])){
|
|
|
- $where[]=["a.action_uid","in",$role['write']];
|
|
|
- }
|
|
|
- $count = Db::name('process_order')->alias("a")->leftJoin("workflow b","a.order_type=b.order_type and a.order_code=b.order_code")->where($where)->count();
|
|
|
- $total = ceil("$count/$size");
|
|
|
- $page = $page>$total ? $total:$page;
|
|
|
- $list = Db::name('process_order')->alias("a")->leftJoin("workflow b","a.order_type=b.order_type and a.order_code=b.order_code")
|
|
|
- ->field("b.apply_id,b.apply_name,a.addtime,a.action_uid,a.action_name,a.order_status,a.action_status,a.order_type,a.action_process,a.order_code,a.order_id,a.id")
|
|
|
- ->where($where)->page($page,$size)->order("a.addtime desc")->select();
|
|
|
- $data=[];
|
|
|
- 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['action_status']])->field("status_name,order_process,order_name,roleid")->find();
|
|
|
- $value['process_name']=$str['process_name'];
|
|
|
- $value['order_name']=$var['order_name'];
|
|
|
- $value['status_name'] = $var['status_name'];
|
|
|
- $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],['a.status',"=",1]];
|
|
|
- $role=$this->checkRole();
|
|
|
- $comd='';
|
|
|
- if(!empty($role['write']) || $role['roleid']==33){
|
|
|
- $comd.="FIND_IN_SET({$role['roleid']},roleid) >0";
|
|
|
- }
|
|
|
- $order_code= isset($this->post['order_code']) && $this->post['order_code'] !==""? intval($this->post['order_code']):"";
|
|
|
- if($order_code!=""){
|
|
|
- $where[]= ["a.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[]=["a.wait_id","=",$apply_id];
|
|
|
- }
|
|
|
- $action_uid = isset($this->post['action_uid']) && $this->post['action_uid'] !==""? trim($this->post['action_uid']) :"";
|
|
|
- if($action_uid!=""){
|
|
|
- $where[]=["a.action_uid","=",$action_uid];
|
|
|
+
|
|
|
+ //已读列表
|
|
|
+ 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],['a.order_status',"=",2]];
|
|
|
+ * $role=$this->checkRole();
|
|
|
+ * if(!empty($role['write'])){
|
|
|
+ * $where[]=["a.action_uid","in",$role['write']];
|
|
|
+ * }
|
|
|
+ * $count = Db::name('process_order')->alias("a")->leftJoin("workflow b","a.order_type=b.order_type and a.order_code=b.order_code")->where($where)->count();
|
|
|
+ * $total = ceil("$count/$size");
|
|
|
+ * $page = $page>$total ? $total:$page;
|
|
|
+ * $list = Db::name('process_order')->alias("a")->leftJoin("workflow b","a.order_type=b.order_type and a.order_code=b.order_code")
|
|
|
+ * ->field("b.apply_id,b.apply_name,a.addtime,a.action_uid,a.action_name,a.order_status,a.action_status,a.order_type,a.action_process,a.order_code,a.order_id,a.id")
|
|
|
+ * ->where($where)->page($page,$size)->order("a.addtime desc")->select();
|
|
|
+ * $data=[];
|
|
|
+ * 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['action_status']])->field("status_name,order_process,order_name,roleid")->find();
|
|
|
+ * $value['process_name']=$str['process_name'];
|
|
|
+ * $value['order_name']=$var['order_name'];
|
|
|
+ * $value['status_name'] = $var['status_name'];
|
|
|
+ * $data[]=$value;
|
|
|
+ * }
|
|
|
+ * return app_show(0,"获取成功",['count'=>$count,'list'=>$data]);
|
|
|
+ * **/
|
|
|
+
|
|
|
+ {
|
|
|
+
|
|
|
+ $param = $this->request->filter('trim')->only(['token', 'apply_id' => '', 'action_uid' => '', 'order_code' => '', 'page' => 1, 'size' => 10], 'post');
|
|
|
+
|
|
|
+ $db = Db::name('process_wait')
|
|
|
+ ->alias("a")
|
|
|
+ ->leftJoin("workflow b", "a.order_type=b.order_type and a.order_code=b.order_code")
|
|
|
+ ->where(['is_del' => 0, 'a.status' => 2]);
|
|
|
+
|
|
|
+ $db->where(function ($query) use ($param) {
|
|
|
+ //所属角色
|
|
|
+ $role = $this->checkRole();
|
|
|
+ if (!empty($role['write']) || $role['roleid'] == 33) $query->whereFindInSet('roleid', $role['roleid']);
|
|
|
+
|
|
|
+ //本人id
|
|
|
+ $user = GetUserInfo($param['token']);
|
|
|
+ if (isset($user['data']['id'])) $query->whereOr('wait_id', $user['data']['id']);
|
|
|
+ });
|
|
|
+
|
|
|
+ if ($param['order_code'] != '') $db->whereLike("a.order_code", '%' . $param['order_code'] . '%');
|
|
|
+ if ($param['action_uid'] != '') $db->where('a.action_uid', $param['action_uid']);
|
|
|
+
|
|
|
+ $count = $db->count();
|
|
|
+
|
|
|
+ $total = ceil($count / $param['size']);
|
|
|
+ $page = $param['page'] > $total ? $total : $param['page'];
|
|
|
+ $list = $db
|
|
|
+ ->field("b.apply_id,b.apply_name,a.addtime,a.action_uid,a.action_name,a.order_status,a.order_type,a.order_process,a.order_code,a.order_id,a.id")
|
|
|
+ ->page($page, $param['size'])
|
|
|
+ ->order("a.addtime desc")
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ //所有流程名称
|
|
|
+ $all_process = Db::name("process")
|
|
|
+ ->whereIn('process_type', array_column($list, 'order_type'))
|
|
|
+ ->column("process_name", 'process_type');
|
|
|
+
|
|
|
+ $data = [];
|
|
|
+ foreach ($list as $value) {
|
|
|
+ $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();
|
|
|
+ $value['process_name'] = isset($all_process[$value['order_type']]) ? $all_process[$value['order_type']] : '';
|
|
|
+ $value['order_name'] = $var['order_name'];
|
|
|
+ $value['status_name'] = $var['status_name'];
|
|
|
+ $data[] = $value;
|
|
|
+ }
|
|
|
+ return app_show(0, "获取成功", ["list" => $data, 'count' => $count]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
- $count = Db::name('process_wait')
|
|
|
- ->alias("a")
|
|
|
- ->leftJoin("workflow b","a.order_type=b.order_type and a.order_code=b.order_code")
|
|
|
- ->where($comd)
|
|
|
- ->where($where)
|
|
|
- ->count();
|
|
|
-
|
|
|
- $total = ceil("$count/$size");
|
|
|
- $page = $page>$total ? $total:$page;
|
|
|
- $list = Db::name('process_wait')
|
|
|
- ->alias("a")
|
|
|
- ->field("b.apply_id,b.apply_name,a.addtime,a.action_uid,a.action_name,a.order_status,a.order_type,a.order_process,a.order_code,a.order_id,a.id")
|
|
|
- ->leftJoin("workflow b","a.order_type=b.order_type and a.order_code=b.order_code")
|
|
|
- ->where($where)
|
|
|
- ->where($comd)
|
|
|
- ->page($page,$size)
|
|
|
- ->order("a.addtime desc")
|
|
|
- ->cursor();
|
|
|
-
|
|
|
- $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_status']])->field("status_name,order_process,order_name,roleid")->find();
|
|
|
- $value['process_name']=$str['process_name'];
|
|
|
- $value['order_name']=$var['order_name'];
|
|
|
- $value['status_name'] = $var['status_name'];
|
|
|
- $data[]=$value;
|
|
|
+
|
|
|
+ //待处理列表
|
|
|
+ public function waitlist()
|
|
|
+ {
|
|
|
+
|
|
|
+ $param = $this->request->filter('trim')->only(['token', 'apply_id' => '', 'action_uid' => '', 'order_code' => '', 'page' => 1, 'size' => 10], 'post');
|
|
|
+
|
|
|
+ $db = Db::name('process_wait')
|
|
|
+ ->alias("a")
|
|
|
+ ->leftJoin("workflow b", "a.order_type=b.order_type and a.order_code=b.order_code")
|
|
|
+ ->where(['is_del' => 0, 'a.status' => 1]);
|
|
|
+
|
|
|
+ $db->where(function ($query) use ($param) {
|
|
|
+ //所属角色
|
|
|
+ $role = $this->checkRole();
|
|
|
+ if (!empty($role['write']) || $role['roleid'] == 33) $query->whereFindInSet('roleid', $role['roleid']);
|
|
|
+
|
|
|
+ //本人id
|
|
|
+ $user = GetUserInfo($param['token']);
|
|
|
+ if (isset($user['data']['id'])) $query->whereOr('wait_id', $user['data']['id']);
|
|
|
+ });
|
|
|
+
|
|
|
+ if ($param['order_code'] != '') $db->whereLike('a.order_code', '%' . $param['order_code'] . '%');
|
|
|
+ if ($param['action_uid'] != '') $db->where('a.action_uid', $param['action_uid']);
|
|
|
+
|
|
|
+ $count = $db->count();
|
|
|
+
|
|
|
+ $total = ceil($count / $param['size']);
|
|
|
+ $page = $param['page'] > $total ? $total : $param['page'];
|
|
|
+ $list = $db
|
|
|
+ ->field("a.id,b.apply_id,b.apply_name,a.addtime,a.action_uid,a.action_name,a.order_status,a.order_type,a.order_process,a.order_code,a.order_id")
|
|
|
+ ->page($page, $param['size'])
|
|
|
+ ->order("a.addtime desc")
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ //所有流程名称
|
|
|
+ $all_process = Db::name("process")
|
|
|
+ ->whereIn('process_type', array_column($list, 'order_type'))
|
|
|
+ ->column("process_name", 'process_type');
|
|
|
+
|
|
|
+ $data = [];
|
|
|
+ foreach ($list as $value) {
|
|
|
+ $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();
|
|
|
+ $value['process_name'] = isset($all_process[$value['order_type']]) ? $all_process[$value['order_type']] : '';
|
|
|
+ $value['order_name'] = $var['order_name'];
|
|
|
+ $value['status_name'] = $var['status_name'];
|
|
|
+ $data[] = $value;
|
|
|
+ }
|
|
|
+ return app_show(0, "获取成功", ["list" => $data, 'count' => $count]);
|
|
|
}
|
|
|
- return app_show(0,"获取成功",["list"=>$data,'count'=>$count]);
|
|
|
-}
|
|
|
public function all(){
|
|
|
$token = isset($this->post['token']) ? trim($this->post['token']) : "";
|
|
|
if($token==""){
|