'Kuesioner', ]; $kuesioner = Kuesioner::where('status', 1)->orderBy('id', 'desc')->limit(1)->get(); return view('user::kuesioner.index', compact('data', 'kuesioner')); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'questionnaire_id' => 'required', ]); if ($validator->fails()) { return redirect()->back()->with('error', $validator->errors()->first()); } $data = []; $questionnaire_id = $request->input('questionnaire_id'); $i = 0; foreach(Pertanyaan::all() as $query) { $i++; $question_id = $request->input('question_id_' . $i); $expectation_answer = $request->input('expectation_answer_' . $i); $reality_answer = $request->input('reality_answer_' . $i); $temp_data = [ 'question_id' => $question_id, 'questionnaire_id' => $questionnaire_id, 'name' => user()->id, 'expectation_answer' => $expectation_answer, 'reality_answer' => $reality_answer ]; array_push($data, $temp_data); } Answer::insert($data); foreach($data as $value) { $value = (object) $value; $check_expectation = Summary::where('question_id', $value->question_id)->where('type', 'expectation')->where('gap', $value->expectation_answer); $check_reality = Summary::where('question_id', $value->question_id)->where('type', 'reality')->where('gap', $value->reality_answer); if($check_expectation->count() > 0) { $fetch_data = $check_expectation->first(); $data = [ 'sum_total_answerer' => $fetch_data->sum_total_answerer+1, 'sum_total_point' => $fetch_data->sum_total_point+$value->expectation_answer ]; $update = Summary::where('question_id', $value->question_id)->where('type', 'expectation')->where('gap', $value->expectation_answer)->update($data); } else { $data = [ 'gap' => $value->expectation_answer, 'type' => 'expectation', 'question_id' => $value->question_id, 'questionnaire_id' => $value->questionnaire_id, 'sum_total_answerer' => 1, 'sum_total_point' => $value->expectation_answer ]; $insert = Summary::insert($data); } if($check_reality->count() > 0) { $fetch_data = $check_reality->first(); $data = [ 'sum_total_answerer' => $fetch_data->sum_total_answerer+1, 'sum_total_point' => $fetch_data->sum_total_point+$value->reality_answer ]; $update = Summary::where('question_id', $value->question_id)->where('type', 'reality')->where('gap', $value->reality_answer)->update($data); } else { $data = [ 'gap' => $value->reality_answer, 'type' => 'reality', 'question_id' => $value->question_id, 'questionnaire_id' => $value->questionnaire_id, 'sum_total_answerer' => 1, 'sum_total_point' => $value->reality_answer ]; $insert = Summary::insert($data); } $get_data = Temp::where('question_id', $value->question_id)->where('questionnaire_id', $value->questionnaire_id)->first(); if($get_data) { $data = [ 'sum_expectation_answer' => $get_data->sum_expectation_answer+$value->expectation_answer, 'sum_reality_answer' => $get_data->sum_reality_answer+$value->reality_answer, 'sum_total_answerer' => $get_data->sum_total_answerer+1, 'sum_expectation_average' => round($get_data->sum_expectation_answer+$value->expectation_answer/($get_data->sum_total_answerer+1), 2), 'sum_reality_average' => round($get_data->sum_reality_answer+$value->reality_answer/($get_data->sum_total_answerer+1), 2), 'sum_gap5' => round((round($get_data->sum_reality_answer+$value->reality_answer/($get_data->sum_total_answerer+1), 2))-(round($get_data->sum_expectation_answer+$value->expectation_answer/($get_data->sum_total_answerer+1), 2)), 2) ]; $update = Temp::where('question_id', $value->question_id)->where('questionnaire_id', $value->questionnaire_id)->update($data); } else { $data = [ 'questionnaire_id' => $value->questionnaire_id, 'question_id' => $value->question_id, 'sum_expectation_answer' => $value->expectation_answer, 'sum_reality_answer' => $value->reality_answer, 'sum_total_answerer' => 1, 'sum_expectation_average' => round($value->expectation_answer, 2), 'sum_reality_average' => round($value->reality_answer, 2), 'sum_gap5' => round((round($value->reality_answer, 2))-(round($value->expectation_answer, 2)), 2) ]; $insert = Temp::insert($data); } } return redirect()->back()->with('success', 'Kuesioner anda telah selesai. Kami ucapkan terima kasih atas penilaiannya.'); } }