Compare commits
30 Commits
29180b036c
...
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 | |||
| f69ef32f84 | |||
| cc58529145 | |||
| b6cdc09849 |
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
50
getattsyncbydate.php
Normal file → Executable file
50
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,20 +207,22 @@ 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']."'
|
||||
@ -228,10 +236,20 @@ class LogController
|
||||
$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)";
|
||||
|
||||
$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'";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($qry){
|
||||
|
||||
2
getdatadevices.php
Normal file → Executable file
2
getdatadevices.php
Normal file → Executable file
@ -98,7 +98,7 @@ 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'],
|
||||
|
||||
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
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
39
getdatadevicesbylogs.php
Normal file → Executable file
39
getdatadevicesbylogs.php
Normal file → Executable file
@ -7,7 +7,7 @@ class LogController
|
||||
// $ppHCMTT#2024
|
||||
|
||||
public function fn_getconn(){
|
||||
$pdo = new PDO("mysql:host=192.168.1.4;dbname=dbhcm", "apphcm", "\$ppHCMTT#2024");
|
||||
$pdo = new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$ppHCMTT#2024");
|
||||
return $pdo;
|
||||
}
|
||||
public function selectquerySP($sql){
|
||||
@ -78,7 +78,7 @@ 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){
|
||||
@ -86,7 +86,15 @@ class LogController
|
||||
while($rw=$rs->fetch()){
|
||||
$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";
|
||||
|
||||
}
|
||||
}
|
||||
@ -533,7 +541,7 @@ class LogController
|
||||
$qryduration="";
|
||||
$rs=$this->selectquerySP($qry);
|
||||
if($rs){
|
||||
echo "start time : ".date("Y-m-d H:i:s")."\n";
|
||||
|
||||
while($rw=$rs->fetch()){
|
||||
$swhereshiftcode="";
|
||||
if($rw['shiftcode']&&$rw['idxdept']==22){
|
||||
@ -636,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']."'";
|
||||
|
||||
@ -697,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";
|
||||
|
||||
18
getdatadevicesbylogsbydates.php
Normal file → Executable file
18
getdatadevicesbylogsbydates.php
Normal file → Executable file
@ -7,7 +7,7 @@ class LogController
|
||||
// $ppHCMTT#2024
|
||||
|
||||
public function fn_getconn(){
|
||||
$pdo = new PDO("mysql:host=192.168.1.4;dbname=dbhcm", "apphcm", "\$ppHCMTT#2024");
|
||||
$pdo = new PDO("mysql:host=localhost;dbname=dbhcm", "apphcm", "\$ppHCMTT#2024");
|
||||
return $pdo;
|
||||
}
|
||||
public function selectquerySP($sql){
|
||||
@ -84,9 +84,17 @@ class LogController
|
||||
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'];
|
||||
$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";
|
||||
|
||||
}
|
||||
}
|
||||
@ -496,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'){
|
||||
@ -533,7 +541,7 @@ class LogController
|
||||
$qryduration="";
|
||||
$rs=$this->selectquerySP($qry);
|
||||
if($rs){
|
||||
echo "start time : ".date("Y-m-d H:i:s")."\n";
|
||||
// echo "start time : ".date("Y-m-d H:i:s")."\n";
|
||||
while($rw=$rs->fetch()){
|
||||
$swhereshiftcode="";
|
||||
if($rw['shiftcode']&&$rw['idxdept']==22){
|
||||
@ -642,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']."'";
|
||||
|
||||
@ -697,7 +705,7 @@ 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;
|
||||
|
||||
Reference in New Issue
Block a user