| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- namespace App;
- use App\Traits\ModelTimeFormat;
- use Illuminate\Database\Eloquent\Model;
- use App\Traits\ModelLogChanging;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\HasMany;
- class LaborCompanyDispatch extends Model
- {
- const EXCEED_MAX_LABOR_NUM = 2;
- const NOT_EXCEED_MAX_LABOR_NUM = 1;
- use ModelLogChanging;
- use ModelTimeFormat;
- protected $fillable = [
- 'labor_company_id',//劳务公司ID
- 'man_num',//男工数量
- 'woman_num',//女工数量
- 'dispatch_date',//分配日期
- 'exceed_max_labor_num_status',//是否超过最大允许值 1 未超过 2 超过
- 'status',//状态
- 'warehouse_id',//仓库ID
- 'check_user_id',//确认人ID
- ];
- protected $dates = [
- 'dispatch_date'
- ];
- static public $enums = [
- 'status' => [
- '' => 0,
- '创建' => 1,
- '人事确认' => 2,
- '劳务接单' => 3,
- '任务完结' => 4,
- ],
- ];
- function __construct(array $attributes = [])
- {
- foreach (self::$enums as &$enum) {
- $enum = $enum + array_flip($enum);
- }
- parent::__construct($attributes);
- }
- public function getStatusAttribute($value)
- {
- if (!$value) return '';
- return self::$enums['status'][$value];
- }
- public function setStatusAttribute($value)
- {
- if (!$value) return 0;
- $this->attributes['status'] = self::$enums['status'][$value];
- }
- public function laborCompany(): BelongsTo
- {
- return $this->belongsTo(LaborCompany::class);
- }
- public function laborCompanyDispatchDetails(): HasMany
- {
- return $this->hasMany(LaborCompanyDispatchDetail::class);
- }
- public function warehouse(): BelongsTo
- {
- return $this->belongsTo(Warehouse::class);
- }
- public function checkUser(): BelongsTo
- {
- return $this->belongsTo(User::class, 'check_user_id', 'id');
- }
- public function scopeFilter($query, $filters)
- {
- return $filters->apply($query);
- }
- }
|