StationController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Station;
  4. use App\StationTypeBinMonitor;
  5. use Illuminate\Database\Eloquent\Builder;
  6. use Illuminate\Http\Request;
  7. class StationController extends Controller
  8. {
  9. public function monitorIndex()
  10. {
  11. $stations = Station::query()->with('stationType:name','parent:name')->whereHas('stationType',function($query){
  12. /** @var Builder $query */
  13. $query->where('name','料箱监视器');
  14. })->paginate(100);
  15. return view('station.monitor.index',compact('stations'));
  16. }
  17. public function monitorShow(Station $station)
  18. {
  19. $station->loadMissing([
  20. "stationTasks_today.stationTaskCommodities.commodity.barcodes",
  21. "stationTasks_today.stationTaskCommodities.stationTaskMaterialBox",
  22. "stationTasks_today.stationTaskBatches.batch.owner",
  23. "stationTasks_today.stationTaskMaterialBoxes.materialBox",
  24. "stationTypeBinMonitor",
  25. ]);
  26. if (!$station['stationTypeBinMonitor']){
  27. StationTypeBinMonitor::query()->create([
  28. 'station_id' => $station['id'],
  29. 'bin_row_length' => 4,
  30. 'bin_column_length' => 5,
  31. 'bin_wall_amount' => 2,
  32. ]);
  33. $station->load("stationTypeBinMonitor");
  34. }
  35. return view('station.monitor.show',compact('station'));
  36. }
  37. }