52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace app\adminapi\controller\stats;
|
|
|
|
use app\adminapi\controller\BaseAdminController;
|
|
use app\adminapi\logic\stats\RevisitRateLogic;
|
|
|
|
/**
|
|
* 复诊接诊率统计(按月)
|
|
*
|
|
* - GET stats.revisitRate/overview 当月 N 诊接诊率(部门 → 医助分组 + 合计)
|
|
* - GET stats.revisitRate/deptOptions 部门下拉(前端组树)
|
|
* - GET stats.revisitRate/assignLines 「被指派数」明细(按诊单聚合)
|
|
* - GET stats.revisitRate/visitOrderLines 「N 诊单数」订单明细
|
|
*/
|
|
class RevisitRateController extends BaseAdminController
|
|
{
|
|
public function overview()
|
|
{
|
|
// 涉及指派日志 + 全量订单序列扫描,放宽执行时间兜底
|
|
@set_time_limit(120);
|
|
$params = $this->request->get();
|
|
|
|
return $this->data(RevisitRateLogic::overview($params));
|
|
}
|
|
|
|
public function deptOptions()
|
|
{
|
|
return $this->data(RevisitRateLogic::deptOptions());
|
|
}
|
|
|
|
/** 「被指派数」点击下钻:诊单维度明细 */
|
|
public function assignLines()
|
|
{
|
|
@set_time_limit(120);
|
|
$params = $this->request->get();
|
|
|
|
return $this->data(RevisitRateLogic::assignLines($params));
|
|
}
|
|
|
|
/** 「N 诊单数」点击下钻:具体订单明细 */
|
|
public function visitOrderLines()
|
|
{
|
|
@set_time_limit(120);
|
|
$params = $this->request->get();
|
|
|
|
return $this->data(RevisitRateLogic::visitOrderLines($params));
|
|
}
|
|
}
|