Ver Fonte

工单增加分配记录,跟进记录,分配师傅重新处理

林海涛 há 1 ano atrás
pai
commit
203425dbcf

+ 10 - 2
app/adminapi/lists/master_worker/MasterWorkerLists.php

@@ -64,13 +64,20 @@ class MasterWorkerLists extends BaseAdminDataLists implements ListsSearchInterfa
      */
     public function lists(): array
     {
-        return MasterWorker::alias('mw')
+         return MasterWorker::alias('mw')
             ->join('master_worker_register mwr', 'mwr.master_worker_id = mw.id')
+             ->leftJoin('service_work sw','sw.master_worker_id = mw.id and sw.service_status !=4')
             ->where($this->searchWhere)
             ->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([
+                 'mw.*',
+                 'mwr.maintain_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)
             ->order(['mw.id' => 'desc'])
+            ->group(['sw.master_worker_id'])
             ->select()
             ->toArray();
     }
@@ -86,7 +93,8 @@ class MasterWorkerLists extends BaseAdminDataLists implements ListsSearchInterfa
     {
         return MasterWorker::alias('mw')
             ->join('master_worker_register mwr', 'mwr.master_worker_id = mw.id')
-            ->where($this->searchWhere)->where($this->queryWhere())->count();
+            ->leftJoin('service_work sw','sw.master_worker_id = mw.id and sw.service_status !=4')
+            ->where($this->searchWhere)->where($this->queryWhere()) ->group(['sw.master_worker_id'])->count();
     }
 
 }

+ 9 - 0
app/adminapi/logic/works/ServiceWorkLogic.php

@@ -274,6 +274,8 @@ class ServiceWorkLogic extends BaseLogic
                 throw new \Exception('师傅不存在或被禁用');
             }
             $work->master_worker_id = $params['master_worker_id'];
+            $work->work_status = 1;
+            $work->dispatch_time = time();
             $work->save();
             $work_log = [
                 'work_id'=>$work->id,
@@ -300,7 +302,14 @@ class ServiceWorkLogic extends BaseLogic
             $result = ServiceWork::with([
                 'worker'=> function(Query $query) {
                     $query->field('id,worker_number,real_name');
+                },
+                'allocateWorkerLog' =>function(Query $query){
+                    $query->field('id,work_id,opera_log,create_time');
+                },
+                'serviceWorkLog' =>function(Query $query){
+                    $query->field('id,work_id,opera_log,create_time');
                 }
+
             ])->append(['id','work_status_text','service_status_text'])
                 ->findOrEmpty($params['id'])->toArray();