Laporan absensi added
This commit is contained in:
@ -8,6 +8,7 @@ class Home extends CI_Controller {
|
|||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->load->model('model');
|
$this->load->model('model');
|
||||||
$this->load->model('m_tabel_ss');
|
$this->load->model('m_tabel_ss');
|
||||||
|
$this->load->library('pdf');
|
||||||
|
|
||||||
if ($this->session->userdata('level') == 'admin') {
|
if ($this->session->userdata('level') == 'admin') {
|
||||||
// redirect('/home');
|
// redirect('/home');
|
||||||
@ -274,6 +275,145 @@ class Home extends CI_Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function cetak($tahun = null, $bulan = null){
|
||||||
|
if (is_numeric($bulan) && is_numeric($tahun)) {
|
||||||
|
$cek_data = $this->model->tampil_data_where('tb_absensi',['bulan' => $bulan, 'tahun' => $tahun])->result();
|
||||||
|
// print_r($b)
|
||||||
|
|
||||||
|
if (count($cek_data) > 0) {
|
||||||
|
|
||||||
|
$pdf = new TCPDF('p', 'mm', 'LEGAL', false, 'UTF-8', false);
|
||||||
|
$pdf->setPrintHeader(false);
|
||||||
|
$pdf->AddPage();
|
||||||
|
// setting jenis font yang akan digunakan
|
||||||
|
// $pdf->SetFont('Arial','I',16);
|
||||||
|
|
||||||
|
$html = '
|
||||||
|
<style>
|
||||||
|
|
||||||
|
.ini {
|
||||||
|
border-bottom: 1px dotted black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ada {
|
||||||
|
border-left: 1px solid black;border-bottom: 1px solid black;border-right: 1px solid black;border-top: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tiada {
|
||||||
|
border-left: 1px solid black;border-right: 1px solid black;border-top: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tiada1 {
|
||||||
|
border-left: 1px solid black;border-right: 1px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<table width="100%" style="font-size: 12px;">
|
||||||
|
<tr>
|
||||||
|
<td width="15%"></td>
|
||||||
|
<td width="70%" align="center" style="font-size: 13px;font-weight:bold" class="ini">LAPORAN ABSENSI TAHUN '.$tahun.' , BULAN '.strtoupper($this->model->bulan($bulan)).'</td>
|
||||||
|
<td width="15%"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div></div>
|
||||||
|
|
||||||
|
|
||||||
|
';
|
||||||
|
|
||||||
|
$array_absensi = json_decode($cek_data[0]->detail, true);
|
||||||
|
|
||||||
|
$cek_karyawan = $this->model->tampil_data_keseluruhan('tb_karyawan')->result_array();
|
||||||
|
|
||||||
|
foreach ($array_absensi as $key => $value) {
|
||||||
|
$html .= '<table width="100%" style="font-size: 11px;">
|
||||||
|
<tr>
|
||||||
|
<td width="35%" align="left" style="font-weight:bold" class="ini">Absensi Tanggal '.$value['tanggal']. ', Hari '.$this->model->hari(date('l', strtotime($tahun.'-'.$bulan.'-'.$value['tanggal']))).'</td>
|
||||||
|
<td width="65%"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table width="100%" border="1" style="font-size: 11px;">
|
||||||
|
<tr style="font-weight:bold">
|
||||||
|
<td>NIK </td>
|
||||||
|
<td>Nama </td>
|
||||||
|
<td>Jam Masuk </td>
|
||||||
|
<td>Jam Keluar </td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
';
|
||||||
|
|
||||||
|
$ket_detail = $value['absensi'];
|
||||||
|
foreach ($cek_karyawan as $key2 => $value2) {
|
||||||
|
$hadir = false;
|
||||||
|
$jam_masuk = 'Tidak Masuk Kerja';
|
||||||
|
$jam_keluar = 'Tidak Masuk Kerja';
|
||||||
|
foreach ($ket_detail as $key1 => $value1) {
|
||||||
|
if ($value2['nik_karyawan'] == $value1['nik_karyawan']) {
|
||||||
|
$jam_masuk = $value1['jam_masuk'];
|
||||||
|
$jam_keluar = $value1['jam_keluar'];
|
||||||
|
$hadir = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($hadir != true){
|
||||||
|
$cek_libur = ($value2['detail'] != null) ? json_decode($value2['detail'],true) : $value2['detail'] ;
|
||||||
|
|
||||||
|
if ($cek_libur != null) {
|
||||||
|
foreach ($cek_libur as $key1 => $value1) {
|
||||||
|
if ($value1['tanggal'] == $this->input->post('tahun').'-'.$this->input->post('bulan').'-'.$this->input->post('tanggal')) {
|
||||||
|
$jam_masuk = 'Ambil Cuti';
|
||||||
|
$jam_keluar = 'Ket : '.$value1['ket'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elseif ($value2['tanggal_daftar'] > $this->input->post('tahun').'-'.$this->input->post('bulan').'-'.$this->input->post('tanggal')) {
|
||||||
|
$jam_masuk = 'Belum Masuk Kerja';
|
||||||
|
$jam_keluar = 'Belum Masuk Kerja';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$html .= '<tr>
|
||||||
|
<td>'.$value2['nik_karyawan'].'</td>
|
||||||
|
<td>'.$value2['nama'].'</td>
|
||||||
|
<td>'.$jam_masuk.'</td>
|
||||||
|
<td>'.$jam_keluar.'</td>
|
||||||
|
</tr>
|
||||||
|
';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$html.=' </table><div></div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// print_r($array_absensi);
|
||||||
|
|
||||||
|
// $pdf->SetLineWidth(0.2);
|
||||||
|
// $pdf->Rect(127,232,23,6);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// $pdf->WriteHTML($html, true, 0, true, 0);
|
||||||
|
$pdf->writeHTML($html, true, false, true, false, '');
|
||||||
|
|
||||||
|
$pdf->Output();
|
||||||
|
|
||||||
|
}else{
|
||||||
|
redirect('/home/laporan');
|
||||||
|
}
|
||||||
|
// print_r('jalankan');
|
||||||
|
}else{
|
||||||
|
redirect('/home/laporan');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function logout()
|
function logout()
|
||||||
{
|
{
|
||||||
// $this->session->unset_userdata('penyuluh');
|
// $this->session->unset_userdata('penyuluh');
|
||||||
|
|||||||
@ -51,6 +51,8 @@
|
|||||||
</thead> -->
|
</thead> -->
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
<hr>
|
||||||
|
<center><button type="button" class="btn btn-primary btn-sm waves-effect waves-light" onclick="cetak_laporan()">Cetak Laporan</button></center>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.card-content -->
|
<!-- /.card-content -->
|
||||||
</div>
|
</div>
|
||||||
@ -150,12 +152,14 @@
|
|||||||
|
|
||||||
let html = await `<div class="row small-spacing">
|
let html = await `<div class="row small-spacing">
|
||||||
<div class="col-lg-12 col-xs-12" style="overflow-x: auto; ">
|
<div class="col-lg-12 col-xs-12" style="overflow-x: auto; ">
|
||||||
<table id="table_absensi_detail" class="table table-striped table-bordered display" style="width:100%"></table
|
<table id="table_absensi_detail" class="table table-striped table-bordered display" style="width:100%"></table>
|
||||||
</div>
|
</div>
|
||||||
</div>`
|
</div>`
|
||||||
|
|
||||||
await $("#sini_modalnya .modal-body").html(html)
|
await $("#sini_modalnya .modal-body").html(html)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('#table_absensi_detail').DataTable({
|
$('#table_absensi_detail').DataTable({
|
||||||
responsive: true,
|
responsive: true,
|
||||||
"ajax": {
|
"ajax": {
|
||||||
@ -223,10 +227,31 @@
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// let footer = await `<button type="button" class="btn btn-info btn-xs" id="button_edit_data" onclick="cetak(1)">Edit Data ? </button> <button type="button" onclick="hapus_karyawan(${data_karyawan.nik_karyawan},'${data_karyawan.nama}')" class="btn btn-danger btn-xs">Hapus Karyawan</button>`
|
||||||
|
// await $("#sini_modalnya .modal-footer").html(footer)
|
||||||
|
|
||||||
await $.unblockUI()
|
await $.unblockUI()
|
||||||
|
|
||||||
await $('#sini_modalnya').modal('show');
|
await $('#sini_modalnya').modal('show');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function cetak_laporan(){
|
||||||
|
await block_ui();
|
||||||
|
await $("#sini_modalnya .modal-header .modal-title").html(`Laporan Bulan ${$("#val_bulan").val()} , Tahun ${$("#val_tahun").val()}`)
|
||||||
|
await $("#sini_modalnya .modal-dialog").attr('class','modal-dialog modal-lg')
|
||||||
|
|
||||||
|
console.log(``)
|
||||||
|
let html = await `<div class="row small-spacing">
|
||||||
|
<div class="col-lg-12 col-xs-12" style="overflow-x: auto; ">
|
||||||
|
<iframe src="${url}home/cetak/${$("#val_tahun").val()}/${$("#val_bulan").val()}" title="W3Schools Free Online Web Tutorials" width="100%" height="600px"></iframe>
|
||||||
|
</div>
|
||||||
|
</div>`
|
||||||
|
|
||||||
|
await $("#sini_modalnya .modal-body").html(html)
|
||||||
|
|
||||||
|
await $.unblockUI()
|
||||||
|
await $('#sini_modalnya').modal('show');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user