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

176 lines
6.1 KiB
PHP

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=utf-8">
<meta http-equiv="Refresh" content="1" />
<?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>';
echo 'Start: '.date("Y-m-d H:i:s").'<br>';
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 convertDataUTC2Cur($insertDate)
{
unset($res);
//re-contruct to format
$res = date('Y-m-d H:i:s', strtotime($insertDate));
return $res;
}
function convertDataCur2UTC($insertDate)
{
unset($res);
$dt = new DateTime($insertDate);
$dt->setTimezone(new DateTimeZone('UTC'));
$res = $dt->format('Y-m-d').'T'.$dt->format('H:i:s').'Z';
return $res;
}
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;
}
}
/*
echo convertDataUTC2Cur('2017-01-31T07:52:01Z');
echo"<br>";
echo convertDataCur2UTC('2017-01-31 07:52:01');
echo"<br>";
echo"<br>";
*/
unset($recArray);
$recArray = sqlGetResAsArray("select * from rep_onoff_proccessing where W_STATUS=0 limit 1");
$scriptDate = '2014-01-01 12:00:00';
/*
echo $scriptDate;
echo"<br>";
echo convertDataCur2UTC($scriptDate);
echo"<br>";
*/
if (!empty($recArray[0]['W_NAME']))
{
unset($wellArray);
$wellArray = objectToArray($cl->GetPumpSwitchAndReasonsHistory($recArray[0]['W_NAME'],convertDataCur2UTC($scriptDate)));
$devID = sqlStringValue("select DRS_ID from seg_wells,seg_dev_resources where DRS_DEV_ID=WLL_ID and DRS_DEV_TYPE=12 and WLL_CAT_DIC_ID in (18,19) and WLL_NAME='".$recArray[0]['W_NAME']."'", "DRS_ID");
echo"Studnia: ".$recArray[0]['W_NAME']."<br/>";
if (count($wellArray['probes'])>0 && $devID>0)
{
// ======================================================================================================
// sprawdza ile jest pomiarów załącz/wyłącz dla danego obiektu w bazie MySQL: dla danej daty większej od
// ======================================================================================================
unset($ileSQL);
$ileSQL=0;
$ileSQL = sqlValue("
select count(*) from (
select * from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_AUDIT_USR='SYNDIS' and DRD_DRS_ID=".$devID." and DRD_AUDIT_DATE>='".$scriptDate."'
union
select * from seg_dev_resources_det_his where DRD_RESOURCES_DETAIL=507 and DRD_AUDIT_USR='SYNDIS' and DRD_DRS_ID=".$devID." and DRD_AUDIT_DATE>='".$scriptDate."'
) tb
");
echo "Ilość w MySQL: ". $ileSQL;
echo"<br>";
// ======================================================================================================
// ======================================================================================================
// sprawdza ile jest pomiarów załącz/wyłącz dla danego obiektu w SOAP SYNDIS: dla danej daty większej od
// ======================================================================================================
unset($ileSYNDIS);
$ileSYNDIS=0;
$ileSYNDIS = count($wellArray['probes']);
echo "Ilość w SYNDIS: ".$ileSYNDIS;
echo"<br>";
echo"<br>";
// ======================================================================================================
// jeśli jest różnica
if ($ileSYNDIS != $ileSQL)
// ======================================================================================================
{
mysql_query("delete from seg_dev_resources_det_his where DRD_RESOURCES_DETAIL=507 and DRD_AUDIT_USR='SYNDIS' and DRD_DRS_ID=".$devID);
mysql_query("delete from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_AUDIT_USR='SYNDIS' and DRD_DRS_ID=".$devID);
$zalacz = 0;
$wylacz = 0;
for ($i=0; $i<count($wellArray['probes']); $i++)
{
// jeśli załącz
if ($wellArray['probes'][$i]['value'] == 1)
{
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=".$devID.",DRD_RESOURCES_DETAIL=507,DRD_VALUE='ON',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertDataUTC2Cur($wellArray['probes'][$i]['date'])."'");
//echo("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=".$devID.",DRD_RESOURCES_DETAIL=507,DRD_VALUE='ON',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertDataUTC2Cur($wellArray['probes'][$i]['date'])."'");
//echo"<br>";
$zalacz++;
}
// jeśli wyłącz
elseif ($wellArray['probes'][$i]['value'] == 0)
{
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=".$devID.",DRD_RESOURCES_DETAIL=507,DRD_VALUE='OFF',DRD_DESCRIPTION='".$wellArray['probes'][$i]['reason']."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertDataUTC2Cur($wellArray['probes'][$i]['date'])."'");
//echo("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=".$devID.",DRD_RESOURCES_DETAIL=507,DRD_VALUE='OFF',DRD_DESCRIPTION='".$wellArray['probes'][$i]['reason']."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertDataUTC2Cur($wellArray['probes'][$i]['date'])."'");
//echo"<br>";
$wylacz++;
}
}
echo"Dodano <b>".$zalacz."</b> wpisów o załączeniu.";
echo"<br>";
echo"Dodano <b>".$wylacz."</b> wpisów o wyłączeniu.";
echo"<br>";
echo"<br>";
}
// ======================================================================================================
}
}
mysql_query("UPDATE rep_onoff_proccessing SET W_STATUS=1 WHERE W_ID=".$recArray[0]['W_ID']);
mysql_close($polacz);
echo 'finish processing ...<br>';
echo 'Finish: '.date("Y-m-d H:i:s").'<br>';
?>