Bläddra i källkod

增加师傅进行中的工单统计字段

林海涛 1 år sedan
förälder
incheckning
9f700b610b
1 ändrade filer med 6 tillägg och 22 borttagningar
  1. 6 22
      app/adminapi/lists/master_worker/MasterWorkerLists.php

+ 6 - 22
app/adminapi/lists/master_worker/MasterWorkerLists.php

@@ -55,22 +55,13 @@ class MasterWorkerLists extends BaseAdminDataLists implements ListsSearchInterfa
         if (isset($this->params['worker_exp_type']) && !empty($this->params['worker_exp_type'])) {
         if (isset($this->params['worker_exp_type']) && !empty($this->params['worker_exp_type'])) {
             $where[] = ['mwr.maintain_exp_type', '=', $this->params['worker_exp_type']];
             $where[] = ['mwr.maintain_exp_type', '=', $this->params['worker_exp_type']];
         }
         }
-
-        return $where;
-    }
-    public function queryHaving()
-    {
-        $having = '';
         if(isset($this->params['min_work_number']) && is_numeric($this->params['min_work_number'])){
         if(isset($this->params['min_work_number']) && is_numeric($this->params['min_work_number'])){
-            $having .= 'work_total >= '.$this->params['min_work_number'];
+            $where[] =[ 'work_total','>=',$this->params['min_work_number']];
         }
         }
         if(isset($this->params['max_work_number']) && is_numeric($this->params['max_work_number'])){
         if(isset($this->params['max_work_number']) && is_numeric($this->params['max_work_number'])){
-            if(!empty($having)){
-                $having .= ' and ';
-            }
-            $having .= 'work_total <= '.$this->params['max_work_number'];
+            $where[] =[ 'work_total','work_total <= ',$this->params['max_work_number']];
         }
         }
-        return $having;
+        return $where;
     }
     }
     /**
     /**
      * @notes 获取列表
      * @notes 获取列表
@@ -85,20 +76,16 @@ class MasterWorkerLists extends BaseAdminDataLists implements ListsSearchInterfa
     {
     {
          return MasterWorker::alias('mw')
          return MasterWorker::alias('mw')
             ->join('master_worker_register mwr', 'mwr.worker_id = mw.id')
             ->join('master_worker_register mwr', 'mwr.worker_id = mw.id')
-            ->leftjoin('service_work sw','sw.master_worker_id = mw.id and sw.service_status !=4 ')
+            ->leftjoin('service_work sw','sw.master_worker_id = mw.id ')
             ->where($this->searchWhere)
             ->where($this->searchWhere)
             ->where($this->queryWhere())
             ->where($this->queryWhere())
-//            ->field(['mw.id', 'mw.sn', 'mw.avatar', 'mw.real_avatar','mw.worker_number', 'mw.real_name', 'mw.nickname', 'mw.account', 'mw.password', 'mw.mobile', 'mw.sex', 'mw.channel', 'mw.is_disable', 'mw.login_ip', 'mw.login_time', 'mw.is_new_user', 'mw.estimate_money', 'mw.user_money', 'mw.earnest_money', 'mw.exp'])
              ->field([
              ->field([
                  'mw.*',
                  'mw.*',
                  'mwr.maintain_exp_type',
                  'mwr.maintain_exp_type',
                  'mwr.other_exp_type',
                  'mwr.other_exp_type',
-                 'SUM(CASE WHEN sw.work_status NOT IN (7,8) THEN 1 ELSE 0 END) work_total'
              ])
              ])
             ->limit($this->limitOffset, $this->limitLength)
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['mw.id' => 'desc'])
             ->order(['mw.id' => 'desc'])
-            ->group(['sw.master_worker_id'])
-            ->having($this->queryHaving())
             ->select()
             ->select()
             ->toArray();
             ->toArray();
     }
     }
@@ -114,13 +101,10 @@ class MasterWorkerLists extends BaseAdminDataLists implements ListsSearchInterfa
     {
     {
         return MasterWorker::alias('mw')
         return MasterWorker::alias('mw')
             ->join('master_worker_register mwr', 'mwr.worker_id = mw.id')
             ->join('master_worker_register mwr', 'mwr.worker_id = mw.id')
-            ->leftjoin('service_work sw','sw.master_worker_id = mw.id and sw.service_status !=4')
+            ->leftjoin('service_work sw','sw.master_worker_id = mw.id ')
             ->field([
             ->field([
-                'mw.*',
-                'SUM(CASE WHEN sw.work_status NOT IN (7,8) THEN 1 ELSE 0 END) work_total'])
+                'mw.*'])
             ->where($this->searchWhere)->where($this->queryWhere())
             ->where($this->searchWhere)->where($this->queryWhere())
-            ->group(['sw.master_worker_id'])
-            ->having($this->queryHaving())
             ->count();
             ->count();
     }
     }