Compare commits
	
		
			27 Commits
		
	
	
		
			f69ef32f84
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| aa2e02beac | |||
| a74010325f | |||
| e9e2b81cf0 | |||
| ba9a8c4a4a | |||
| b3ae073d01 | |||
| 92c069d852 | |||
| c3f9afc61e | |||
| 4b1b65b38b | |||
| a90441e9fd | |||
| 5d9fe2757d | |||
| a61d246486 | |||
| f9648cd682 | |||
| bb2c95c2b6 | |||
| 6893788bd2 | |||
| 6b1e3c979e | |||
| e96358d652 | |||
| 27492fc088 | |||
| ca530ec17c | |||
| 72f311aaff | |||
| 0923f5e0e0 | |||
| 822c2e8af9 | |||
| c830d3f90c | |||
| 9315a92fce | |||
| b3185f966c | |||
| 420873584e | |||
| 5be3e83f66 | |||
| 7f5bf9acdc | 
							
								
								
									
										8
									
								
								fixingcheckinlate.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										8
									
								
								fixingcheckinlate.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @ -66,7 +66,7 @@ class LogController | ||||
|         $qry="select t.endtimestr,a.*  | ||||
|               from tbl_employee e inner join tbl_attendanceemployee a on e._idx=a.idxemployee | ||||
|                                   inner join tbl_attendancethreshold t on e.idxdept=t.idxdept and t.attendancename=a.attendancename and a.shiftcode=t.shiftcode | ||||
|               where a.isdeleted=0 and t.isdeleted=0 and e.isdeleted=0 and t.attendancename='IN'"; | ||||
|               where a.isdeleted=0 and t.isdeleted=0 and e.isdeleted=0 and t.attendancename='IN' and cast(a.dates as date)=cast(now() as date)"; | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         if($rs){ | ||||
|             while($rw=$rs->fetch()){ | ||||
| @ -87,10 +87,10 @@ class LogController | ||||
|                 } | ||||
|             } | ||||
|             // === Update tbl_attendancelist for lateemployee | ||||
|             // $qry="update tbl_attendancelist t, tbl_attendanceemployee a set t.lateperemployee=a.totallateperemp | ||||
|             //       where a._idx=t.idxattendance and a.totallateperemp<>t.lateperemployee"; | ||||
|             $qry="update tbl_attendancelist t, tbl_attendanceemployee a set t.lateperemployee=a.totallateperemp | ||||
|                   where a._idx=t.idxattendance and a.totallateperemp<>t.lateperemployee and cast(a.dates as date)=cast(now() as date)"; | ||||
|             // echo $qry."\n"; | ||||
|             // $this->executeSP($qry); | ||||
|             $this->executeSP($qry); | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
							
								
								
									
										114
									
								
								fixingcheckinlatebydate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								fixingcheckinlatebydate.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,114 @@ | ||||
