Files
kopalnia_2014/soap_importobjects.php
T
2026-09-03 11:24:19 +02:00

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
*/
?>