コード例 #1
0
 public function updateCheckitemsResults($projectId, $checklistId, Request $request)
 {
     $checklist = ProjectChecklist::findOrFail($checklistId);
     $checklist->update(['passes_amount' => $request->passes_amount]);
     $checklist->checkitems->each(function ($checkitem) use($request) {
         $checkitem->update(['passes' => $request->passes[$checkitem->id]]);
         if (!is_null($checkitem->passes) && !$checkitem->passes) {
             $checkitem->faultImprovement()->create([]);
         } else {
             if ($checkitem->faultImprovement) {
                 $checkitem->faultImprovement->delete();
             }
         }
     });
     if (!$checklist->checkitems()->whereNull('passes')->exists()) {
         $checklist->update(['finished_at' => new Carbon()]);
     }
     return redirect()->route('projects.checklists.show', [$projectId, $checklistId]);
 }
コード例 #2
0
 public function estimations($projectId, $projectWorkId, Request $request)
 {
     $projectWork = Project::findOrFail($projectId)->works()->findOrFail($projectWorkId);
     $date = new Carbon($request->input('date', 'today'));
     $pChecklists = ProjectChecklist::whereHas('projectWork', function ($q) use($projectWork) {
         $q->whereProjectWorkId($projectWork->id);
     })->whereHas('checkitems', function ($q) {
         $q->whereNull('passes');
     }, '=', 0)->whereDate('finished_at', '<=', $date)->get();
     return response()->json(['project_checklists' => $pChecklists]);
 }