get(); return view('module.asuransi.index', compact('asuransi')); } public function store(Request $request) { $asuransi = new Asuransi(); $asuransi->nama = $request->nama; $asuransi->created_by = auth('pegawai')->user()->nama; $asuransi->save(); return redirect()->back()->with('message','Berhasil menambah data'); } public function update(Request $request, Asuransi $asuransi) { $asuransi = Asuransi::find($asuransi->id); $asuransi->nama = $request->nama; $asuransi->updated_by = auth('pegawai')->user()->nama; $asuransi->save(); return redirect()->back()->with('message','Data berhasil di ubah'); } public function maappingForm(Asuransi $asuransi) { $dataAsuransi = Asuransi::find($asuransi->id); $tindakan = Tindakan::get(); $tindakanMapping = AsuransiTindakan::where('id_asuransi', $dataAsuransi->id) ->get() ->keyBy('id_tindakan'); return view('module.asuransi.mapping_tindakan', compact(['dataAsuransi', 'tindakan', 'tindakanMapping'])); } public function mapping(Request $request) { $request->validate([ 'id_asuransi' => 'required|exists:asuransi,id', 'tindakan' => 'required|array', ]); $idAsuransi = $request->id_asuransi; $dataTindakan = $request->tindakan; foreach ($dataTindakan as $idTindakan => $data) { if (isset($data['selected']) && $data['selected']) { $existing = AsuransiTindakan::where('id_asuransi', $idAsuransi) ->where('id_tindakan', $idTindakan) ->first(); if ($existing) { continue; } $asuransiTindakan = new AsuransiTindakan(); $asuransiTindakan->id_asuransi = $idAsuransi; $asuransiTindakan->id_tindakan = $idTindakan; $asuransiTindakan->cover_type = $data['cover_type'] ?? 'none'; $asuransiTindakan->cover_percentage = $data['cover_percentage'] ?? null; $asuransiTindakan->created_by = auth('pegawai')->user()->nama ?? 'system'; $asuransiTindakan->save(); } } return redirect()->back()->with('success', 'Mapping berhasil disimpan.'); } }