| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace App;
- use App\Traits\ModelTimeFormat;
- use Illuminate\Database\Eloquent\Model;
- use App\Traits\ModelLogChanging;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- class LaborApply extends Model
- {
- const CAN_CREATE_STATUS_OPEN = 1;
- const CAN_CREATE_STATUS_FORBID = 2;
- const CAN_CREATE_STATUS_TEMPORARY_OPEN = 3;
- use ModelLogChanging;
- use ModelTimeFormat;
- public $fillable = [
- 'status',//状态
- 'warehouse_id',//仓库
- 'user_workgroup_id',//仓库小组
- 'apply_user_id',//申请人
- 'man_num',//男工数量
- 'woman_num',//女工数量
- 'actual_num',//到岗人数
- 'remark',//用工要求
- ];
- 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 warehouse(): BelongsTo
- {
- return $this->belongsTo(Warehouse::class);
- }
- public function userWorkGroup(): BelongsTo
- {
- return $this->belongsTo(UserWorkgroup::class, 'user_workgroup_id', 'id');
- }
- public function applyUser(): BelongsTo
- {
- return $this->belongsTo(User::class, 'apply_user_id', 'id');
- }
- public function scopeFilter($query, $filters)
- {
- return $filters->apply($query);
- }
- }
|