TIF_E41200115/app/Http/Controllers/DataBalitaController.php

309 lines
11 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Balita;
use Illuminate\Http\Request;
use App\Models\dataBalita;
use App\Models\Nilai;
class DataBalitaController extends Controller
{
public function index()
{
$balitas = dataBalita::all();
return view('pages.data_lengkap.index', compact('balitas'));
}
public function create()
{
return view('pages.data_lengkap.form');
}
public function store(Request $request)
{
// Validasi data yang masuk
$validatedData = $request->validate([
'nama_balita' => 'required|string',
'nik' => 'required|string',
'nama_orangtua' => 'required|string',
'alamat_rt_rw' => 'required|string',
'jenis_kelamin' => 'required|in:1,2',
'tanggal_timbang' => 'required|date',
'tanggal_lahir' => 'required|date',
'umur_bulan' => 'required|integer',
'berat_badan' => 'required|numeric',
'tinggi_badan' => 'required|numeric',
]);
$berat_badan = $request->berat_badan;
$tinggi_badan = $request->tinggi_badan;
$umur_bulan = $request->umur_bulan;
//alternatif
$balita = Balita::create([
'balita' => $request->nama_balita,
'id_role' => $request->jenis_kelamin,
]);
//Laki - laki
if ($request->jenis_kelamin == 1) {
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($berat_badan < 2.1) {
$C1laki = 1;
} elseif ($berat_badan < 2.5) {
$C1laki = 2;
} elseif ($berat_badan <= 10.8) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($berat_badan < 7.1) {
$C1laki = 1;
} elseif ($berat_badan < 7.9) {
$C1laki = 2;
} elseif ($berat_badan <= 13.6) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($berat_badan < 8.8) {
$C1laki = 1;
} elseif ($berat_badan < 9.8) {
$C1laki = 2;
} elseif ($berat_badan <= 16.2) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($berat_badan < 10.1) {
$C1laki = 1;
} elseif ($berat_badan < 11.4) {
$C1laki = 2;
} elseif ($berat_badan <= 18.6) {
$C1laki = 3;
} else {
$C1laki = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($berat_badan < 11.3) {
$C1laki = 1;
} elseif ($berat_badan < 12.8) {
$C1laki = 2;
} elseif ($berat_badan <= 21.0) {
$C1laki = 3;
} else {
$C1laki = 4;
}
}
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($tinggi_badan < 44.2) {
$C2laki = 1;
} elseif ($tinggi_badan < 46.1) {
$C2laki = 2;
} elseif ($tinggi_badan <= 82.9) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($tinggi_badan < 69.6) {
$C2laki = 1;
} elseif ($tinggi_badan < 72.1) {
$C2laki = 2;
} elseif ($tinggi_badan <= 97.0) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($tinggi_badan < 78.6) {
$C2laki = 1;
} elseif ($tinggi_badan < 81.7) {
$C2laki = 2;
} elseif ($tinggi_badan <= 107.2) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($tinggi_badan < 85.5) {
$C2laki = 1;
} elseif ($tinggi_badan < 89.2) {
$C2laki = 2;
} elseif ($tinggi_badan <= 115.9) {
$C2laki = 3;
} else {
$C2laki = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($tinggi_badan < 91.2) {
$C2laki = 1;
} elseif ($tinggi_badan < 95.4) {
$C2laki = 2;
} elseif ($tinggi_badan <= 123.9) {
$C2laki = 3;
} else {
$C2laki = 4;
}
}
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 1,
'nilai' => $C1laki,
]);
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 2,
'nilai' => $C2laki,
]);
} elseif ($request->jenis_kelamin == 2) {
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($berat_badan < 2) {
$C1perempuan = 1;
} elseif ($berat_badan < 2.4) {
$C1perempuan = 2;
} elseif ($berat_badan <= 10.1) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($berat_badan < 6.4) {
$C1perempuan = 1;
} elseif ($berat_badan < 7.2) {
$C1perempuan = 2;
} elseif ($berat_badan <= 13.0) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($berat_badan < 8.2) {
$C1perempuan = 1;
} elseif ($berat_badan < 9.2) {
$C1perempuan = 2;
} elseif ($berat_badan <= 15.8) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($berat_badan < 9.7) {
$C1perempuan = 1;
} elseif ($berat_badan < 10.9) {
$C1perempuan = 2;
} elseif ($berat_badan <= 18.5) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($berat_badan < 11) {
$C1perempuan = 1;
} elseif ($berat_badan < 12.4) {
$C1perempuan = 2;
} elseif ($berat_badan <= 21.2) {
$C1perempuan = 3;
} else {
$C1perempuan = 4;
}
}
if ($umur_bulan >= 0 && $umur_bulan <= 12) {
if ($tinggi_badan < 43.6) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 45.4) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 81.7) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
} else if ($umur_bulan >= 13 && $umur_bulan <= 24) {
if ($tinggi_badan < 67.3) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 70) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 96.1) {
$C2perempuan = 3;
} else {
$C2lC2perempuanaki = 4;
}
} else if ($umur_bulan >= 25 && $umur_bulan <= 36) {
if ($tinggi_badan < 76.8) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 80) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 106.5) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
} else if ($umur_bulan >= 37 && $umur_bulan <= 48) {
if ($tinggi_badan < 84.2) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 88) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 115.7) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
} else if ($umur_bulan >= 49 && $umur_bulan <= 60) {
if ($tinggi_badan < 90.3) {
$C2perempuan = 1;
} elseif ($tinggi_badan < 94.6) {
$C2perempuan = 2;
} elseif ($tinggi_badan <= 123.7) {
$C2perempuan = 3;
} else {
$C2perempuan = 4;
}
}
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 1,
'nilai' => $C1perempuan,
]);
Nilai::create([
'kdbalita' => $balita->kdbalita,
'kdKriteria' => 2,
'nilai' => $C2perempuan,
]);
}
// Simpan data balita ke dalam database
dataBalita::create($validatedData);
// Redirect ke halaman index atau halaman lain sesuai kebutuhan
return redirect()->route('data-lengkap')->with('success', 'Balita telah ditambahkan.');
}
public function destroy($id)
{
// Cari data balita berdasarkan ID
$balita = dataBalita::find($id);
if (!$balita) {
return redirect()->route('data-lengkap')->with('error', 'Balita tidak ditemukan.');
}
// Dapatkan nama balita
$namaBalita = $balita->nama_balita;
// Hapus data balita dari tabel dataBalita
$balita->delete();
// Dapatkan kdbalita berdasarkan nama balita dari tabel Balita
$kdbalita = Balita::where('balita', $namaBalita)->value('kdbalita');
// Hapus data nilai berdasarkan kdbalita dari tabel Nilai
Nilai::where('kdbalita', $kdbalita)->delete();
// Hapus data balita dari tabel Balita jika nama_balita cocok
Balita::where('balita', $namaBalita)->delete();
// Redirect ke halaman index atau halaman lain sesuai kebutuhan
return redirect()->route('data-lengkap')->with('success', 'Balita ' . $namaBalita . ' telah dihapus.');
}
}