InventoryAccountMission.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Support\Facades\Auth;
  6. use App\Traits\ModelLogChanging;
  7. class InventoryAccountMission extends Model
  8. {
  9. use ModelLogChanging;
  10. use ModelTimeFormat;
  11. protected $fillable=[
  12. 'id','inventory_account_id','location','commodity_id', 'produced_at', 'valid_at','stored_at','batch_number','erp_type_position','quality','stored_amount','valid_amount',
  13. 'verified_amount','re_checked_amount','difference_amount','occupied_amount','checked',
  14. ];
  15. public function commodity(){
  16. return $this->belongsTo('App\Commodity','commodity_id','id');
  17. }
  18. public function stockInventoryPersons(){
  19. return $this->hasMany('App\Sign','signable_id','id')
  20. ->where('signable_type','inventory_account_missions')->where('field','盘点人');
  21. }
  22. public function createSignStockInventoryPersons(){
  23. return Sign::query()->firstOrCreate([
  24. 'signable_type'=>'inventory_account_missions',
  25. 'signable_id'=>$this['id'],
  26. 'field'=>'盘点人',
  27. 'mark'=>Auth::user()['name'],
  28. ]);
  29. }
  30. }