InventoryAccountMission.php 1.1 KB

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