| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace App;
- use App\Traits\ModelTimeFormat;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Database\Eloquent\Model;
- use App\Traits\ModelLogChanging;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\DB;
- class Procurement extends Model
- {
- use ModelLogChanging;
- use ModelTimeFormat;
- const type=[
- 0 => "采购单",
- 1 => "询价单",
- 2 => "打样单",
- ];
- const status=[
- 0 => "待推单",
- 1 => "已报价",
- 2 => "生产中",
- 3 => "取消订单",
- 4 => "已完成",
- 5 => "完结",
- 6 => "下单失败",
- 7 => "待出账",
- 8 => "待接单(已过期)",
- 9 => "待报价",
- ];
- protected $fillable=[
- 'code','owner_material_id', 'supplier_id', 'quantity','amount','unit_price','cost_price','status','initiator','type'
- ];
- protected static function booted()
- {
- /** @var User $user */
- $user = Auth::user();
- if ($user && !$user->isSuperAdmin()) {
- /** @var \stdClass $user */
- $ids = array_column(DB::select(DB::raw("SELECT supplier_id FROM supplier_user WHERE user_id = ?"),[$user->id]),"supplier_id");
- if (count($ids)>0){
- static::addGlobalScope('supplier', function (Builder $builder)use ($ids) {
- $builder->whereIn('supplier_id', $ids);
- });
- }
- }
- }
- public function ownerMaterial(){
- return $this->hasOne('App\OwnerMaterial','id','owner_material_id');
- }
- public function supplier(){
- return $this->hasOne('App\Supplier','id','supplier_id');
- }
- public function initiator()
- {
- return $this->belongsTo(User::class,'initiator','id');
- }
- public function scopeFilter($query, $filters)
- {
- return $filters->apply($query);
- }
- }
|