|
|
@@ -4,55 +4,68 @@ namespace App\Http\Controllers;
|
|
|
|
|
|
use App\LaborCompany;
|
|
|
use App\Warehouse;
|
|
|
+use Illuminate\Contracts\Foundation\Application;
|
|
|
+use Illuminate\Http\RedirectResponse;
|
|
|
use Illuminate\Http\Request;
|
|
|
+use Illuminate\Routing\Redirector;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\Support\Facades\Gate;
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
+use Illuminate\Validation\ValidationException;
|
|
|
|
|
|
class LaborCompanyController extends Controller
|
|
|
{
|
|
|
|
|
|
public function index()
|
|
|
{
|
|
|
- if(!Gate::allows('劳务所-查询')){ return redirect(url('/')); }
|
|
|
- $laborCompanys=LaborCompany::query()
|
|
|
+ if (!Gate::allows('劳务所-查询')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ $laborCompanys = LaborCompany::query()
|
|
|
->with(['warehouse'])
|
|
|
- ->orderBy('id','desc')
|
|
|
+ ->orderBy('id', 'desc')
|
|
|
->paginate(35);
|
|
|
- return view('maintenance.laborCompany.index',['laborCompanys'=>$laborCompanys]);
|
|
|
+ return view('maintenance.laborCompany.index', ['laborCompanys' => $laborCompanys]);
|
|
|
}
|
|
|
|
|
|
|
|
|
public function create()
|
|
|
{
|
|
|
- if(!Gate::allows('劳务所-录入')){ return redirect(url('/')); }
|
|
|
+ if (!Gate::allows('劳务所-录入')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
$warehouses = Warehouse::all();
|
|
|
- return view('maintenance.laborCompany.create',compact('warehouses'));
|
|
|
+ return view('maintenance.laborCompany.create', compact('warehouses'));
|
|
|
}
|
|
|
|
|
|
|
|
|
public function store(Request $request)
|
|
|
{
|
|
|
- if(!Gate::allows('劳务所-录入')){ return redirect(url('/')); }
|
|
|
+ if (!Gate::allows('劳务所-录入')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
$this->validatorCreate($request->all())->validate();
|
|
|
- $laborCompany=new LaborCompany($request->all());
|
|
|
+ $laborCompany = new LaborCompany($request->all());
|
|
|
$laborCompany->save();
|
|
|
app('LaborCompanyService')->createRole($laborCompany);
|
|
|
- app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
|
|
|
- return redirect('maintenance/laborCompany/create')->with('successTip',"成功录入劳务所“{$request->input('name')}”");
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
+ return redirect('maintenance/laborCompany/create')->with('successTip', "成功录入劳务所“{$request->input('name')}”");
|
|
|
}
|
|
|
+
|
|
|
protected function validatorCreate(array $data)
|
|
|
{
|
|
|
return Validator::make($data, [
|
|
|
'name' => ['required', 'string', 'max:50', 'unique:labor_companies'],
|
|
|
]);
|
|
|
}
|
|
|
+
|
|
|
protected function validatorUpdate(array $data)
|
|
|
{
|
|
|
return Validator::make($data, [
|
|
|
'name' => ['required', 'string', 'max:50'],
|
|
|
]);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* Display the specified resource.
|
|
|
*
|
|
|
@@ -72,27 +85,38 @@ class LaborCompanyController extends Controller
|
|
|
*/
|
|
|
public function edit(LaborCompany $laborCompany)
|
|
|
{
|
|
|
- if(!Gate::allows('劳务所-编辑')){ return redirect(url('/')); }
|
|
|
+ if (!Gate::allows('劳务所-编辑')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
$warehouses = Warehouse::all();
|
|
|
- return view('maintenance.laborCompany.edit',compact('laborCompany','warehouses'));
|
|
|
+ return view('maintenance.laborCompany.edit', compact('laborCompany', 'warehouses'));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Update the specified resource in storage.
|
|
|
- *
|
|
|
* @param Request $request
|
|
|
- * @param $laborCompany
|
|
|
- * @return
|
|
|
+ * @param LaborCompany $laborCompany
|
|
|
+ * @return array|Application|RedirectResponse|Redirector|void
|
|
|
+ * @throws ValidationException
|
|
|
*/
|
|
|
public function update(Request $request, LaborCompany $laborCompany)
|
|
|
{
|
|
|
- if(!Gate::allows('劳务所-编辑')){ return redirect(url('/')); }
|
|
|
- $this->validatorUpdate($request->all())->validate();
|
|
|
- $laborCompany->fill($request->all());
|
|
|
- $laborCompany->update();
|
|
|
- app('LaborCompanyService')->updateRole($laborCompany);
|
|
|
- app('LogService')->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
|
|
|
- return redirect('maintenance/laborCompany/')->with('successTip',"成功修改劳务所“{$laborCompany['name']}”!");
|
|
|
+ if (!Gate::allows('劳务所-编辑')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ if (!empty($request->input('name'))) {
|
|
|
+ $this->validatorUpdate($request->all())->validate();
|
|
|
+ $laborCompany->fill($request->all());
|
|
|
+ $laborCompany->update();
|
|
|
+ app('LaborCompanyService')->updateRole($laborCompany);
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
|
|
|
+ return redirect('maintenance/laborCompany/')->with('successTip', "成功修改劳务所“{$laborCompany['name']}”!");
|
|
|
+ } else if (!empty($request->input('status'))) {
|
|
|
+ $laborCompany = LaborCompany::query()->find($request->input('id'));
|
|
|
+ $laborCompany->status = $request->input('status');
|
|
|
+ $laborCompany->save();
|
|
|
+ return ['success' => true, 'data' => ['status' => $request->input('status')]];
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -104,9 +128,11 @@ class LaborCompanyController extends Controller
|
|
|
*/
|
|
|
public function destroy(LaborCompany $laborCompany)
|
|
|
{
|
|
|
- if(!Gate::allows('劳务所-删除')){ return redirect(url('/')); }
|
|
|
- app('LogService')->log(__METHOD__,__FUNCTION__,$laborCompany->toJson(),Auth::user()['id']);
|
|
|
- $re=$laborCompany->delete();
|
|
|
- return ['success'=>$re];
|
|
|
+ if (!Gate::allows('劳务所-删除')) {
|
|
|
+ return redirect(url('/'));
|
|
|
+ }
|
|
|
+ app('LogService')->log(__METHOD__, __FUNCTION__, $laborCompany->toJson(), Auth::user()['id']);
|
|
|
+ $re = $laborCompany->delete();
|
|
|
+ return ['success' => $re];
|
|
|
}
|
|
|
}
|