'; 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'; echo'sqlDate: '.$sqlDate.'
'; //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").'
'; ?>