UserLaborController.php 6.2 KB

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