MeasuringMachineController.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\MeasuringMachine;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Auth;
  6. use Illuminate\Support\Facades\Gate;
  7. use Illuminate\Support\Facades\Validator;
  8. class MeasuringMachineController extends Controller
  9. {
  10. /**
  11. * Display a listing of the resource.
  12. *
  13. * @return \Illuminate\Http\Response
  14. */
  15. public function index()
  16. {
  17. if(!Gate::allows('测量设备-查询')){ return redirect(url('/')); }
  18. $measuringMachines=MeasuringMachine::orderBy('id','DESC')->paginate(50);
  19. return view('maintenance.measuringMachine.index',['measuringMachines'=>$measuringMachines]);
  20. }
  21. /**
  22. * Show the form for creating a new resource.
  23. *
  24. * @return \Illuminate\Http\Response
  25. */
  26. public function create()
  27. {
  28. if(!Gate::allows('测量设备-录入')){ return redirect(url('/')); }
  29. return view('maintenance.measuringMachine.create');
  30. }
  31. /**
  32. * Store a newly created resource in storage.
  33. *
  34. * @param \Illuminate\Http\Request $request
  35. * @return \Illuminate\Http\Response
  36. */
  37. public function store(Request $request)
  38. {
  39. if(!Gate::allows('测量设备-录入')){ return redirect(url('/')); }
  40. $id=false;
  41. $this->validator($request,$id)->validate();
  42. MeasuringMachine::create($request->input());
  43. return redirect('maintenance/measuringMachine')->with('successTip','新设备“'.$request->input('name').'”添加成功');
  44. }
  45. /**
  46. * Display the specified resource.
  47. *
  48. * @param \App\MeasuringMachine $measuringMachine
  49. * @return \Illuminate\Http\Response
  50. */
  51. public function show(MeasuringMachine $measuringMachine)
  52. {
  53. //
  54. }
  55. /**
  56. * Show the form for editing the specified resource.
  57. *
  58. * @return \Illuminate\Http\Response
  59. */
  60. public function edit($id)
  61. {
  62. if(!Gate::allows('测量设备-编辑')){ return redirect(url('/')); }
  63. $measuringMachine=MeasuringMachine::find($id);
  64. return view('maintenance.measuringMachine.edit',['measuringMachine'=>$measuringMachine]);
  65. }
  66. /**
  67. * Update the specified resource in storage.
  68. *
  69. * @param \Illuminate\Http\Request $request
  70. * @return \Illuminate\Http\Response
  71. */
  72. public function update(Request $request, $id)
  73. {
  74. if(!Gate::allows('测量设备-编辑')){ return redirect(url('/')); }
  75. $this->validator($request,$id)->validate();
  76. $measuringMachine=MeasuringMachine::find($id);
  77. $measuringMachine->fill($request->input());
  78. $measuringMachine->save();
  79. return redirect('maintenance/measuringMachine')->with('successTip','新设备“'.$request->input('name').'”更新成功');
  80. }
  81. /**
  82. * Remove the specified resource from storage.
  83. *
  84. */
  85. public function destroy($id)
  86. {
  87. if(!Gate::allows('测量设备-删除')){ return redirect(url('/')); }
  88. $measuringMachine=MeasuringMachine::find($id)->delete();
  89. app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($measuringMachine),Auth::user()['id']);
  90. if ($measuringMachine)return ['success'=>true];
  91. }
  92. public function validator(Request $request,$id){
  93. if ($id){$code=$id;}
  94. $validator=Validator::make($request->input(),[
  95. 'name'=>['required','max:50'],
  96. 'code'=>['required','max:50',isset($code)?"unique:measuring_machines,code,$code":'unique:measuring_machines,code'],
  97. ],[
  98. 'required'=>':attribute 为必填项',
  99. 'unique'=>':attribute 已存在',
  100. ],[
  101. 'name'=>'设备名',
  102. 'code'=>'设备代码',
  103. ]);
  104. return $validator;
  105. }
  106. }