diff --git a/P3/controller/persetujuan_controller.php b/P3/controller/persetujuan_controller.php index 7cf222ef8cfe4ea702e24e7f7813854d3c35951a..56496c13614645d2c2199dbaa889d2d0fda06456 100644 --- a/P3/controller/persetujuan_controller.php +++ b/P3/controller/persetujuan_controller.php @@ -2,9 +2,11 @@ ob_start(); require_once 'connectdb.php'; require_once '../header.php'; - $func = $_GET['func']; + + + if ($func == 1){ setujuPenilaian() ; } else if ($func==2) { @@ -27,9 +29,44 @@ function setujuPenilaian() { $id_pegawai = $nip_login ; $id_penilai = $nip_atasan ; + $nip = $id_pegawai ; $conn = connect_database(); + $sql = "SELECT modified_at FROM penilaian WHERE id_pegawai='$nip'"; + $result = $conn->query($sql); + $lastmod = ""; + if ($result->num_rows > 0) { + while($row = $result->fetch_assoc()) { + $lastmod = $row['modified_at']; + } + //cek waktu + $timestamp = strtotime($lastmod); + + $tmstp = $row['modified_at'] + strtotime('+ 336 hours'); + $currenttime = date("Y-m-d h:m:s"); + $nextf = date("Y-m-d h:m:s", $tmstp); + $lastm = date("Y-m-d h:m:s", $lastmod); + echo "cur : ". $currenttime ; + echo "lastm : " . $lastmod ; + echo "next 14 daysss : ".$nextf; + if ($nextf < $currenttime) echo "update"; + else { + echo "not update (otomatis setuju)"; + $sql = "UPDATE penilaian SET id_penilai='$id_penilai' , persetujuan_pegawai='4', persetujuan_atasan_pejabat='9',id_atasan='$id_atasan', modified_at=now() WHERE id_pegawai='$nip'" ; + echo $sql ; + if ($conn->query($sql) === TRUE) { + echo "Record updated successfully"; + } else { + echo "Error updating record: " . $conn->error; + } + header( 'Location: ../lihat_penilaian.php' ) ; + exit(); + } + } + + $conn = connect_database(); + $id_atasan = getIDAtasan($nip_login); - $sql = "UPDATE penilaian SET id_penilai='$id_penilai' , persetujuan_pegawai='1', persetujuan_atasan='9',id_atasan='$id_atasan' WHERE id_pegawai='$id_pegawai'" ; + $sql = "UPDATE penilaian SET id_penilai='$id_penilai' , persetujuan_pegawai='1', persetujuan_atasan_pejabat='9',id_atasan='$id_atasan', modified_at=now() WHERE id_pegawai='$id_pegawai'" ; echo $sql ; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; @@ -49,8 +86,43 @@ function tolakPenilaian($alasan) { $id_pegawai = $nip_login ; $id_penilai = $nip_atasan ; + $nip = $id_pegawai ; + $conn = connect_database(); + $sql = "SELECT modified_at FROM penilaian WHERE id_pegawai='$nip'"; + $result = $conn->query($sql); + $lastmod = ""; + if ($result->num_rows > 0) { + while($row = $result->fetch_assoc()) { + $lastmod = $row['modified_at']; + } + //cek waktu + $tomorrow = strtotime('- 336 hours'); + $timestamp = strtotime($lastmod); + $tmstp = $row['modified_at'] + strtotime('+ 336 hours'); + + $currenttime = date("Y-m-d h:m:s"); + $nextf = date("Y-m-d h:m:s", $tmstp); + $lastm = date("Y-m-d h:m:s", $lastmod); + echo "cur : ". $currenttime ; + echo "lastm : " . $lastmod ; + echo "next 14 day : ".$nextf; + if ($nextf < $currenttime) echo "update"; + else { + echo "not update (otomatis setuju)"; + $sql = "UPDATE penilaian SET id_penilai='$id_penilai' , persetujuan_pegawai='4', persetujuan_atasan_pejabat='9',id_atasan='$id_atasan', modified_at=now() WHERE id_pegawai='$nip'" ; + echo $sql ; + if ($conn->query($sql) === TRUE) { + echo "Record updated successfully"; + } else { + echo "Error updating record: " . $conn->error; + } + //header( 'Location: ../lihat_penilaian.php' ) ; + //exit(); + } + } + $conn = connect_database(); - $sql = "UPDATE penilaian SET id_penilai='$id_penilai' , persetujuan_pegawai='2', persetujuan_atasan='0', alasan='$alasan' WHERE id_pegawai='$id_pegawai'" ; + $sql = "UPDATE penilaian SET id_penilai='$id_penilai' , persetujuan_pegawai='2', persetujuan_atasan='0', alasan='$alasan', modified_at=now() WHERE id_pegawai='$id_pegawai'" ; echo $sql ; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; @@ -65,9 +137,43 @@ function tolakPenilaian($alasan) { function tanggapanPenolakan($nip,$alasan) { //echo "nip : " .$nip."|" ; + $conn = connect_database(); + $sql = "SELECT modified_at FROM penilaian WHERE id_pegawai='$nip'"; + $result = $conn->query($sql); + $lastmod = ""; + if ($result->num_rows > 0) { + while($row = $result->fetch_assoc()) { + $lastmod = $row['modified_at']; + } + //cek waktu + $tomorrow = strtotime('- 336 hours'); + $timestamp = strtotime($lastmod); + $tmstp = $row['modified_at'] + strtotime('+ 336 hours'); + + $currenttime = date("Y-m-d h:m:s"); + $nextf = date("Y-m-d h:m:s", $tmstp); + $lastm = date("Y-m-d h:m:s", $lastmod); + echo "cur : ". $currenttime ; + echo "lastm : " . $lastmod ; + echo "next 14 day : ".$nextf; + if ($nextf < $currenttime) echo "update"; + else { + echo "not update (otomatis setuju)"; + $sql = "UPDATE penilaian SET id_penilai='$id_penilai' , persetujuan_pegawai='4', persetujuan_atasan_pejabat='9',id_atasan='$id_atasan', modified_at=now() WHERE id_pegawai='$nip'" ; + echo $sql ; + if ($conn->query($sql) === TRUE) { + echo "Record updated successfully"; + } else { + echo "Error updating record: " . $conn->error; + } + //header( 'Location: ../list_persetujuan_penilaian.php' ) ; + //exit(); + } + } + $conn = connect_database(); $id_atasan = getIDAtasan($nip); - $sql = "UPDATE penilaian SET tanggapan='$alasan' , persetujuan_pegawai='3', persetujuan_atasan='9',id_atasan='$id_atasan' WHERE id_pegawai='$nip'" ; + $sql = "UPDATE penilaian SET tanggapan='$alasan' , persetujuan_pegawai='3', persetujuan_atasan_pejabat='9',id_atasan='$id_atasan', modified_at=now() WHERE id_pegawai='$nip'" ; //echo $sql ; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; @@ -99,7 +205,7 @@ function getIDAtasan($nip) { function persetujuanAtasan($nip) { $conn = connect_database(); - $sql = "UPDATE penilaian SET persetujuan_atasan_pejabat='1' WHERE id_pegawai='$nip'" ; + $sql = "UPDATE penilaian SET persetujuan_atasan_pejabat='1', modified_at=now() WHERE id_pegawai='$nip'" ; if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; @@ -112,4 +218,8 @@ function persetujuanAtasan($nip) { } +function checkDays($nip) { + +} + ob_end_flush(); \ No newline at end of file diff --git a/P3/controller/statistik_controller.php b/P3/controller/statistik_controller.php index 059df8c8b77b9fbbf397edf18b4d46151b2b982b..cce7e0411cba387a82b5cbb43388abeac73beba4 100644 --- a/P3/controller/statistik_controller.php +++ b/P3/controller/statistik_controller.php @@ -5,20 +5,28 @@ function getStatistik(){ $skpd = getSKPD(); $penilaian = getPenilaianUnitKerja(); - + $res = array(); + $i = 0; // hitung per skpd foreach ($skpd as $skpd){ - $skpd['sum'] = 0; - $skpd['count'] = 0; + $sum = 0; + $count = 0; + $avg = 0; foreach($penilaian as $n){ - if ($skpd['nama'] == $n['unit_kerja']){ - $skpd['sum'] += $n['nilai']; - $skpd['count']++; + if (strcmp($skpd['nama'], $n['unit_kerja']) == 0) { + $res[$i]['nama'] = $skpd['nama']; + $sum += $n['nilai']; + $count++; } } - $skpd['avg'] = $skpd['sum']/$skpd['count']; + if ($count != 0) { + $avg = $sum/$count; + $res[$i]['avg'] = $avg; + $i++; + } } + return $res; } function getSKPD(){ @@ -66,14 +74,22 @@ function getPenilaianUnitKerja(){ $result = $connp->query($sql); $ret=array(); + $i=0; if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { foreach ($penilaian as $n){ if ($row['nip'] == $n['id_pegawai']){ - $ret[]['unit_kerja'] = $row['unit_kerja']; - $ret[]['nip'] = $n['id_pegawai']; - $ret[]['nilai'] = $n['nilai']; + $ret[$i]['unit_kerja'] = $row['unit_kerja']; + $ret[$i]['nip'] = $n['id_pegawai']; + $ret[$i]['nilai'] = $n['nilai']; + + /*echo $ret[$i]['unit_kerja'] . "<br/>"; + echo $ret[$i]['nip'] . "<br/>"; + echo $ret[$i]['nilai'] . "<br/>";*/ + + $i++; + break; } } diff --git a/P3/index.php b/P3/index.php index f186d2cea0650d2d6fd8b7560eeb85d27997b5ae..bcfa2178dda3971a80747b4deb4ce136e956d5f3 100644 --- a/P3/index.php +++ b/P3/index.php @@ -67,20 +67,20 @@ </div> </div> </div> - <?php require_once 'controller/statistik_controller.php'; - //getStatistik(); ?> <div class="row"> <div class="col-sm-8"> <div class="panel panel-default"> - <div class="panel-heading font-semibold">Chart</div> + <div class="panel-heading font-semibold">Statistik Penilaian per SKPD</div> <div class="bg-dark-grey wrapper pb-zero"> <div class="text-center m-b-n m-t-sm"> <div ui-jq="sparkline" class="sparkline inline" ui-options=" [<?php - //foreach ($skpd as $skpd){ - //echo $skpd['avg'] . ", "; - //} + require_once 'controller/statistik_controller.php'; + $skpd = getStatistik(); + foreach ($skpd as $skpd){ + echo $skpd['avg'] . ", "; + } ?> 0], { type:'bar', @@ -93,6 +93,13 @@ </div> <div class="panel-body no-padder"> <div class="wrapper20 inline full-width"> + Keterangan: + <?php + $skpd = getStatistik(); + foreach ($skpd as $skpd){ + echo "<li>". $skpd['nama'] . "</li>"; + } + ?> </div> </div> </div> diff --git a/P3/lihat_penilaian.php b/P3/lihat_penilaian.php index 0bd23b5b345380902eb447c7f62870d06988c369..744fbb55977209ca37f725eaf4016986a0a09ad2 100644 --- a/P3/lihat_penilaian.php +++ b/P3/lihat_penilaian.php @@ -47,8 +47,25 @@ if ($status_persetujuan==3) { } } } + $last_mod = ""; + $sql = "SELECT modified_at FROM penilaian WHERE id_pegawai='$nip_login'"; + $result = $conn->query($sql); + if ($result->num_rows > 0) { + while($row = $result->fetch_assoc()) { + $last_mod = $row['modified_at']; + } + } - + $alasan=""; + if ($status_persetujuan==2 || $status_persetujuan==3) { + $sql = "SELECT alasan FROM penilaian WHERE id_pegawai='$nip_login'"; + $result = $conn->query($sql); + if ($result->num_rows > 0) { + while($row = $result->fetch_assoc()) { + $alasan = $row['alasan']; + } + } + } ?> @@ -188,18 +205,18 @@ if ($status_persetujuan==3) { <tr> <td>Sasaran Kerja Pegawai (SKP)</td> <td style="text-align:center !important ">60%</td> - <td style="text-align:center !important "><?php echo $_SESSION['nilai_skp']; ?></td> - <td style="text-align:center !important "><?php echo $_SESSION['nilai_skp']*0.6; ?></td> + <td style="text-align:center !important "><?php echo number_format((float)$_SESSION['nilai_skp'], 2, '.', ''); ?></td> + <td style="text-align:center !important "><?php echo number_format((float)$_SESSION['nilai_skp']*0.6, 2, '.', ''); ?></td> </tr> <tr> <td>Perilaku Kerja</td> <td style="text-align:center !important ">40%</td> - <td style="text-align:center !important "><?php echo $_SESSION['nilai_pk']; ?></td> - <td style="text-align:center !important "><?php echo $_SESSION['nilai_pk']*0.4; ?></td> + <td style="text-align:center !important "><?php echo number_format((float)$_SESSION['nilai_pk'], 2, '.', ''); ?></td> + <td style="text-align:center !important "><?php echo number_format((float)$_SESSION['nilai_pk']*0.4, 2, '.', ''); ?></td> </tr> <tr> <td colspan="3" style="text-align:center !important "><b>NILAI AKHIR</b></td> - <td style="text-align:center !important "><b><?php echo $_SESSION['nilai_skp']*0.6 + $_SESSION['nilai_pk']*0.4; ?></b></td> + <td style="text-align:center !important "><b><?php echo number_format((float)($_SESSION['nilai_skp']*0.6 + $_SESSION['nilai_pk']*0.4), 2, '.', '');; ?></b></td> </tbody> </table> </div> @@ -214,11 +231,16 @@ if ($status_persetujuan==3) { <br> <div class="panel-body text-center no-padder"> <?php if ($status_persetujuan==2) { echo "<h4 class=\"text-warning\">Dalam penolakan. Menunggu tangapan pejabat penilai.</h4> " ; } - else if ($status_persetujuan==1 || $status_persetujuan==3) { echo " <h4 class=\"text-success\">Berhasil disetujui</h4>";} + else if ($status_persetujuan==1 || $status_persetujuan==3||$status_persetujuan==4) { echo " <h4 class=\"text-success\">Berhasil disetujui</h4>";} else if ($status_persetujuan==0 ) { echo " <h4 class=\"text-info\">Butuh tanggapan dari anda</h4>";} - echo "<small class=\"text-light-grey block\">Pada 23 April 2016 . . .</small>"; + if ($status_persetujuan !=0) {echo "<small class=\"text-light-grey block\">Pada ". $last_mod ." </small>";} + if ($status_persetujuan==3 || $status_persetujuan==2) { + echo "<br><small class=\"text-light-grey block\">Alasan penolakan : ". $alasan . "</small>"; + } if ($status_persetujuan==3) { echo "<br><small class=\"text-light-grey block\">Dengan tanggapan penolakan : <br> ". $tanggapan . "</small>"; + } else if ($status_persetujuan==4) { + echo "<br><small class=\"text-light-grey block\">Disetujui oleh sistem (tanggapan melewati 14 hari)</small>"; } /*echo "<h4 class=\"text-warning\">Dalam penolakan. Menunggu tangapan pejabat penilai.</h4> " ; echo " <h4 class=\"text-success\">Berhasil disetujui</h4>"; diff --git a/P3/lihat_persetujuan.php b/P3/lihat_persetujuan.php index 94837fb2d836b3c4ed1ebc31a5ed2db12714cb01..4135d56abcf051d2e8ad493f02a4a4770d02d3cd 100644 --- a/P3/lihat_persetujuan.php +++ b/P3/lihat_persetujuan.php @@ -46,6 +46,16 @@ } } } + $alasan=""; + if ($status_persetujuan==2||$status_persetujuan==3) { + $sql = "SELECT alasan FROM penilaian WHERE id_pegawai='$nip_pegawai'"; + $result = $conn->query($sql); + if ($result->num_rows > 0) { + while($row = $result->fetch_assoc()) { + $alasan = $row['alasan']; + } + } + } ?> @@ -88,11 +98,25 @@ <br> <div class="panel-body text-center no-padder"> <?php if ($status_persetujuan==2) { echo "<h4 class=\"text-warning\">Ditolak oleh pegawai. Butuh tanggapan anda.</h4> " ; } - else if ($status_persetujuan==1 || $status_persetujuan==3) { echo " <h4 class=\"text-success\">Berhasil disetujui</h4>";} + else if ($status_persetujuan==1 || $status_persetujuan==3||$status_persetujuan==4) { echo " <h4 class=\"text-success\">Berhasil disetujui</h4>";} else if ($status_persetujuan==0 ) { echo " <h4 class=\"text-info\">Belum ditanggapi oleh pegawai</h4>";} if ($status_persetujuan==3) { + echo "<small class=\"text-light-grey block\">Dengan alasan penolakan : <br> ". $alasan . "</small><br>"; echo "<small class=\"text-light-grey block\">Dengan tanggapan penolakan : <br> ". $tanggapan . "</small>"; + } else if ($status_persetujuan==4) { + echo "<small class=\"text-light-grey block\">Disetujui oleh sistem (Tanggapan melewati 14 hari)</small>"; + } + if ($status_persetujuan==2) { + echo "<br><form role=\"form\" > + <div class=\"form-group\"> + <label>Alasan penolakan</label> + <textarea class=\"form-control\" name=\"alasan2\" id=\"alasan2\"> " . $alasan . "</textarea> + <span class=\"help-block m-b-none\">Berikan tanggapan penolakan anda. Penilaian akan otomatis disetujui oleh sistem setelah tanggapan dikirimkan.</span> + </div> + </form>" ; + + } $action_ = "controller/persetujuan_controller.php?func=4&nip=" .$nip_pegawai ; if ($status_persetujuan==2) { @@ -147,6 +171,6 @@ <script src="js/ui-nav.js"></script> <script src="js/ui-toggle.js"></script> <script src="js/ui-client.js"></script> - +<script> document.getElementById("alasan2").readOnly = true; </script> </body> </html> diff --git a/penilaian_performansi_20160517(3).sql b/penilaian_performansi_20160517(3).sql index 65dcaf24de6b84ea8cc343755362744cb0207f70..fdbf1e7af264f8db712ba25485f1a088f8ac8cb1 100644 --- a/penilaian_performansi_20160517(3).sql +++ b/penilaian_performansi_20160517(3).sql @@ -20,6 +20,9 @@ SET time_zone = "+00:00"; -- Database: `penilaian_performansi` -- +CREATE DATABASE IF NOT EXISTS penilaian_performansi; +USE penilaian_performansi; + -- -------------------------------------------------------- --