|  | ||||
| <?php | ||||
| include('zklib/ZKLib.php'); | ||||
|  | ||||
| class LogController | ||||
| { | ||||
|     // $ppHCMTT#2024 | ||||
|  | ||||
|     public function fn_getconn(){ | ||||
|         $pdo = new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$ppHCMTT#2024"); | ||||
|         return $pdo; | ||||
|     } | ||||
|     public function selectquerySP($sql){ | ||||
|         // $pdo = new PDO("mysql:host=".DB_HOST_NAME.";dbname=".DB_IMS, DB_USER_NAME, DB_USER_PASS); | ||||
|         $pdo = $this->fn_getconn(); //new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$pp"); | ||||
|         $q = $pdo->query($sql); | ||||
|         $q->setFetchMode(PDO::FETCH_ASSOC); | ||||
|         return $q; | ||||
|     } | ||||
|  | ||||
|     public function executeSP($qry){ | ||||
|         $rtn=false; | ||||
|         $pdo = $this->fn_getconn(); | ||||
|         $statement = $pdo->prepare($qry); | ||||
|         if($statement->execute()){ | ||||
|             $rtn=true; | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
|     public function fn_getfieldvalue($fieldname,$qry){ | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         $rtn=""; | ||||
|         if($rs){ | ||||
|             // $rw=$rs->fetch(); | ||||
|             // $rtn=$rw[$fieldname]; | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $rtn=$rw[$fieldname]; | ||||
|             } | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|      | ||||
|     public function fn_getfieldsvalues($fieldname,$qry){ | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         $rtn=""; | ||||
|         if($rs){ | ||||
|             // $rw=$rs->fetch(); | ||||
|             // $rtn=$rw[$fieldname]; | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $d=explode(",",$fieldname); | ||||
|                 for($i=0;$i<count($d);$i++){ | ||||
|                     $rtn.=$rw[$d[$i]].","; | ||||
|                 } | ||||
|                  | ||||
|             } | ||||
|             // echo $rtn;return false; | ||||
|             $rtn=substr($rtn,0,strlen($rtn)-1); | ||||
|         } | ||||
|         return explode(",",$rtn); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public function index(){ | ||||
|         $argv=$_SERVER['argv']; | ||||
|         $rtn=false; | ||||
|         $qry="select t.endtimestr,a.*  | ||||
|               from tbl_employee e inner join tbl_attendanceemployee a on e._idx=a.idxemployee | ||||
|                                   inner join tbl_attendancethreshold t on e.idxdept=t.idxdept and t.attendancename=a.attendancename and a.shiftcode=t.shiftcode | ||||
|               where a.isdeleted=0 and t.isdeleted=0 and e.isdeleted=0 and t.attendancename='IN' and cast(a.dates as date)=cast('".$argv[1]."' as date)"; | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         if($rs){ | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $dates=date("Y-m-d", strtotime($rw['dates'])); | ||||
|                 $datestimes=date("Y-m-d H:i", strtotime($rw['datestimes'])); | ||||
|                 $time1=strtotime($dates." ".$rw['endtimestr']); | ||||
|                 $time2=strtotime($datestimes); | ||||
|                 $totaldur=0; | ||||
|                 if($time2>$time1){ | ||||
|                     $totaldur=round(($time2 - $time1) / 60,2); | ||||
|                 } | ||||
|                 echo $rw['_idx']." ".$rw['totallateperemp']." ".$totaldur."\n"; | ||||
|                 if($rw['totallateperemp']!=$totaldur){ | ||||
|                     echo $rw['_idx']." ".$rw['datestimes']." ".$rw['endtimestr']." ".$rw['totallateperemp']."=".$totaldur."\n"; | ||||
|                  | ||||
|                     $qry="update tbl_attendanceemployee set totallateperemp='$totaldur',totallateperempr2=0 where _idx='".$rw['_idx']."'"."\n"; | ||||
|                     $this->executeSP($qry); | ||||
|                 } | ||||
|             } | ||||
|             // === Update tbl_attendancelist for lateemployee | ||||
|             $qry="update tbl_attendancelist t, tbl_attendanceemployee a set t.lateperemployee=a.totallateperemp | ||||
|                   where a._idx=t.idxattendance and a.totallateperemp<>t.lateperemployee and cast(a.dates as date)=cast('".$argv[1]."' as date)"; | ||||
|             // echo $qry."\n"; | ||||
|             $this->executeSP($qry); | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| $cl = new LogController(); | ||||
| $rtn =$cl->index(); | ||||
|  | ||||
| #if(isset($_REQUEST['isgetdata'])){ | ||||
| #   echo "indx"; | ||||
| #    $rtn = $cl->index(); | ||||
| #} | ||||
| #else{ | ||||
| #    $rtn = $cl->fn_curl(); | ||||
| #} | ||||
|  | ||||
| echo $rtn; | ||||
							
								
								
									
										0
									
								
								fixingcheckout.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								fixingcheckout.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										113
									
								
								fixingcheckoutbydate.php
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										113
									
								
								fixingcheckoutbydate.php
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,113 @@ | ||||
|  | ||||
| <?php | ||||
| include('zklib/ZKLib.php'); | ||||
|  | ||||
| class LogController | ||||
| { | ||||
|     // $ppHCMTT#2024 | ||||
|  | ||||
|     public function fn_getconn(){ | ||||
|         $pdo = new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$ppHCMTT#2024"); | ||||
|         return $pdo; | ||||
|     } | ||||
|     public function selectquerySP($sql){ | ||||
|         // $pdo = new PDO("mysql:host=".DB_HOST_NAME.";dbname=".DB_IMS, DB_USER_NAME, DB_USER_PASS); | ||||
|         $pdo = $this->fn_getconn(); //new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$pp"); | ||||
|         $q = $pdo->query($sql); | ||||
|         $q->setFetchMode(PDO::FETCH_ASSOC); | ||||
|         return $q; | ||||
|     } | ||||
|  | ||||
|     public function executeSP($qry){ | ||||
|         $rtn=false; | ||||
|         $pdo = $this->fn_getconn(); | ||||
|         $statement = $pdo->prepare($qry); | ||||
|         if($statement->execute()){ | ||||
|             $rtn=true; | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
|     public function fn_getfieldvalue($fieldname,$qry){ | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         $rtn=""; | ||||
|         if($rs){ | ||||
|             // $rw=$rs->fetch(); | ||||
|             // $rtn=$rw[$fieldname]; | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $rtn=$rw[$fieldname]; | ||||
|             } | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|      | ||||
|     public function fn_getfieldsvalues($fieldname,$qry){ | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         $rtn=""; | ||||
|         if($rs){ | ||||
|             // $rw=$rs->fetch(); | ||||
|             // $rtn=$rw[$fieldname]; | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $d=explode(",",$fieldname); | ||||
|                 for($i=0;$i<count($d);$i++){ | ||||
|                     $rtn.=$rw[$d[$i]].","; | ||||
|                 } | ||||
|                  | ||||
|             } | ||||
|             // echo $rtn;return false; | ||||
|             $rtn=substr($rtn,0,strlen($rtn)-1); | ||||
|         } | ||||
|         return explode(",",$rtn); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public function index(){ | ||||
|         $argv=$_SERVER['argv']; | ||||
|         // echo $argv[1];return false; | ||||
|         $date=(isset($argv[1]) ? $argv[1] : ""); | ||||
|  | ||||
|         if(!$date){ | ||||
|             echo "Parameter tanggal belum dimasukkan \n";return false; | ||||
|         }         | ||||
|          | ||||
|         $rtn=false; | ||||
|         //$qry="select * from tbl_attendancelist where isdeleted=0 and nik in('000188','000162','000453','000737')"; | ||||
|         $qry="select * from tbl_attendancelist where (cast(idt as date)=cast('$date' as date) and isdeleted=0) or duration is null"; | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         if($rs){ | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $idxdept=$rw['idxdept']; | ||||
|                 if($idxdept==33||$idxdept==34||$idxdept==30||$idxdept==31||$idxdept==22){ | ||||
|                     $qry="update tbl_attendancelist  | ||||
|                           set duration=SEC_TO_TIME(TIMESTAMPDIFF(SECOND,checkin,checkout))  | ||||
|                           where _idx='".$rw["_idx"]."'";       | ||||
|                 } | ||||
|                 else{ | ||||
|                     $qry="update tbl_attendancelist  | ||||
|                           set duration=SEC_TO_TIME(TIMESTAMPDIFF(SECOND,checkin,R1)+TIMESTAMPDIFF(SECOND,R2,checkout))  | ||||
|                           where _idx='".$rw["_idx"]."'";   | ||||
|                 } | ||||
|                 echo $qry."\n"; | ||||
|                 $this->executeSP($qry); | ||||
|  | ||||
|             } | ||||
|         } | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| $cl = new LogController(); | ||||
| $rtn =$cl->index(); | ||||
|  | ||||
| #if(isset($_REQUEST['isgetdata'])){ | ||||
| #   echo "indx"; | ||||
| #    $rtn = $cl->index(); | ||||
| #} | ||||
| #else{ | ||||
| #    $rtn = $cl->fn_curl(); | ||||
| #} | ||||
|  | ||||
| echo $rtn; | ||||
							
								
								
									
										7
									
								
								fixingr2late.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										7
									
								
								fixingr2late.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @ -66,7 +66,8 @@ class LogController | ||||
|         $qry="select t.endtimestr,a.*  | ||||
|               from tbl_employee e inner join tbl_attendanceemployee a on e._idx=a.idxemployee | ||||
|                                   inner join tbl_attendancethreshold t on e.idxdept=t.idxdept and t.attendancename=a.attendancename and a.shiftcode=t.shiftcode | ||||
|               where a.isdeleted=0 and t.isdeleted=0 and e.isdeleted=0 and a.attendancename='R2'"; | ||||
|               where a.isdeleted=0 and t.isdeleted=0 and e.isdeleted=0 and a.attendancename='R2' | ||||
|                     and cast(a.dates as date)=cast(now() as date)"; | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         if($rs){ | ||||
|             while($rw=$rs->fetch()){ | ||||
| @ -86,6 +87,10 @@ class LogController | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         $qry="update tbl_attendancelist t, tbl_attendanceemployee a set t.lateperemployeer2=a.totallateperempr2 | ||||
|                 where a._idx=t.idxattendance and a.totallateperempr2<>t.lateperemployeer2 and cast(a.dates as date)=cast(now() as date)"; | ||||
|         // echo $qry."\n"; | ||||
|         $this->executeSP($qry); | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
|  | ||||
							
								
								
									
										113
									
								
								fixingr2latebydate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								fixingr2latebydate.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,113 @@ | ||||
|  | ||||
| <?php | ||||
| include('zklib/ZKLib.php'); | ||||
|  | ||||
| class LogController | ||||
| { | ||||
|     // $ppHCMTT#2024 | ||||
|  | ||||
|     public function fn_getconn(){ | ||||
|         $pdo = new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$ppHCMTT#2024"); | ||||
|         return $pdo; | ||||
|     } | ||||
|     public function selectquerySP($sql){ | ||||
|         // $pdo = new PDO("mysql:host=".DB_HOST_NAME.";dbname=".DB_IMS, DB_USER_NAME, DB_USER_PASS); | ||||
|         $pdo = $this->fn_getconn(); //new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$pp"); | ||||
|         $q = $pdo->query($sql); | ||||
|         $q->setFetchMode(PDO::FETCH_ASSOC); | ||||
|         return $q; | ||||
|     } | ||||
|  | ||||
|     public function executeSP($qry){ | ||||
|         $rtn=false; | ||||
|         $pdo = $this->fn_getconn(); | ||||
|         $statement = $pdo->prepare($qry); | ||||
|         if($statement->execute()){ | ||||
|             $rtn=true; | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
|     public function fn_getfieldvalue($fieldname,$qry){ | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         $rtn=""; | ||||
|         if($rs){ | ||||
|             // $rw=$rs->fetch(); | ||||
|             // $rtn=$rw[$fieldname]; | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $rtn=$rw[$fieldname]; | ||||
|             } | ||||
|         } | ||||
|         return $rtn; | ||||
|     } | ||||
|      | ||||
|     public function fn_getfieldsvalues($fieldname,$qry){ | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         $rtn=""; | ||||
|         if($rs){ | ||||
|             // $rw=$rs->fetch(); | ||||
|             // $rtn=$rw[$fieldname]; | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $d=explode(",",$fieldname); | ||||
|                 for($i=0;$i<count($d);$i++){ | ||||
|                     $rtn.=$rw[$d[$i]].","; | ||||
|                 } | ||||
|                  | ||||
|             } | ||||
|             // echo $rtn;return false; | ||||
|             $rtn=substr($rtn,0,strlen($rtn)-1); | ||||
|         } | ||||
|         return explode(",",$rtn); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     public function index(){ | ||||
|         $argv=$_SERVER['argv']; | ||||
|         $rtn=false; | ||||
|         $qry="select t.endtimestr,a.*  | ||||
|               from tbl_employee e inner join tbl_attendanceemployee a on e._idx=a.idxemployee | ||||
|                                   inner join tbl_attendancethreshold t on e.idxdept=t.idxdept and t.attendancename=a.attendancename and a.shiftcode=t.shiftcode | ||||
|               where a.isdeleted=0 and t.isdeleted=0 and e.isdeleted=0 and a.attendancename='R2' | ||||
|                     and cast(a.dates as date)=cast('".$argv[1]."' as date)"; | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         if($rs){ | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $dates=date("Y-m-d", strtotime($rw['dates'])); | ||||
|                 $datestimes=date("Y-m-d H:i", strtotime($rw['datestimes'])); | ||||
|                 $time1=strtotime($dates." ".$rw['endtimestr']); | ||||
|                 $time2=strtotime($datestimes); | ||||
|                 $totaldur=0; | ||||
|                 if($time2>$time1){ | ||||
|                     $totaldur=round(($time2 - $time1) / 60,2); | ||||
|                 } | ||||
|                 if($rw['totallateperempr2']!=$totaldur){ | ||||
|                     echo $rw['_idx']." ".$rw['datestimes']." ".$rw['endtimestr']." ".$rw['totallateperempr2']."=".$totaldur."\n"; | ||||
|                  | ||||
|                     $qry="update tbl_attendanceemployee set totallateperemp=0,totallateperempr2='$totaldur' where _idx='".$rw['_idx']."'"; | ||||
|                     $this->executeSP($qry); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         $qry="update tbl_attendancelist t, tbl_attendanceemployee a set t.lateperemployeer2=a.totallateperempr2 | ||||
|                 where a._idx=t.idxattendance and a.totallateperempr2<>t.lateperemployeer2 and cast(a.dates as date)=cast('".$argv[1]."' as date)"; | ||||
|         // echo $qry."\n"; | ||||
|         $this->executeSP($qry); | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| $cl = new LogController(); | ||||
| $rtn =$cl->index(); | ||||
|  | ||||
| #if(isset($_REQUEST['isgetdata'])){ | ||||
| #   echo "indx"; | ||||
| #    $rtn = $cl->index(); | ||||
| #} | ||||
| #else{ | ||||
| #    $rtn = $cl->fn_curl(); | ||||
| #} | ||||
|  | ||||
| echo $rtn; | ||||
							
								
								
									
										0
									
								
								getattsync.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								getattsync.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								getattsync2.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								getattsync2.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										64
									
								
								getattsyncbydate.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										64
									
								
								getattsyncbydate.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @ -100,6 +100,10 @@ class LogController | ||||
|         if($rs){ | ||||
|             echo "start time : ".date("Y-m-d H:i:s")."\n"; | ||||
|             while($rw=$rs->fetch()){ | ||||
|                 $swhereshiftcode=""; | ||||
|                 if($rw['shiftcode']&&$rw['idxdept']==22){ | ||||
|                     $swhereshiftcode="and shiftcode='".$rw['shiftcode']."'"; | ||||
|                 } | ||||
|                 if($rw['idxdept']==30){  // === only call center department | ||||
|                     if($rw['attendancename']=='IN'){ | ||||
|                         $qry="insert into tbl_attendancelist | ||||
| @ -108,13 +112,13 @@ class LogController | ||||
|                                   officename='".$rw['officename']."',idxdept='".$rw['idxdept']."',divisiname='".$rw['divisiname']."', | ||||
|                                   serviconame='".$rw['serviconame']."',dates='".$rw['dates']."',checkin='".$rw['datestimes']."', | ||||
|                                   islates='".$rw['islates']."',months='".$rw['months']."',years='".$rw['years']."', | ||||
|                                   shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."', | ||||
|                                   deviceidcheckin='".$rw['deviceidcheckin']."',deviceidcheckout='".$rw['deviceidcheckout']."', | ||||
|                                   shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."',lateperemployeer2='".$rw['lateperemployeer2']."', | ||||
|                                   deviceidcheckin='".$rw['deviceidcheckin']."', | ||||
|                                   iby='svc',idt='".$rw['datestimes']."'"; | ||||
|  | ||||
|                         $qrychk="select _idx from tbl_attendancelist | ||||
|                                   where idxemployee='".$rw['idxemployee']."' and cast(dates as date)=cast('".date("Y-m-d",strtotime($rw['dates']))."' as date)  | ||||
|                                         and isdeleted=0 order by _idx desc limit 1"; | ||||
|                                         $swhereshiftcode and isdeleted=0 order by _idx desc limit 1"; | ||||
|                         if($this->fn_rowisexists($qrychk)){ | ||||
|                             $qry=""; | ||||
|                         } | ||||
| @ -125,7 +129,7 @@ class LogController | ||||
|                         $qrychk="select _idx from tbl_attendancelist  | ||||
|                                  where idxemployee='".$rw['idxemployee']."'  | ||||
|                                         and cast(checkin as date)=cast('".date("Y-m-d",strtotime($rw['datestimes']))."' as date) | ||||
|                                         and (checkout is null) | ||||
|                                         $swhereshiftcode and (checkout is null) | ||||
|                                         and isdeleted=0 order by _idx desc limit 1"; | ||||
|                         // echo $qrychk;//return false; | ||||
|  | ||||
| @ -133,13 +137,13 @@ class LogController | ||||
|                         if($_idx){ | ||||
|                             $qry="update tbl_attendancelist  | ||||
|                                   set checkout='".$rw['datestimes']."',deviceidcheckout='".$rw['deviceidcheckout']."' | ||||
|                                   where _idx='$_idx' "; | ||||
|                                   where _idx='$_idx' and UNIX_TIMESTAMP('".date("Y-m-d H:i:s",strtotime($rw['datestimes']))."')>UNIX_TIMESTAMP(checkin)"; | ||||
|                             $qryduration="update tbl_attendancelist  | ||||
|                                             set duration=SEC_TO_TIME(TIMESTAMPDIFF(SECOND,checkin,checkout))  | ||||
|                                             where _idx='$_idx'"; | ||||
|                             $qrychk="select _idx from tbl_attendancelist  | ||||
|                                      where cast(checkout as date)=cast('".date("Y-m-d",strtotime($rw['datestimes']))."' as date)  | ||||
|                                            and idxemployee='".$rw['idxemployee']."' and isdeleted=0  | ||||
|                                            $swhereshiftcode and idxemployee='".$rw['idxemployee']."' and isdeleted=0  | ||||
|                                      order by _idx desc limit 1"; | ||||
|                             if($this->fn_rowisexists($qrychk)){ | ||||
|                                 $qry="";$qryduration=""; | ||||
| @ -152,19 +156,21 @@ class LogController | ||||
|                             $qrychk="select _idx from tbl_attendancelist  | ||||
|                                      where idxemployee='".$rw['idxemployee']."'  | ||||
|                                            and cast(checkin as date)=date_sub('".date("Y-m-d",strtotime($rw['datestimes']))."', INTERVAL 1 day) and checkout is null | ||||
|                                            and isdeleted=0 order by _idx desc limit 1"; | ||||
|                                            $swhereshiftcode and isdeleted=0 order by _idx desc limit 1"; | ||||
|  | ||||
|                             // echo $qrychk;return false; | ||||
|                             $_idx=$this->fn_getfieldvalue("_idx",$qrychk); | ||||
|                             if($_idx){ | ||||
|                                 $qry="update tbl_attendancelist set checkout='".$rw['datestimes']."' where _idx='$_idx' and checkout is null"; | ||||
|                                 $qry="update tbl_attendancelist  | ||||
|                                       set checkout='".$rw['datestimes']."',deviceidcheckout='".$rw['deviceidcheckout']."' | ||||
|                                       where _idx='$_idx' and (UNIX_TIMESTAMP('".date("Y-m-d H:i:s",strtotime($rw['datestimes']))."')>UNIX_TIMESTAMP(checkin)) and checkout is null"; | ||||
|                                 // $qry="update tbl_attendancelist set checkout='".$rw['datestimes']."' where _idx='$_idx'"; | ||||
|                                 $qryduration="update tbl_attendancelist  | ||||
|                                                 set duration=SEC_TO_TIME(TIMESTAMPDIFF(SECOND,checkin,checkout))  | ||||
|                                                 where _idx='$_idx'"; | ||||
|                                 $qrychk="select _idx from tbl_attendancelist  | ||||
|                                          where cast(checkout as date)=cast('".date("Y-m-d",strtotime($rw['datestimes']))."' as date)  | ||||
|                                              and idxemployee='".$rw['idxemployee']."' and isdeleted=0  | ||||
|                                              $swhereshiftcode and idxemployee='".$rw['idxemployee']."' and isdeleted=0  | ||||
|                                          order by _idx desc limit 1"; | ||||
|                                 if($this->fn_rowisexists($qrychk)){ | ||||
|                                     $qry="";$qryduration=""; | ||||
| @ -192,7 +198,7 @@ class LogController | ||||
|                 else{ // === Non call center dept | ||||
|                     if($rw['attendancename']=='IN'){$attfield="checkin='".$rw['datestimes']."',";} | ||||
|                     if($rw['attendancename']=='R1'){$attfield="R1='".$rw['datestimes']."',";} | ||||
|                     if($rw['attendancename']=='R2'){$attfield="R2='".$rw['datestimes']."',";} | ||||
|                     if($rw['attendancename']=='R2'){$attfield="R2='".$rw['datestimes']."',lateperemployeer2='".$rw['lateperemployeer2']."',";} | ||||
|                     if($rw['attendancename']=='OUT'){$attfield="checkout='".$rw['datestimes']."',";} | ||||
|  | ||||
|                     $qry="insert into tbl_attendancelist  | ||||
| @ -201,36 +207,48 @@ class LogController | ||||
|                                 officename='".$rw['officename']."',idxdept='".$rw['idxdept']."',divisiname='".$rw['divisiname']."', | ||||
|                                 serviconame='".$rw['serviconame']."',dates='".$rw['dates']."',".$attfield." | ||||
|                                 islates='".$rw['islates']."',months='".$rw['months']."',years='".$rw['years']."', | ||||
|                                 shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."', | ||||
|                                 deviceidcheckin='".$rw['deviceidcheckin']."',deviceidcheckout='".$rw['deviceidcheckout']."', | ||||
|                                 shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."',lateperemployeer2='".$rw['lateperemployeer2']."', | ||||
|                                 deviceidcheckin='".$rw['deviceidcheckin']."', | ||||
|                                 iby='svc',idt='".$rw['datestimes']."'"; | ||||
|  | ||||
|                     $qrychk="select _idx,checkin,checkout,lateperemployee from tbl_attendancelist  | ||||
|                              where idxemployee='".$rw['idxemployee']."' and cast(dates as date)=cast('".date("Y-m-d",strtotime($rw['dates']))."' as date) and isdeleted=0 order by _idx desc limit 1"; | ||||
|                              where idxemployee='".$rw['idxemployee']."' and cast(dates as date)=cast('".date("Y-m-d",strtotime($rw['dates']))."' as date)  | ||||
|                                     $swhereshiftcode and isdeleted=0 order by _idx desc limit 1"; | ||||
|                     if($this->fn_rowisexists($qrychk)){ | ||||
|                         // $_idx=$this->fn_getfieldvalue("_idx",$qrychk); | ||||
|                         $sp=$this->fn_getfieldsvalues("_idx,checkin,checkout,lateperemployee", $qrychk); | ||||
|                         $_idx=$sp[0];$checkin=$sp[1];$checkout=$sp[2];$lateperemployee=$sp[3]; | ||||
|                         $laterperemployeefield=""; | ||||
|  | ||||
|                         if(!$lateperemployee){ | ||||
|                             $laterperemployeefield="lateperemployee='".$rw['lateperemployee']."',"; | ||||
|                         } | ||||
|                         // if(!$lateperemployee){ | ||||
|                         //     $laterperemployeefield="lateperemployee='".$rw['lateperemployee']."',"; | ||||
|                         // } | ||||
|  | ||||
|                         $qry="update tbl_attendancelist  | ||||
|                               set ".$attfield.$laterperemployeefield."uby='svc',udt='".$rw['datestimes']."' | ||||
|                               where _idx='$_idx'"; | ||||
|                         if($rw['attendancename']=='IN'&&$checkin!=null){ | ||||
|                             $qry="update tbl_attendancelist  | ||||
|                                     set uby='svc',udt='".$rw['datestimes']."' | ||||
|                                     where _idx='$_idx'"; | ||||
|                                   set uby='svc',udt='".$rw['datestimes']."' | ||||
|                                   where _idx='$_idx'"; | ||||
|                         } | ||||
|                         if($rw['attendancename']=='OUT'){ | ||||
|                             $qry="update tbl_attendancelist  | ||||
|                                     set ".$attfield."uby='svc',udt='".$rw['datestimes']."',deviceidcheckout='".$rw['deviceidcheckout']."'                                         | ||||
|                                     where _idx='$_idx' and  UNIX_TIMESTAMP('".date("Y-m-d H:i:s",strtotime($rw['datestimes']))."')>UNIX_TIMESTAMP(checkin)";                             | ||||
|                             $qryduration="update tbl_attendancelist  | ||||
|                                             set duration=SEC_TO_TIME(TIMESTAMPDIFF(SECOND,checkin,checkout))  | ||||
|                                             where _idx='$_idx'"; | ||||
|                                   set ".$attfield."uby='svc',udt='".$rw['datestimes']."',deviceidcheckout='".$rw['deviceidcheckout']."' | ||||
|                                   where _idx='$_idx' and  UNIX_TIMESTAMP('".date("Y-m-d H:i:s",strtotime($rw['datestimes']))."')>UNIX_TIMESTAMP(checkin)";                             | ||||
|                            | ||||
|                             $idxdept=$rw['idxdept']; | ||||
|                             if($idxdept==33||$idxdept==34||$idxdept==30||$idxdept==22){ | ||||
|                                 $qryduration="update tbl_attendancelist  | ||||
|                                               set duration=SEC_TO_TIME(TIMESTAMPDIFF(SECOND,checkin,checkout))  | ||||
|                                                where _idx='$_idx'"; | ||||
|                             } | ||||
|                             else{ | ||||
|                                 $qryduration="update tbl_attendancelist  | ||||
|                                               set duration=SEC_TO_TIME(TIMESTAMPDIFF(SECOND,checkin,R1)+TIMESTAMPDIFF(SECOND,R2,checkout))  | ||||
|                                               where _idx='$_idx'"; | ||||
|  | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
|  | ||||
							
								
								
									
										0
									
								
								getdatadevices.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								getdatadevices.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								getdatadevices2.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								getdatadevices2.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								getdatadevicesbydate.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								getdatadevicesbydate.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										10
									
								
								getdatadevicesbyip.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										10
									
								
								getdatadevicesbyip.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @ -82,8 +82,8 @@ class LogController | ||||
|  | ||||
|     public function index() | ||||
|     { | ||||
|         $ip = "192.168.100.76"; //$row['deviceip']; | ||||
|         $qry="select * from tbl_deviceinfo where _idx=36 and isdeleted=0 order by _idx asc"; | ||||
|         $ip = "172.16.116.5"; //$row['deviceip']; | ||||
|         $qry="select * from tbl_deviceinfo where isreprocess=1 and isdeleted=0 order by _idx asc"; | ||||
|         #echo $qry; | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         if($rs){ | ||||
| @ -107,7 +107,7 @@ class LogController | ||||
|                         $data = []; | ||||
|                         foreach ($getData as $att) { | ||||
|                             // echo date("Y-m-d", strtotime($att['timestamp'])); | ||||
|                             if (date("Y-m-d", strtotime($att['timestamp'])) == date("Y-m-d")) { | ||||
|                             if (date("Y-m-d", strtotime($att['timestamp'])) == date("Y-m-d",strtotime($rw['reprocessdate']))) { | ||||
|                                 // $data[] = [ | ||||
|                                 //     "idUser" => $att['id'], | ||||
|                                 //     "name" => isset($users[$att['id']]) ? $users[$att['id']]['name'] : $att['id'], | ||||
| @ -117,12 +117,12 @@ class LogController | ||||
|                                 //     "deviceIP" => $ip | ||||
|                                 // ]; | ||||
|                                 // echo json_encode($att)."\n"; | ||||
|                                 $res=$this->fn_setattendance($att, $ip); | ||||
|                                 // $res=$this->fn_setattendance($att, $ip); | ||||
|                                 $reslog=$this->fn_setattendancelogs($att, $ip); | ||||
|                                 $data[] = [ | ||||
|                                     "fingerid" => $att['id'], | ||||
|                                     "time" =>  date("Y-m-d H:i:s", strtotime($att['timestamp'])), | ||||
|                                     "status" => $res | ||||
|                                     "status" => $reslog | ||||
|                                 ]; | ||||
|                             } | ||||
|                         } | ||||
|  | ||||
							
								
								
									
										35
									
								
								getdatadevicesbylogs.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										35
									
								
								getdatadevicesbylogs.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @ -78,16 +78,22 @@ class LogController | ||||
|         $argv=$_SERVER['argv']; | ||||
|         // echo $argv[1];return false; | ||||
|         $qry="select * from tbl_attendancelogs  | ||||
|               where cast(dates as date)=cast(now() as date) | ||||
|               where cast(dates as date)=cast(now() as date) and isprocess=0 | ||||
|               order by _idx asc"; | ||||
|         $rs=$this->selectquerySP($qry); | ||||
|         if($rs){ | ||||
|             $d=array(); | ||||
|             while($rw=$rs->fetch()){       | ||||
|                 echo "start time : ".date("Y-m-d H:i:s")."\n"; | ||||
|                 $d['timestamp']=date("Y-m-d H:i:s", strtotime($rw['dates'].' '.$rw['times'])); | ||||
|                 $d['id']=$rw['fingerid']; | ||||
|                 echo "start time : ".date("Y-m-d H:i:s")." Process dates ".$d['timestamp'].", FingerId : ".$rw['fingerid']." \n"; | ||||
|                  | ||||
|                 $res=$this->fn_setattendance($d, $rw['deviceip']); | ||||
|                 if($res){ | ||||
|                     $qryupdate="update tbl_attendancelogs set isprocess=1,processdate=now() where _idx='".$rw['_idx']."'"; | ||||
|                     // echo $qryupdate."\n"; | ||||
|                     $this->executeSP($qryupdate); | ||||
|                 } | ||||
|                 echo "End time : ".date("Y-m-d H:i:s")."\n\n"; | ||||
|  | ||||
|             } | ||||
| @ -638,13 +644,22 @@ class LogController | ||||
|                     if($rw['attendancename']=='R2'){$attfield="R2='".$rw['datestimes']."',lateperemployeer2='".$rw['lateperemployeer2']."',";} | ||||
|                     if($rw['attendancename']=='OUT'){$attfield="checkout='".$rw['datestimes']."',";} | ||||
|  | ||||
|                     // $qry="insert into tbl_attendancelist  | ||||
|                     //         set idxattendance='".$rw['_idx']."',idxemployee='".$rw['idxemployee']."',nik='".$rw['nik']."', | ||||
|                     //             employeename='".$rw['employeename']."',title='".$rw['title']."',levelname='".$rw['levelname']."', | ||||
|                     //             officename='".$rw['officename']."',idxdept='".$rw['idxdept']."',divisiname='".$rw['divisiname']."', | ||||
|                     //             serviconame='".$rw['serviconame']."',dates='".$rw['dates']."',".$attfield." | ||||
|                     //             islates='".$rw['islates']."',months='".$rw['months']."',years='".$rw['years']."', | ||||
|                     //             shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."',lateperemployeer2='".$rw['lateperemployeer2']."', | ||||
|                     //             deviceidcheckin='".$rw['deviceidcheckin']."', | ||||
|                     //             iby='svc',idt='".$rw['datestimes']."'"; | ||||
|                     $qry="insert into tbl_attendancelist  | ||||
|                             set idxattendance='".$rw['_idx']."',idxemployee='".$rw['idxemployee']."',nik='".$rw['nik']."', | ||||
|                                 employeename='".$rw['employeename']."',title='".$rw['title']."',levelname='".$rw['levelname']."', | ||||
|                                 officename='".$rw['officename']."',idxdept='".$rw['idxdept']."',divisiname='".$rw['divisiname']."', | ||||
|                                 serviconame='".$rw['serviconame']."',dates='".$rw['dates']."',".$attfield." | ||||
|                                 islates='".$rw['islates']."',months='".$rw['months']."',years='".$rw['years']."', | ||||
|                                 shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."',lateperemployeer2='".$rw['lateperemployeer2']."', | ||||
|                                 shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."', | ||||
|                                 deviceidcheckin='".$rw['deviceidcheckin']."', | ||||
|                                 iby='svc',idt='".$rw['datestimes']."'"; | ||||
|  | ||||
| @ -699,15 +714,27 @@ class LogController | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             echo "end time : ".date("Y-m-d H:i:s")."\n"; | ||||
|             // echo "end time : ".date("Y-m-d H:i:s")."\n"; | ||||
|         } | ||||
|         $rtn=true; | ||||
|         return $rtn; | ||||
|     } | ||||
|  | ||||
|     public function fn_idxdept(){ | ||||
|         | ||||
|         $qry="update tbl_attendanceemployee a, tbl_employee e set a.idxdept = e.idxdept | ||||
|               where e._idx=a.idxemployee and a.idxdept=0"; | ||||
|         $this->executeSP($qry); | ||||
|         $qry="update tbl_attendancelist a, tbl_employee e set a.idxdept = e.idxdept | ||||
|               where e._idx=a.idxemployee and a.idxdept=0"; | ||||
|         $this->executeSP($qry); | ||||
|         return true; | ||||
|     } | ||||
| } | ||||
|  | ||||
| $cl = new LogController(); | ||||
| $rtn =$cl->index(); | ||||
| $rtn =$cl->fn_idxdept(); | ||||
|  | ||||
| #if(isset($_REQUEST['isgetdata'])){ | ||||
| #   echo "indx"; | ||||
|  | ||||
							
								
								
									
										10
									
								
								getdatadevicesbylogsbydates.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										10
									
								
								getdatadevicesbylogsbydates.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| @ -88,6 +88,12 @@ class LogController | ||||
|                 $d['timestamp']=date("Y-m-d H:i:s", strtotime($rw['dates'].' '.$rw['times'])); | ||||
|                 $d['id']=$rw['fingerid']; | ||||
|                 $res=$this->fn_setattendance($d, $rw['deviceip']); | ||||
|                 if($res){ | ||||
|                     $qryupdate="update tbl_attendancelogs set isprocess=1,processdate=now() where _idx='".$rw['_idx']."'"; | ||||
|                     // echo $qryupdate."\n"; | ||||
|                     $this->executeSP($qryupdate); | ||||
|                 } | ||||
|                  | ||||
|                 echo "End time : ".date("Y-m-d H:i:s")."\n\n"; | ||||
|  | ||||
|             } | ||||
| @ -498,7 +504,7 @@ class LogController | ||||
|                 } | ||||
|                 // echo $qry."\n"; | ||||
|                 // if($deviceid=='172.16.110.251'){ | ||||
| 		   //echo $qry."\n"; | ||||
| 		        // echo $qry."\n"; | ||||
|                 // } | ||||
|                 if($this->executeSP($qry)){ | ||||
|                     // if($rw['attendancename']=='OUT'){ | ||||
| @ -644,7 +650,7 @@ class LogController | ||||
|                                 officename='".$rw['officename']."',idxdept='".$rw['idxdept']."',divisiname='".$rw['divisiname']."', | ||||
|                                 serviconame='".$rw['serviconame']."',dates='".$rw['dates']."',".$attfield." | ||||
|                                 islates='".$rw['islates']."',months='".$rw['months']."',years='".$rw['years']."', | ||||
|                                 shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."',lateperemployeer2='".$rw['lateperemployeer2']."', | ||||
|                                 shiftcode='".$rw['shiftcode']."',lateperemployee='".$rw['lateperemployee']."', | ||||
|                                 deviceidcheckin='".$rw['deviceidcheckin']."', | ||||
|                                 iby='svc',idt='".$rw['datestimes']."'"; | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user