| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- namespace App;
- use App\Traits\ModelTimeFormat;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\HasOne;
- use App\Traits\ModelLogChanging;
- class Station extends Model
- {
- use ModelLogChanging;
- use ModelTimeFormat;
- protected $fillable=['name', 'code', 'station_type_id','sequence','parent_id',"material_box_id","status"];
- const STATUS=[
- 0 => "正常",
- 1 => "占用",
- ];
- /*站相关 CACHE说明
- * CACHE_SHELF_OCCUPANCY_{ID} //bool:缓存架占用标记,开启此标记后连续排灯无效
- * CACHE_SHELF_AVAILABLE //array(map):缓存架可用计数器,来标识这个已取出箱子的缓存架数量,这个标识用来判定缓存架一定时间内是否仍然被操作,如果缓存架停止操作则开启处理
- * */
- public function task()
- {
- return $this->hasOne(StationTaskMaterialBox::class,"station_id","id");
- }
- public function materialBox():BelongsTo
- {
- return $this->belongsTo(MaterialBox::class);
- }
- public function stationType(){
- return $this->belongsTo(StationType::class);
- }
- public function parent(){
- return $this->belongsTo(Station::class);
- }
- public function child(){
- return $this->hasOne(Station::class,'parent_id');
- }
- public function currentStationTask(){
- return $this->hasOne(StationTask::class)
- ->where('status','=','处理中');
- }
- public function stationTasks_today(){
- return $this->hasMany(StationTask::class)
- ->where('created_at','>=',now()->format('Y-m-d'))
- ->orderBy('status')
- ->orderByDesc('id');
- }
- public function stationTasks()
- { //站任务
- return $this->hasMany(StationTask::class,"id","station_type_id");
- }
- public function stationTypeBinMonitor()
- {
- return $this->hasOne(StationTypeBinMonitor::class);
- }
- public function pendingStationTask(): HasOne
- {
- return $this->hasOne(StationTask::class)
- ->where('status','=','待处理');
- }
- }
|