|
...
|
...
|
@@ -15,6 +15,7 @@ use App\Models\WorkOrder\TicketLog; |
|
|
|
use App\Models\WorkOrder\TicketProject;
|
|
|
|
use App\Models\WorkOrder\Tickets;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
|
|
|
|
class TicketCount extends Command
|
|
|
|
{
|
|
...
|
...
|
@@ -56,6 +57,7 @@ class TicketCount extends Command |
|
|
|
$date = date('Y-m-d');
|
|
|
|
$ticketManageCountModel = new TicketDailyManageCount();
|
|
|
|
foreach ($manageList as $item){
|
|
|
|
$this->output('执行的人员名称/id:'.$item['name'].'/'.$item['manage_id']);
|
|
|
|
$ticketLogModel = new TicketLog();
|
|
|
|
$ticket_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1]);
|
|
|
|
//工单总时长
|
|
...
|
...
|
@@ -65,6 +67,9 @@ class TicketCount extends Command |
|
|
|
$average_time = round($timeCount / $ticket_end_num, 2);
|
|
|
|
}
|
|
|
|
$fastest_time = $ticketLogModel->formatQuery(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'end_at'=>['!=',null]])->min('end_time');
|
|
|
|
//超时工单数量
|
|
|
|
$timeout_num = $ticketLogModel->counts(['end_at'=>null,'plan_end_at'=>['>',date('Y-m-d H:i:s')]]);
|
|
|
|
$complete_num = $ticketLogModel->counts(['end_at'=>['!=',null]]);
|
|
|
|
$data = [
|
|
|
|
'date'=>$date,
|
|
|
|
'manage_id'=>$item['id'],
|
|
...
|
...
|
@@ -72,17 +77,32 @@ class TicketCount extends Command |
|
|
|
'ticket_num'=>$ticket_num,//工单总数量
|
|
|
|
'average_time'=>$average_time ?? '',//平均完成工单时长
|
|
|
|
'fastest_time'=>$fastest_time,//最快完成工单时间
|
|
|
|
'timeout_num'=>'',//超时工单数量
|
|
|
|
'complete_num'=>'',//完成工单数量
|
|
|
|
'timeout_num'=>$timeout_num,//超时工单数量
|
|
|
|
'complete_num'=>$complete_num,//完成工单数量
|
|
|
|
];
|
|
|
|
//查询当前用户是否当日已有记录
|
|
|
|
$ticketManageInfo = $ticketManageCountModel->read(['date'=>$date,'manage_id'=>$item['id']],['id']);
|
|
|
|
if($ticketManageInfo === false){
|
|
|
|
//TODO::执行新增
|
|
|
|
|
|
|
|
$ticketManageCountModel->addReturnId($data);
|
|
|
|
}else{
|
|
|
|
//TODO::执行编辑
|
|
|
|
$ticketManageCountModel->edit($data,['id'=>$ticketManageInfo['id']]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :日志
|
|
|
|
* @name :output
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2025/8/8 11:43
|
|
|
|
*/
|
|
|
|
public function output($message)
|
|
|
|
{
|
|
|
|
// Log::channel('ticket_log')->info($message);
|
|
|
|
echo date('Y-m-d H:i:s') . ' ' . $message . PHP_EOL;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|