UserDutyCheck.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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 $timestamps=false;
  11. protected $fillable=[
  12. 'user_id','checked_at','confirmed_by','type','source','workgroup_id',
  13. ];
  14. public function userDetail(){
  15. return $this->belongsTo('App\UserDetail','user_id','user_id');
  16. }
  17. public function userLabor(){
  18. return $this->belongsTo('App\UserLabor','user_id','user_id');
  19. }
  20. public function userWorkgroup(){
  21. return $this->belongsTo('App\UserWorkgroup','workgroup_id','id');
  22. }
  23. public function laborReport(){
  24. return $this->hasOne('App\LaborReport');
  25. }
  26. public function laborEnterCheck(){
  27. $this->makeEnteringRecord();
  28. }
  29. public function laborExitCheck(){
  30. // $this->exitAndChangeLaborReport();
  31. }
  32. //进场创建临时工报表信息
  33. function makeEnteringRecord(){
  34. $userDetail=UserDetail::find($this['user_id']);
  35. $name=$userDetail['full_name'];
  36. $mobile_phone=$userDetail['mobile_phone'];
  37. $identity_number=$userDetail['identity_number'];
  38. $labor_company_id=UserLabor::where('user_id',$this['user_id'])->value('labor_company_id');
  39. $labor_company=LaborCompany::where('id',$labor_company_id)->value('name');
  40. $laborReport=new LaborReport([
  41. 'user_id'=>$this['user_id'],
  42. 'name'=>$name,
  43. 'mobile_phone'=>$mobile_phone,
  44. 'identity_number'=>$identity_number,
  45. 'labor_company'=>$labor_company,
  46. 'user_duty_check_id'=>$this['id'],
  47. ]);
  48. $laborReport->save();
  49. $laborReportStatus=new LaborReportStatus([
  50. 'labor_report_id'=>$laborReport['id'],
  51. 'status'=>'未审核',
  52. 'created_at'=>$this['checked_at'],
  53. ]);
  54. $laborReportStatus->save();
  55. $laborReport['enter_number']=$laborReport->makeOrGetEnteringNumber();
  56. $laborReport->update();
  57. return $laborReport;
  58. }
  59. }