From 7c5a4cfb8052544b8cadc108f5fac1750266f7e8 Mon Sep 17 00:00:00 2001
From: tamadamanik <tama.damanik@gmail.com>
Date: Tue, 17 May 2016 21:29:16 +0700
Subject: [PATCH] Persetujuan dengan validasi hari

---
 P3/controller/persetujuan_controller.php | 120 ++++++++++++++++++++++-
 P3/lihat_penilaian.php                   |  28 +++++-
 P3/lihat_persetujuan.php                 |  28 +++++-
 3 files changed, 166 insertions(+), 10 deletions(-)

diff --git a/P3/controller/persetujuan_controller.php b/P3/controller/persetujuan_controller.php
index 7cf222e..56496c1 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/lihat_penilaian.php b/P3/lihat_penilaian.php
index 0bd23b5..20d905f 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'];
+      }
+  } 
+  } 
 ?>
 
 
@@ -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 94837fb..4135d56 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>
-- 
GitLab