|
|
@ -263,12 +263,36 @@ class PresenceController extends Controller |
|
|
|
foreach($geom as $dataGeom){ |
|
|
|
foreach($geom as $dataGeom){ |
|
|
|
$valGeom = json_decode($dataGeom->geom); |
|
|
|
$valGeom = json_decode($dataGeom->geom); |
|
|
|
if($params->clock_in_out['type']=="out"){ |
|
|
|
if($params->clock_in_out['type']=="out"){ |
|
|
|
|
|
|
|
if($valGeom->type == "FeatureCollection"){ |
|
|
|
|
|
|
|
// return count($valGeom->features); |
|
|
|
|
|
|
|
$multiArea = $valGeom->features; |
|
|
|
|
|
|
|
foreach($multiArea as $area){ |
|
|
|
|
|
|
|
$check = DB::select(DB::raw("SELECT ST_Intersects(ST_GeomFromGeoJSON('".json_encode($valGeom->geometry)."'), |
|
|
|
|
|
|
|
ST_GeomFromText('POINT(".$params->clock_in_out['clock_out_lng']." ".$params->clock_in_out['clock_out_lat'].")', 4326)) as boundary")); |
|
|
|
|
|
|
|
if($check[0]->boundary){ |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
$check = DB::select(DB::raw("SELECT ST_Intersects(ST_GeomFromGeoJSON('".json_encode($valGeom->geometry)."'), |
|
|
|
$check = DB::select(DB::raw("SELECT ST_Intersects(ST_GeomFromGeoJSON('".json_encode($valGeom->geometry)."'), |
|
|
|
ST_GeomFromText('POINT(".$params->clock_in_out['clock_out_lng']." ".$params->clock_in_out['clock_out_lat'].")', 4326)) as boundary")); |
|
|
|
ST_GeomFromText('POINT(".$params->clock_in_out['clock_out_lng']." ".$params->clock_in_out['clock_out_lat'].")', 4326)) as boundary")); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
if($valGeom->type == "FeatureCollection"){ |
|
|
|
|
|
|
|
// return count($valGeom->features); |
|
|
|
|
|
|
|
$multiArea = $valGeom->features; |
|
|
|
|
|
|
|
foreach($multiArea as $area){ |
|
|
|
|
|
|
|
$check = DB::select(DB::raw("SELECT ST_Intersects(ST_GeomFromGeoJSON('".json_encode($area->geometry)."'), |
|
|
|
|
|
|
|
ST_GeomFromText('POINT(".$params->clock_in_out['clock_in_lng']." ".$params->clock_in_out['clock_in_lat'].")', 4326)) as boundary")); |
|
|
|
|
|
|
|
if($check[0]->boundary){ |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
}else{ |
|
|
|
}else{ |
|
|
|
$check = DB::select(DB::raw("SELECT ST_Intersects(ST_GeomFromGeoJSON('".json_encode($valGeom->geometry)."'), |
|
|
|
$check = DB::select(DB::raw("SELECT ST_Intersects(ST_GeomFromGeoJSON('".json_encode($valGeom->geometry)."'), |
|
|
|
ST_GeomFromText('POINT(".$params->clock_in_out['clock_in_lng']." ".$params->clock_in_out['clock_in_lat'].")', 4326)) as boundary")); |
|
|
|
ST_GeomFromText('POINT(".$params->clock_in_out['clock_in_lng']." ".$params->clock_in_out['clock_in_lat'].")', 4326)) as boundary")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if(count($check)>0){ |
|
|
|
if(count($check)>0){ |
|
|
|
if($check[0]->boundary){ |
|
|
|
if($check[0]->boundary){ |
|
|
|
$temp[]=array( |
|
|
|
$temp[]=array( |
|
|
|