Ver Fonte

add tenant_id

liugc há 1 ano atrás
pai
commit
62eeda0ea6

+ 1 - 0
app/adminapi/logic/master_worker/MasterWorkerLogic.php

@@ -144,6 +144,7 @@ class MasterWorkerLogic extends BaseLogic
                 'settlement_type' => $params['settlement_type']??2,
                 'labels' => (isset($params['labels']) && $params['labels'])?implode(',',$params['labels']):'',
                 'remark' => $params['remark']??'',
+                'tenant_id' => $params['tenant_id']??0,
             ]);
             Db::commit();
             return true;

+ 2 - 0
app/adminapi/logic/master_worker/MasterWorkerTeamLogic.php

@@ -48,6 +48,7 @@ class MasterWorkerTeamLogic extends BaseLogic
             $masterWorkerTeam = MasterWorkerTeam::create([
                 'team_name' => $params['team_name'],
                 'master_worker_id' => $params['master_worker_id'],
+                'tenant_id' => $masterWorker['tenant_id']??($params['tenant_id']??0),
             ]);
             MasterWorker::where('id', $params['master_worker_id'])->update(
                 [
@@ -91,6 +92,7 @@ class MasterWorkerTeamLogic extends BaseLogic
             MasterWorkerTeam::where('id', $params['id'])->update([
                 'team_name' => $params['team_name'],
                 'master_worker_id' => $params['master_worker_id'],
+                'tenant_id' => $masterWorker['tenant_id']??($params['tenant_id']??0),
             ]);
             \app\common\model\master_worker\MasterWorker::where('id', $params['master_worker_id'])->update(
                 [

+ 10 - 1
app/workerapi/controller/MasterWorkerTeamController.php

@@ -77,7 +77,8 @@ class MasterWorkerTeamController extends BaseApiController
     public function getTeamWorkCount()
     {
         $result = MasterWorkerTeamLogic::MemberWorkStatistics($this->userInfo);
-        return $this->data($result);
+        $day_data = MasterWorkerTeamLogic::TeamOrderStatistics($this->userInfo);
+        return $this->data(['work_status_data'=>$result,'day_data'=>$day_data]);
     }
 
     /**
@@ -88,5 +89,13 @@ class MasterWorkerTeamController extends BaseApiController
     {
         return $this->dataLists(new TeamServiceWorkLists());
     }
+    /**
+     * 日历团队工单查询
+     * @return \think\response\Json
+     */
+    public function getCalendarTeamOrder()
+    {
+        return $this->data(MasterWorkerTeamLogic::TeamOrderStatistics($this->userInfo,62));
+    }
 
 }

+ 3 - 0
app/workerapi/lists/MasterWorkerLists.php

@@ -34,6 +34,9 @@ class MasterWorkerLists extends BaseWorkerDataLists implements ListsSearchInterf
             }else{
                 $where[] = ['team_id','=',$team['id']];
                 $where[] = ['team_role','=',2];
+                $where[] = ['work_status','=',0];
+                $where[] = ['audit_state','=',1];
+                $where[] = ['accept_order_status','=',1];
             }
         }
         return $where;

+ 8 - 1
app/workerapi/lists/TeamServiceWorkLists.php

@@ -1,9 +1,11 @@
 <?php
 namespace app\workerapi\lists;
 
+use app\common\lists\ListsExtendInterface;
 use app\common\model\master_worker\MasterWorker;
 use app\common\model\works\ServiceWork;
 use app\common\lists\ListsSearchInterface;
+use app\workerapi\logic\MasterWorkerTeamLogic;
 use DateTime;
 
 /**
@@ -11,7 +13,7 @@ use DateTime;
  * Class ServiceWorkLists
  * @package app\workerapi\listsworks
  */
-class TeamServiceWorkLists extends BaseWorkerDataLists
+class TeamServiceWorkLists extends BaseWorkerDataLists implements ListsExtendInterface
 {
     protected $count = 0;
     public function queryWhere(){
@@ -78,5 +80,10 @@ class TeamServiceWorkLists extends BaseWorkerDataLists
     {
         return $this->count;
     }
+    public function extend(): array
+    {
+        //$day_data = MasterWorkerTeamLogic::TeamOrderStatistics($this->userInfo,60);
+        return [];
+    }
 
 }

+ 18 - 1
app/workerapi/logic/MasterWorkerTeamLogic.php

@@ -154,5 +154,22 @@ class MasterWorkerTeamLogic extends  BaseLogic
         return $res;
     }
 
-
+    /**
+     * 团队工单统计- 当天日期的前x天范围
+     * @param int $teamId
+     * @param int $masterWorkerId
+     * @return array
+     */
+    public static function TeamOrderStatistics($userInfo,$day_num = 7) {
+        $start_time = strtotime(date('Y-m-d', time() - $day_num * 86400));
+        $end_time = time();
+        $lists = ServiceWork::whereIn('master_worker_id',
+            MasterWorker::where('team_id', $userInfo['team_id'])->where('team_role', 2)->column('id')
+        )->group('DATE(FROM_UNIXTIME(create_time))')
+            ->field('DATE(FROM_UNIXTIME(create_time)) as days, COUNT(id) as count_num')
+            ->where('create_time','between',[$start_time,$end_time])
+            ->order('create_time desc')
+            ->select()->toArray();
+        return array_column($lists,'count_num','days');
+    }
 }