|
...
|
...
|
@@ -10,9 +10,13 @@ |
|
|
|
namespace App\Http\Logic\Aside\Ticket;
|
|
|
|
|
|
|
|
use App\Http\Logic\Aside\BaseLogic;
|
|
|
|
use App\Models\Manage\ManageHr;
|
|
|
|
use App\Models\Project\Project;
|
|
|
|
use App\Models\Ticket\TicketDailyCount;
|
|
|
|
use App\Models\Ticket\TicketDailyDeptCount;
|
|
|
|
use App\Models\Ticket\TicketDailyManageCount;
|
|
|
|
use App\Models\WorkOrder\TicketLog;
|
|
|
|
use App\Models\WorkOrder\TicketProject;
|
|
|
|
use App\Models\WorkOrder\Tickets;
|
|
|
|
use Illuminate\Support\Carbon;
|
|
|
|
|
|
...
|
...
|
@@ -39,6 +43,9 @@ class TicketLogic extends BaseLogic |
|
|
|
$data['add_num'] = $ticketModel->counts(['created_at'=>['between',[$date.' 00:00:00',$date.' 23:59:59']]]);//今日新增工单
|
|
|
|
$data['processed_num'] = $ticketModel->counts(['end_at'=>['between',[$date.' 00:00:00',$date.' 23:59:59']]]);//今日已处理工单
|
|
|
|
$data['untreated_num'] = $ticketModel->counts(['end_at'=>null]);//今日未处理工单
|
|
|
|
$submit_a_side = $ticketModel->formatQuery(['submit_side'=>1])->sum('submit_side');
|
|
|
|
$submit_b_side = $ticketModel->formatQuery(['submit_side'=>2])->sum('submit_side');
|
|
|
|
$data['source'] = ['a'=>$submit_a_side,'b'=>$submit_b_side];
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -52,16 +59,42 @@ class TicketLogic extends BaseLogic |
|
|
|
public function getDailyTicketCount(){
|
|
|
|
$date = Carbon::yesterday()->toDateString(); //昨日时间
|
|
|
|
$dailyModel = new TicketDailyCount();
|
|
|
|
$dailyList = $dailyModel->list(['date'=>$date],'average_time',['*'],'desc',5);//取最近5条数据
|
|
|
|
$dailyList = $dailyModel->list([],'date',['*'],'desc',5);//取最近5条数据
|
|
|
|
$manageModel = new TicketDailyManageCount();
|
|
|
|
$manageList = $manageModel->list(['date'=>$date],'average_time',['*'],'desc',5);//取最近5条数据
|
|
|
|
$manageList = $manageModel->list(['date'=>$date,'ticket_num'=>['!=',0],'average_time'=>['!=','']],'average_time',['*'],'asc',5);//取最近5条数据
|
|
|
|
$deptModel = new TicketDailyDeptCount();
|
|
|
|
$deptList = $deptModel->list(['date'=>$date],'average_time',['*'],'desc',5);
|
|
|
|
$deptList = $deptModel->list(['date'=>$date,'ticket_num'=>['!=',0]],'average_time',['*'],'asc',5);
|
|
|
|
$data = ['daily'=>$dailyList,'manage'=>$manageList,'dept'=>$deptList];
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :获取随机工单列表(20条)
|
|
|
|
* @name :ticketList
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2025/8/12 11:06
|
|
|
|
*/
|
|
|
|
public function getTicketList(){
|
|
|
|
$ticketsList = Tickets::select(['project_id','title','end_at','end_time','id'])->inRandomOrder()->limit(20)->get();
|
|
|
|
$projectModel = new TicketProject();
|
|
|
|
$ticketLogModel = new TicketLog();
|
|
|
|
$manageModel = new ManageHr();
|
|
|
|
foreach ($ticketsList as $key => $item){
|
|
|
|
$item['project_name'] = $projectModel->getValue(['id'=>$item['project_id']],'title');
|
|
|
|
$engineer_id = $ticketLogModel->getValue(['ticket_id'=>$item['id'],'is_engineer'=>1],'engineer_id');
|
|
|
|
if(!empty($engineer_id)){
|
|
|
|
$item['manage_name'] = $manageModel->getValue(['manage_id'=>$engineer_id],'name');
|
|
|
|
}else{
|
|
|
|
$item['manage_name'] = '未分配';
|
|
|
|
}
|
|
|
|
$ticketsList[$key] = $item;
|
|
|
|
$item['status'] = (empty($item['end_at']) ? '未完成' : '完成');
|
|
|
|
}
|
|
|
|
return $this->success($ticketsList);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :根据技术组获取
|
|
|
|
* @name :getManageTicketCount
|
|
|
|
* @author :lyh
|
...
|
...
|
|