copy dari repo om Irfan

This commit is contained in:
2026-06-13 16:02:07 +10:00
commit db327c0305
5376 changed files with 2770667 additions and 0 deletions
@@ -0,0 +1,563 @@
<!doctype html>
<html class="fixed sidebar-left-collapsed">
<head>
<!-- Basic -->
<meta charset="UTF-8">
<title>PEMBELIAN</title>
<meta name="keywords" content="HTML5 Admin Template" />
<meta name="description" content="Porto Admin - Responsive HTML5 Template">
<meta name="author" content="okler.net">
<!-- Mobile Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<!-- Vendor CSS -->
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/bootstrap/css/bootstrap.css" />
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/font-awesome/css/font-awesome.css" />
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/magnific-popup/magnific-popup.css" />
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/bootstrap-datepicker/css/datepicker3.css" />
<!-- Specific Page Vendor CSS -->
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/select2/select2.css" />
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/jquery-datatables-bs3/assets/css/datatables.css" />
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/pnotify/pnotify.custom.css" />
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/bootstrap-multiselect/bootstrap-multiselect.css" />
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/vendor/base/jquery-ui.css" />
<!-- Theme CSS -->
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/stylesheets/theme.css" />
<!-- Skin CSS -->
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/stylesheets/skins/default.css" />
<!-- Theme Custom CSS -->
<link rel="stylesheet" href="<?php echo base_url('') ?>assets/stylesheets/theme-custom.css">
<!-- Head Libs -->
<script src="<?php echo base_url('') ?>assets/vendor/modernizr/modernizr.js"></script>
</head>
<script src="<?= base_url() ?>assets/bower_components/jquery/jquery-3.3.1.min.js"></script>
<script src="<?= base_url() ?>assets/bower_components/sweetalert2/sweetalert2.all.min.js"></script>
<style>
.ui-front {
z-index: 9999;
}
.solid {
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-width: 3px;
border-color: gold;
}
.solidreverse {
border-top-style: solid;
border-left-style: solid;
border-bottom-style: solid;
border-width: 3px;
border-color: darkorange;
}
.f18 {
font-size: 18px;
}
/* Create a two-column layout */
.column2 {
float: left;
width: 50%;
padding: 5px;
}
/* Create a three-column layout */
.column3 {
float: left;
width: 33.33%;
padding: 5px;
}
</style>
<script type="text/javascript">
let base_url = '<?= base_url() ?>';
</script>
<body>
<section class="body">
<!-- start: header -->
<?php $this->load->view('template/header'); ?>
<!-- end: header -->
<div class="inner-wrapper">
<!-- start: sidebar -->
<?php $this->load->view('template/sidebar'); ?>
<!-- end: sidebar -->
<section role="main" class="content-body">
<?php
$timestamp = date('d/m/Y H:i:s');
?>
<header class="page-header">
<?php $len = strlen($nama_supplier); if ($len>50) { $nama_supplier = substr($nama_supplier, 0, 50); $nama_supplier = "$nama_supplier...";} ?>
<h2><b>(Step 3) | Data Stok Tertahan | <b style="color:Yellow"><?=$kode_pembelian?></b></b></h2>
<div class="right-wrapper pull-right">
<ol class="breadcrumbs">
<li><span><b style="color:Gold">Master Data </span></b></li>
</ol>
<a class="sidebar-right-toggle" data-open="sidebar-right"><i class="fa fa-chevron-left"></i></a>
</div>
</header>
<!-- start: page -->
<section class="panel panel-featured panel-featured-tertiary">
<header class="panel-heading">
<div class="panel-actions">
<a href="<?php echo base_url('') ?>index.php/Menu/PB_Sub1_SuratJalan_1" class="text-dark"><b>Kembali </b><i class="fa fa-backward"></i></a>
</div>
<h2 class="panel-title"><b style="color:Teal">STOK TERTAHAN <b style="color:Tomato">[<?=$nama_supplier?>]</b></b></h2>
</header>
<div class="panel-body">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modalKunci"><b>Kunci Data</b> <i class="fa fa-lock"></i></button>
<table class="table table-bordered table-striped mb-none" id="table1">
<thead>
<th class="center default">No</th>
<th class="default">Barang</th>
<th class="center default">Kuantiti</th>
<th class="center default">Isi SN</th>
<th class="center default">PILIHAN</th>
</thead>
<tbody>
<?php
if (is_array($db) || is_object($db)) {
$no = 1;
foreach ($db as $key) { ?>
<tr>
<td class="center"><?= $no; ?></td>
<td><b style="color:Black"><?= $key['KODE_BARANG']; ?></b><br><u>(<?= $key['NAMA_BARANG']; ?>)</u><?php if ($key['TYPE_JENIS']==1) { ?><br><br><b style="color:SlateBlue"><?=$key['SN']?></b><?php } ?></td>
<?php if ($key['TYPE_JENIS']==1) { ?>
<td class="center"><b style="color:DarkGreen"><?= $key['QTY_DB'] ?></b> | <b style="color:DarkOrchid"><?= $key['REAL'] ?></b></td>
<?php } else { ?>
<td class="center"><b style="color:DarkGreen"><?= $key['QTY_DB'] ?></b></td>
<?php } ?>
<td class="actions center">
<?php if ($key['TYPE_JENIS']==1) { ?>
<span data-toggle="modal" data-target="#modalIsiSnBeli"><button type="button" onclick="isiSnBeli('<?=$key['ID_DB']?>')" class="btn btn-xs btn-info" title="" data-toggle="tooltip" data-trigger="hover" data-original-title="Tombol untuk Isi Data"><i class="fa fa-reorder"></i></button></span>
<?php } else { ?>
<button type="button" class="btn btn-xs btn-default"><i class="fa fa-times"></i></button>
<?php } ?>
</td>
<td class="actions center">
<span data-toggle="modal" data-target="#modalUbah"><button type="button" class="btn btn-xs btn-warning" title="" data-toggle="tooltip" data-trigger="hover" data-original-title="Tombol untuk Ubah Data" onclick="ubahData('<?=$key['ID_DB']?>','<?=$key['KODE_BARANG']?>')"><i class="fa fa-pencil"></i></button></span>
</td>
</tr>
<?php $no++;
}
} ?>
</tbody>
</table>
</div>
</section>
<!-- end: page -->
</section>
</div>
</section>
<div id="modalUbah" class="modal fade" tabindex="-1" role="dialog">
<?= form_open('Menu/PB_Ubah_Sub1_A3_DataDaftarBeli', array('id' => 'formpembelian'), array('method' => 'PB_Ubah_Sub1_A3_DataDaftarBeli')); ?>
<div class="modal-dialog">
<div class="modal-content">
<header class="panel-heading">
<h4 class="panel-title"><b>Ubah Data </b><b class="text-danger">[Warna Merah harus diisi]</b></h4>
</header>
<div class="modal-body ">
<div class="form-group">
<input type="hidden" id="id_pembelianed" name="id_pembelianed" value="<?=$id_pembelian?>" class="form-control">
<input type="hidden" id="id_dbed" name="id_dbed" class="form-control">
<div class="col-md-2"><b>Kode Lama</b></div>
<div class="col-md-10">
<input disabled type="text" id="kode_barangTemp" class="form-control">
<small class="help-block"></small>
</div>
</div>
<div class="form-group">
<div class="col-md-2"><b class="text-danger">Kode Baru</b></div>
<div class="col-md-10">
<select data-plugin-selectTwo name="id_baranged" id="id_baranged" class="form-control populate" data-plugin-options='{ "minimumInputLength": 3 }' required>
<option value="" selected>Pilih Barang</option>
<?php if (is_array($barang) || is_object($barang)) {
foreach ($barang as $key) { ?>
<option value="<?= $key['ID_BARANG'] ?>"><?= $key['KODE_BARANG'] ?> (<?= $key['NAMA_BARANG'] ?>)</option>
<?php }
} ?>
</select>
<small class="help-block"></small>
</div>
</div>
<br><div class="form-group"><h4><div class="col-md-12"><i><b style="color:Olive">Semua SN yang menggunakan Kode Lama akan dihapus. Lanjutkan?</b></i></div></h4></div><br>
</div>
<footer class="panel-footer">
<div class="row">
<div class="col-md-12 text-right">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
<button type="submit" name="SubmitButton" id="SubmitButton" class="btn btn-warning"><b>Ubah</b> <i class="fa fa-pencil"></i></button>
</div>
</div>
</footer>
</div>
<?= form_close(); ?>
<!-- /.modal-content -->
</div>
</div>
<div id="modalIsiSnBeli" class="modal fade ui-front" tabindex="-1" role="dialog" data-keyboard="false" data-backdrop="static">
<div class="modal-dialog modal-lg" style="width:85%">
<header class="panel-heading">
<h2 class="panel-title"><b>Isi Data | <b id="totPilSnb" style="color:Red">0</b> SN Maximum</b><br><a style="color:DarkOrchid" data-dismiss="modal" onclick="resetIntervalAll()"><u style="color:DarkOrchid">Klik untuk Keluar dari Menu <i class="fa fa-times"></i></u></a></h2>
</header>
<div class="panel-body">
<div class="modal-wrapper">
<div class="modal-text">
<div class="row form-bordered">
<div class="form-group">
<input type="hidden" name="id_dbin" id="id_dbin" class="form-control" value="">
<div class="col-md-6"></div>
<div class="col-md-6">
<input autocomplete="off" class="form-control" name="nama_snb" id="nama_snb" style="text-transform:uppercase" data-plugin-maxlength maxlength="50" type="text" enterkeyhint="done"/ placeholder="Barcode | Serial Number">
</div>
</div>
<h5><div class="col-md-12 center" style="color:Blue"><b>SN Terisi (<b id="totSnb">0</b>)</b></div></h5>
<div class="column3">
<table class="table table-bordered table-striped mb-none">
<thead>
<th class="center default">No</th>
<th class="default">Serial Number</th>
</thead>
<tbody id="isiTabelSnb1"></tbody>
</table>
</div>
<div class="column3">
<table class="table table-bordered table-striped mb-none">
<thead>
<th class="center default">No</th>
<th class="default">Serial Number</th>
</thead>
<tbody id="isiTabelSnb2"></tbody>
</table>
</div>
<div class="column3">
<table class="table table-bordered table-striped mb-none">
<thead>
<th class="center default">No</th>
<th class="default">Serial Number</th>
</thead>
<tbody id="isiTabelSnb3"></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<footer class="panel-footer">
<div class="row">
<div class="col-md-12 text-right"></div>
</div>
</footer>
</div>
</div>
<div id="modalKunci" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<?= form_open('Menu/PB_Kunci_Sub1_A3_DataPembelian', array('id' => 'formpembelian'), array('method' => 'PB_Kunci_Sub1_A3_DataPembelian')); ?>
<div class="modal-content">
<header class="panel-heading">
<h2 class="panel-title"><b>Kunci Data</b></h2>
</header>
<input type="hidden" name="id_pembelianlock" id="id_pembelianlock" value="<?=$id_pembelian?>" class="form-control">
<div class="panel-body">
<div class="modal-wrapper">
<div class="modal-text">
<h4>Apakah ingin mengunci Data? <i style="color:Red">(Proses tidak dapat Dibatalkan.)</i></h4>
</div>
</div>
</div>
<footer class="panel-footer">
<div class="row">
<div class="col-md-12 text-right">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
<button type="submit" name="SubmitButton" id="SubmitButton" class="btn btn-primary"><b>Kunci</b> <i class="fa fa-lock"></i></button>
</div>
</div>
</footer>
</div>
<?= form_close(); ?>
</div>
</div>
<?php
$this->load->view('template/sidebar_right');
$this->load->view('template/script_vendor');
$this->load->view('template/script_flashdata');
$this->load->view('template/notification');
?>
<script>
$('#table1').dataTable( {
"paging": false
} );
function ubahData(id_db, kode_barang) {
PNotify.removeAll();
document.getElementById("id_dbed").value = id_db;
document.getElementById("kode_barangTemp").value = kode_barang;
}
function resetIntervalAll() {
location.reload();
}
function isiSnBeli(id) {
$("#id_dbin").val(id);
var JUMLAHSNB = '';
tampilkanDataSnBeli(id);
setInterval(function() {
$.ajax({
url: "<?= base_url() ?>index.php/Menu/PB_Ambil_Sub1_A2_JumlahSnBeli",
type: "POST",
dataType: "json",
data: 'id_db=' + id ,
success: function(response) {
if (response.total != JUMLAHSNB) {
tampilkanDataSnBeli(id);
}
}
});
}, 2000);
}
function tampilkanDataSnBeli(id) {
var id_pembelian = <?=$id_pembelian?>;
$.ajax({
type: 'POST',
data: {
id_db : id,
},
url: '<?= base_url('') ?>index.php/Menu/PB_Ambil_Sub1_A2_DataSnBeli',
dataType: 'json',
success: function(response) {
var baris1 = '';
var baris2 = '';
var baris3 = '';
JUMLAHSNB = response.total;
JUMLAH = response.qty;
base = parseInt(JUMLAH);
mod = base % 3;
if (base==1 || base==2) {
max_div1 = 1;
max_div2 = 2;
max_div3 = 3;
max_tab = base;
} else {
if (mod==0) {
parameter = base/3;
} else if (mod==1) {
beforePara = base+2;
parameter = beforePara/3;
} else if (mod==2) {
beforePara = base+1;
parameter = beforePara/3;
}
max_div1 = parameter;
max_div2 = 2*parameter;
max_div3 = 3*parameter;
max_tab = base;
}
for (var i = 1; i <= max_div1; i++) {
if (i <= response.total) {
var id_snb = response.data[i - 1]['ID_SNB'];
var nama_snb = response.data[i - 1]['NAMA_SNB'];
baris1 += '<tr>';
baris1 += '<input class="form-control input-sm " name="idsn' + i + '" id="idsn4' + i + '" type="hidden" value="' + id_snb + '" placeholder="-" >';
baris1 += '<input class="form-control input-sm " name="namasn' + i + '" id="sn4' + i + '" type="hidden" value="' + nama_snb + '" placeholder="-" >';
baris1 += '<td class="center" style="vertical-align: middle;" >' + i + '</td>';
baris1 += '<td class="text-left" style="vertical-align: middle;"><a onclick="hapusSnb(' + id_snb + ',' + id + ',' + id_pembelian + ')"><u><b style="color:Blue">' + nama_snb + ' <i class="fa fa-times" style="color:Red"></i></b><u></a></td>';
baris1 += '</tr>';
} else {
baris1 += '<tr>';
baris1 += '<input class="form-control input-sm " name="idsn' + i + '" id="idsn4' + i + '" type="hidden" placeholder="-" >';
baris1 += '<input class="form-control input-sm " name="namasn' + i + '" id="sn4' + i + '" type="hidden" placeholder="-" >';
baris1 += '<td class="center" style="vertical-align: middle;" >' + i + '</td>';
baris1 += '<td class="text-left" style="vertical-align: middle;"><b style="color:Teal">-</b></td>';
baris1 += '</tr>';
}
}
$('#isiTabelSnb1').html(baris1);
max_div1++;
for (var i = max_div1; i <= max_div2; i++) {
if (i <= response.total) {
var id_snb = response.data[i - 1]['ID_SNB'];
var nama_snb = response.data[i - 1]['NAMA_SNB'];
baris2 += '<tr>';
baris2 += '<input class="form-control input-sm " name="idsn' + i + '" id="idsn4' + i + '" type="hidden" value="' + id_snb + '" placeholder="-" >';
baris2 += '<input class="form-control input-sm " name="namasn' + i + '" id="sn4' + i + '" type="hidden" value="' + nama_snb + '" placeholder="-" >';
baris2 += '<td class="center" style="vertical-align: middle;" >' + i + '</td>';
baris2 += '<td class="text-left" style="vertical-align: middle;"><a onclick="hapusSnb(' + id_snb + ',' + id + ',' + id_pembelian + ')"><u><b style="color:Blue">' + nama_snb + ' <i class="fa fa-times" style="color:Red"></i></b><u></a></td>';
baris2 += '</tr>';
} else if (i <= base) {
baris2 += '<tr>';
baris2 += '<input class="form-control input-sm " name="idsn' + i + '" id="idsn4' + i + '" type="hidden" placeholder="-" >';
baris2 += '<input class="form-control input-sm " name="namasn' + i + '" id="sn4' + i + '" type="hidden" placeholder="-" >';
baris2 += '<td class="center" style="vertical-align: middle;" >' + i + '</td>';
baris2 += '<td class="text-left" style="vertical-align: middle;"><b style="color:Teal">-</b></td>';
baris2 += '</tr>';
} else {
baris2 += '<tr>';
baris2 += '<td class="center" style="vertical-align: middle;">&nbsp;</td>';
baris2 += '<td class="text-left" style="vertical-align: middle;">&nbsp;</td>';
baris2 += '</tr>';
}
}
$('#isiTabelSnb2').html(baris2);
max_div2++;
for (var i = max_div2; i <= max_div3; i++) {
if (i <= response.total) {
var id_snb = response.data[i - 1]['ID_SNB'];
var nama_snb = response.data[i - 1]['NAMA_SNB'];
baris3 += '<tr>';
baris3 += '<input class="form-control input-sm " name="idsn' + i + '" id="idsn4' + i + '" type="hidden" value="' + id_snb + '" placeholder="-" >';
baris3 += '<input class="form-control input-sm " name="namasn' + i + '" id="sn4' + i + '" type="hidden" value="' + nama_snb + '" placeholder="-" >';
baris3 += '<td class="center" style="vertical-align: middle;" >' + i + '</td>';
baris3 += '<td class="text-left" style="vertical-align: middle;"><a onclick="hapusSnb(' + id_snb + ',' + id + ',' + id_pembelian + ')"><u><b style="color:Blue">' + nama_snb + ' <i class="fa fa-times" style="color:Red"></i></b><u></a></td>';
baris3 += '</tr>';
} else if (i <= base) {
baris3 += '<tr>';
baris3 += '<input class="form-control input-sm " name="idsn' + i + '" id="idsn4' + i + '" type="hidden" placeholder="-" >';
baris3 += '<input class="form-control input-sm " name="namasn' + i + '" id="sn4' + i + '" type="hidden" placeholder="-" >';
baris3 += '<td class="center" style="vertical-align: middle;" >' + i + '</td>';
baris3 += '<td class="text-left" style="vertical-align: middle;"><b style="color:Teal">-</b></td>';
baris3 += '</tr>';
} else {
baris3 += '<tr>';
baris3 += '<td class="center" style="vertical-align: middle;">&nbsp;</td>';
baris3 += '<td class="text-left" style="vertical-align: middle;">&nbsp;</td>';
baris3 += '</tr>';
}
}
$('#isiTabelSnb3').html(baris3);
$("#totSnb").html(response.data.length);
$("#totPilSnb").html(JUMLAH);
if (response.total == JUMLAH) {
document.getElementById("nama_snb").disabled = true;
document.getElementById("nama_snb").value = null;
} else {
document.getElementById("nama_snb").disabled = false;
}
}
});
}
nama_snb.oninput = function() {
$('[name="nama_snb"]').closest('.form-group').removeClass('has-error').addClass('');
}
nama_snb.addEventListener("keyup", function(event) {
var dat = nama_snb.value;
var dot = document.getElementById("id_dbin").value;
var id_pembelian = <?=$id_pembelian?>;
if (event.keyCode === 13) {
if (dat == "") {
notify("datainput_null");
$('[name="nama_snb"]').closest('.form-group').addClass('has-error');
} else {
var is = '';
$.ajax({
type: "POST",
data: 'id_snb=' + is + '&nama_snb=' + dat + '&id_db=' + dot + '&id_pembelian=' + id_pembelian,
url: '<?= base_url() ?>index.php/Menu/PB_Simpan_Sub1_A2_DataSnbBarcode',
dataType: 'json',
success: function(response) {
PNotify.removeAll();
if (response.value==1) {
notify("success_add");
} else if (response.value==2 || response.value==3) {
notify("qty_achieved");
} else if (response.value==4) {
notify("sn_already");
} else if (response.value==5) {
notify("latest");
delayReload(2000,"<?= base_url() ?>index.php/Menu/PB_Sub1_SuratJalan_3/"+id_pembelian);
} else if (response.value==6) {
notify("not_valid");
delayReload(2000,"<?= base_url() ?>index.php/Menu/PB_Sub1_SuratJalan_1");
} else if (response.value==0) {
notify("failed");
}
$("#nama_snb").val("");
tampilkanDataSnBeli(dot);
}
});
}
}
});
function hapusSnb(id_snb, id_db, id_pembelian) {
PNotify.removeAll();
$.ajax({
type: 'POST',
data: {
id_snb : id_snb,
id_db : id_db,
id_pembelian : id_pembelian,
},
url: '<?= base_url('') ?>index.php/Menu/PB_Hapus_Sub1_A2_DataSnBeli',
dataType: 'json',
success: function(response) {
PNotify.removeAll();
if (response.value==1) {
notify("success_del");
} else if (response.value==2) {
notify("qty_notachieved");
} else if (response.value==3) {
notify("sn_notready");
} else if (response.value==4) {
notify("latest");
delayReload(2000,"<?= base_url() ?>index.php/Menu/PB_Sub1_SuratJalan_3/"+id_pembelian);
} else if (response.value==5) {
notify("not_valid");
delayReload(2000,"<?= base_url() ?>index.php/Menu/PB_Sub1_SuratJalan_1");
} else if (response.value==0) {
notify("failed");
}
tampilkanDataSnBeli(id_db);
}
});
}
</script>
</body>
</html>