function dates_inbetween($date1, $date2) { $day = 60 * 60 * 24; $date1 = strtotime($date1); $date2 = strtotime($date2); $days_diff = round(($date2 - $date1) / $day); // Unix time difference devided by 1 day to get total days in between $dates_array = array(); $dates_array[] = date('Y-m-d', $date1); for ($x = 1; $x < $days_diff; $x++) { $dates_array[] = date('Y-m-d', $date1 + $day * $x); } $dates_array[] = date('Y-m-d', $date2); return $dates_array; } $test = dates_inbetween($tglDari, $tglSmp); $jmlhHari = count($test); $sAbsen = "select kodeabsen from " . $dbname . ".sdm_5absensi order by kodeabsen"; $qAbsen = mysql_query($sAbsen) or die(mysql_error($conn)); $sData = "select distinct sum(umr+insentif) as gaji,nik from " . $dbname . ".kebun_kehadiran as a left join\r\n " . $dbname . ".kebun_aktifitas b on a.notransaksi=b.notransaksi where b.kodeorg = '" . $kdOrg . "' and jurnal=1\r\n and b.tanggal between '" . $tglDari . "' and '" . $tglSmp . "' group by nik"; $qData = mysql_query($sData) or die(mysql_error($conn)); while ($rData = mysql_fetch_assoc($qData)) { // if($rData['gaji']!=0) // { $dtGaji[$rData['nik']] += $rData['gaji']; $dtKary[] = $rData['nik']; // // } } $sData2 = "select distinct nik,absensi,tanggal from " . $dbname . ".kebun_kehadiran as a left join\r\n " . $dbname . ".kebun_aktifitas b on a.notransaksi=b.notransaksi where b.kodeorg = '" . $kdOrg . "' and jurnal=1\r\n and b.tanggal between '" . $tglDari . "' and '" . $tglSmp . "'"; $qData2 = mysql_query($sData2) or die(mysql_error($conn));
$date2 = strtotime($date2); $days_diff = round(($date2 - $date1) / $day); // Unix time difference devided by 1 day to get total days in between $dates_array = array(); $dates_array[] = date('Y-m-d', $date1); for ($x = 1; $x < $days_diff; $x++) { $dates_array[] = date('Y-m-d', $date1 + $day * $x); } $dates_array[] = date('Y-m-d', $date2); return $dates_array; } if ($tgl_1 != '' && $tgl_2 != '') { $tgl1 = tanggalsystem($tgl1); $tgl22 = tanggalsystem($tgl22); } $test = dates_inbetween($tgl1, $tgl22); $brdr = 0; $bgclr = ""; if ($proses == 'excel') { $bgclr = " bgcolor=#DEDEDE"; $brdr = 1; } $tab .= "<table cellpadding=1 cellspacing=1 border=" . $brdr . " class=sortable><thead>"; $tab .= "<tr>"; $tab .= "<td " . $bgclr . ">" . $_SESSION['lang']['tanggal'] . "</td>"; $tab .= "<td align=center " . $bgclr . ">Kode " . $_SESSION['lang']['station'] . "</td>"; $tab .= "<td align=center " . $bgclr . ">Nama " . $_SESSION['lang']['station'] . "</td>"; $tab .= "<td align=center " . $bgclr . ">Kode " . $_SESSION['lang']['mesin'] . "</td>"; $tab .= "<td align=center " . $bgclr . ">" . $_SESSION['lang']['nmmesin'] . "</td>"; $tab .= "<td align=center " . $bgclr . ">" . $_SESSION['lang']['jumlahjamstagnasi'] . "</td>"; $tab .= "<td align=center " . $bgclr . ">" . $_SESSION['lang']['downstatus'] . "</td>";
$pdf->Cell(15 / 100 * $width, $height, "", 1, 0, 'C', 1); $pdf->Cell(8 / 100 * $width, $height, number_format($subjjg), 1, 0, 'R', 1); $pdf->Cell(8 / 100 * $width, $height, '', 1, 1, 'R', 1); $pdf->Output(); break; case 'excel': $periode = checkPostGet('periode', '00-00-0000'); $tipeIntex = $_GET['tipeIntex']; $unit = $_GET['unit']; $tglPeriode = explode("-", $periode); $tanggal = $tglPeriode[1] . "-" . $tglPeriode[0]; $tgl_1 = tanggalsystem($_GET['tgl_1']); $tgl_2 = tanggalsystem($_GET['tgl_2']); $kdPabrik = $_GET['kdPabrik']; $pilTamp = $_GET['pilTamp']; $dateDt = dates_inbetween($tgl_1, $tgl_2); if ($unit != "") { if ($tipeIntex == 0) { $where = "and kodecustomer='" . $unit . "'"; } else { $where = "and substr(nospb,9,6) like '%" . $unit . "%'"; } } if ($kdPabrik != '') { $where .= " and millcode='" . $kdPabrik . "'"; } if ($tgl_1 != '' && $tgl_2 != '') { $where .= " and tanggal >= " . $tgl_1 . "000001 and tanggal<=" . $tgl_2 . "235959"; } else { echo "warning: Date required"; exit;
function display($kodeorg, $periode, $harga, $dbname, $conn) { $tgl1 = ''; $tgl2 = ''; $str = "select tanggalmulai,tanggalsampai from " . $dbname . ".sdm_5periodegaji where kodeorg='" . $kodeorg . "'\r\n and periode='" . $periode . "' and jenisgaji='H'"; $res = mysql_query($str); while ($bar = mysql_fetch_object($res)) { $tgl1 = str_replace("-", "", $bar->tanggalmulai); $tgl2 = str_replace("-", "", $bar->tanggalsampai); } if ($tgl1 == '' or $tgl2 == '') { exit(" Error: Periode penggajian Harian tidak ditemukan/ Daily base payrol period not found"); } else { //ambil kamus karyawan $str = "select a.karyawanid,a.namakaryawan,a.kodecatu,a.subbagian,b.tipe,c.keterangan,a.kodecatu,a.tipekaryawan,a.kodejabatan,d.namajabatan\r\n from " . $dbname . ".datakaryawan a left join " . $dbname . ".sdm_5tipekaryawan b on a.tipekaryawan=b.id \r\n left join " . $dbname . ".sdm_5catuporsi c on a.kodecatu=c.kode\r\n left join " . $dbname . ".sdm_5jabatan d on a.kodejabatan=d.kodejabatan \r\n where a.lokasitugas='" . $kodeorg . "' and tipekaryawan!=0 and (a.tanggalkeluar>'" . $_POST['periode'] . "-01' or a.tanggalkeluar='0000-00-00')"; $res = mysql_query($str); $kamusKar = array(); while ($bar = mysql_fetch_object($res)) { if ($bar->tipe != 'KHL') { $kamusKar[$bar->karyawanid]['id'] = $bar->karyawanid; $kamusKar[$bar->karyawanid]['nama'] = $bar->namakaryawan; $kamusKar[$bar->karyawanid]['kodecatu'] = $bar->kodecatu; $kamusKar[$bar->karyawanid]['subbagian'] = $bar->subbagian; $kamusKar[$bar->karyawanid]['tipekaryawan'] = $bar->tipekaryawan; $kamusKar[$bar->karyawanid]['namatipe'] = $bar->tipe; $kamusKar[$bar->karyawanid]['kelompok'] = $bar->keterangan; $kamusKar[$bar->karyawanid]['kode'] = $bar->kodecatu; $kamusKar[$bar->karyawanid]['jabatan'] = $bar->namajabatan; } } } //ambil subbagian untuk pengurutan perafdeling $str = "select kodeorganisasi from " . $dbname . ".organisasi where induk='" . $kodeorg . "' order by kodeorganisasi"; $res = mysql_query($str); $subbagian = array(); while ($bar = mysql_fetch_object($res)) { array_push($subbagian, $bar->kodeorganisasi); } //ambil dari absensi. jika sudah diabsen di atas, dan di sini diabsen juga namun catu = 0, maka akan dioverride tidak dapat catu. $sAbsn = "select absensi,tanggal,karyawanid,catu from " . $dbname . ".sdm_absensidt \r\n where tanggal between '" . $tgl1 . "' and '" . $tgl2 . "' and kodeorg like '" . $kodeorg . "%'\r\n and left(absensi,1)='H' and catu = 1"; // echo $sAbsn; $res = mysql_query($sAbsn); $kehadiran = array(); while ($bar = mysql_fetch_object($res)) { $tgl = str_replace("-", "", $bar->tanggal); // if($bar->catu==1){ $kehadiran[$bar->karyawanid][$tgl] = $bar->absensi; // }else{ // unset($kehadiran[$bar->karyawanid][$tgl]); // } } //ambil dari perawatan $sKehadiran = "select absensi,tanggal,karyawanid from " . $dbname . ".kebun_kehadiran_vw \r\n where tanggal between '" . $tgl1 . "' and '" . $tgl2 . "' and unit='" . $kodeorg . "'"; $res = mysql_query($sKehadiran); while ($bar = mysql_fetch_object($res)) { $tgl = str_replace("-", "", $bar->tanggal); $kehadiran[$bar->karyawanid][$tgl] = $bar->absensi; } //ambil Panen $sPrestasi = "select b.tanggal,a.jumlahhk,a.nik from " . $dbname . ".kebun_prestasi a left join " . $dbname . ".kebun_aktifitas b on a.notransaksi=b.notransaksi \r\n where b.notransaksi like '%PNN%' and substr(b.kodeorg,1,4)='" . $kodeorg . "' and b.tanggal between '" . $tgl1 . "' and '" . $tgl2 . "'"; $res = mysql_query($sPrestasi); while ($bar = mysql_fetch_object($res)) { $tgl = str_replace("-", "", $bar->tanggal); $kehadiran[$bar->nik][$tgl] = 'H'; } // ambil pengawas $dzstr = "SELECT tanggal,nikmandor FROM " . $dbname . ".kebun_aktifitas a\r\n left join " . $dbname . ".kebun_prestasi b on a.notransaksi=b.notransaksi\r\n left join " . $dbname . ".datakaryawan c on a.nikmandor=c.karyawanid\r\n where a.tanggal between '" . $tgl1 . "' and '" . $tgl2 . "' and b.kodeorg like '" . $kodeorg . "%' and c.namakaryawan is not NULL\r\n union select tanggal,nikmandor1 FROM " . $dbname . ".kebun_aktifitas a \r\n left join " . $dbname . ".kebun_prestasi b on a.notransaksi=b.notransaksi\r\n left join " . $dbname . ".datakaryawan c on a.nikmandor1=c.karyawanid\r\n where a.tanggal between '" . $tgl1 . "' and '" . $tgl2 . "' and b.kodeorg like '" . $kodeorg . "%' and c.namakaryawan is not NULL"; $dzres = mysql_query($dzstr); while ($bar = mysql_fetch_object($dzres)) { $tgl = str_replace("-", "", $bar->tanggal); $kehadiran[$bar->nikmandor][$tgl] = 'H'; } // ambil administrasi $dzstr = "SELECT tanggal,nikasisten as nikmandor FROM " . $dbname . ".kebun_aktifitas a\r\n left join " . $dbname . ".kebun_prestasi b on a.notransaksi=b.notransaksi\r\n left join " . $dbname . ".datakaryawan c on a.nikasisten=c.karyawanid\r\n where a.tanggal between '" . $tgl1 . "' and '" . $tgl2 . "' and b.kodeorg like '" . $kodeorg . "%' and c.namakaryawan is not NULL\r\n union select tanggal,keranimuat FROM " . $dbname . ".kebun_aktifitas a \r\n left join " . $dbname . ".kebun_prestasi b on a.notransaksi=b.notransaksi\r\n left join " . $dbname . ".datakaryawan c on a.keranimuat=c.karyawanid\r\n where a.tanggal between '" . $tgl1 . "' and '" . $tgl2 . "' and b.kodeorg like '" . $kodeorg . "%' and c.namakaryawan is not NULL"; $dzres = mysql_query($dzstr); while ($bar = mysql_fetch_object($dzres)) { $tgl = str_replace("-", "", $bar->tanggal); $kehadiran[$bar->nikmandor][$tgl] = 'H'; } // ambil dari traksi $dzstr = "SELECT tanggal,idkaryawan FROM " . $dbname . ".vhc_runhk\r\n where tanggal between '" . $tgl1 . "' and '" . $tgl2 . "' and notransaksi like '" . $kodeorg . "%'"; $dzres = mysql_query($dzstr); while ($bar = mysql_fetch_object($dzres)) { $tgl = str_replace("-", "", $bar->tanggal); $kehadiran[$bar->idkaryawan][$tgl] = 'H'; } //buang hari minggu $hari = dates_inbetween($tgl1, $tgl2); foreach ($hari as $ar => $isi) { $qwe = date('D', strtotime($isi)); $tglini = date('Ymd', strtotime($isi)); if ($qwe == 'Sun') { foreach ($kehadiran as $key => $val) { $sCek = "select distinct catu from " . $dbname . ".sdm_absensidt \r\n where karyawanid='" . $key . "' and tanggal='" . $tglini . "'"; $qCek = mysql_query($sCek) or die(mysql_error($conn)); $rCek = mysql_fetch_assoc($qCek); if ($rCek['catu'] == 0) { unset($kehadiran[$key][$tglini]); } } } } //jumlahkan hk masing-masing orang $jumlahHK = array(); foreach ($kehadiran as $key => $val) { $jumlahHK[$key] = count($kehadiran[$key]); } //ambil jumlah porsi catu masing-masing orang $str = "select kelompok, jumlah as porsi from " . $dbname . ".sdm_5catu where kodeorg='" . $kodeorg . "' and tahun=" . substr($periode, 0, 4); $porsi = array(); $res = mysql_query($str); if (mysql_num_rows($res) == 0) { if ($_SESSION['language'] == 'ID') { exit("Error:Setup->Natura untuk tahun " . substr($periode, 0, 4) . " belum ada, silahkan isi terlebih dahulu"); } else { exit("Error:Setup->Natura for year " . substr($periode, 0, 4) . " not defined, please define first"); } } while ($bar = mysql_fetch_object($res)) { $porsi[$bar->kelompok] = $bar->porsi; } //bentuk rupiah catu masing-masing orang $rupiahCatu = array(); foreach ($jumlahHK as $key => $val) { setIt($jumlahHK[$key], 0); setIt($kamusKar[$key]['kode'], ''); setIt($porsi[$kamusKar[$key]['kode']], 0); $rupiahCatu[$key] = $jumlahHK[$key] * $porsi[$kamusKar[$key]['kode']] * $harga; } if ($_POST['aksi'] == 'display') { //print echo "<font color=red>Scroll down to save</font>\r\n <table class=sortable border=0 cellspacing=1>\r\n <thead>\r\n <tr class=rowheader>\r\n <td>No.</td>\r\n <td>" . $_SESSION['lang']['kodeorg'] . "</td>\r\n <td>" . $_SESSION['lang']['subbagian'] . "</td>\r\n <td>" . $_SESSION['lang']['periode'] . "</td>\r\n <td>" . $_SESSION['lang']['namakaryawan'] . "</td>\r\n <td>" . $_SESSION['lang']['tipe'] . "</td>\r\n <td>" . $_SESSION['lang']['jabatan'] . "</td>\r\n <td>" . $_SESSION['lang']['status'] . "</td>\r\n <td>Ltr/Hk</td>\r\n <td>" . $_SESSION['lang']['jumlah'] . " HK</td>\r\n <td>" . $_SESSION['lang']['hargasatuan'] . "</td>\r\n <td>" . $_SESSION['lang']['total'] . " (Rp)</td>\r\n </tr>\r\n </thead>\r\n <tbody>"; $no = 0; $ttl = 0; foreach ($subbagian as $unit => $sub) { $SUBTTL = 0; foreach ($kamusKar as $key => $val) { setIt($kamusKar[$key]['subbagian'], ''); if ($kamusKar[$key]['subbagian'] == $sub) { $no += 1; setIt($jumlahHK[$key], 0); setIt($rupiahCatu[$key], 0); setIt($rupiahCatu[$key], 0); setIt($porsi[$kamusKar[$key]['kode']], 0); echo "<tr class=rowcontent>\r\n <td>" . $no . "</td>\r\n <td>" . $kodeorg . "</td>\r\n <td>" . $kamusKar[$key]['subbagian'] . "</td>\r\n <td>" . $periode . "</td>\r\n <td>" . $kamusKar[$key]['nama'] . "</td>\r\n <td>" . $kamusKar[$key]['namatipe'] . "</td>\r\n <td>" . $kamusKar[$key]['jabatan'] . "</td>\r\n <td>" . $kamusKar[$key]['kode'] . "</td>\r\n <td>" . number_format($porsi[$kamusKar[$key]['kode']], 2, '.', ',') . "</td>\r\n <td align=right>" . number_format($jumlahHK[$key], 0, '.', ',') . "</td>\r\n <td align=right>" . number_format($harga, 0, '.', ',') . "</td> \r\n <td align=right>" . number_format($rupiahCatu[$key], 0, '.', ',') . "</td></tr> \r\n "; $ttl += $rupiahCatu[$key]; $SUBTTL += $rupiahCatu[$key]; } } //print subtotal per afdeling echo "<tr class=rowcontent>\r\n <td colspan=11>Sub Total " . $sub . "</td> \r\n <td align=right>" . number_format($SUBTTL, 0, '.', ',') . "</td></tr> \r\n "; } //khusus karyawan kantor $SUBTTL = 0; foreach ($kamusKar as $key => $val) { if ($kamusKar[$key]['subbagian'] == '' or $kamusKar[$key]['subbagian'] == '0') { $no += 1; setIt($kamusKar[$key]['nama'], ''); setIt($kamusKar[$key]['namatipe'], ''); setIt($kamusKar[$key]['jabatan'], ''); setIt($kamusKar[$key]['kode'], ''); echo "<tr class=rowcontent>\r\n <td>" . $no . "</td>\r\n <td>" . $kodeorg . "</td>\r\n <td>" . $kamusKar[$key]['subbagian'] . "</td>\r\n <td>" . $periode . "</td>\r\n <td>" . $kamusKar[$key]['nama'] . "</td>\r\n <td>" . $kamusKar[$key]['namatipe'] . "</td>\r\n <td>" . $kamusKar[$key]['jabatan'] . "</td>\r\n <td>" . $kamusKar[$key]['kode'] . "</td>\r\n <td>" . number_format($porsi[$kamusKar[$key]['kode']], 2, '.', ',') . "</td>\r\n <td align=right>" . number_format($jumlahHK[$key], 0, '.', ',') . "</td>\r\n <td align=right>" . number_format($harga, 0, '.', ',') . "</td> \r\n <td align=right>" . number_format($rupiahCatu[$key], 0, '.', ',') . "</td></tr> \r\n "; $ttl += $rupiahCatu[$key]; $SUBTTL += $rupiahCatu[$key]; } } //print subtotal per afdeling echo "<tr class=rowcontent>\r\n <td colspan=11>Sub Total Kantor</td> \r\n <td align=right>" . number_format($SUBTTL, 0, '.', ',') . "</td></tr>"; echo "<tr class=rowheader>\r\n <td colspan=11>TOTAL</td> \r\n <td align=right>" . number_format($ttl, 0, '.', ',') . "</td></tr> \r\n "; echo "</tbody>\r\n <tfoot>\r\n </tfoot>\r\n </table>\r\n <button onclick=simpanCatu()>" . $_SESSION['lang']['save'] . "</button>"; } else { if ($_POST['aksi'] == 'simpan' or $_POST['aksi'] == 'replace') { if ($_POST['aksi'] == 'simpan') { //periksa dulu apakah sudah ada atau sdah posting $str = "select posting from " . $dbname . ".sdm_catu where kodeorg='" . $kodeorg . "' \r\n and periodegaji='" . $periode . "' order by posting desc \r\n limit 1"; $res = mysql_query($str); while ($bar = mysql_fetch_object($res)) { if ($bar->posting == '1') { $stat = '1'; } elseif ($bar->posting == '0') { $stat = '0'; } else { $stat = ''; } } if ($stat != '') { exit($stat); } } $ttl = 0; $stsimpan = ''; foreach ($kamusKar as $key => $val) { if ($rupiahCatu[$key] > 0) { if ($no == 0) { $stsimpan = " \r\n insert into " . $dbname . ".sdm_catu(\r\n kodeorg, \r\n subbagian,\r\n periodegaji, \r\n karyawanid, \r\n hargacatu, \r\n jumlahhk, \r\n catuperhk, \r\n totalcatu, \r\n jumlahrupiah, \r\n posting, \r\n updateby)\r\n values(\r\n '" . $kodeorg . "',\r\n '" . $kamusKar[$key]['subbagian'] . "', \r\n '" . $periode . "',\r\n " . $key . ", \r\n " . $harga . ",\r\n " . $jumlahHK[$key] . ", \r\n " . $porsi[$kamusKar[$key]['kode']] . ",\r\n " . $jumlahHK[$key] * $porsi[$kamusKar[$key]['kode']] . ", \r\n " . $rupiahCatu[$key] . ",\r\n 0,\r\n " . $_SESSION['standard']['userid'] . " \r\n )"; } else { $stsimpan .= ",(\r\n '" . $kodeorg . "',\r\n '" . $kamusKar[$key]['subbagian'] . "', \r\n '" . $periode . "',\r\n " . $key . ", \r\n " . $harga . ",\r\n " . $jumlahHK[$key] . ", \r\n " . $porsi[$kamusKar[$key]['kode']] . ",\r\n " . $jumlahHK[$key] * $porsi[$kamusKar[$key]['kode']] . ", \r\n " . $rupiahCatu[$key] . ",\r\n 0,\r\n " . $_SESSION['standard']['userid'] . " \r\n )"; } $no += 1; } } $str = "delete from " . $dbname . ".sdm_catu where kodeorg='" . $kodeorg . "' and periodegaji='" . $periode . "'"; mysql_query($str); //hapus dulu yang ada if (mysql_query($stsimpan)) { } else { echo " Error: " . mysql_error($conn) . $stsimpan; } } } }
function dates_inbetween($date1, $date2) { $day = 60 * 60 * 24; $date1 = strtotime($date1); $date2 = strtotime($date2); $days_diff = round(($date2 - $date1) / $day); // Unix time difference devided by 1 day to get total days in between $dates_array = array(); $dates_array[] = date('Y-m-d', $date1); for ($x = 1; $x < $days_diff; $x++) { $dates_array[] = date('Y-m-d', $date1 + $day * $x); } $dates_array[] = date('Y-m-d', $date2); return $dates_array; } $tgltgl = dates_inbetween($tanggalMulai, $tanggalSampai); #ambil data premi if ($_SESSION['empl']['tipelokasitugas'] == 'HOLDING' || $_SESSION['empl']['tipelokasitugas'] == 'KANWIL') { if ($afdId != '') { $whr = "and b.subbagian='" . $afdId . "' "; $whrw = " subbagian='" . $afdId . "' "; // $wprem=" a.kodeorg='".$afdId."'"; $wprem = " b.subbagian='" . $afdId . "'"; } else { $whr = "and b.lokasitugas='" . $kdOrg . "' "; $whrw = " lokasitugas='" . $kdOrg . "' "; // $wprem=" a.kodeorg like '".$kdOrg."%'"; $wprem = " b.lokasitugas like '" . $kdOrg . "%'"; } $str = "select b.nik,a.karyawanid,a.tanggal,sum(a.upahpremi) as upahpremi,sum(a.rupiahpenalty) as dendabkm,sum(a.upahkerja) as gaji,b.kodejabatan,c.namajabatan,b.subbagian from " . $dbname . ".kebun_prestasi_vw a \r\n left join " . $dbname . ".datakaryawan b on a.karyawanid=b.karyawanid\r\n left join " . $dbname . ".sdm_5jabatan c on b.kodejabatan=c.kodejabatan\r\n where substr(a.tanggal,1,7)='" . $periode . "' " . $whr . " and (b.tanggalkeluar>'" . $tanggalMulai . "' or b.tanggalkeluar='0000-00-00')\r\n group by a.karyawanid,tanggal\r\n order by a.karyawanid"; //ambil data di perawatan
//ambil query untuk data karyawan $skaryawan = "select a.karyawanid, a.bagian, b.namajabatan, a.namakaryawan, c.nama from " . $dbname . ".datakaryawan a \r\n left join " . $dbname . ".sdm_5jabatan b on a.kodejabatan=b.kodejabatan \r\n left join " . $dbname . ".sdm_5departemen c on a.bagian=c.kode \r\n where a.lokasitugas like '%HO' and ((a.tanggalkeluar >= '" . $tangsys1 . "' and a.tanggalkeluar <= '" . $tangsys2 . "') or a.tanggalkeluar='0000-00-00')\r\n order by namakaryawan asc"; $rkaryawan = fetchData($skaryawan); foreach ($rkaryawan as $row => $kar) { $karyawan[$kar['karyawanid']]['id'] = $kar['karyawanid']; $karyawan[$kar['karyawanid']]['nama'] = $kar['namakaryawan']; $namakar[$kar['karyawanid']] = $kar['namakaryawan']; $jabakar[$kar['karyawanid']] = $kar['namajabatan']; $bagikar[$kar['karyawanid']] = $kar['bagian']; } // cek inputan tanggal if ($tahun == "") { echo "warning: Please fill all fields."; exit; } $tanggaltanggal = dates_inbetween($tangsys1, $tangsys2); // karyawan ijin & cuti $str = "SELECT a.karyawanid, substr(a.darijam,1,10) as daritanggal, substr(a.sampaijam,1,10) as sampaitanggal, a.jenisijin, c.namakaryawan, c.lokasitugas, a.jenisijin \r\n FROM " . $dbname . ".sdm_ijin a\r\n LEFT JOIN " . $dbname . ".datakaryawan c on a.karyawanid=c.karyawanid \r\n WHERE substr(a.darijam,1,10) <= '" . $tangsys2 . "' and substr(a.sampaijam,1,10) >= '" . $tangsys1 . "' and stpersetujuan1 = '1' and stpersetujuanhrd = '1'\r\n ORDER BY a.darijam, a.sampaijam"; $res = mysql_query($str); echo mysql_error($conn); while ($bar = mysql_fetch_object($res)) { if (substr($bar->lokasitugas, 2, 2) == 'HO') { $karyawan[$bar->karyawanid]['id'] = $bar->karyawanid; $karyawan[$bar->karyawanid]['nama'] = $bar->namakaryawan; } $presensi[$bar->karyawanid]['ijin1'] = $bar->daritanggal; $presensi[$bar->karyawanid]['ijin2'] = $bar->sampaitanggal; $presensi[$bar->karyawanid]['x' . $bar->daritanggal] = $bar->jenisijin; } // karyawan dinas $str = "SELECT a.karyawanid, a.tanggalperjalanan, a.tanggalkembali, a.tujuan1, a.tujuan2, a.tujuan3, c.namakaryawan, a.kodeorg FROM " . $dbname . ".sdm_pjdinasht a\r\n LEFT JOIN " . $dbname . ".datakaryawan c on a.karyawanid=c.karyawanid \r\n WHERE a.tanggalperjalanan <= '" . $tangsys2 . "' and a.tanggalkembali >= '" . $tangsys1 . "' order by a.tanggalperjalanan, a.tanggalkembali\r\n and statuspersetujuan='1' and statushrd='1'";
$dates_array = array(); $dates_array[] = date('Y-m-d', $date1); for ($x = 1; $x < $days_diff; $x++) { $dates_array[] = date('Y-m-d', $date1 + $day * $x); } $dates_array[] = date('Y-m-d', $date2); if ($date1 == $date2) { $dates_array = array(); $dates_array[] = date('Y-m-d', $date1); } return $dates_array; } $sTgl = "select distinct tanggalmulai,tanggalsampai from " . $dbname . ".sdm_5periodegaji \r\n where kodeorg='" . $_SESSION['empl']['lokasitugas'] . "' and periode='" . $periode . "' \r\n and jenisgaji='H'"; $qTgl = mysql_query($sTgl) or die(mysql_error($conn)); $rTgl = mysql_fetch_assoc($qTgl); $tanggalperiode = dates_inbetween($rTgl['tanggalmulai'], $rTgl['tanggalsampai']); // itung2... if (!empty($dzkaryawanid)) { foreach ($dzkaryawanid as $karyawanid) { if (!empty($dztanggal)) { foreach ($dztanggal as $tanggal) { if (in_array($dzabsen[$karyawanid][$tanggal], $ardibayar)) { if ($dzkelamin[$karyawanid] == 'L') { $sddibayarl += 1; } if ($dzkelamin[$karyawanid] == 'P') { $sddibayarp += 1; } $sddibayar += 1; } if (in_array($dzabsen[$karyawanid][$tanggal], $artidakdibayar)) {
$add = "b.subbagian='" . $idAfd . "'"; } if ($kdBag2 != '') { $add .= " and b.bagian='" . $kdBag2 . "'"; } } $dtTipe = ""; if ($tPkary != '') { $dtTipe = " and b.tipekaryawan='" . $tPkary . "'"; } ####################################################### $sTgl = "select distinct tanggalmulai,tanggalsampai from " . $dbname . ".sdm_5periodegaji \r\n where kodeorg='" . substr($idAfd, 0, 4) . "' and periode='" . $perod . "' \r\n and jenisgaji='H'"; //exit("error:".$sTgl); $qTgl = mysql_query($sTgl) or die(mysql_error($conn)); $rTgl = mysql_fetch_assoc($qTgl); $test = dates_inbetween($rTgl['tanggalmulai'], $rTgl['tanggalsampai']); ##tambahan absen permintaan dari pak ujang# $sAbsn = "select absensi,tanggal,karyawanid from " . $dbname . ".sdm_absensidt \r\n where tanggal like '" . $perod . "%' and substr(kodeorg,1,4) = '" . substr($idAfd, 0, 4) . "'"; //exit("Error".$sAbsn); $rAbsn = fetchData($sAbsn); foreach ($rAbsn as $absnBrs => $resAbsn) { if (!is_null($resAbsn['absensi'])) { $hasilAbsn[$resAbsn['karyawanid']][$resAbsn['tanggal']][] = array('absensi' => $resAbsn['absensi']); $resData[$resAbsn['karyawanid']][] = $resAbsn['karyawanid']; } } $sKehadiran = "select absensi,tanggal,karyawanid from " . $dbname . ".kebun_kehadiran_vw \r\n where tanggal like '" . $perod . "%' and substr(kodeorg,1,4) = '" . substr($idAfd, 0, 4) . "' and jhk > '0'"; //exit("Error".$sKehadiran); $rkehadiran = fetchData($sKehadiran); foreach ($rkehadiran as $khdrnBrs => $resKhdrn) { if ($resKhdrn['absensi'] != '') {
$BlokId = checkPostGet('BlokId', ''); $periodeId = checkPostGet('periodeId', ''); $periodeData = checkPostGet('periodeData', ''); $per = explode("-", $periodeId); $perod = count($per) > 2 ? $per[2] . "-" . $per[1] . "-" . $per[0] : ''; $dtPeriod = count($per) > 2 ? $per[2] . "-" . $per[1] : ''; $tmpPeriod = explode('-', $periodeData); $optNm = makeOption($dbname, 'organisasi', 'kodeorganisasi,namaorganisasi'); $where = " kodeunit='" . $kdUnit . "' and tahunbudget='" . $tmpPeriod[0] . "'"; $arrBln = array("1" => "Jan", "2" => "Feb", "3" => "Mar", "4" => "Apr", "5" => "Mei", "6" => "Jun", "7" => "Jul", "8" => "Aug", "9" => "Sep", "10" => "Okt", "11" => "Nov", "12" => "Des"); $optNmkeg = makeOption($dbname, 'setup_kegiatan', 'kodekegiatan,namakegiatan'); $optSatkeg = makeOption($dbname, 'setup_kegiatan', 'kodekegiatan,satuan'); $tgkAwal = $periodeData . "-01"; $lastday = date('t', strtotime($tgkAwal)); $tgkAkhir = $periodeData . "-" . $lastday; $arrTgl = dates_inbetween($tgkAwal, $tgkAkhir); function dates_inbetween($date1, $date2) { $day = 60 * 60 * 24; $date1 = strtotime($date1); $date2 = strtotime($date2); $days_diff = round(($date2 - $date1) / $day); // Unix time difference devided by 1 day to get total days in between $dates_array = array(); $dates_array[] = date('Y-m-d', $date1); for ($x = 1; $x < $days_diff; $x++) { $dates_array[] = date('Y-m-d', $date1 + $day * $x); } $dates_array[] = date('Y-m-d', $date2); if ($date1 == $date2) { $dates_array = array();
// Unix time difference devided by 1 day to get total days in between $dates_array = array(); $dates_array[] = date('Y-m-d', $date1); for ($x = 1; $x < $days_diff; $x++) { $dates_array[] = date('Y-m-d', $date1 + $day * $x); } $dates_array[] = date('Y-m-d', $date2); return $dates_array; } // Usage $dates_array = dates_inbetween('2011-01-01', '2011-01-31'); for ($x = 1; $x < 13; $x++) { //gremo cez vse mesce /// $from_date = "2011-" . $x . "-01"; $to_date = "2011-" . $x . "-" . date("t", strtotime($from_date)); $dates_array = dates_inbetween($from_date, $to_date); $prazniki = array('2011-01-01', '2011-01-02', '2011-02-08', '2011-04-24', '2011-04-25', '2011-04-27', '2011-05-01', '2011-05-02', '2011-06-25', '2011-08-15', '2011-10-31', '2011-11-01', '2011-12-25', '2011-12-26'); $number_days = 0; unset($percentage_month); $percentage_month = array(); foreach ($dates_array as $date) { $weekday = date('l', strtotime($date)); // note: first arg to date() is lower-case L $weekdaynum = date('w', strtotime($date)); if ($weekdaynum > 0 && $weekdaynum < 6) { $free_day = FALSE; foreach ($prazniki as $praznik) { if ($praznik == $date) { $free_day = $praznik; $continue; }