TicketController.php
2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/**
* @remark :
* @name :TicketController.php
* @author :lyh
* @method :post
* @time :2025/8/11 10:46
*/
namespace App\Http\Controllers\Aside\Ticket;
use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\Ticket\TicketLogic;
use App\Models\Ticket\TicketMonthDeptCount;
use App\Models\Ticket\TicketWeekDeptCount;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
class TicketController extends BaseController
{
public function __construct(Request $request)
{
parent::__construct($request);
$this->logic = new TicketLogic();
}
/**
* @remark :统计记录(今日)
* @name :ticketCount
* @author :lyh
* @method :post
* @time :2025/8/11 10:47
*/
public function ticketCount(){
$data['daily'] = $this->logic->getTicketCount();
$data['list'] = $this->logic->getDailyTicketCount();
$data['ticket'] = $this->logic->getTicketList();
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :获取搜索时间
* @name :getTIme
* @author :lyh
* @method :post
* @time :2025/8/30 15:39
*/
public function getTime(){
$weekModel = new TicketWeekDeptCount();
$weekData = $weekModel->where('dept_id',1)->select('start_at', 'end_at')->distinct()->get()->toArray();
$monthModel = new TicketMonthDeptCount();
$monthData = $monthModel->where('dept_id',1)->select('start_at', 'end_at')->distinct()->get()->toArray();
$this->response('success',Code::SUCCESS,['week_data'=>$weekData,'month_data'=>$monthData]);
}
/**
* @remark :周记录数据(默认上一周)
* @name :weekManageList
* @author :lyh
* @method :post
* @time :2025/8/30 15:31
*/
public function weekManageList(){
$data = $this->logic->getWeekManageList($this->param['start'],$this->param['end']);
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :按月统计数据(默认上一月)
* @name :monthManageList
* @author :lyh
* @method :post
* @time :2025/8/30 15:35
*/
public function monthManageList(){
$data = $this->logic->getMOnthManageList($this->param['start'],$this->param['end']);
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :技术组总统计
* @name :manageTicketCount
* @author :lyh
* @method :post
* @time :2025/8/11 14:24
*/
public function manageTicketCount(){
$this->request->validate([
'dept_id' => 'required',
],[
'dept_id.required' => '技术组id',
]);
$sort = $this->map['sort'] ?? 'desc';
$data = $this->logic->getManageTicketCount($this->map,$this->order,$sort);
$this->response('success',Code::SUCCESS,$data);
}
}