UserDutyCheck.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App;
  3. use Carbon\Carbon;
  4. use Illuminate\Database\Eloquent\Model;
  5. use App\Traits\ModelTimeFormat;
  6. use Illuminate\Support\Facades\Date;
  7. class UserDutyCheck extends Model
  8. {
  9. use ModelTimeFormat;
  10. public function __construct(array $attributes = [])
  11. {
  12. $this->timestamps=false;
  13. parent::__construct($attributes);
  14. }
  15. protected $fillable=[
  16. 'user_id','checked_at','confirmed_by','type','source','workgroup_id',
  17. ];
  18. public function userDetail(){
  19. return $this->belongsTo('App\UserDetail','user_id','user_id');
  20. }
  21. public function userLabor(){
  22. return $this->belongsTo('App\UserLabor','user_id','user_id');
  23. }
  24. public function userWorkgroup(){
  25. return $this->belongsTo('App\UserWorkgroup','workgroup_id','id');
  26. }
  27. public function laborReport(){
  28. return $this->belongsTo('App\LaborReport','id','user_duty_check_id');
  29. }
  30. public function laborEnterCheck(){
  31. $this->makeEnteringRecord();
  32. }
  33. //进场创建临时工报表信息
  34. function makeEnteringRecord(){
  35. $userDetail=UserDetail::find($this['user_id']);
  36. $name=$userDetail['full_name'];
  37. $mobile_phone=$userDetail['mobile_phone'];
  38. $identity_number=$userDetail['identity_number'];
  39. $labor_company_id=UserLabor::where('user_id',$this['user_id'])->value('labor_company_id');
  40. // $labor_company=LaborCompany::where('id',$labor_company_id)->value('name');
  41. $laborReport=new LaborReport([
  42. 'user_id'=>$this['user_id'],
  43. 'name'=>$name,
  44. 'mobile_phone'=>$mobile_phone,
  45. 'identity_number'=>$identity_number,
  46. 'labor_company_id'=>$labor_company_id,
  47. // 'labor_company'=>$labor_company,
  48. 'user_duty_check_id'=>$this['id'],
  49. ]);
  50. $laborReport->save();
  51. $laborReportStatus=new LaborReportStatus([
  52. 'labor_report_id'=>$laborReport['id'],
  53. 'status'=>'未审核',
  54. 'created_at'=>$this['checked_at'],
  55. ]);
  56. $laborReportStatus->save();
  57. $laborReport['enter_number']=$laborReport->makeOrGetEnteringNumber();
  58. $laborReport->update();
  59. return $laborReport;
  60. }
  61. }