UserDutyCheck.php 2.4 KB

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