generated from liutk/owl-admin-base
Update
parent
55f562ac15
commit
7287a2bd38
|
|
@ -23,11 +23,12 @@ class LedgerFilter extends ModelFilter
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$provinceCode = Arr::get($region, 'provinceCode');
|
// 区划代码 - 省份
|
||||||
|
$provinceCode = (string) Arr::get($region, 'provinceCode');
|
||||||
|
// 区划代码 - 城市
|
||||||
|
$cityCode = (string) Arr::get($region, 'cityCode');
|
||||||
|
|
||||||
$cityCode = Arr::get($region, 'cityCode');
|
if ($provinceCode === '' && $cityCode === '') {
|
||||||
|
|
||||||
if (empty($provinceCode) && empty($cityCode)) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers\Api;
|
namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
|
use App\Admin\Filters\LedgerFilter;
|
||||||
|
use App\Models\Employee;
|
||||||
use App\Models\Ledger;
|
use App\Models\Ledger;
|
||||||
use Illuminate\Database\Eloquent\Collection;
|
use Illuminate\Database\Eloquent\Collection;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
@ -15,20 +17,9 @@ class StatsController extends Controller
|
||||||
/** @var \App\Models\Employee */
|
/** @var \App\Models\Employee */
|
||||||
$user = $request->user();
|
$user = $request->user();
|
||||||
|
|
||||||
$query = Ledger::when($user->isAdministrator(), function ($query) use ($request) {
|
$query = Ledger::filter(
|
||||||
if ($request->filled('store_id')) {
|
$this->defaultInput($user, $request), LedgerFilter::class
|
||||||
return $query->where('store_id', $request->input('store_id'));
|
);
|
||||||
}
|
|
||||||
|
|
||||||
if (! $request->anyFilled(['province_code', 'city_code'])) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$query->whereHas('store', function ($query) use ($request) {
|
|
||||||
$request->whenFilled('province_code', fn ($code) => $query->where('region->provinceCode', $code));
|
|
||||||
$request->whenFilled('city_code', fn ($code) => $query->where('region->cityCode', $code));
|
|
||||||
});
|
|
||||||
}, fn ($query) => $query->where('store_id', $user->store_id));
|
|
||||||
|
|
||||||
// 昨天
|
// 昨天
|
||||||
$yesterday = Carbon::yesterday();
|
$yesterday = Carbon::yesterday();
|
||||||
|
|
@ -76,12 +67,6 @@ class StatsController extends Controller
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test(Request $request)
|
|
||||||
{
|
|
||||||
/** @var \App\Models\Employee */
|
|
||||||
$user = $request->user();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 准备趋势数据
|
* 准备趋势数据
|
||||||
*/
|
*/
|
||||||
|
|
@ -105,4 +90,29 @@ class StatsController extends Controller
|
||||||
|
|
||||||
return $data->all();
|
return $data->all();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function defaultInput(Employee $employee, Request $request): array
|
||||||
|
{
|
||||||
|
$input = [];
|
||||||
|
|
||||||
|
if (! $employee->isAdministrator()) {
|
||||||
|
$input['store_id'] = $employee->store_id;
|
||||||
|
} elseif ($request->filled('store_id')) {
|
||||||
|
$input['store_id'] = $request->input('store_id');
|
||||||
|
} else {
|
||||||
|
$region = [];
|
||||||
|
|
||||||
|
if ($request->filled('province_code')) {
|
||||||
|
$region['provinceCode'] = $request->input('province_code');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($request->filled('cityCode')) {
|
||||||
|
$region['city_code'] = $request->input('city_code');
|
||||||
|
}
|
||||||
|
|
||||||
|
$input['region'] = $region;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $input;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue