<div class="row justify-content-center">
    <div class="col-md-12">
        <div class="card shadow-sm border-bottom-primary">
            <div class="card-header bg-white py-3">
                <div class="row">
                    <div class="col">
                        <h4 class="h5 align-middle m-0 font-weight-bold text-primary">
                            Form Edit Barang Masuk
                        </h4>
                    </div>
                    <div class="col-auto">
                        <a href="<?= base_url('barangmasuk') ?>" class="btn btn-sm btn-secondary btn-icon-split">
                            <span class="icon">
                                <i class="fa fa-arrow-left"></i>
                            </span>
                            <span class="text">
                                Kembali
                            </span>
                        </a>
                    </div>
                </div>
            </div>
            <div class="card-body">
                <?= $this->session->flashdata('pesan'); ?>
                <?= form_open('', [], ['id_barang_masuk' => $brg['id_barang_masuk'], 'user_id' => $this->session->userdata('login_session')['user']]); ?>
                <nav>
                    <div class="nav nav-tabs" id="nav-tab" role="tablist">
                        <a class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-selected="true">General</a>

                    </div>
                </nav>
                <div class="tab-content" id="nav-tabContent">
                    <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab ">
                        <div class="row form-group mt-4">
                            <label class="col-md-2 text-md-right" for="id_barang_masuk">ID Transaksi</label>
                            <div class="col-md-5">
                                <input value="<?= $brg['id_barang_masuk']; ?>" type="text" readonly="readonly" class="form-control">
                                <?= form_error('id_barang_masuk', '<small class="text-danger">', '</small>'); ?>
                            </div>
                        </div>
                        <div class="row form-group">
                            <label class="col-md-2 text-md-right" for="tanggal_masuk">Tanggal Masuk</label>
                            <div class="col-md-5">
                                <input value="<?= set_value('tanggal_masuk', $brg['tanggal_masuk']); ?>" name="tanggal_masuk" id="tanggal_masuk" type="text" class="form-control date" placeholder="Tanggal Masuk...">
                                <?= form_error('tanggal_masuk', '<small class="text-danger">', '</small>'); ?>
                            </div>
                        </div>
                        <div class="row form-group">
                            <label class="col-md-2 text-md-right" for="user_id_pemilik">Supplier</label>
                            <div class="col-md-5">
                                <div class="input-group">
                                    <select name="user_id_pemilik" id="user_id_pemilik" class="custom-select">
                                        <option value="" selected disabled>Pilih User Pemilik</option>
                                        <?php foreach ($user_pemilik as $s) : ?>
                                            <option <?= $brg['user_id_pemilik'] == $s['id_user'] ? 'selected' : ''; ?> <?= set_select('user_id_pemilik', $s['id_user']) ?> value="<?= $s['id_user'] ?>"><?= $s['nama'] ?> ( <?= $s['nama_depart'] ?> )</option>
                                        <?php endforeach; ?>
                                    </select>
                                    <div class="input-group-append">
                                        <a class="btn btn-primary" href="<?= base_url('supplier/add'); ?>"  target="__BLANK"><i class="fa fa-plus"></i></a>
                                    </div>
                                </div>
                                <?= form_error('user_id_pemilik', '<small class="text-danger">', '</small>'); ?>
                            </div>
                        </div>
             <!--        </div>



                    <div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab"> -->
                        <div class="row form-group mt-4">
                            <label class="col-md-2 text-md-right" for="supplier_id">Gudang</label>
                            <div class="col-md-5">
                                <div class="input-group">
                                    <select name="cabang_id" id="cabang_id" class="custom-select">
                                        <option value="" selected disabled>Pilih Cabang</option>
                                        <?php foreach ($cabang as $s) : 
                                            if($brg['cabang_id'] == $s['id_cabang']) {
                                            ?>
                                            <option <?= ($brg['cabang_id'] == $s['id_cabang']) ? 'selected' : ''; ?> <?= set_select('cabang_id', $s['id_cabang']) ?> value="<?= $s['id_cabang'] ?>"><?= $s['nama_cabang'] ?></option>
                                        <?php 
                                            }
                                        endforeach; ?>
                                    </select>
                                    <div class="input-group-append">
                                        <a class="btn btn-primary" href="<?= base_url('cabang/add'); ?>"  target="__BLANK"><i class="fa fa-plus"></i></a>
                                    </div>
                                </div>
                                <?= form_error('cabang_id', '<small class="text-danger">', '</small>'); ?>
                            </div>
                        </div>
                        <span id="notif" class="text-success"></span>
                        <table class="table w-100 dt-responsive nowrap  " id="">
                            <thead class="thead-light">
                                <tr>
                                    <th>Nama Barang</th>
                                    <th>Stok Akhir Saat Ini</th>
                                    <th>Jumlah Masuk</th>
                                    <th>Stok Akhir Setelah ditambah</th>
                                    <th>Merk</th>
                                    <th>Spesifikasi</th>
                                    <th>Barcode</th>
                                    <th>Serial Number</th>
                                    <th class="text-center"><button type="button" onclick="tambah_barang()" class="btn btn-success"><i class="fas fa-plus"></i></button></th>
                                </tr>
                            </thead>
                            <tbody id="detail_transfer">
                                <?php
                                $i = 1;
                                foreach ($detail_brg as $row) {

                                ?>
                                    <tr id="data">
                                        <td>
                                            <select name='id_barang[]' id='id_barang' class='form-control selectpicker' data-live-search='true' required>
                                                <option value='' selected>-- Pilih Nama Barang --</option>
                                                <?php foreach ($barang as $s) : ?>
                                                    <option <?= $row['id_barang'] == $s['id_barang'] ? 'selected' : ''; ?> <?= set_select('id_barang', $s['id_barang']) ?> value="<?= $s['id_barang'] ?>"><?= $s['nama_barang'] ?></option>
                                                <?php endforeach; ?>
                                            </select>
                                        </td>
                                        <td>
                                            <input type='text' name='stok_asal[]' readonly class='form-control stok' value='<?= $row['stok_real']; ?>' required>
                                        </td>
                                        <td>
                                            <div class="input-group">
                                                <input type='text' name='jumlah[]' required class='form-control jumlah-masuk' value='<?= set_value('jumlah[]', $row['jumlah']); ?>' required>
                                                <div class="input-group-append">
                                                    <span class="input-group-text satuan"><?= $row['nama_satuan']; ?></span>
                                                </div>
                                            </div>
                                        </td>
                                        <td>
                                            <input type='text' name='stok_tujuan[]' readonly class='form-control total_stok' value='<?= $row['stok_real'] + $row['jumlah'] ?>' required>
                                        </td>
                                        <td>
                                            <input type='text' name='merk[]' placeholder="Merk" class='form-control' value='<?= $row['merk']; ?>' required>
                                        </td>
                                        <td>
                                            <input type='text' name='spesifikasi[]' placeholder="Spesifikasi" class='form-control' value='<?= $row['spesifikasi']; ?>' required>
                                        </td>
                                        <td>
                                            <input type='text' name='barcode[]' placeholder="Barcode" class='form-control' value='<?= $row['barcode']; ?>'>
                                        </td>
                                        <td>
                                            <input type='text' name='sn[]' placeholder="Serial Number" class='form-control' value='<?= $row['sn']; ?>'>
                                        </td>
                                        <td>
                                          <button type="button" class="btn btn-sm btn-danger btn-hapus" onclick="hapusRow(this)">
                                            <i class="fas fa-minus"></i>
                                          </button>
                                        </td>
                                    </tr>
                                <?php
                                    $i++;
                                }
                                ?>
                                <input type="hidden" id="jumlah_edit" value="<?= $i - 1 ?>">
                            </tbody>
                            <tfoot>
                                <tr>
                                    <td colspan="2" class="text-right">Jumlah Barang Masuk</td>
                                    <td><input type="text" readonly class="form-control" name="total_pembelian" id="total_pembelian" value="<?= $total_beli; ?>"></td>
                                    <td colspan="6">
                                </tr>
                            </tfoot>
                        </table>
                        <div class="row form-group">
                            <label class="col-md-2 text-md-right" for="stts_perolehan">Status Perolehan Aset</label>
                            <div class="col-md-5">
                                <input value="<?= set_value('stts_perolehan', $brg['stts_perolehan']); ?>" name="stts_perolehan" id="stts_perolehan" type="text" class="form-control" placeholder="Status perolehan aset...">
                                <?= form_error('stts_perolehan', '<small class="text-danger">', '</small>'); ?>
                            </div>
                        </div>
                        <div class="row form-group">
                            <label class="col-md-2 text-md-right" for="stts_penggunaan">Status Penggunaan Aset</label>
                            <div class="col-md-5">
                                <input value="<?= set_value('stts_penggunaan', $brg['stts_penggunaan']); ?>" name="stts_penggunaan" id="stts_penggunaan" type="text" class="form-control" placeholder="Status penggunaan aset...">
                                <?= form_error('stts_penggunaan', '<small class="text-danger">', '</small>'); ?>
                            </div>
                        </div>
                        <div class="row form-group mt-3">
                            <label class="col-md-2 text-md-right" for="keterangan">Keterangan (Opsi)</label>
                            <div class="col-md-5">
                                <textarea name="keterangan" type="text" class="form-control"><?= set_value('ket', $brg['ket']); ?></textarea>
                                <?= form_error('keterangan', '<small class="text-danger">', '</small>'); ?>
                            </div>
                        </div>
                    </div>
                    <div class="row form-group">
                        <div class="col offset-md-5">
                            <button type="submit" class="btn btn-primary">Simpan</button>
                            <button type="reset" class="btn btn-secondary">Reset</button>
                        </div>
                    </div>
                    <?= form_close(); ?>

                </div>
            </div>
        </div>
    </div>
</div>


<script>

function hapusRow(btn) {
  // cari tr terdekat dari tombol dan hapus
  btn.closest("tr").remove();
}

$(document).ready(function() {


  // 2. Ubah pilihan barang
  $(document).on("change", ".selectpicker", function() {
    let $row = $(this).closest("tr");
    let idBarang = $(this).val();
    let userIdPemilik = $("#user_id_pemilik").val();

    if (!userIdPemilik) {
      alert("Silakan pilih User Pemilik terlebih dahulu!");
      $(this).prop("selectedIndex", 0);
      $("#user_id_pemilik").focus();
      return false;
    }

    if (idBarang) {

        // Cek apakah barang sudah dipilih di row lain
        let duplicate = false;
        $("#detail_transfer").find("#id_barang").not(this).each(function() {
          if ($(this).val() == idBarang) {
            duplicate = true;
            return false; // break loop
          }
        });

        if (duplicate) {
          alert("Barang sudah ada dalam daftar!");
          $(this).prop("selectedIndex", 0);
          return;
        }

      $.ajax({
        url: "<?= base_url('barangmasuk/getStokAkhirBarangById'); ?>",
        type: "POST",
        data: {
          id_barang: idBarang,
          user_id_pemilik: userIdPemilik
        },
        dataType: "json",
        success: function(res) {
          if (res.status) {
            $row.find(".stok").val(res.data.stok_akhir);

            // hitung ulang stok tujuan
            let jumlah = parseInt($row.find(".jumlah-masuk").val()) || 0;
            $row.find(".total_stok").val(parseInt(res.data.stok_akhir) + jumlah);
          } else {
            alert("Data barang tidak ditemukan!");
            $row.find(".stok").val(0);
            $row.find(".total_stok").val(0);
          }
        }
      });
    } else {
      $row.find(".stok").val(0);
      $row.find(".total_stok").val(0);
    }
  });

  // 3. Ubah jumlah
  $(document).on("input", ".jumlah-masuk", function() {
    let $row = $(this).closest("tr");
    let jumlah = parseInt($(this).val()) || 0;
    let stokAwal = parseInt($row.find(".stok").val()) || 0;

    $row.find(".total_stok").val(stokAwal + jumlah);
    hitungTotal();
  });

});



