119 lines
4.7 KiB
PHP
119 lines
4.7 KiB
PHP
<?php
|
|
error_reporting(E_ALL);
|
|
echo 'starting ...<br>';
|
|
require_once("soap.php");
|
|
$cl = new SyndisConnector("http://172.21.11.101/SyndisSpm.wsdl"); //zmienić URL na inny - ten kieruje na moj komputer
|
|
//$cl->__setLocation('http://172.20.43.10:3615/');
|
|
$cl->__setLocation('http://172.21.11.101:3615/');
|
|
echo 'connected ...<br>';
|
|
|
|
require_once("func.php");
|
|
require_once("dbaccess.php");
|
|
$polacz = mysql_connect($db_host, $db_user, $db_user_pass) or die ('cannot connect to db');
|
|
mysql_select_db($db_name);
|
|
mysql_query("SET NAMES utf8");
|
|
mysql_query("SET CHARACTER_SET utf8_general_ci");
|
|
|
|
mysql_query("truncate table rep_soap_objects_import");
|
|
|
|
$licz=0;
|
|
// pobieramy tablice studni
|
|
$well_array=null;
|
|
$wynik = mysql_query("select WLL_NAME from seg_well_pump_eng_rel left join seg_wells on RWL_WLL_ID=WLL_ID");
|
|
if($wynik)while ($r = mysql_fetch_array($wynik))
|
|
{
|
|
$well_array[] = $r["WLL_NAME"];
|
|
}
|
|
$wl = $cl->GetWellsDataAsArray($well_array);
|
|
|
|
for($i=0; $i<count($wl["wells"]); $i++)
|
|
{
|
|
if ($wl["wells"][$i]["currentL1"]["flag"]<>"NOTFOUND")
|
|
{
|
|
// jeśli pompa pracuje
|
|
if ($wl["wells"][$i]["pumpOnOff"]["value"]==1 && $wl["wells"][$i]["pumpEfficiency"]["value"]>0 && $wl["wells"][$i]["currentL1"]["value"]>0)
|
|
{
|
|
// echo "Pompa pracuje dla ".$wl["wells"][$i]["well"]["id"]."<br/>";
|
|
mysql_query("INSERT INTO rep_soap_objects_import SET SOI_OBJECT='WELL',SOI_NAME='".$wl["wells"][$i]["well"]["id"]."'");
|
|
$licz++;
|
|
}
|
|
//dane niewiarygodne
|
|
else if ($wl["wells"][$i]["pumpOnOff"]["value"]==1 && $wl["wells"][$i]["pumpOnOff"]["flag"]=="NOTREALIABLE")
|
|
{
|
|
// echo "Dane niewiarygodne dla ".$wl["wells"][$i]["well"]["id"]."<br/>";
|
|
mysql_query("INSERT INTO rep_soap_objects_import SET SOI_OBJECT='WELL',SOI_NAME='".$wl["wells"][$i]["well"]["id"]."'");
|
|
$licz++;
|
|
}
|
|
//błędne dane
|
|
else if ($wl["wells"][$i]["pumpOnOff"]["value"]==1 && $wl["wells"][$i]["pumpEfficiency"]["value"]==0)
|
|
{
|
|
// echo "Błędne dane dla ".$wl["wells"][$i]["well"]["id"]."<br/>";
|
|
$error_data=0;
|
|
}
|
|
// pompa niepracuje
|
|
else
|
|
{
|
|
// echo "Pompa niepracuje dla ".$wl["wells"][$i]["well"]["id"]."<br/>";
|
|
mysql_query("INSERT INTO rep_soap_objects_import SET SOI_OBJECT='WELL',SOI_NAME='".$wl["wells"][$i]["well"]["id"]."'");
|
|
$licz++;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo"Zaczytano $licz studni";
|
|
echo"</br>";
|
|
|
|
$licz=0;
|
|
$wynik = mysql_query("select SRP_NAME from seg_reservoirs_piezometers where SRP_TYPE_DIC_ID=(select DIC_ID from sys_dictionaries where DIC_TYPE='DRS_DEV_TYPE' and DIC_NAME='PIEZOMETER')");
|
|
if($wynik)while ($r = mysql_fetch_array($wynik))
|
|
{
|
|
$pName=$r["SRP_NAME"];
|
|
$pz = $cl->GetPiezometerDataAsArray($pName);
|
|
|
|
if ($pz["staticWaterTable"]["flag"]<>"NOTFOUND")
|
|
{
|
|
if ($pz["staticWaterTable"]["value"]>0)
|
|
{
|
|
mysql_query("INSERT INTO rep_soap_objects_import SET SOI_OBJECT='PIEZO',SOI_NAME='".$pz["piezometer"]["id"]."'");
|
|
$licz++;
|
|
}
|
|
}
|
|
}
|
|
echo"Zaczytano $licz piezometrów";
|
|
echo"</br>";
|
|
|
|
//czyści niepełne rekordy
|
|
//mysql_query("DROP TABLE IF EXISTS z_tmp");
|
|
//$minRecords = sqlValue("select count(1) from rep_soap_objects_import where SOI_OBJECT='WELL'");
|
|
//mysql_query("create table z_tmp select DRD_AUDIT_DATE ABC from seg_dev_resources_det where DRD_AUDIT_USR='SYNDIS' and DRD_AUDIT_DATE>'".date('Y-m-d')."' group by DRD_AUDIT_DATE HAVING count(DRD_AUDIT_DATE)<".$minRecords);
|
|
//mysql_query("delete from seg_dev_resources_det where DRD_AUDIT_DATE in (select ABC from z_tmp)");
|
|
//mysql_query("drop table z_tmp");
|
|
|
|
mysql_close($polacz);
|
|
|
|
echo 'finish processing ...<br>';
|
|
|
|
/**
|
|
*
|
|
*echo "</pre><br>---------------------------------<br><pre>";
|
|
*print_r($cl->GetWellDataAsArray('PUMP23')); //Pobieranie danych jednej pompy - zwraca dane jako tablica
|
|
*
|
|
*echo "</pre><br>---------------------------------<br>Indeksy piezometru<pre>";
|
|
*print_r($cl->GetPiezometerData('PIEZO23')); //Pobieranie danych jednego piezometru - zwraca dane jako obiekt
|
|
*
|
|
*echo "</pre><br>---------------------------------<br>";
|
|
*var_dump($cl->GetPiezometerDataAsArray('PIEZO23')); //Pobieranie danych jednego piezometru - zwraca dane jako tablice
|
|
*
|
|
*echo "</pre><br>---------------------------------<br><pre>";
|
|
*var_dump($cl->GetWellsDataAsArray(array('PUMP23','PUMP24'))); //retruns associate array
|
|
*
|
|
*echo "</pre><br>---------------------------------<br><pre>";
|
|
*v8ar_dump($cl->GetPiezometersDataAsArray(array('PUMP23','PUMP24'))); //retruns associate array
|
|
*/
|
|
|
|
?>
|