UserLaborController.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\ProcessDailyParticipant;
  4. use App\User;
  5. use App\UserDetail;
  6. use App\UserDutyCheck;
  7. use App\UserLabor;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Support\Facades\Auth;
  10. use Illuminate\Support\Facades\Gate;
  11. use Illuminate\Support\Facades\Validator;
  12. use Illuminate\Validation\Rule;
  13. class UserLaborController extends Controller
  14. {
  15. /**
  16. * Display a listing of the resource.
  17. *
  18. * @return \Illuminate\Http\Response
  19. */
  20. public function index()
  21. {
  22. $userLabors=UserLabor::with('userDetail')->paginate(50);
  23. return view('maintenance.userLabor.index',['userLabors'=>$userLabors]);
  24. }
  25. /**
  26. * Show the form for creating a new resource.
  27. *
  28. * @return \Illuminate\Http\Response
  29. */
  30. public function create()
  31. {
  32. //
  33. }
  34. /**
  35. * Store a newly created resource in storage.
  36. *
  37. * @param \Illuminate\Http\Request $request
  38. * @return \Illuminate\Http\Response
  39. */
  40. public function store(Request $request)
  41. {
  42. //
  43. }
  44. /**
  45. * Display the specified resource.
  46. *
  47. * @param int $id
  48. * @return \Illuminate\Http\Response
  49. */
  50. public function show($id)
  51. {
  52. if(!Gate::allows('临时工-查询')){ return redirect(url('/')); }
  53. $userLabor=UserLabor::with('userDetail')->find($id);
  54. return view('maintenance.userLabor.show',['userLabor'=>$userLabor]);
  55. }
  56. //获取劳务记录
  57. public function getWorkRecord(Request $request){
  58. if(!Gate::allows('临时工-查询')){ return redirect(url('/')); }
  59. $user_id=$request->input('user_id');
  60. if (!$user_id)return ['error'=>'提交ID失败!'];
  61. $processDailyParticipants=ProcessDailyParticipant::with('processDaily')
  62. ->where('user_id',$user_id)->orderBy('created_at','DESC')->limit(20)->get();
  63. return $processDailyParticipants;
  64. }
  65. //获取打卡记录
  66. public function getClockRecord(Request $request){
  67. if(!Gate::allows('临时工-查询')){ return redirect(url('/')); }
  68. $user_id=$request->input('user_id');
  69. if (!$user_id)return ['error'=>'提交ID失败!'];
  70. $userDutyChecks=UserDutyCheck::orderBy('checked_at','DESC')->where('user_id',$user_id)->limit(20)->get();
  71. return $userDutyChecks;
  72. }
  73. /**
  74. * Show the form for editing the specified resource.
  75. *
  76. * @param int $id
  77. * @return \Illuminate\Http\Response
  78. */
  79. public function edit($id)
  80. {
  81. if(!Gate::allows('临时工-编辑')){ return redirect(url('/')); }
  82. $userLabor=UserLabor::with('userDetail')->find($id);
  83. return view('maintenance.userLabor.edit',['userLabor'=>$userLabor]);
  84. }
  85. /**
  86. * Update the specified resource in storage.
  87. *
  88. * @param \Illuminate\Http\Request $request
  89. * @param int $id
  90. * @return \Illuminate\Http\Response
  91. */
  92. public function update(Request $request, $id)
  93. {
  94. if(!Gate::allows('临时工-编辑')){ return redirect(url('/')); }
  95. Validator::make($request->input(),[
  96. 'full_name'=>'required|max:10',
  97. 'mobile_phone'=>['required','integer','digits:11'],
  98. 'gender'=>['required',Rule::in(['男', '女']),],
  99. 'identity_number'=>'nullable',
  100. 'default_hour_price'=>'nullable|min:0|max:999999|numeric',
  101. 'company'=>'nullable',
  102. ],[
  103. 'required'=>':attribute 不应为空',
  104. 'min'=>':attribute 不得为0或为负',
  105. 'numeric'=>':attribute 必须为数字',
  106. 'max'=>':attribute 输入值过大或过长',
  107. 'integer'=>':attribute 选择错误',
  108. ],[
  109. 'full_name'=>'姓名',
  110. 'mobile_phone'=>'电话',
  111. 'gender'=>'性别',
  112. 'identity_number'=>'身份证号',
  113. 'default_hour_price'=>'默认计时工资',
  114. 'company'=>'劳务所',
  115. ])->validate();
  116. $userDetail=UserDetail::find($id);
  117. $userDetail->full_name=$request->input('full_name');
  118. $userDetail->mobile_phone=$request->input('mobile_phone');
  119. $userDetail->gender=$request->input('gender');
  120. $userDetail->identity_number=$request->input('identity_number');
  121. $userDetail->update();
  122. $this->log(__METHOD__,"修改用户详情".__FUNCTION__,json_encode($userDetail),Auth::user()['id']);
  123. $default_hour_price=$request->input('default_hour_price');
  124. $company=$request->input('company');
  125. $userLabor=UserLabor::find($id);
  126. if ($userLabor->default_hour_price!=$default_hour_price || $userLabor->company!=$company){
  127. $userLabor->default_hour_price=$default_hour_price;
  128. $userLabor->company=$company;
  129. $userLabor->update();
  130. $this->log(__METHOD__,"修改临时工".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
  131. }
  132. return redirect('maintenance/userLabor')->with('successTip','临时工“'.$userDetail->full_name.'”信息修改成功!');
  133. }
  134. /**
  135. * Remove the specified resource from storage.
  136. *
  137. * @param int $id
  138. * @return \Illuminate\Http\Response
  139. */
  140. public function destroy($id)
  141. {
  142. if(!Gate::allows('临时工-删除')){ return redirect(url('/')); }
  143. $userDetail=UserDetail::find($id);
  144. $user=User::find($id);
  145. $userLabor=UserLabor::find($id);
  146. if (!$userDetail || !$user || !$userLabor){
  147. return ['error'=>'未找到对应临时工'];
  148. }
  149. $userDetail->delete();
  150. $this->log(__METHOD__,"删除用户详情".__FUNCTION__,json_encode($userDetail),Auth::user()['id']);
  151. $user->delete();
  152. $this->log(__METHOD__,"删除临时工用户".__FUNCTION__,json_encode($user),Auth::user()['id']);
  153. $userLabor->delete();
  154. $this->log(__METHOD__,"删除临时工".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
  155. return ['success'=>'true'];
  156. }
  157. }