作者 lyh

gx

... ... @@ -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;
}
}
... ...