| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace App\Http\Controllers;
- use App\LaborApply;
- use App\LaborCompany;
- use App\LaborCompanyDispatch;
- use App\User;
- use Illuminate\Http\Request;
- use Illuminate\Support\Carbon;
- use Illuminate\Support\Facades\Gate;
- class LaborCompanyDispatchController extends Controller
- {
- public function index()
- {
- //按照分配日期倒序
- $builder = LaborCompanyDispatch::query()
- ->with(['laborCompany', 'laborCompanyDispatchDetails']);
- if (!(\auth()->user()->isSuperAdmin() || Gate::allows('宝时人事部'))) {
- /** @var User $user */
- $user = auth()->user();
- //获取用户的劳务角色 劳务角色名 与 劳务所名称相同
- $laborCompanyNames = $user->roles()->where('name', 'LIKE', '劳务')->pluck('name');
- //根据劳务所名称相同 查询劳务所Id
- $laborCompanyIds = LaborCompany::query()->whereIn('name', $laborCompanyNames)->pluck('id');
- $builder->whereIn('labor_company_id', $laborCompanyIds);
- }
- $labor_company_dispatches = $builder
- ->orderByDesc('dispatch_date')
- ->paginate();
- return view('personnel.laborApply.dispatch.index', compact('labor_company_dispatches'));
- }
- public function createDetail(Request $request, LaborCompanyDispatch $laborCompanyDispatch)
- {
- return view('personnel.laborApply.dispatch.detail.create', compact('laborCompanyDispatch'));
- }
- public function editDetail(Request $request, LaborCompanyDispatch $laborCompanyDispatch)
- {
- $laborCompanyDispatch->loadMissing('laborCompanyDispatchDetails');
- return view('personnel.laborApply.dispatch.detail.edit', compact('laborCompanyDispatch'));
- }
- public function storeDetail(Request $request, LaborCompanyDispatch $laborCompanyDispatch)
- {
- $laborCompanyDispatch->laborCompanyDispatchDetails()->delete();
- $laborCompanyDispatch->laborCompanyDispatchDetails()->createMany(
- $request->input('users')
- );
- /** @var Carbon $dispatch_date */
- $dispatch_date = $laborCompanyDispatch->dispatch_date;
- LaborApply::query()
- ->whereDate('created_at', $dispatch_date->subDay()->toDateString())
- ->where('warehouse_id', $laborCompanyDispatch->laborCompany->warehouse_id)
- ->update([
- 'status' => 3, //劳务接单
- ]);
- return redirect(route('laborApplyDispatch.index'))->with('success', '添加临时工详情成功!');
- }
- }
|