CheckCacheRackStorage.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace App\Console\Commands;
  3. use App\Station;
  4. use App\StationTask;
  5. use App\StationTaskMaterialBox;
  6. use Illuminate\Console\Command;
  7. use Illuminate\Database\Eloquent\Collection;
  8. class CheckCacheRackStorage extends Command
  9. {
  10. /**
  11. * The name and signature of the console command.
  12. *
  13. * @var string
  14. */
  15. protected $signature = 'check:cacheRack';
  16. /**
  17. * The console command description.
  18. *
  19. * @var string
  20. */
  21. protected $description = 'check cache rack storage info';
  22. /**
  23. * Create a new command instance.
  24. *
  25. * @return void
  26. */
  27. public function __construct()
  28. {
  29. parent::__construct();
  30. }
  31. /**
  32. * Execute the console command.
  33. *
  34. */
  35. public function handle()
  36. {
  37. $stations = Station::query()->select("id","code")->where("station_type_id",5)
  38. ->whereNotNull("parent_id")
  39. ->whereNotIn("id",StationTask::query()->select("station_id")
  40. ->where("status","!=","完成")->whereIn("station_id",Station::query()->select("id")->where("station_type_id",5)
  41. ->whereNotNull("parent_id"))->groupBy("station_id"))
  42. ->get();
  43. foreach ($stations as $station){
  44. $box = app("MaterialBoxService")->getAnEmptyBox();
  45. if (!$box)continue;
  46. $task = StationTask::query()->create([
  47. 'status' => "待处理",
  48. 'station_id' => $station->id,
  49. ]);
  50. $collection = new Collection();
  51. $collection->append(StationTaskMaterialBox::query()->create([
  52. 'station_id' => $station->id,
  53. 'material_box_id'=>$box->id,
  54. 'status'=>"待处理",
  55. 'type' => '取',
  56. 'station_task_id' => $task->id,
  57. ]));
  58. app("ForeignHaiRoboticsService")->fetchGroup($station->code,$collection,'','立架出至缓存架');
  59. }
  60. }
  61. }