';
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 ...
';
echo 'Start: '.date("Y-m-d H:i:s").'
';
$scriptDate = date("Y-m-d H:i:s");
date_default_timezone_set('Europe/Warsaw');
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");
function convertData($insertDate)
{
unset($res);
//re-contruct to format
$res = date('Y-m-d H:i:s', strtotime($insertDate));
return $res;
}
function convertDateToUTC($insertDate)
{
unset($utcDate);
$getCurMonth = (int) date('m');
if ($getCurMonth>3 && $getCurMonth<11)
$offset = 2 * 60 * 60;
else
$offset = 60 * 60;
// =========================================
$utcDate = date('Y-m-d\TH:i:s\Z', strtotime($insertDate)- $offset);
return $utcDate;
}
function reqSyndisForUTCdate($insertDate)
{
unset($utcDate);
$getCurMonth = (int) date('m');
if ($getCurMonth>3 && $getCurMonth<11)
$offset = 3 * 60 * 60;
else
$offset = 2 * 60 * 60;
// =========================================
$utcDate = date('Y-m-d\TH:i:s\Z', strtotime($insertDate)- $offset);
return $utcDate;
}
function time_to_int($inParam)
{
unset($outParam);
$outParam = (float) str_replace(array(' ','-',':'), array('','',''), $inParam);
return $outParam;
}
function objectToArray($d) {
if (is_object($d)) {
// Gets the properties of the given object
// with get_object_vars function
$d = get_object_vars($d);
}
if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return array_map(__FUNCTION__, $d);
}
else {
// Return array
return $d;
}
}
function split_to_array($inArray)
{
unset($outArray); unset($newArray);
$newArray = objectToArray($inArray);
echo'split_to_array: '.count($newArray['probes']).'
';
if (count($newArray['probes'])==1 || count($newArray['probes'])==4)
{
echo'Wszedł w pierwszy warunek
';
unset($tmpStat); $tmpStat = (int) $newArray['probes']['value'];
if ($tmpStat==1) $tmpStat="ON"; else $tmpStat="OFF";
$outArray[] = array(
'value' => $tmpStat,
'date' => convertData($newArray['probes']['date']),
'reason' => $newArray['probes']['reason']
);
}
elseif (count($newArray['probes'])!=1 && count($newArray['probes'])!=4)
{
echo'Wszedł w drugi warunek
';
$tmpArray = $newArray['probes'];
foreach ($tmpArray as $tb)
{
unset($tmpStat); $tmpStat = (int) $tb['value'];
if ($tmpStat==1) $tmpStat="ON"; else $tmpStat="OFF";
$outArray[] = array(
'value' => $tmpStat,
'date' => convertData($tb['date']),
'reason' => $tb['reason']
);
}
}
else
{
$outArray = null;
}
return $outArray;
}
// pobieramy tablice studni
$ile_zmian=0;
$well_array=null;
$wynik = mysql_query("select WLL_NAME from seg_wells,seg_well_pump_eng_rel where RWL_WLL_ID=WLL_ID and WLL_CAT_DIC_ID in (18,19)");
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$well_array[] = $r["WLL_NAME"];
}
$wl = $cl->GetWellsDataAsArray($well_array);
//pobiera informacje o statusie pompy (załączniku - czy się zmianił oraz o łącznoiści)
// ============================================================================================ //
for($i=0; $i
';
//pobiera historię z SYNDIS
unset($hisOnOffArray);
$hisOnOffArray = split_to_array($cl->GetPumpSwitchAndReasonsHistory($wl['wells'][$i]['well']['id'],$syndisDate));
print_r($hisOnOffArray);
echo'
';
echo 'Ile: '.count($hisOnOffArray);
echo'
';
if (count($hisOnOffArray)>0 && $wellLastStatusArray[0]['DRD_DRS_ID']>0)
{
echo("DELETE FROM seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_AUDIT_USR='SYNDIS' and DRD_DRS_ID=".$wellLastStatusArray[0]['DRD_DRS_ID']." and DRD_AUDIT_DATE > '".$sqlDate."'");
echo'
';
// if( time_to_int($hisOnOffArray[0]['date']) > time_to_int($sqlDate) )
// sprawdza czy jest jeden pomiar czy więcej
if (count($hisOnOffArray)==1)
{
if (time_to_int($hisOnOffArray[0]['date']) > time_to_int($sqlDate))
{
// jeśli załączona
if ($hisOnOffArray[0]['value']=="ON")
echo("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$wellLastStatusArray[0]['DRD_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$hisOnOffArray[0]['value']."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".$hisOnOffArray[0]['date']."'");
else
echo("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$wellLastStatusArray[0]['DRD_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$hisOnOffArray[0]['value']."',DRD_EXPORT_SEGAP='1',DRD_DESCRIPTION='".$hisOnOffArray[0]['reason']."',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".$hisOnOffArray[0]['date']."'");
echo'
';
$ile_zmian++;
}
}
else
{
$ile_zmian++;
}
}
}
}
// =============================================================================== //
else
{
echo 'niestabilna: '.$wl['wells'][$i]['well']['id'].'
';
}
// =============================================================================== //
// ENDIF 02 =============================================================================== //
echo'
';
}
// ============================================================================================ //
mysql_close($polacz);
echo 'Zmieniono '.$ile_zmian.' stanów załączenia/wyłączenia dla studni.
';
echo 'Finish: '.date("Y-m-d H:i:s").'
';
?>