'; 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 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; $i0) { mysql_query("UPDATE rep_soap_syndis_notrealiable_onoff SET NOT_END_DATE=now(),NOT_AUDIT_END_DATE=now(),NOT_END_FLAG='MANUAL',NOT_LICZ=100 WHERE NOT_ID=".$isNotrealiableSaved[0]['NOT_ID']); unset($isNotrealiableSaved); } // usuwa wszystkie pomiary starsze nić podany MANUAL mysql_query("delete from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_DRS_ID=".$deviceInfoArray[0]['DRS_ID']." and DRD_AUDIT_USR='SYNDIS' and DRD_AUDIT_DATE>='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."'"); //pobiera historię unset($hisOnOffArray); $hisOnOffArray = objectToArray($cl->GetPumpSwitchAndReasonsHistory($wl['wells'][$i]['well']['id'],$wl['wells'][$i]['pumpOnOff']['date'])); for ($ile=0; $ile= time_to_int(convertData($wl['wells'][$i]['pumpOnOff']['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='".$deviceInfoArray[0]['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'])."'"); mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$deviceInfoArray[0]['DRS_ID']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'"); } else { $newOnOffStatus = 'OFF'; mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$deviceInfoArray[0]['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'])."'"); mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$deviceInfoArray[0]['DRS_ID']."',WST_DESCRIPTION='".$hisOnOffArray['probes'][$ile]['reason']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'"); } $ile_zmian++; } } } // ============================== ============================== ============================== ============================== ============================== ============================== // sprawdza, data wyłącznika nie cofnęła się // ============================== ============================== ============================== ============================== ============================== ============================== unset($deviceInfoArray); $deviceInfoArray = 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']."'"); 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_AUDIT_END_DATE is null and NOT_DRS_ID=".$deviceInfoArray[0]['DRS_ID'].")"); if ($wl['wells'][$i]['pumpEfficiency']['flag']=="CORRECT" && count($isNotrealiableSaved)==0) { // pobiera informacje o ostatnim wyłączniku dla pompy unset($oNoFFstatusArray); $oNoFFstatusArray = 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_AUDIT_USR='SYNDIS' and DRD_DRS_ID=".$deviceInfoArray[0]['DRS_ID'].")"); // jeśli data wyłącznika z SYNDIS jest wcześniejsza niż aktualnie zarejestrowana w SoftSPM, to starsze kasuje z SoftSPM if( time_to_int(convertData($wl['wells'][$i]['pumpOnOff']['date']))>20150101000000 && time_to_int(convertData($wl['wells'][$i]['pumpOnOff']['date'])) < time_to_int($oNoFFstatusArray[0]['DRD_AUDIT_DATE'])) { // usuwa nadmiarowe pomiary mysql_query("delete from seg_dev_resources_det where DRD_RESOURCES_DETAIL=507 and DRD_AUDIT_USR='SYNDIS' and DRD_AUDIT_DATE>='".convertData($wl['wells'][$i]['pumpOnOff']['date'])."' and DRD_DRS_ID=".$deviceInfoArray[0]['DRS_ID']); // pobiera informacje o ostatnim wyłączniku dla pompy unset($oNoFFstatusArray); $oNoFFstatusArray = 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_AUDIT_USR='SYNDIS' and DRD_DRS_ID=".$deviceInfoArray[0]['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($oNoFFstatusArray[0]['DRD_AUDIT_DATE'])- $offset); //pobiera historię unset($hisOnOffArray); $hisOnOffArray = objectToArray($cl->GetPumpSwitchAndReasonsHistory($wl['wells'][$i]['well']['id'],$utcDate)); for ($ile=0; $ile time_to_int($oNoFFstatusArray[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='".$deviceInfoArray[0]['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'])."'"); mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$deviceInfoArray[0]['DRS_ID']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['date'])."'"); } else { $newOnOffStatus = 'OFF'; mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID='".$deviceInfoArray[0]['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'])."'"); mysql_query("INSERT INTO softspm_rep.rep_002_avg_pump_working SET WST_STATUS_VAL='".$newOnOffStatus."',WST_DRS_ID='".$deviceInfoArray[0]['DRS_ID']."',WST_DESCRIPTION='".$hisOnOffArray['probes'][$ile]['reason']."',WST_DATE='".convertData($hisOnOffArray['probes'][$ile]['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='".$newOnOffStatus."',ISN_DRS_ID='".$deviceInfoArray[0]['DRS_ID']."',ISN_DATE=now()"); $ile_zmian++; } } } } // ============================== ============================== ============================== ============================== ============================== ============================== } mysql_close($polacz); echo 'Zmieniono '.$ile_zmian.' stanów załączenia/wyłączenia dla studni.

'; echo 'Finish: '.date("Y-m-d H:i:s").'
'; ?>