作者 李宇航

合并分支 'lyh-server' 到 'master'

gx



查看合并请求 !2553
... ... @@ -32,6 +32,7 @@ class TicketController extends BaseController
public function ticketCount(){
$data['daily'] = $this->logic->getTicketCount();
$data['list'] = $this->logic->getDailyTicketCount();
$data['ticket'] = $this->logic->getTicketList();
$this->response('success',Code::SUCCESS,$data);
}
... ...
... ... @@ -10,9 +10,12 @@
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\Tickets;
use Illuminate\Support\Carbon;
... ... @@ -41,7 +44,7 @@ class TicketLogic extends BaseLogic
$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'] = json_encode(['a'=>$submit_a_side,'b'=>$submit_b_side],true);
$data['source'] = ['a'=>$submit_a_side,'b'=>$submit_b_side];
return $this->success($data);
}
... ... @@ -55,16 +58,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'=>$date],'average_time',['*'],'asc',5);//取最近5条数据
$manageModel = new TicketDailyManageCount();
$manageList = $manageModel->list(['date'=>$date],'average_time',['*'],'desc',5);//取最近5条数据
$manageList = $manageModel->list(['date'=>$date],'average_time',['*'],'asc',5);//取最近5条数据
$deptModel = new TicketDailyDeptCount();
$deptList = $deptModel->list(['date'=>$date],'average_time',['*'],'desc',5);
$deptList = $deptModel->list(['date'=>$date],'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 = Ticket::select(['project_id','title','end_at','end_time','id'])->inRandomOrder()->limit(20)->get();
$projectModel = new Project();
$ticketLogModel = new TicketLog();
$manageModel = new ManageHr();
foreach ($ticketsList as $key => $item){
$item['project_name'] = $projectModel->getValue(['id'=>$item['project_id']],'name');
$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
... ...