作者 lyh

gx

@@ -15,6 +15,7 @@ use App\Models\WorkOrder\TicketLog; @@ -15,6 +15,7 @@ use App\Models\WorkOrder\TicketLog;
15 use App\Models\WorkOrder\TicketProject; 15 use App\Models\WorkOrder\TicketProject;
16 use App\Models\WorkOrder\Tickets; 16 use App\Models\WorkOrder\Tickets;
17 use Illuminate\Console\Command; 17 use Illuminate\Console\Command;
  18 +use Illuminate\Support\Facades\Log;
18 19
19 class TicketCount extends Command 20 class TicketCount extends Command
20 { 21 {
@@ -56,6 +57,7 @@ class TicketCount extends Command @@ -56,6 +57,7 @@ class TicketCount extends Command
56 $date = date('Y-m-d'); 57 $date = date('Y-m-d');
57 $ticketManageCountModel = new TicketDailyManageCount(); 58 $ticketManageCountModel = new TicketDailyManageCount();
58 foreach ($manageList as $item){ 59 foreach ($manageList as $item){
  60 + $this->output('执行的人员名称/id:'.$item['name'].'/'.$item['manage_id']);
59 $ticketLogModel = new TicketLog(); 61 $ticketLogModel = new TicketLog();
60 $ticket_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1]); 62 $ticket_num = $ticketLogModel->counts(['engineer_id'=>$item['manage_id'],'is_engineer'=>1]);
61 //工单总时长 63 //工单总时长
@@ -65,6 +67,9 @@ class TicketCount extends Command @@ -65,6 +67,9 @@ class TicketCount extends Command
65 $average_time = round($timeCount / $ticket_end_num, 2); 67 $average_time = round($timeCount / $ticket_end_num, 2);
66 } 68 }
67 $fastest_time = $ticketLogModel->formatQuery(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'end_at'=>['!=',null]])->min('end_time'); 69 $fastest_time = $ticketLogModel->formatQuery(['engineer_id'=>$item['manage_id'],'is_engineer'=>1,'end_at'=>['!=',null]])->min('end_time');
  70 + //超时工单数量
  71 + $timeout_num = $ticketLogModel->counts(['end_at'=>null,'plan_end_at'=>['>',date('Y-m-d H:i:s')]]);
  72 + $complete_num = $ticketLogModel->counts(['end_at'=>['!=',null]]);
68 $data = [ 73 $data = [
69 'date'=>$date, 74 'date'=>$date,
70 'manage_id'=>$item['id'], 75 'manage_id'=>$item['id'],
@@ -72,17 +77,32 @@ class TicketCount extends Command @@ -72,17 +77,32 @@ class TicketCount extends Command
72 'ticket_num'=>$ticket_num,//工单总数量 77 'ticket_num'=>$ticket_num,//工单总数量
73 'average_time'=>$average_time ?? '',//平均完成工单时长 78 'average_time'=>$average_time ?? '',//平均完成工单时长
74 'fastest_time'=>$fastest_time,//最快完成工单时间 79 'fastest_time'=>$fastest_time,//最快完成工单时间
75 - 'timeout_num'=>'',//超时工单数量  
76 - 'complete_num'=>'',//完成工单数量 80 + 'timeout_num'=>$timeout_num,//超时工单数量
  81 + 'complete_num'=>$complete_num,//完成工单数量
77 ]; 82 ];
78 //查询当前用户是否当日已有记录 83 //查询当前用户是否当日已有记录
79 $ticketManageInfo = $ticketManageCountModel->read(['date'=>$date,'manage_id'=>$item['id']],['id']); 84 $ticketManageInfo = $ticketManageCountModel->read(['date'=>$date,'manage_id'=>$item['id']],['id']);
80 if($ticketManageInfo === false){ 85 if($ticketManageInfo === false){
81 //TODO::执行新增 86 //TODO::执行新增
82 - 87 + $ticketManageCountModel->addReturnId($data);
83 }else{ 88 }else{
84 //TODO::执行编辑 89 //TODO::执行编辑
  90 + $ticketManageCountModel->edit($data,['id'=>$ticketManageInfo['id']]);
  91 + }
85 } 92 }
  93 + return true;
86 } 94 }
  95 +
  96 + /**
  97 + * @remark :日志
  98 + * @name :output
  99 + * @author :lyh
  100 + * @method :post
  101 + * @time :2025/8/8 11:43
  102 + */
  103 + public function output($message)
  104 + {
  105 +// Log::channel('ticket_log')->info($message);
  106 + echo date('Y-m-d H:i:s') . ' ' . $message . PHP_EOL;
87 } 107 }
88 } 108 }