309 lines
11 KiB
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.');
|
|
}
|
|
}
|