$data = explode("-", $vardate); $date = new DateTime(); $date->setDate($data[0], $data[1], $data[2]); $date->modify("" . $added . ""); $day = $date->format("Y-m-d"); return $day; } while ($bar1 = mysql_fetch_object($res1)) { $no += 1; #jika bukan orang HO maka dapat # if($bar1->tipekaryawan==0 and substr($bar1->lokasitugas,2,2)!='HO') # $hakcuti=12; # else if($bar1->tipekaryawan!=0 and substr($bar1->lokasitugas,2,2)!='HO') # $hakcuti=12; $penambahTanggal = adddate($bar1->sampai, "+180 days"); // echo getRangeTanggal(date('Y-m-d'),$bar1->sampai); // echo adddate(date('Y-m-d'), "-180 days"); //Masa kerja $date1 = $bar1->tanggalmasuk; $date2 = date('Y-m-d'); $diff = abs(strtotime($date2) - strtotime($date1)); $years = floor($diff / (365 * 60 * 60 * 24)); $months = floor(($diff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24)); $days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24)); $lamaKerja = " " . $years . " Tahun " . $months . " Bulan"; $sisacuti = $hakcuti - $bar1->diambil; if (getRangeTanggal(date('Y-m-d'), $penambahTanggal) > 0) { echo "<tr class=rowcontent id=baris" . $no . ">\r\n\t\t\t\t\t <td>" . $no . "</td>\r\n\t\t\t\t\t <td id=kodeorg" . $no . ">" . substr($bar1->locTugas, 0, 4) . "</td>\r\n\t\t\t\t\t <td id=karyawanid" . $no . " hidden>" . $bar1->karyawanid . "</td>\r\n\t\t\t\t\t\t\t\t\t<td >" . $bar1->nik . "</td>\r\n\t\t\t\t\t <td class=firsttd id=nama" . $no . " title='Click for detail' style='cursor:pointer' onclick=showByUser('" . $bar1->karyawanid . "',event)>" . $bar1->namakaryawan . "</td>\r\n\t\t\t\t\t <td>" . $bar1->tipe . "</td>\r\n\t\t\t\t\t <td>" . tanggalnormal($bar1->tanggalmasuk) . "</td>\r\n\t\t\t\t\t <td>" . $lamaKerja . "</td>\r\n\t\t\t\t\t <td id=periode" . $no . ">" . $bar1->periodecuti . "</td>\t\t\t\t \r\n\t\t\t\t\t <td id=dari" . $no . ">" . tanggalnormal($bar1->dari) . "</td>\r\n\t\t\t\t\t <td id=sampai" . $no . ">" . tanggalnormal($penambahTanggal) . "</td>\r\n\t\t\t\t\t <td id=hak" . $no . " align=right>" . $hakcuti . "</td>\r\n\t\t\t\t\t <td id=diambil" . $no . " align=right>" . $bar1->diambil . "</td>\r\n\t\t\t\t\t <td style='text-align:right;'><input type=text id=sisa" . $no . " class=myinputtextnumber size=4 conkeypress=\"return angka_doang(event);\" value='" . $sisacuti . "'>\r\n\t\t\t\t\t <img src='images/save.png' title='Save' class=resicon onclick=updateSisa('" . $periode . "','" . $bar1->karyawanid . "','" . $bar1->kodeorg . "','sisa" . $no . "')>\r\n\t\t\t\t\t <img src='images/addplus.png' title='" . $_SESSION['lang']['tambah'] . "' class=resicon onclick=\"tambahData('" . $bar1->periodecuti . "','" . $bar1->karyawanid . "','" . $bar1->kodeorg . "','" . $bar1->namakaryawan . "','" . $sisacuti . "');\">\r\n\t\t\t\t\t </td>\r\n\t\t\t\t</tr>\t \r\n\t\t\t\t\t "; } } echo "\t \r\n\t\t </tbody>\r\n\t\t <tfoot>\r\n\t\t </tfoot>\r\n\t\t </table>";
#maka insert periode baru $str = "insert into " . $dbname . ".sdm_cutiht(kodeorg, karyawanid, periodecuti, keterangan, dari, sampai, hakcuti, diambil, sisa)\r\n values('" . $bar1->lokasitugas . "'," . $bar1->karyawanid . "," . $periodec . ",''," . $dari . "," . $sampai . "," . $hakcuti . ",0," . $saldo . ")"; mysql_query($str); } } } function getRangeTanggal($tglAwal, $tglAkhir) { $jlh = strtotime($tglAkhir) - strtotime($tglAwal); $jlhHari = $jlh / (3600 * 24); return $jlhHari + 1; } if (getRangeTanggal($_POST['tglAwal'], $_POST['tglEnd']) <= 0) { exit("Gagal : Periksa kembali periode tanggal cuti. Tanggal Awal lebih besar dari tanggal sampai."); } if (getRangeTanggal($_POST['tglAwal'], $_POST['tglEnd']) != $hk) { exit("Gagal : Periksa kembali periode tanggal cuti, tidak sesuai dengan jumlah HK yang diambil."); } $strf = "select sisa from " . $dbname . ".sdm_cutiht where karyawanid=" . $_SESSION['standard']['userid'] . " \r\n\t\t\t\t\t and periodecuti=" . $periodec; $res = mysql_query($strf); $sisa = ''; while ($barf = mysql_fetch_object($res)) { $sisa = $barf->sisa; } if ($sisa == '') { $sisa = 0; } if ($hk > $sisa) { exit("Gagal : Jumlah HK(Hari) melebihi jumlah sisa cuti untuk periode " . $periodec . "."); } }
$sampai = tanggalsystem($_POST['sampaiJ']); $diambil = $_POST['diambilJ']; $keterangan = $_POST['keteranganJ']; $method = $_POST['method']; $optSubBagian = makeOption($dbname, 'datakaryawan', 'karyawanid,subbagian'); //periksa apakah ada yang tidak benar //============================================== function getRangeTanggal($tglAwal, $tglAkhir) { $jlh = strtotime($tglAkhir) - strtotime($tglAwal); $jlhHari = $jlh / (3600 * 24); return $jlhHari + 1; } $rangeTgl = rangeTanggal($dari, $sampai); if ($method == 'insert') { if (getRangeTanggal($dari, $sampai) != $diambil) { exit("Gagal : Perisaka kembali tanggal dari/sampai cuti."); } $strAbsen = "select * from " . $dbname . ".sdm_absensidt where karyawanid = '" . $karyawanid . "' and tanggal between '" . $dari . "' and '" . $sampai . "'"; if (mysql_num_rows(mysql_query($strAbsen)) > 0) { exit("Gagal : Untuk range tanggal awal s/d akhir cuti sudah ada absen."); } $strc = "select * from " . $dbname . ".sdm_cutidt\r\n where karyawanid = '" . $karyawanid . "' and ((daritanggal>=" . $dari . " and daritanggal<=" . $sampai . ")\r\n\t or (sampaitanggal>=" . $dari . " and sampaitanggal<=" . $sampai . ")\r\n\t or (daritanggal<=" . $dari . " and sampaitanggal>=" . $sampai . "))"; if (mysql_num_rows(mysql_query($strc)) > 0) { echo " Error " . $_SESSION['lang']['irisan']; exit(0); } else { if ($sampai < $dari) { echo " Error < >"; exit(0); }
// PT Tujuan $qTujuan = selectQuery($dbname, 'organisasi', 'induk', "kodeorganisasi='" . $tujuan2 . "'"); $resTujuan = fetchData($qTujuan); $ptTujuan = $resTujuan[0]['induk']; // Regional Tujuan $qRegional = selectQuery($dbname, 'bgt_regional_assignment', 'regional', "kodeunit='" . $tujuan2 . "'"); $resRegional = fetchData($qRegional); $reg = $resRegional[0]['regional']; //Get Uang Muka function getRangeTanggal($tglAwal, $tglAkhir) { $jlh = strtotime($tglAkhir) - strtotime($tglAwal); $jlhHari = $jlh / (3600 * 24); return $jlhHari + 1; } $jlhHari = getRangeTanggal($bar->tanggalperjalanan, $bar->tanggalkembali); $sUangMuka = "select sum(sekali) as satu, sum(perhari) as dua, sum(hariketiga) as tiga\r\n\t\tfrom " . $dbname . ".sdm_5uangmukapjd where regional='" . $reg . "' and\r\n\t\tkodegolongan='" . $hgolongan . "' and jenis not in (7,11)"; $rUangMuka = mysql_query($sUangMuka); // exit("error : ".$sUangMuka); if ($rUangMuka) { // Uang Non Uang Saku while ($bUangMuka = mysql_fetch_object($rUangMuka)) { if ($jlhHari > 2) { $jlhUangMuka = $bUangMuka->satu + $bUangMuka->dua * $jlhHari + $bUangMuka->tiga * ($jlhHari - 2); } else { $jlhUangMuka = $bUangMuka->satu + $bUangMuka->dua * $jlhHari; } } // Uang Saku $jenisUS = $jlhHari > 1 ? 11 : 7; $qUangSaku = selectQuery($dbname, 'sdm_5uangmukapjd', 'sekali,perhari,hariketiga', "regional='" . $reg . "' and kodegolongan='" . $hgolongan . "' and jenis = " . $jenisUS);