← Back
Editing: aggiornamento.php
<?php namespace Unicom\Ricestat; use Unicom\Ricestat\Service\REST; # autoloader $path = __DIR__; include 'autoload.php'; \Unicom_Autoload::register(); \Unicom_Autoload::registerPath( $path.'/src' ); require_once ($path."/../../funct.php"); //require_once ("../conn.php"); $dbName = "bookings"; $conn = mysql_connect ("localhost", "bookings", "bo0k,7nGs") or die ("Impossibile stabilire una connessione a $db_nome."); $db = mysql_select_db ($dbName, $conn) or die("Impossibile selezionare il database $db_nome."); require_once ("/var/www/vhosts/smartmedia2000.it/httpdocs/class.php"); $table = "persone"; $ptitolo = "Persone"; require_once ($path."/../../lan_it.php"); $query = new doQuery (); $ieri = date ("Y-m-d", time()-(3600*24)); $id_utente = 21; $arTaxSogg = array ('21'=>array (0.5, 14, 7)); # init request //$src1 = new Source (4, 'smart-ebooking', 'Prova39360'); //$src2 = new Source (10, '052032ALB0043', 'password39360'); $src1 = new Source (4, 'smart-ebooking', 'yMj9aVF.ZUvTz.et'); $src2 = new Source (10, '053011CAM0003', 'eBuxj6B1nvJCJLTn'); $rq = new SchedineRQ( $src1, $src2 ); $group = new Gruppo ('1'); for ($t=time()-(3600*24*9) ; $t<time()-(3600*24*2); $t+=(3600*24)) { $ieri = date ("Y-m-d", $t); $sql = "SELECT `presenze`.`id` AS `id_pres`, `id_persona`, `data_nasc`, `data_in`, `data_out`, `persone`.`cittadinanza` FROM `presenze` INNER JOIN `persone` ON `persone`.`id` = `id_persona` WHERE `presenze`.`id_utente` = ".$id_utente." AND `presenze`.`data_out` LIKE '".$ieri."%' AND `tipo_all` > 0 ORDER BY `id_contratto`, `presenze`.`data_in`, `tipo_all`"; $ris = mysql_query ($sql, $conn); # controllo della colonna dei tipo alloggiato $cg = 0; # indice del capogruppo $ok = 1; $groups = array(); while ($row = mysql_fetch_object ($ris)) { $luogoNasc = $query->getPlace ($row->comune_nasc, $row->stato_nasc); $luogoRes = $query->getPlace ($row->comune_res, $row->stato_res); $cittadin = $query->getPlace (0, $row->cittadinanza); list ($dataIn, $x) = explode (' ', $row->data_in); list ($dataOut, $x) = explode (' ', $row->data_out); $tmIn = date2time ($dataIn); $tmOut = date2time ($dataOut); $ggPres = round (($tmOut-$tmIn)/(3600*24)); # notti totali $ggMax = $arTaxSogg[$id_utente]['2']; $codImp = ""; $imposta = 0; $ggImp = 0; # tassa solo per maggiori di xx anni if (getAge ($row->data_nasc, $ieri) >= $arTaxSogg[$id_utente]['1']) { $sqlP = "SELECT `data_in`, `data_out` FROM `presenze` WHERE `id_utente` = ".$id_utente." AND `id_persona` = '".$row->id_persona."' AND `data_in` LIKE '".date ("Y")."%' AND `data_out` NOT LIKE '0000%' AND `data_out` < '".$ieri."%'"; $risP = mysql_query ($sqlP, $conn); $ggPresP = 0; while ($rowP = mysql_fetch_object ($risP)) { $tmIn = date2time (substr ($rowP->data_in, 0, 10)); $tmOut = date2time (substr ($rowP->data_out, 0, 10)); $ggPresP+= round (($tmOut-$tmIn)/(3600*24)); } //eco($ggPres." ".$ggPresP." ".$ggMax); # calcola solo se non ha superato i giorni massimi if ($ggPresP < $ggMax) { $ggImp = ($ggPres+$ggPresP < $ggMax) ? $ggPres : $ggMax-$ggPresP; $imposta = $ggImp*$arTaxSogg[$id_utente]['0']; } else $codImp = "SP"; } else $codImp = "MN"; $ospite = new Ospite ($row->id_pres, '', $tipoAll); # Id, IdCamera, TipoAlloggiato $ospite->setDataDiArrivo ($dataIn) ->setDataDiPartenza ($dataOut) ->setDataDiNascita ($row->data_nasc) ->setCittadinanza (new Cittadinanza ($cittadin['codPS_st'])) ->setImpostaDiSoggiorno ( new ImpostaDiSoggiorno($codImp, $imposta, $ggImp) ); $group->setOspite( $ospite ); //eco($ospite); } $groups[] = $group; $xml = $rq->inserimentoAlloggiati ($groups); $arIn = array ("><", "Soggiorno>\r\n</Codice", "Sesso>\r\n</Sesso", "InserimentoAlloggiati>", "<Gruppo IdGruppo=\"1\">\r\n", "</Gruppo>\r\n"); $arOut = array (">\r\n<", "Soggiorno></Codice", "Sesso></Sesso", "Aggiornamento>", "", ""); $xml = str_replace ($arIn, $arOut, $xml); file_put_contents ('xml/aggiornamento.xml', $xml); # log data //eco($xml); //echo "<textarea cols='100' rows='30'>$xml</textarea>"; # init client and send data to service $rest_cli = new REST\Client(); $rest_cli->setLogFile (__DIR__. '/logs/aggiornamento.txt'); $resp = $rest_cli->send ($xml); print_r ($resp->getError()); echo $ieri." \n<br>"; } exit; function getAge ($dt1, $dt2) { # date di confronto per l'età in formato Y-m-d, $dt1 minore list ($y1, $m1, $d1) = explode ('-', $dt1); list ($y2, $m2, $d2) = explode ('-', $dt2); $age = $y2-$y1; $md = $m2-$m2; $dd = $d2-$d1; if ($md < 0) $age-- ; else if (($md == 0) && ($dd < 0)) $age-- ; return $age; } ?>
Save File
Cancel