public function works($projectId, Request $request)
 {
     $mainflowTypeId = $request->query('mainflow_type_id');
     $detailingflowTypeId = $request->query('detailingflow_type_id');
     $project = \App\Entities\Project::findOrFail($projectId);
     $query = \App\Entities\ProjectWork::query();
     if (!empty($mainflowTypeId)) {
         $query->whereHas('detailingflowType', function ($query) use($mainflowTypeId) {
             $query->whereMainflowTypeId($mainflowTypeId);
         });
         $mainflowTypeName = \App\Entities\MainflowType::findOrFail($mainflowTypeId)->name;
     }
     if (!empty($detailingflowTypeId)) {
         $query->whereDetailingflowTypeId($detailingflowTypeId);
         $detailingflowTypeName = \App\Entities\DetailingflowType::findOrFail($detailingflowTypeId)->name;
     }
     $works = $query->get();
     return view('bids.works', compact('project', 'works', 'mainflowTypeName', 'detailingflowTypeName'));
 }
 public function destroyOfWorkitems($projectId, $workId, $workitemId, Request $request)
 {
     $workitem = \App\Entities\ProjectWorkitem::findOrFail($workitemId);
     $work = \App\Entities\ProjectWork::findOrFail($workitem->getAttribute('project_work_id'));
     $workitem->delete();
     $work->reCalculateUnitPrice();
     if ($request->ajax()) {
         return response()->json();
     }
     return redirect()->route('projects.works.show', [$projectId, $work->id]);
 }