|
|
|
|
@ -11,7 +11,9 @@ namespace App\Http\Controllers\Admin;
|
|
|
|
|
use App\Customer;
|
|
|
|
|
use App\Libs\AlipayF2F;
|
|
|
|
|
use App\Libs\WxMicroPay;
|
|
|
|
|
use App\Models\AdminAreaLink;
|
|
|
|
|
use App\Models\Balance;
|
|
|
|
|
use App\Models\Bed;
|
|
|
|
|
use App\Models\Factor;
|
|
|
|
|
use App\Models\FactorItems;
|
|
|
|
|
use App\Models\OrderItems;
|
|
|
|
|
@ -24,6 +26,7 @@ use App\Models\Refund;
|
|
|
|
|
use Carbon\Carbon;
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
use Spatie\Permission\Models\Role;
|
|
|
|
|
|
|
|
|
|
class StatisticsController extends CommonController
|
|
|
|
|
{
|
|
|
|
|
@ -34,7 +37,7 @@ class StatisticsController extends CommonController
|
|
|
|
|
|
|
|
|
|
public function _checkProjects()
|
|
|
|
|
{
|
|
|
|
|
$projects = (new Project())->adminProject()->orderBy("id","desc")->get();
|
|
|
|
|
$projects = (new Project())->adminProject()->orderBy("id", "desc")->get();
|
|
|
|
|
view()->share(compact("projects"));
|
|
|
|
|
return $projects;
|
|
|
|
|
}
|
|
|
|
|
@ -234,7 +237,27 @@ class StatisticsController extends CommonController
|
|
|
|
|
$month = request()->month ?? date("Y-m");
|
|
|
|
|
$months = $this->_getMonths();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 判断是否护士长
|
|
|
|
|
$userId = auth()->id();
|
|
|
|
|
$roleId = Role::where('name', 'like', '%护士长%')->where('guard_name', 'admin')->value('id');
|
|
|
|
|
$hushizhang = DB::table('model_has_roles')->where('role_id', $roleId)
|
|
|
|
|
->where('model_type', 'App\Admin')
|
|
|
|
|
->where('model_id', $userId)
|
|
|
|
|
->count();
|
|
|
|
|
// 获取这个护士长病区的订单
|
|
|
|
|
$user = auth()->user();
|
|
|
|
|
$areaId = AdminAreaLink::where('project_id', $project_id)->where('admin_id', $user->id)->pluck('area_id');
|
|
|
|
|
$bedList = Bed::whereIn('area_id', $areaId)->pluck('id');
|
|
|
|
|
$orderIds = Orders::whereIn('bed_id', $bedList)->pluck('id');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$recharges = Recharge::with(["manager", "order", "patient"])
|
|
|
|
|
->where(function ($query) use ($hushizhang, $orderIds) {
|
|
|
|
|
if ($hushizhang) {
|
|
|
|
|
$query->whereIn('order_id', $orderIds);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
->withCount("refunds")
|
|
|
|
|
->whereNotNull("paid_at")
|
|
|
|
|
->whereRaw("DATE_FORMAT(`paid_at`,'%Y-%m') = '{$month}'")
|
|
|
|
|
@ -242,7 +265,13 @@ class StatisticsController extends CommonController
|
|
|
|
|
$query->where("project_id", $project_id);
|
|
|
|
|
})
|
|
|
|
|
->get();
|
|
|
|
|
|
|
|
|
|
$refunds = Refund::whereNotNull("paid_at")
|
|
|
|
|
->where(function ($query) use ($hushizhang, $orderIds) {
|
|
|
|
|
if ($hushizhang) {
|
|
|
|
|
$query->whereIn('order_id', $orderIds);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
->whereRaw("DATE_FORMAT(`paid_at`,'%Y-%m') = '{$month}'")
|
|
|
|
|
->whereHas("order", function ($query) use ($project_id) {
|
|
|
|
|
$query->where("project_id", $project_id);
|
|
|
|
|
|