where('name',$typeName)->orderBy('id')->get('id')->first(); if(!$stationType) throw new Exception('指定站类型获取不到'); return Station::query()->where('station_type_id',$stationType['id'])->first(); }); if(!$station)throw new Exception('默认站获取不到'); return $station; } function getULineEntrance(Station $station):?Station{ $station->loadMissing(['stationType','child']); if ($station['stationType']['name']??''=='料箱出货口'){ return $station; } if ($station['child']['stationType']['name']??''=='料箱出货口'){ return $station['child']; } return null; } function getULineExit(Station $station):?Station{ $station->loadMissing(['stationType','child']); if ($station['stationType']['name']??''=='料箱入货口'){ return $station; } if ($station['child']['stationType']['name']??''=='料箱入货口'){ return $station['child']; } return null; } function broadcast($station_id, $json_data){ broadcast(new BroadcastToStation($station_id,$json_data)); } function broadcastBinMonitor($station_id, ?StationTask $stationTask){ $stationTask->loadMissing([ "stationTaskCommodities.commodity.barcodes", "stationTaskCommodities.materialBox", "stationTaskBatches.batch" /*,"taskMaterialBoxes.box"*/ ]); $this->broadcast($station_id, $stationTask->toJson()); //... //$stationTask->stationTaskBatch //$stationTask->stationTaskMaterialBox //$stationTask->stationTaskCommodities //'待处理', '处理中' blue,'完成',green //$batch= $stationTask->stationTaskBatch->batch //$orders= $batch->.... //..... //$json_data=['batch','stationCommodities','stationMaterialBin','$currentStationTaskCommodity'] //$this->broadcast($station_id, $json_data) } function broadcastBinChange($station_id, StationTask $stationTask, int $currentStationTaskCommodity_id){ //... //$stationTask->stationTaskBatch //$stationTask->stationTaskMaterialBox //$stationTask->stationTaskCommodities //'待处理', '处理中' blue,'完成',green //$batch= $stationTask->stationTaskBatch->batch //$orders= $batch->.... //..... //$json_data=['batch','stationCommodities','stationMaterialBin','$currentStationTaskCommodity'] //$this->broadcast($station_id, $json_data) } function broadcastBinMonitorWarning($warnText, $station_id, StationTask $stationTask){ //... //... //$json_data=['warn'] //$this->broadcast($station_id, $json_data) } }