正在显示
1 个修改的文件
包含
15 行增加
和
14 行删除
| @@ -74,32 +74,29 @@ class TicketCount extends Command | @@ -74,32 +74,29 @@ class TicketCount extends Command | ||
| 74 | $manageHrModel = new ManageHr(); | 74 | $manageHrModel = new ManageHr(); |
| 75 | $manageList = $manageHrModel->list(['status'=>1,'dept_id'=>['in',[1,2]]],'id',['id','dept_id','manage_id','name','nickname']); | 75 | $manageList = $manageHrModel->list(['status'=>1,'dept_id'=>['in',[1,2]]],'id',['id','dept_id','manage_id','name','nickname']); |
| 76 | $date = Carbon::yesterday()->toDateString(); // 昨日时间 | 76 | $date = Carbon::yesterday()->toDateString(); // 昨日时间 |
| 77 | - // 当月开始时间(零点) | ||
| 78 | - $startOfMonth = Carbon::now()->startOfMonth()->toDateTimeString(); | ||
| 79 | - // 当月结束时间(最后一秒) | ||
| 80 | - $endOfMonth = Carbon::now()->endOfMonth()->toDateTimeString(); | ||
| 81 | $ticketManageCountModel = new TicketDailyManageCount(); | 77 | $ticketManageCountModel = new TicketDailyManageCount(); |
| 82 | foreach ($manageList as $item){ | 78 | foreach ($manageList as $item){ |
| 83 | $average_time = null; | 79 | $average_time = null; |
| 84 | $this->output('按人员统计:执行的人员名称/id:'.$item['name'].'/'.$item['manage_id']); | 80 | $this->output('按人员统计:执行的人员名称/id:'.$item['name'].'/'.$item['manage_id']); |
| 85 | $ticketLogModel = new TicketLog(); | 81 | $ticketLogModel = new TicketLog(); |
| 86 | $ticket_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1]); | 82 | $ticket_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1]); |
| 87 | - //当月工单总数 | ||
| 88 | - $month_ticket_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'created_at'=>['between',[$startOfMonth,$endOfMonth]]]); | ||
| 89 | //工单总时长 | 83 | //工单总时长 |
| 90 | $timeCount = $ticketLogModel->formatQuery(['engineer_id'=>$item['manage_id'],'is_engineer'=>1])->sum('end_time'); | 84 | $timeCount = $ticketLogModel->formatQuery(['engineer_id'=>$item['manage_id'],'is_engineer'=>1])->sum('end_time'); |
| 91 | - $ticket_end_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'end_at'=>['!=',null]]); | 85 | + $complete_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'end_at'=>['!=',null]]); |
| 92 | if(!empty($timeCount)){ | 86 | if(!empty($timeCount)){ |
| 93 | - $average_time = round($timeCount / $ticket_end_num, 2); | 87 | + $average_time = round($timeCount / $complete_num, 2); |
| 94 | } | 88 | } |
| 95 | //最快完成的时间 | 89 | //最快完成的时间 |
| 96 | $fastest_time = $ticketLogModel->formatQuery(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'end_at'=>['!=',null]])->min('end_time'); | 90 | $fastest_time = $ticketLogModel->formatQuery(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'end_at'=>['!=',null]])->min('end_time'); |
| 91 | + //最快完成时间 | ||
| 97 | if(!$fastest_time){ | 92 | if(!$fastest_time){ |
| 98 | $fastest_time = null; | 93 | $fastest_time = null; |
| 99 | } | 94 | } |
| 100 | //超时工单数量 | 95 | //超时工单数量 |
| 101 | - $timeout_num = $ticketLogModel->counts(['end_at'=>null,'engineer_id'=>$item['manage_id'],'is_engineer'=>1,'plan_end_at'=>['>',date('Y-m-d H:i:s')]]); | ||
| 102 | - $complete_num = $ticketLogModel->counts(['end_at'=>['!=',null],'engineer_id'=>$item['manage_id'],'is_engineer'=>1]); | 96 | + $timeout_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'plan_end_at'=>['>',date('Y-m-d H:i:s')]]); |
| 97 | + if(!empty($timeout_num)){ | ||
| 98 | + $timeout_ratio = round($timeout_num / $ticket_num, 2); | ||
| 99 | + } | ||
| 103 | $data = [ | 100 | $data = [ |
| 104 | 'date'=>$date, | 101 | 'date'=>$date, |
| 105 | 'manage_id'=>$item['id'], | 102 | 'manage_id'=>$item['id'], |
| @@ -110,9 +107,7 @@ class TicketCount extends Command | @@ -110,9 +107,7 @@ class TicketCount extends Command | ||
| 110 | 'timeout_num'=>$timeout_num,//超时工单数量 | 107 | 'timeout_num'=>$timeout_num,//超时工单数量 |
| 111 | 'complete_num'=>$complete_num,//完成工单数量 | 108 | 'complete_num'=>$complete_num,//完成工单数量 |
| 112 | 'dept_id'=>$item['dept_id'], | 109 | 'dept_id'=>$item['dept_id'], |
| 113 | - 'month'=>$date('Y-m'), | ||
| 114 | - 'month_ticket_num'=>$month_ticket_num, | ||
| 115 | - | 110 | + 'timeout_ratio'=>$timeout_ratio |
| 116 | ]; | 111 | ]; |
| 117 | //查询当前用户是否当日已有记录 | 112 | //查询当前用户是否当日已有记录 |
| 118 | $ticketManageInfo = $ticketManageCountModel->read(['date'=>$date,'manage_id'=>$item['id']],['id']); | 113 | $ticketManageInfo = $ticketManageCountModel->read(['date'=>$date,'manage_id'=>$item['id']],['id']); |
| @@ -150,12 +145,18 @@ class TicketCount extends Command | @@ -150,12 +145,18 @@ class TicketCount extends Command | ||
| 150 | if(!empty($timeCount)){ | 145 | if(!empty($timeCount)){ |
| 151 | $average_time = round($timeCount / $ticket_num, 2); | 146 | $average_time = round($timeCount / $ticket_num, 2); |
| 152 | } | 147 | } |
| 148 | + //超期工单数量 | ||
| 149 | + $timeout_num = $ticketLogModel->counts(['engineer_id'=>['in',$manageIdArr],'is_engineer'=>1,'plan_end_at'=>['>',date('Y-m-d H:i:s')]]); | ||
| 150 | + if(!empty($timeout_num)){ | ||
| 151 | + $timeout_ratio = round($timeout_num / $ticket_num, 2); | ||
| 152 | + } | ||
| 153 | $data = [ | 153 | $data = [ |
| 154 | 'date'=>$date, | 154 | 'date'=>$date, |
| 155 | 'dept_id'=>$item['id'], | 155 | 'dept_id'=>$item['id'], |
| 156 | 'dept_name'=>$item['name'], | 156 | 'dept_name'=>$item['name'], |
| 157 | 'ticket_num'=>$ticket_num ?? 0, | 157 | 'ticket_num'=>$ticket_num ?? 0, |
| 158 | - 'average_time'=>$average_time ?? null | 158 | + 'average_time'=>$average_time ?? null, |
| 159 | + 'timeout_ratio'=>$timeout_ratio ?? null | ||
| 159 | ]; | 160 | ]; |
| 160 | $deptInfo = $ticketDailyDeptModel->read(['date'=>$date,'dept_id'=>$item['id']],['id']); | 161 | $deptInfo = $ticketDailyDeptModel->read(['date'=>$date,'dept_id'=>$item['id']],['id']); |
| 161 | if($deptInfo === false){ | 162 | if($deptInfo === false){ |
-
请 注册 或 登录 后发表评论