|
@@ -52,22 +52,20 @@ class DeviceManager
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * @return array
|
|
|
|
|
|
+ * Consulta a cada deviceServer sus devices
|
|
*/
|
|
*/
|
|
public function getDevices()
|
|
public function getDevices()
|
|
{
|
|
{
|
|
- $devices = array();
|
|
|
|
$deviceServers = $this->deviceServerRepository->findAll();
|
|
$deviceServers = $this->deviceServerRepository->findAll();
|
|
$em = $this->em;
|
|
$em = $this->em;
|
|
-
|
|
|
|
|
|
+
|
|
$dateTime = new \DateTime("now");
|
|
$dateTime = new \DateTime("now");
|
|
$date = $dateTime->format("Y-m-d H:i:s");
|
|
$date = $dateTime->format("Y-m-d H:i:s");
|
|
|
|
|
|
foreach ($deviceServers as $deviceServer) {
|
|
foreach ($deviceServers as $deviceServer) {
|
|
-
|
|
|
|
- $baseRoutes = json_decode($this->webservice->makeGetRequest($deviceServer->getUrl()),true);
|
|
|
|
-
|
|
|
|
- if(!isset($baseRoutes['get_devices'])) {
|
|
|
|
|
|
+ $baseRoutes = json_decode($this->webservice->makeGetRequest($deviceServer->getUrl()), true);
|
|
|
|
+
|
|
|
|
+ if (!isset($baseRoutes['get_devices'])) {
|
|
$devicesRoute = $deviceServer->getUrl();
|
|
$devicesRoute = $deviceServer->getUrl();
|
|
} else {
|
|
} else {
|
|
$devicesRoute = $baseRoutes['get_devices'];
|
|
$devicesRoute = $baseRoutes['get_devices'];
|
|
@@ -82,7 +80,7 @@ class DeviceManager
|
|
$qb->setParameter('server', $deviceServer);
|
|
$qb->setParameter('server', $deviceServer);
|
|
|
|
|
|
$qb->getQuery()->getResult();
|
|
$qb->getQuery()->getResult();
|
|
-
|
|
|
|
|
|
+
|
|
foreach ($deviceTypes as $deviceType) {
|
|
foreach ($deviceTypes as $deviceType) {
|
|
$filters = array(
|
|
$filters = array(
|
|
'deviceType' => $deviceType,
|
|
'deviceType' => $deviceType,
|
|
@@ -94,16 +92,12 @@ class DeviceManager
|
|
|
|
|
|
$remoteDevices = $this->webservice->getData($devicesRoute, $filters, array(), $limit, $offset);
|
|
$remoteDevices = $this->webservice->getData($devicesRoute, $filters, array(), $limit, $offset);
|
|
|
|
|
|
- while(!empty($remoteDevices)) {
|
|
|
|
-
|
|
|
|
|
|
+ while (!empty($remoteDevices)) {
|
|
$devices_values = array();
|
|
$devices_values = array();
|
|
-
|
|
|
|
foreach ($remoteDevices as $remoteDevice) {
|
|
foreach ($remoteDevices as $remoteDevice) {
|
|
-
|
|
|
|
-
|
|
|
|
- $deviceType = str_replace("\\","\\\\",$remoteDevice['deviceType']);
|
|
|
|
|
|
+ $deviceType = str_replace("\\", "\\\\", $remoteDevice['deviceType']);
|
|
$deviceId = $remoteDevice['deviceId'];
|
|
$deviceId = $remoteDevice['deviceId'];
|
|
- if(isset($remoteDevice['tenancy'])) {
|
|
|
|
|
|
+ if (isset($remoteDevice['tenancy'])) {
|
|
$tenancyId = $remoteDevice['tenancy']['id'];
|
|
$tenancyId = $remoteDevice['tenancy']['id'];
|
|
} else {
|
|
} else {
|
|
$tenancyId = 1;
|
|
$tenancyId = 1;
|
|
@@ -112,26 +106,24 @@ class DeviceManager
|
|
$deviceExtraData = $remoteDevice['extraData'];
|
|
$deviceExtraData = $remoteDevice['extraData'];
|
|
$devicesIds[] = $deviceId;
|
|
$devicesIds[] = $deviceId;
|
|
$row = "(NULL, {$deviceServerId}, '{$deviceIp}','{$deviceType}', {$deviceId}, '{$deviceExtraData}', {$tenancyId}, '{$date}')";
|
|
$row = "(NULL, {$deviceServerId}, '{$deviceIp}','{$deviceType}', {$deviceId}, '{$deviceExtraData}', {$tenancyId}, '{$date}')";
|
|
-
|
|
|
|
|
|
+
|
|
$devices_values[] = $row;
|
|
$devices_values[] = $row;
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
$conn = $em->getConnection();
|
|
$conn = $em->getConnection();
|
|
- $sql = "INSERT LOW_PRIORITY IGNORE INTO `device` (`id`, `device_server_id`, `ip`, `device_type`, `device_id`, `extra_data`, `tenancy_id`, `updated`) VALUES ". implode(",", $devices_values).";";
|
|
|
|
|
|
+ $sql = "INSERT LOW_PRIORITY IGNORE INTO `device` (`id`, `device_server_id`, `ip`, `device_type`, `device_id`, `extra_data`, `tenancy_id`, `updated`) VALUES " . implode(",", $devices_values) . ";";
|
|
$conn->query($sql);
|
|
$conn->query($sql);
|
|
$conn->close();
|
|
$conn->close();
|
|
-
|
|
|
|
|
|
+
|
|
$offset += $limit;
|
|
$offset += $limit;
|
|
$remoteDevices = $this->webservice->getData($devicesRoute, $filters, array(), $limit, $offset);
|
|
$remoteDevices = $this->webservice->getData($devicesRoute, $filters, array(), $limit, $offset);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- return $devices;
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* SE DEJA DE UTILIZAR, SE REALIZA UNA ACTUALIZACIÓN POR SQL PARA AGILIZAR, ELIMINACIÓN PREVIA
|
|
* SE DEJA DE UTILIZAR, SE REALIZA UNA ACTUALIZACIÓN POR SQL PARA AGILIZAR, ELIMINACIÓN PREVIA
|
|
*
|
|
*
|