| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Services\CacheShelfService;
- use App\Station;
- use Illuminate\Contracts\Foundation\Application;
- use Illuminate\Contracts\View\Factory;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Http\Request;
- use Illuminate\View\View;
- class CacheShelfController extends Controller
- {
- use AsyncResponse;
- /**
- * 缓存货架
- * @return Application|Factory|View
- */
- public function index()
- {
- $stations = Station::query()->with('stationType:name', 'parent:name')->whereNull('parent_id')->whereIn('station_type_id', function ($query) {
- /** @var Builder $query */
- $query->from('station_types')->selectRaw('id')->where('name', '缓存架');
- })->paginate(10);
- return view('station.cachingShelf.list.index', compact('stations'));
- }
- /**
- * 获取缓存货架上的料箱
- * @param Request $request
- * @param string $id
- * @param CacheShelfService $service
- */
- public function getChildStationApi(Request $request,string $id,CacheShelfService $service)
- {
- $stations = $service->getChildStation($id);
- $this->success($stations);
- }
- /**
- * 缓存架亮灯
- * @param Request $request
- * @param CacheShelfService $service
- * @return mixed
- */
- public function lightOnApi(Request $request,CacheShelfService $service): array
- {
- if($request['stationCode'] && $request['materialBoxCode']){
- return $service->bindMaterialBox($request['stationCode'],$request['materialBoxCode']);
- }
- return ['success' => false,'message' => '参数错误'];
- }
- /**
- * @param Request $request
- * @param CacheShelfService $service
- * @return array|bool[]
- */
- public function clearTaskApi(Request $request,CacheShelfService $service): array
- {
- $code = $request['station'];
- return $service->clearTask($code);
- }
- }
|