Files
GEOVizor_PHP/android/createTerminalAndObject.php
2023-11-07 19:51:49 +06:00

68 lines
2.9 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
//Проверяю есть ли терминал и объект у пользователя если нет создаю (данная функция используется при авторизации)
function createTerminalAndObject($user_id,$android_id)
{
global $db;
$name='';
$phone='';
$company_id='';
//Выбираю информацию о пользователе
$sql= "select COALESCE(u.name,'')||' '||COALESCE(u.surname,'')||' '||COALESCE(u.patronymic,'') as name,u.phone,main.getcompanyid(u.id) company_id from main._users u where id=$user_id;";
$res = $db->query($sql);
if($res!=NULL && $res->rowCount()>0)
{
$exists=true;
while ($row = $res->fetch(PDO::FETCH_ASSOC))
{
$name=trim($row['name']);
$phone=$row['phone'];
$company_id=$row['company_id'];
}
}
//Проверяю существование и принадлежность терминала
$sql= "select id,del,company_id from main.terminals where imei='$android_id';";
$res = $db->query($sql);
$terminal_id='';
if($res!=NULL && $res->rowCount()>0)
{
while ($row = $res->fetch(PDO::FETCH_ASSOC))
{
$terminal_id=$row['id'];
if($row['company_id']!=$company_id){
//Если на телефоне зарегестрировался другой человек то меняем компанию и название всех терминалов и объектов
$sql="update main.terminals set company_id=$company_id where id=".$row['id'].';';
$res = $db->query($sql);
//Меняю названия всех объектов у себя и у связанных пользователей
$sql="update main.objects set name='$name' where id=".$row['id'].';';
$res = $db->query($sql);
}
if($row['del']){
$sql="update main.terminals set del=false where id=".$row['id'].';';
$res = $db->query($sql);
}
}
}else{
//Если терминал не существует создаю его
$sql="select * from main.p_terminals_i(1,$company_id,'$phone','$name','$android_id',18,'AUTO CREATION');";
$res = $db->query($sql);
if($res!=NULL && $res->rowCount()>0) {
while ($row = $res->fetch(PDO::FETCH_NUM)){
$terminal_id=$row[0];
}
}
}
//Если объект не существует у текущего пользователя содаю его
$sql="select id from main.objects where terminal_id=$terminal_id;";
$res = $db->query($sql);
if($res!=NULL && $res->rowCount()>0) {
}else{
$sql="select * from main.p_objects_i(1,$company_id,'$name',1,'".date("Y")."',$terminal_id,1,'Phone',1)";
$res = $db->query($sql);
}
}