作者 lyh

gx

@@ -32,6 +32,7 @@ class TicketController extends BaseController @@ -32,6 +32,7 @@ class TicketController extends BaseController
32 public function ticketCount(){ 32 public function ticketCount(){
33 $data['daily'] = $this->logic->getTicketCount(); 33 $data['daily'] = $this->logic->getTicketCount();
34 $data['list'] = $this->logic->getDailyTicketCount(); 34 $data['list'] = $this->logic->getDailyTicketCount();
  35 + $data['ticket'] = $this->logic->getTicketList();
35 $this->response('success',Code::SUCCESS,$data); 36 $this->response('success',Code::SUCCESS,$data);
36 } 37 }
37 38
@@ -10,9 +10,12 @@ @@ -10,9 +10,12 @@
10 namespace App\Http\Logic\Aside\Ticket; 10 namespace App\Http\Logic\Aside\Ticket;
11 11
12 use App\Http\Logic\Aside\BaseLogic; 12 use App\Http\Logic\Aside\BaseLogic;
  13 +use App\Models\Manage\ManageHr;
  14 +use App\Models\Project\Project;
13 use App\Models\Ticket\TicketDailyCount; 15 use App\Models\Ticket\TicketDailyCount;
14 use App\Models\Ticket\TicketDailyDeptCount; 16 use App\Models\Ticket\TicketDailyDeptCount;
15 use App\Models\Ticket\TicketDailyManageCount; 17 use App\Models\Ticket\TicketDailyManageCount;
  18 +use App\Models\WorkOrder\TicketLog;
16 use App\Models\WorkOrder\Tickets; 19 use App\Models\WorkOrder\Tickets;
17 use Illuminate\Support\Carbon; 20 use Illuminate\Support\Carbon;
18 21
@@ -41,7 +44,7 @@ class TicketLogic extends BaseLogic @@ -41,7 +44,7 @@ class TicketLogic extends BaseLogic
41 $data['untreated_num'] = $ticketModel->counts(['end_at'=>null]);//今日未处理工单 44 $data['untreated_num'] = $ticketModel->counts(['end_at'=>null]);//今日未处理工单
42 $submit_a_side = $ticketModel->formatQuery(['submit_side'=>1])->sum('submit_side'); 45 $submit_a_side = $ticketModel->formatQuery(['submit_side'=>1])->sum('submit_side');
43 $submit_b_side = $ticketModel->formatQuery(['submit_side'=>2])->sum('submit_side'); 46 $submit_b_side = $ticketModel->formatQuery(['submit_side'=>2])->sum('submit_side');
44 - $data['source'] = json_encode(['a'=>$submit_a_side,'b'=>$submit_b_side],true); 47 + $data['source'] = ['a'=>$submit_a_side,'b'=>$submit_b_side];
45 return $this->success($data); 48 return $this->success($data);
46 } 49 }
47 50
@@ -55,16 +58,42 @@ class TicketLogic extends BaseLogic @@ -55,16 +58,42 @@ class TicketLogic extends BaseLogic
55 public function getDailyTicketCount(){ 58 public function getDailyTicketCount(){
56 $date = Carbon::yesterday()->toDateString(); //昨日时间 59 $date = Carbon::yesterday()->toDateString(); //昨日时间
57 $dailyModel = new TicketDailyCount(); 60 $dailyModel = new TicketDailyCount();
58 - $dailyList = $dailyModel->list(['date'=>$date],'average_time',['*'],'desc',5);//取最近5条数据 61 + $dailyList = $dailyModel->list(['date'=>$date],'average_time',['*'],'asc',5);//取最近5条数据
59 $manageModel = new TicketDailyManageCount(); 62 $manageModel = new TicketDailyManageCount();
60 - $manageList = $manageModel->list(['date'=>$date],'average_time',['*'],'desc',5);//取最近5条数据 63 + $manageList = $manageModel->list(['date'=>$date],'average_time',['*'],'asc',5);//取最近5条数据
61 $deptModel = new TicketDailyDeptCount(); 64 $deptModel = new TicketDailyDeptCount();
62 - $deptList = $deptModel->list(['date'=>$date],'average_time',['*'],'desc',5); 65 + $deptList = $deptModel->list(['date'=>$date],'average_time',['*'],'asc',5);
63 $data = ['daily'=>$dailyList,'manage'=>$manageList,'dept'=>$deptList]; 66 $data = ['daily'=>$dailyList,'manage'=>$manageList,'dept'=>$deptList];
64 return $this->success($data); 67 return $this->success($data);
65 } 68 }
66 69
67 /** 70 /**
  71 + * @remark :获取随机工单列表(20条)
  72 + * @name :ticketList
  73 + * @author :lyh
  74 + * @method :post
  75 + * @time :2025/8/12 11:06
  76 + */
  77 + public function getTicketList(){
  78 + $ticketsList = Ticket::select(['project_id','title','end_at','end_time','id'])->inRandomOrder()->limit(20)->get();
  79 + $projectModel = new Project();
  80 + $ticketLogModel = new TicketLog();
  81 + $manageModel = new ManageHr();
  82 + foreach ($ticketsList as $key => $item){
  83 + $item['project_name'] = $projectModel->getValue(['id'=>$item['project_id']],'name');
  84 + $engineer_id = $ticketLogModel->getValue(['ticket_id'=>$item['id'],'is_engineer'=>1],'engineer_id');
  85 + if(!empty($engineer_id)){
  86 + $item['manage_name'] = $manageModel->getValue(['manage_id'=>$engineer_id],'name');
  87 + }else{
  88 + $item['manage_name'] = '未分配';
  89 + }
  90 + $ticketsList[$key] = $item;
  91 + $item['status'] = (empty($item['end_at']) ? '未完成' : '完成');
  92 + }
  93 + return $this->success($ticketsList);
  94 + }
  95 +
  96 + /**
68 * @remark :根据技术组获取 97 * @remark :根据技术组获取
69 * @name :getManageTicketCount 98 * @name :getManageTicketCount
70 * @author :lyh 99 * @author :lyh