Старт
This commit is contained in:
68
android/work.php
Normal file
68
android/work.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
//пробегаемся по файлам(пакетам данных) в папке data и пытаемся вставить их в базу данных
|
||||
|
||||
require_once("../resources/metadata/include/tools.php");
|
||||
require_once("../monitoring/config.php");
|
||||
|
||||
$db = connectToDB();
|
||||
if($db!=null) {
|
||||
$dir = './data';
|
||||
$cdir = scandir($dir);
|
||||
foreach ($cdir as $key => $fname) {
|
||||
if (afterLast($fname, '.') == 'json') {
|
||||
$tmpFName=$fname;
|
||||
$object = json_decode(file_get_contents($dir . '/' . $fname));
|
||||
if ($object) {
|
||||
$time = cutBeforeFirst($tmpFName, '_');
|
||||
$imei = cutBeforeFirst($tmpFName, '_');
|
||||
$fn = cutBeforeFirst($tmpFName, '.');
|
||||
if ($fn == 1) {
|
||||
$count=0;
|
||||
$db->beginTransaction();
|
||||
foreach ($object->data as &$value) {
|
||||
$sql="select * from main.setlocation(1,'$imei',$value->lat,$value->lon,$value->alt,null,null,to_timestamp($value->time)::timestamp without time zone,null);";
|
||||
try {
|
||||
$res = $db->query($sql);
|
||||
} catch (Exception $ex) {
|
||||
error_log($ex->getMessage());
|
||||
}
|
||||
while ($row = $res->fetch(PDO::FETCH_ASSOC))
|
||||
{
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
if(count($object->data)==$count){
|
||||
$db->commit();
|
||||
$result=true;
|
||||
}else{
|
||||
$db->rollBack();
|
||||
}
|
||||
}
|
||||
if ($fn == 2) {
|
||||
$count=0;
|
||||
$db->beginTransaction();
|
||||
foreach ($object->data as &$value) {
|
||||
$sql="select * from main.setReading(1,'$imei',$value->sensor_type_id,$value->value,to_timestamp($value->time)::timestamp without time zone,to_timestamp($time)::timestamp without time zone);";
|
||||
try {
|
||||
$res = $db->query($sql);
|
||||
} catch (Exception $ex) {
|
||||
error_log($ex->getMessage());
|
||||
}
|
||||
while ($row = $res->fetch(PDO::FETCH_ASSOC))
|
||||
{
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
if(count($object->data)==$count){
|
||||
$db->commit();
|
||||
$result=true;
|
||||
}else{
|
||||
$db->rollBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
unlink($dir . '/' . $fname);
|
||||
}
|
||||
}
|
||||
}
|
||||
echo 'OK';
|
||||
Reference in New Issue
Block a user