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

393 lines
22 KiB
PHP

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=utf-8">
<?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.21.11.101:3615/');
ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);
$cl = new SyndisConnector("http://172.22.64.101/SyndisSpm.wsdl"); //zmienić URL na inny - ten kieruje na moj komputer
$cl->__setLocation('http://172.22.64.101:3615/');
echo 'connected ...<br>';
echo 'Start: '.date("Y-m-d H:i:s").'<br/><br/>';
$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 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;
}
}
// 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);
for($i=0; $i<count($wl["wells"]); $i++)
{
unset($syndisStatus);
if ($wl['wells'][$i]['pumpOnOff']['value']==0) $syndisStatus = "OFF";
elseif ($wl['wells'][$i]['pumpOnOff']['value']==1) $syndisStatus = "ON";
// sprawdza, czy nie ma błędnego statusu w historii
$ilePowtorzen_01 = 20;
$ilePowtorzen_02 = $ilePowtorzen_01-7;
unset($isNotrealiableSaved);
//$isNotrealiableSaved = sqlGetResAsArray("select * from rep_soap_syndis_notrealiable_onoff where NOT_ID=(select max(NOT_ID) from rep_soap_syndis_notrealiable_onoff where NOT_WELL_NAME='".$wl['wells'][$i]['well']['id']."' and NOT_AUDIT_END_DATE is null and NOT_LICZ<".$ilePowtorzen_01.")");
$isNotrealiableSaved = sqlGetResAsArray("select * from rep_soap_syndis_notrealiable_onoff where NOT_ID=(select max(NOT_ID) from rep_soap_syndis_notrealiable_onoff where NOT_WELL_NAME='".$wl['wells'][$i]['well']['id']."' and NOT_AUDIT_END_DATE is null)");
//Łata jeśli mamy manual
/*
if ($wl['wells'][$i]['transmissionState']['flag'] == 'MANUAL' && $wl['wells'][$i]['pumpOnOff']['flag'] == 'MANUAL')
{
$wl['wells'][$i]['transmissionState']['value']=1;
unset($isNotrealiableSaved);
}
*/
// jeśli jest wszystko OK - normalna praca
//if ($wl['wells'][$i]['pumpOnOff']['flag']=="CORRECT" && count($isNotrealiableSaved)==0)
// po ustaleniach z Maćkiem Cichoniem - sprawdzam flagę Q, a nie wyłącznika
//if ($wl['wells'][$i]['pumpEfficiency']['flag']=="CORRECT" && count($isNotrealiableSaved)==0)
if ($wl['wells'][$i]['transmissionState']['value']==1 && count($isNotrealiableSaved)==0)
{
//echo'Flaga CORRECT - wszystko jest i było OK <br/>';
//echo "Name: ". $wl['wells'][$i]['well']['id']."<br/>";
unset($wellLastStatusArray);
$wellLastStatusArray = sqlGetResAsArray("select * from seg_dev_resources_det where DRD_ID=(select max(DRD_ID) from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_DRS_ID=(select DRS_ID from seg_dev_resources,seg_wells where DRS_DEV_TYPE=12 and DRS_DEV_ID=WLL_ID and WLL_NAME='".$wl['wells'][$i]['well']['id']."'))");
// jeśli nie zwraca żadnych wyników - sprawdza w tabeli historycznej
if (count($wellLastStatusArray)<=0)
{
unset($wellLastStatusArray);
$wellLastStatusArray = sqlGetResAsArray("select * from seg_dev_resources_det_his where DRD_ID=(select max(DRD_ID) from seg_dev_resources_det_his where DRD_RESOURCES_DETAIL=507 and DRD_DRS_ID=(select DRS_ID from seg_dev_resources,seg_wells where DRS_DEV_TYPE=12 and DRS_DEV_ID=WLL_ID and WLL_NAME='".$wl['wells'][$i]['well']['id']."'))");
}
// ===========================================================================================================================
//echo 'SYNDIS STATUS: '.$wl['wells'][$i]['pumpOnOff']['value'].' - '.$syndisStatus.'<br/>';
//echo 'syndisStatus: '.$syndisStatus.'<br/><br/>';
//echo 'LAST STATUS: '.$wellLastStatusArray[0]['DRD_VALUE'].'<br/>';
//echo "Przed Data SYNDIS: ". convertData($wl['wells'][$i]['pumpOnOff']['date'])." >>> ".time_to_int(convertData($wl['wells'][$i]['pumpOnOff']['date']))."<br/>";
//echo "Przed Data LAST: ". $wellLastStatusArray[0]['DRD_AUDIT_DATE']." >>> ".time_to_int($wellLastStatusArray[0]['DRD_AUDIT_DATE'])."<br/>";
//echo'<br/>';
/*
$old_date = convertData($wl['wells'][$i]['pumpOnOff']['date']);
$new_date = date("Y-m-d H:i:s",strtotime("+30 seconds",strtotime(convertData($wl['wells'][$i]['pumpOnOff']['date']))));
echo'OLD: '.$old_date.' , NEW: '.$new_date.'<br/>';
echo'Studnia: '.$wl['wells'][$i]['well']['id']. '['.$wellLastStatusArray[0]['DRD_DRS_ID'].']';
echo'<br/>';
echo'Czas SYNDIS: '.time_to_int(convertData($wl['wells'][$i]['pumpOnOff']['date']));
echo'<br/>';
echo'Czas SYNDIS do porównania: '.time_to_int(date("Y-m-d H:i:s",strtotime("+30 seconds",strtotime(convertData($wl['wells'][$i]['pumpOnOff']['date'])))));
echo'<br/>';
echo'Ostatni czas studnia: '.time_to_int($wellLastStatusArray[0]['DRD_AUDIT_DATE']);
echo'<br/>';
echo'Ostatni czas studnia do orównania: '.time_to_int(date("Y-m-d H:i:s",strtotime("+30 seconds",strtotime($wellLastStatusArray[0]['DRD_AUDIT_DATE']))));
echo'<br/>';
*/
// sprawdza czy ostatni pomiar w SoftSPM jest taki sam jak w SYNDIS (jeśli w Syndis jest świeższy)
//if( time_to_int(convertData($wl['wells'][$i]['pumpOnOff']['date'])) > time_to_int($wellLastStatusArray[0]['DRD_AUDIT_DATE']))
// 2020-03-05
// dodane dodatkowe 30 sekund, żeby zwiększyć różnicę
if ( time_to_int(convertData($wl['wells'][$i]['pumpOnOff']['date'])) > time_to_int(date("Y-m-d H:i:s",strtotime("+30 seconds",strtotime($wellLastStatusArray[0]['DRD_AUDIT_DATE'])))) )
{
//echo'Zarejestrował różnice dat<br/>';
//echo "Data SYNDIS: ". convertData($wl['wells'][$i]['pumpOnOff']['date'])." >>> ".strtotime(convertData($wl['wells'][$i]['pumpOnOff']['date']))."<br/>";
//echo "Data LAST: ". $wellLastStatusArray[0]['DRD_AUDIT_DATE']." >>> ".strtotime($wellLastStatusArray[0]['DRD_AUDIT_DATE'])."<br/>";
// porównuje statusy
if ($syndisStatus != $wellLastStatusArray[0]['DRD_VALUE'])
{
//echo'Zarejestrował różnice<br/>';
//echo "Status: ". $wl["wells"][$i]["pumpOnOff"]["value"]."<br/>";
//echo "Translate : ".$syndisStatus."<br/>";
//echo "wellLastStatusArray: ".$wellLastStatusArray[0]['DRD_VALUE']."<br/>";
//"INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=123,DRD_RESOURCES_DETAIL=507,DRD_VALUE='ONNNNNN',DRD_DESCRIPTION='121212',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='2001-01-01'"
if (empty($wellLastStatusArray[0]['DRD_DRS_ID']) || $wellLastStatusArray[0]['DRD_DRS_ID']<=0)
{
unset($wellLastStatusArray);
$wellLastStatusArray = sqlGetResAsArray("select DRS_ID as DRD_DRS_ID from seg_dev_resources,seg_wells where DRS_DEV_TYPE=12 and DRS_DEV_ID=WLL_ID and WLL_NAME='".$wl['wells'][$i]['well']['id']."'");
}
// wpis o załączeniu pompy
if ($wl['wells'][$i]['pumpOnOff']['value']==1 || $syndisStatus == "ON")
{
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$wellLastStatusArray[0]['DRD_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='ON',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."'");
mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='ON',WST_DRS_ID='".$wellLastStatusArray[0]['DRD_DRS_ID']."',WST_DATE='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."'");
}
// wpis o załączeniu pompy
else
{
// zabezpieczeni przed zerowym powodem wyłącznika
if ($wl['wells'][$i]['pumpOnOffReason']['value']==0)
$wl['wells'][$i]['pumpOnOffReason']['value'] = 1318;
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$wellLastStatusArray[0]['DRD_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='OFF',DRD_DESCRIPTION='".$wl['wells'][$i]['pumpOnOffReason']['value']."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."'");
mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='OFF',WST_DRS_ID='".$wellLastStatusArray[0]['DRD_DRS_ID']."',WST_DATE='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."'");
}
//wpisuje do tabeli inforację, że trzeba przebudować tabele softspm_rep.rep_002_avg_pump_working
mysql_query("INSERT INTO softspm_rep.rep_002_is_set_new_onoff_signals SET ISN_STATUS_VAL='".$syndisStatus."',ISN_DRS_ID='".$wellLastStatusArray[0]['DRD_DRS_ID']."',ISN_DATE='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."'");
$ile_zmian++;
}
}
}
// ========================================================================================================================= //
// Jeśli był zarejestrowany błędny status, a przyszedł poprawny - pobiera historię wyłączników
// Łata na problemy w SYNDIS
// sprawdza 15 powtóerzń, aż minie 15*20 sek, aż pobiorą się pomiary ze sterownika do bufora
//elseif ($wl['wells'][$i]['pumpOnOff']['flag']=="CORRECT" && count($isNotrealiableSaved)>0)
//elseif ($wl['wells'][$i]['pumpEfficiency']['flag']=="CORRECT" && count($isNotrealiableSaved)>0 && $isNotrealiableSaved[0]['NOT_LICZ']>$ilePowtorzen_02)
elseif ($wl['wells'][$i]['transmissionState']['value']==1 && count($isNotrealiableSaved)>0 && $isNotrealiableSaved[0]['NOT_LICZ']>$ilePowtorzen_02)
{
//echo'Flaga CORRECT, ale jest po statusie NOTREALIABLE <br/>';
// pobiera ostatnio zarejestrowany pomiar wyłącznika
unset($lasArrayOnOff);
//$lasArrayOnOff = sqlGetResAsArray("select * from seg_dev_resources_det where DRD_ID=(select max(DRD_ID) from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID']." and DRD_AUDIT_USR='SYNDIS')");
$lasArrayOnOff = sqlGetResAsArray("select * from seg_dev_resources_det where DRD_ID=(select max(DRD_ID) from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID'].")");
//konwertuje date na UTC
// =========================================
$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($lasArrayOnOff[0]['DRD_AUDIT_DATE'])- $offset);
//pobiera historię
unset($hisOnOffArray);
$hisOnOffArray = objectToArray($cl->GetPumpSwitchAndReasonsHistory($wl['wells'][$i]['well']['id'],$utcDate));
//jeśli tablica zwrócona z SYNDIS posiada rekody - są zwracane.
if (count($hisOnOffArray['probes'])>0 && $isNotrealiableSaved[0]['NOT_DRS_ID']>0)
{
//tworzy tablicę z wyłącznikami, które zostaną zarejestrowane jako nowe - z historii
unset($onoffTempNewArray);
for ($ile=0; $ile<count($hisOnOffArray['probes']); $ile++)
{
// echo 'SYN: '.time_to_int(convertData($hisOnOffArray['probes'][$ile]['date'])).'<br/>';
// echo 'LAST: '.time_to_int($lasArrayOnOff[0]['DRD_AUDIT_DATE']).'<br/>';
// '<br/>';
// jeśli aktualna data jest większa od ostatnio zapisanej - wpisuje do bazy
//if ( time_to_int(convertData($hisOnOffArray['probes'][$ile]['date'])) > time_to_int($lasArrayOnOff[0]['DRD_AUDIT_DATE']) )
if ( time_to_int(convertData($hisOnOffArray['probes'][$ile]['date'])) > time_to_int(date("Y-m-d H:i:s",strtotime("+30 seconds",strtotime($lasArrayOnOff[0]['DRD_AUDIT_DATE'])))) )
{
unset($newOnOffStatus);
$newOnOffStatus = (int) $hisOnOffArray['probes'][$ile]['value'];
if ($newOnOffStatus==1)
{
$newOnOffStatus='ON';
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$newOnOffStatus."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
// echo("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$newOnOffStatus."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
// echo'<br/>';
mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
// echo("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
// echo'<br/>';
}
else
{
if ($hisOnOffArray['probes'][$ile]['reason']==0)
$hisOnOffArray['probes'][$ile]['reason'] = 1318;
$newOnOffStatus = 'OFF';
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$newOnOffStatus."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_DESCRIPTION='".$hisOnOffArray['probes'][$ile]['reason']."',DRD_AUDIT_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
// echo("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$newOnOffStatus."',DRD_EXPORT_SEGAP='1',DRD_AUDIT_USR='SYNDIS',DRD_DESCRIPTION='".$hisOnOffArray['probes'][$ile]['reason']."',DRD_AUDIT_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
echo'<br/>';
mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',WST_DESCRIPTION='".$hisOnOffArray['probes'][$ile]['reason']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
// echo("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',WST_DESCRIPTION='".$hisOnOffArray['probes'][$ile]['reason']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'");
// echo'<br/>';
}
$onoffTempNewArray[] = array(
'id' => $isNotrealiableSaved[0]['NOT_DRS_ID'],
'stat' => $newOnOffStatus,
'date' => convertData($hisOnOffArray['probes'][$ile]['date'])
);
}
// jeśli system podczas braku łączności zarejestrował zmianę wyłączników to sprawdza historię pomiarów i ją zapisuje
if (count($onoffTempNewArray)>0)
{
// usuwa wszystkie wpisy, poza tymi o pełnej godzinie
mysql_query("delete from rep_soap_syndis_update5min_nra_onoff where SUD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID']." and SUD_AUDIT_CD not like '%:00:%'");
// pobiera listę pomiarów z bufora i sprawdza stan zarejestrowanych wyłączników - jeśli ON - to wpisuje
unset($getBufforData);
$getBufforData = sqlGetResAsArray("select SUD_ID,SUD_AUDIT_CD from rep_soap_syndis_update5min_nra_onoff where SUD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID']." and SUD_DATE_Q>='".$lasArrayOnOff[0]['DRD_AUDIT_DATE']."' order by SUD_AUDIT_CD");
for ($liTmp=0; $liTmp<count($getBufforData); $liTmp++)
{
unset($chechStatusOnOFF);
$chechStatusOnOFF = sqlGetResAsArray("select DRD_VALUE from seg_dev_resources_det where DRD_ID=(select max(DRD_ID) from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID']." and DRD_AUDIT_DATE<='".$getBufforData[$liTmp]['SUD_AUDIT_CD']."')");
// jest status jest na ON - kopiuje dane do właściwej tabeli
if ($chechStatusOnOFF[0]['DRD_VALUE']=='ON')
{
mysql_query("insert into rep_his_data_everyday select null,SUD_DRS_ID,SUD_AUDIT_CD,null,null,SUD_VAL_HD,SUD_VAL_Q,SUD_VAL_P1,SUD_VAL_P2,SUD_VAL_L1,SUD_VAL_UL12,SUD_VAL_PE,SUD_VAL_CFI,SUD_VAL_PP,SUD_VAL_HH,null,SUD_VAL_TW TEMP,SUD_VAL_DIAG,null,null,null,now() from rep_soap_syndis_update5min_nra_onoff where SUD_ID=".$getBufforData[$liTmp]['SUD_ID']);
}
}
//usuwa wszystkie wpisy z bufora
mysql_query("DELETE FROM rep_soap_syndis_update5min_nra_onoff WHERE SUD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID']);
}
// jeśli nie ma nowych informacji z bufora historii o zmianie statusów załączenia to sprawdza, czy ostatni stan załącznia
// był na ON - jeśli tak to zaczytuje historię z bufora
/* 2018-07-11
else
{
if ($lasArrayOnOff[0]['DRD_VALUE']='ON')
{
//insert into rep_his_data_everyday select null,SUD_DRS_ID,SUD_DATE_Q,null,null,SUD_VAL_HD,SUD_VAL_Q,SUD_VAL_P1,SUD_VAL_P2,SUD_VAL_L1,SUD_VAL_UL12,SUD_VAL_PE,SUD_VAL_CFI,SUD_VAL_PP,SUD_VAL_HH,null,SUD_VAL_TW TEMP,SUD_VAL_DIAG,null,null,null,now() from rep_soap_syndis_update5min_nra_onoff where SUD_DRS_ID=5717 and SUD_DATE_Q>='2018-06-24 08:59:37'
mysql_query("insert into rep_his_data_everyday select null,SUD_DRS_ID,SUD_AUDIT_CD,null,null,SUD_VAL_HD,SUD_VAL_Q,SUD_VAL_P1,SUD_VAL_P2,SUD_VAL_L1,SUD_VAL_UL12,SUD_VAL_PE,SUD_VAL_CFI,SUD_VAL_PP,SUD_VAL_HH,null,SUD_VAL_TW TEMP,SUD_VAL_DIAG,null,null,null,now() from rep_soap_syndis_update5min_nra_onoff where SUD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID']." and SUD_DATE_Q>='".$lasArrayOnOff[0]['DRD_AUDIT_DATE']."' order by SUD_AUDIT_CD");
//usuwa wszystkie wpisy z bufora
mysql_query("DELETE FROM rep_soap_syndis_update5min_nra_onoff WHERE SUD_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID']);
}
}
*/
// na koniec zapisania operacji historycznych - usuwa dane z bufora
}
//wpisuje do tabeli inforację, że trzeba przebudować tabele softspm_rep.rep_002_avg_pump_working
mysql_query("INSERT INTO softspm_rep.rep_002_is_set_new_onoff_signals SET ISN_STATUS_VAL='".$newOnOffStatus."',ISN_DRS_ID='".$isNotrealiableSaved[0]['NOT_DRS_ID']."',ISN_DATE=now()");
}
mysql_query("UPDATE rep_soap_syndis_notrealiable_onoff SET NOT_END_DATE='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."',NOT_END_VALUE='".$syndisStatus."',NOT_END_FLAG='CORRECT',NOT_AUDIT_END_DATE=now(),NOT_LICZ_LAST_DATE='".$lasArrayOnOff[0]['DRD_AUDIT_DATE']."' WHERE NOT_ID=".$isNotrealiableSaved[0]['NOT_ID']);
// dodaje do tabeli wpis, że trzeba przeanalizować dane nadmiarowe
mysql_query("INSERT INTO rep_clean_notrealiable SET CNT_DRS_ID=".$isNotrealiableSaved[0]['NOT_DRS_ID'].",CNT_AUDIT_DATE='".$lasArrayOnOff[0]['DRD_AUDIT_DATE']."'");
}
// ========================================================================================================================= //
// podbija licznik NOT_LICZ w tabeli rep_soap_syndis_notrealiable_onoff
// ========================================================================================================================= //
//elseif ($wl['wells'][$i]['pumpEfficiency']['flag']=="CORRECT" && count($isNotrealiableSaved)>0 && $isNotrealiableSaved[0]['NOT_LICZ']<$ilePowtorzen_01)
elseif ($wl['wells'][$i]['transmissionState']['value']==1 && count($isNotrealiableSaved)>0 && $isNotrealiableSaved[0]['NOT_LICZ']<$ilePowtorzen_01)
{
$newLicznik = $isNotrealiableSaved[0]['NOT_LICZ']+1;
mysql_query("UPDATE rep_soap_syndis_notrealiable_onoff SET NOT_LICZ=".$newLicznik." WHERE NOT_ID=".$isNotrealiableSaved[0]['NOT_ID']);
}
// ========================================================================================================================= //
// jeśli pomiar jest niewiarygodny a jest już jaiś wpis, to "zeruje licznik", ustawia wartość licznika na 1
// ========================================================================================================================= //
//elseif ($wl['wells'][$i]['pumpEfficiency']['flag']=="NOTREALIABLE" && count($isNotrealiableSaved)>0)
elseif ($wl['wells'][$i]['transmissionState']['value']==0 && count($isNotrealiableSaved)>0)
{
mysql_query("UPDATE rep_soap_syndis_notrealiable_onoff SET NOT_LICZ=1 WHERE NOT_ID=".$isNotrealiableSaved[0]['NOT_ID']);
}
// ========================================================================================================================= //
// brak łączności i brak aktualnie aktywnego wpisu
//elseif ($wl['wells'][$i]['pumpOnOff']['flag']=="NOTREALIABLE")
// ========================================================================================================================= //
//elseif ($wl['wells'][$i]['pumpEfficiency']['flag']=="NOTREALIABLE" && count($isNotrealiableSaved)==0)
elseif ($wl['wells'][$i]['transmissionState']['value']==0 && count($isNotrealiableSaved)==0)
{
// pobiera informacje o studni
unset($wellArray);
$wellArray = sqlGetResAsArray("select * from seg_dev_resources,seg_wells where DRS_DEV_TYPE=12 and DRS_DEV_ID=WLL_ID and WLL_NAME='".$wl['wells'][$i]['well']['id']."'");
mysql_query("INSERT INTO rep_soap_syndis_notrealiable_onoff SET NOT_DRS_ID=".$wellArray[0]['DRS_ID'].",NOT_WELL_ID=".$wellArray[0]['WLL_ID'].",NOT_WELL_NAME='".$wellArray[0]['WLL_NAME']."',NOT_WHEN_DATE='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."',NOT_WHEN_VALUE='".$syndisStatus."',NOT_WHEN_FLAG='NOTREALIABLE',NOT_AUDIT_WHEN_DATE=now()");
}
// ========================================================================================================================= //
}
//mysql_query("truncate table softspm_rep.rep_002_avg_pump_working");
//mysql_query("insert into softspm_rep.rep_002_avg_pump_working select null,DRD_VALUE,DRD_DRS_ID,DRD_AUDIT_DATE from (select * from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 union select * from seg_dev_resources_det_his where DRD_RESOURCES_DETAIL=507) tb order by DRD_DRS_ID,DRD_AUDIT_DATE,DRD_ID");
mysql_close($polacz);
echo 'Zmieniono <b>'.$ile_zmian.'</b> stanów załączenia/wyłączenia dla studni.<br/><br/>';
echo 'Finish: '.date("Y-m-d H:i:s").'<br>';
?>