function tambah_barang() {
  const tbody = document.getElementById("detail_transfer");
  let row = document.createElement("tr");

  row.innerHTML = `
    <td>
      <select class="form-control selectpicker" id="id_barang" name="id_barang[]">
        <option value="">-- Pilih Barang --</option>
        <?= $barang_opt; ?>
      </select>
    </td>
    <td><input type="number" class="form-control stok-akhir" min="0" value="0" readonly></td>
    <td><input type="number" class="form-control jumlah-masuk" name="jumlah[]" min="0" value="0"></td>
    <td><input type="number" class="form-control stok-setelah" min="0" value="0" readonly></td>
    <td><input type="text" class="form-control" name="merk[]" placeholder="Merk"></td>
    <td><input type="text" class="form-control" name="spesifikasi[]" placeholder="Spesifikasi"></td>
    <td><input type="text" class="form-control" name="barcode[]" placeholder="Barcode"></td>
    <td><input type="text" class="form-control" name="sn[]" placeholder="Serial Number"></td>
    <td class="text-center">
      <button type="button" class="btn btn-danger btn-hapus">
        <i class="fas fa-trash"></i>
      </button>
    </td>
  `;

    $(document).ready(function(){
      $('.selectpicker').selectpicker();
    });

  tbody.appendChild(row);

  // Event pilih barang → request ke controller
  $(row).find("#id_barang").on("change", function() {
    let idBarang = $(this).val();
    let userIdPemilik = $("#user_id_pemilik").val();
    let tanggal_masuk = $("#tanggal_masuk").val();

    if (idBarang) {

        // cek user pemilik sudah dipilih atau belum
        if (!userIdPemilik) {
          alert("Silakan pilih User Pemilik terlebih dahulu!");
          $(this).val(""); // reset kembali ke default
          $("#user_id_pemilik").focus(); // arahkan fokus ke select User Pemilik
          return false;
        }

        // Cek apakah barang sudah dipilih di row lain
        let duplicate = false;
        $("#detail_transfer").find("#id_barang").not(this).each(function() {
          if ($(this).val() == idBarang) {
            duplicate = true;
            return false; // break loop
          }
        });

        if (duplicate) {
          alert("Barang sudah ada dalam daftar!");
          $(this).prop("selectedIndex", 0);
          return;
        }


        $.ajax({
            url: '<?= base_url('barangmasuk/getStokAkhirBarangById'); ?>',
            type: "POST",
              data: { 
                id_barang: idBarang,
                id_user_pemilik: userIdPemilik,
                tgl: tanggal_masuk,
            },
            dataType: "json",
            success: function(res) {
              if (res.status) {
                var stokakhir = res.data.stok_akhir;
                var nama_barang = res.data.nama_barang;
                var nama_satuan = res.data.nama_satuan;
                $(row).find(".stok-akhir").val(stokakhir);

                // hitung stok setelah
                // let jumlah = parseInt($(row).find(".jumlah-masuk").val()) || 0;
                // $(row).find(".stok-setelah").val(res.stok_akhir + jumlah);
                if(res.data.stok_akhir == 0) {
                    $('#notif').html("User Pemilik tidak memiliki barang. Jumlah stok "+ nama_barang +" sebesar 0 " +nama_satuan);
                } else {
                    $('#notif').html("User Pemilik memiliki stok "+ nama_barang +" sebesar " + stokakhir + " " +nama_satuan);


                }
              } else {
                $('#notif').html("User Pemilik tidak memiliki barang di Lokasi Ini. Barang baru akan ditambahkan!.");
                $(row).find(".stok-akhir").val(0);
                $(row).find(".stok-setelah").val(0);
              }
            }
        });
    } else {
        $(row).find(".stok-akhir").val(0);
        $(row).find(".stok-setelah").val(0);
    }
  });

  // Event jumlah masuk → update stok setelah
  $(row).find(".jumlah-masuk").on("input", function() {
    let jumlah = parseInt($(this).val()) || 0;
    let stok = parseInt($(row).find(".stok-akhir").val()) || 0;
    $(row).find(".stok-setelah").val(stok + jumlah);
    hitungTotal();
  });

  // Event hapus baris
  $(row).find(".btn-hapus").on("click", function() {
    row.remove();
    hitungTotal();
  });
}

// Hitung total jumlah masuk semua row
function hitungTotal() {
  let total = 0;
  $(".jumlah-masuk").each(function() {
    total += parseInt($(this).val()) || 0;
  });
  $("#total_pembelian").val(total);
}
</script>