<div class="content-wrapper">
  <!-- Content Header (Page header) -->
  <div class="content-header">
    <div class="container-fluid">
      <?= $this->session->flashdata('msg') ?>
      <div class="row mb-2">
        <div class="col-sm-6">
          <h1 class="m-0">Detail Perhitungan SAW</h1>
        </div><!-- /.col -->
        <div class="col-sm-6">
          <ol class="breadcrumb float-sm-right">
            <li class="breadcrumb-item"><a href="<?=base_url('dashboard')?>">Beranda</a></li>
            <li class="breadcrumb-item active">Detail Perhitungan SAW</li>
          </ol>
        </div><!-- /.col -->
      </div><!-- /.row -->
    </div><!-- /.container-fluid -->
  </div>
  <!-- /.content-header -->

  <!-- Main content -->
  <div class="content">
    <div class="container-fluid">
      <div class="card">
        <!-- /.card-header -->
        <div class="card-body">
          <h3>1. Nilai Awal</h3>
          <div class="table-responsive">
            <table id="example1" class="table table-bordered table-striped">
              <thead>
                <tr>
                  <th>Alternatif</th>
                  <?php foreach ($list_kriteria as $kriteria): ?>
                  <th><?= $kriteria->nama_kriteria ?></th>
                  <?php endforeach; ?>
                </tr>
              </thead>
              <tbody>
                <?php foreach ($list_alternatif as $alternatif): ?>
                <tr>
                  <td><?= $alternatif->nama_alternatif ?></td>
                  <?php foreach ($list_kriteria as $kriteria): ?>
                  <?php
                      // Ambil nilai dari tabel detail_perhitungan_saw berdasarkan id_alternatif dan id_kriteria
                      $nilai = $this->Hasil_m->get_nilai($alternatif->id_alternatif, $kriteria->id_kriteria,$id_perhitungan);
                  ?>
                  <td><?= $nilai ?></td>
                  <?php endforeach; ?>
                </tr>
                <?php endforeach; ?>

                <tr class="bg-light">
                  <td>Nilai X-</td>
                  <?php foreach ($list_kriteria as $key) : ?>
                  <td>
                    <?php
								$min_max = $this->Hasil_m->get_max_min($key->id_kriteria,$id_perhitungan);
								echo $min_max['min'] ?? '';
								?>
                  </td>
                  <?php endforeach ?>
                </tr>
                <tr class="bg-light">
                  <td>Nilai X+</td>
                  <?php foreach ($list_kriteria as $key) : ?>
                  <td>
                    <?php
								$min_max = $this->Hasil_m->get_max_min($key->id_kriteria,$id_perhitungan);
								echo $min_max['max'] ?? '';
								?>
                  </td>
                  <?php endforeach ?>
                </tr>
              </tbody>
            </table>
          </div>
          <hr>

          <h3>2. Normalisasi Matrik R</h3>
          <div class="table-responsive">
            <table id="example3" class="table table-bordered table-striped">
              <thead>
                <tr>
                  <th>Alternatif</th>
                  <?php foreach ($list_kriteria as $kriteria): ?>
                  <th><?= $kriteria->nama_kriteria ?></th>
                  <?php endforeach; ?>
                </tr>
              </thead>
              <tbody>
                <?php foreach ($list_alternatif as $alternatif): ?>
                <tr>
                  <td><?= $alternatif->nama_alternatif ?></td>
                  <?php foreach ($list_kriteria as $kriteria): ?>
                  <td>
                    <?php
                                        // Mendapatkan nilai X_ij dari database atau sumber lainnya
                                        $nilai_x = $this->Hasil_m->get_nilai($alternatif->id_alternatif, $kriteria->id_kriteria,$id_perhitungan);

                                        // Mendapatkan nilai maksimum dari X_ij dan nilai minimum untuk cost dan maksimum untuk benefit
                                        $max_x = $this->Hasil_m->get_max_min($kriteria->id_kriteria,$id_perhitungan)['max'];
                                        $min_x = $this->Hasil_m->get_max_min($kriteria->id_kriteria,$id_perhitungan)['min'];

                                        if ($kriteria->tipe == 'Benefit') {
                                            // Menghitung nilai R_ij untuk kriteria benefit
                                            $nilai_r = $nilai_x / $max_x;
                                        } else if ($kriteria->tipe == 'Cost') { // Jika kriteria adalah cost
                                            // Menghitung nilai R_ij untuk kriteria cost
                                            $nilai_r = $min_x / $nilai_x;
                                        } else {
                                            // Kriteria lainnya yang tidak termasuk dalam benefit atau cost
                                            // Lakukan penanganan sesuai kebutuhan Anda
                                            $nilai_r = 0; // Misalnya, di sini kami memberi nilai default 0
                                        }
                                        // Mengatur format angka menjadi dua angka di belakang koma
                                        // Format nilai R_ij
                                        if (strpos($nilai_r, '.') !== false) {
                                            // Memisahkan nilai R_ij menjadi bagian sebelum dan sesudah titik desimal
                                            $nilai_r_parts = explode('.', $nilai_r);
                                            
                                            // Memeriksa apakah digit di belakang koma lebih dari dua
                                            if (strlen($nilai_r_parts[1]) > 2) {
                                                // Jika ya, bulatkan dua digit di belakang koma
                                                $nilai_r = number_format($nilai_r, 2);
                                            }
                                        }
                                        // Output nilai R_ij
                                        echo $nilai_r;
                                        ?>
                  </td>
                  <?php endforeach; ?>
                </tr>
                <?php endforeach; ?>

              </tbody>
            </table>
          </div>
          <hr>

          <h3>3. Perkalian Matrik Normalisasi Dengan Bobot Kriteria</h3>
          <div class="table-responsive">
            <table class="table table-bordered text-dark table-sm" width="100%" cellspacing="0">
              <thead>
                <tr>
                  <th>Nama</th>
                  <!-- <th>Perhitungan</th> -->
                  <th>Total Nilai Preferensi</th>
                </tr>
              </thead>
              <tbody>
                <?php
                                $no = 1;
                                foreach ($list_alternatif as $alternatif) : ?>
                <tr>
                  <td><?= $alternatif->nama_alternatif ?></td>
                  <!-- <td>SUM -->
                  <?php
                                    $nilai_total = 0;
                                    foreach ($list_kriteria as $kriteria) :

									 // Mendapatkan nilai X_ij dari database atau sumber lainnya
                                    $nilai_x = $this->Hasil_m->get_nilai($alternatif->id_alternatif, $kriteria->id_kriteria,$id_perhitungan);

                                    // Mendapatkan nilai maksimum dari X_ij dan nilai minimum untuk cost dan maksimum untuk benefit
                                    $max_x = $this->Hasil_m->get_max_min($kriteria->id_kriteria,$id_perhitungan)['max'];
                                    $min_x = $this->Hasil_m->get_max_min($kriteria->id_kriteria,$id_perhitungan)['min'];

                                    if ($kriteria->tipe == 'Benefit') {
                                        // Menghitung nilai R_ij untuk kriteria benefit
                                        $nilai_r = $nilai_x / $max_x;
                                    } else if ($kriteria->tipe == 'Cost') { // Jika kriteria adalah cost
                                        // Menghitung nilai R_ij untuk kriteria cost
                                        $nilai_r = $min_x / $nilai_x;
                                    } else {
                                        // Kriteria lainnya yang tidak termasuk dalam benefit atau cost
                                        // Lakukan penanganan sesuai kebutuhan Anda
                                        $nilai_r = 0; // Misalnya, di sini kami memberi nilai default 0
                                    }
                                    
									$hasil_normalisasi = $nilai_r;

									$tb = $this->Kriteria_m->get_jumlah_bobot()->row();
									$hbobot = (round(($kriteria->bobot_vektor / $tb->total), 4));
									$nilai_total += $hbobot * $hasil_normalisasi;

									// echo "(" . $hbobot . "x" . $hasil_normalisasi . ") ";
								endforeach;
								?>
                  <!-- </td> -->
                  <td>
                    <?= (round(($nilai_total), 3)); ?>
                  </td>
                </tr>

                <?php
                                $no++;
                                endforeach
                                ?>
              </tbody>
            </table>
          </div>

          <hr>
          <h3>4. Perangkingan</h3>
          <div class="table-responsive">
            <table id="example4" class="table table-bordered table-striped">
              <thead>
                <tr>
                  <th>Peringkat</th>
                  <th>Nama Makanan</th>
                </tr>
              </thead>
              <tbody>
                <?php
                                $total_nilai = [];
                                foreach ($list_alternatif as $alternatif) :
                                    $nilai_total = 0;
                                    foreach ($list_kriteria as $kriteria) :
                                        // Mendapatkan nilai X_ij dari database atau sumber lainnya
                                    $nilai_x = $this->Hasil_m->get_nilai($alternatif->id_alternatif, $kriteria->id_kriteria,$id_perhitungan);

                                    // Mendapatkan nilai maksimum dari X_ij dan nilai minimum untuk cost dan maksimum untuk benefit
                                    $max_x = $this->Hasil_m->get_max_min($kriteria->id_kriteria,$id_perhitungan)['max'];
                                    $min_x = $this->Hasil_m->get_max_min($kriteria->id_kriteria,$id_perhitungan)['min'];

                                    if ($kriteria->tipe == 'Benefit') {
                                        // Menghitung nilai R_ij untuk kriteria benefit
                                        $nilai_r = $nilai_x / $max_x;
                                    } else if ($kriteria->tipe == 'Cost') { // Jika kriteria adalah cost
                                        // Menghitung nilai R_ij untuk kriteria cost
                                        $nilai_r = $min_x / $nilai_x;
                                    } else {
                                        // Kriteria lainnya yang tidak termasuk dalam benefit atau cost
                                        // Lakukan penanganan sesuai kebutuhan Anda
                                        $nilai_r = 0; // Misalnya, di sini kami memberi nilai default 0
                                    }
                                    
									$hasil_normalisasi = $nilai_r;

									$tb = $this->Kriteria_m->get_jumlah_bobot()->row();
									$hbobot = (round(($kriteria->bobot_vektor / $tb->total), 4));
									$nilai_total += $hbobot * $hasil_normalisasi;
                                    endforeach;
                                    $total_nilai[$alternatif->nama_alternatif] = round($nilai_total, 3);
                                endforeach;

                                // Urutkan array $total_nilai berdasarkan nilai preferensi secara descending
                                arsort($total_nilai);

                                // Tampilkan hasil urutan dalam tabel
                                foreach ($total_nilai as $nama_alternatif => $nilai_preferensi) :
                                ?>
                <tr>
                  <td><?= $nama_alternatif ?></td>
                  <td><?= $nilai_preferensi ?></td>
                </tr>
                <?php
                                endforeach;
                                ?>
              </tbody>
            </table>


            <hr>
            <?php
                        // Urutkan array $total_nilai berdasarkan nilai preferensi secara descending
                        arsort($total_nilai);

                        // Ambil hanya nilai terbesar
                        $nilai_terbesar = reset($total_nilai);
                        $balita = $this->Balita_m->get_by_id($data_hasil->id_balita);
                        // Tampilkan hasil nilai terbesar dalam tabel
                        foreach ($total_nilai as $nama_alternatif => $nilai_preferensi) :
                            if ($nilai_preferensi == $nilai_terbesar) {
                        ?>
            <h3>*Nilai preferensi makanan yang terbesar untuk <?= $balita->nama_balita ?> yaitu
              <b><?= $nama_alternatif ?></b>
              dengan
              nilai <b><?= $nilai_preferensi ?></b>
              <br>
              <form action="<?=site_url('hasil/simpanperhitungan')?>" method="post">

                <input type="hidden" class="form-control" name="id_perhitungan"
                  value="<?= $data_hasil->id_perhitungan ?>">
                <input type="hidden" class="form-control" name="nama_alternatif" value="<?=  $nama_alternatif ?>">
                <!-- <div class="row">
                                    <div class="col-md-4"> -->
                <input type="submit" class="btn bg-blue text-white" value="Simpan Hasil">
                <!-- </div>
                                </div> -->
              </form>
            </h3>
            <?php
                            break; // Hentikan iterasi setelah menampilkan nilai terbesar
                            }
                        endforeach;
                        ?>

          </div>

        </div>
      </div>
      <!-- /.container-fluid -->
    </div>
    <!-- /.content -->
  </div>
</div>