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

187 lines
7.7 KiB
PHP

<?php
if(basename($_SERVER['SCRIPT_FILENAME'])==basename(__FILE__))
exit;
/**
* This webservice provides status and url of well
*
* @service SoapRYG
*/
class SoapRYG{
/**
* Return status (red/yellow/green) and url of well
* @param GetWellRYGRequest $WellId
* @return GetWellRYGResponse
*/
public function GetWellRYG($WellId) {
$pumpIdentifier = $WellId->WellId; //zmienna $pumpIdentifier zawierac bedze identyfikator pompy PUMP1234
$wynik = mysql_query("select SWE_DRS_ID,SWE_VALUE from rep_soap_well_energy where SWE_NAME='".$pumpIdentifier."'");
$devID=null; $well_ID=null;
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$devID = $r["SWE_DRS_ID"];
$engStat = $r["SWE_VALUE"];
}
$returnObject = new GetWellRYGResponse();
$returnObject->RYGStatus=$engStat; // do tej zmiennej trzeba przypisac R/Y/G
$returnObject->url = 'http://172.21.11.101/?pg=site401mark&dev='.$devID; // do tej zmiennej trzeba przypisac URL
return $returnObject;
}
/**
* Returns pump type and pump number
* @param GetPumpParametersRequest $Pump
* @return GetPumpParametersResponse
*/
public function GetPumpParameters($Pump) {
$pumpIdentifier = $Pump->PumpId; //zmienna $pumpIdentifier zawierac bedze identyfikator pompy PUMP1234
//select RWL_PUP_DRS_ID,RWL_ENG_DRS_ID from seg_wells left join seg_well_pump_eng_rel on WLL_ID=RWL_WLL_ID where WLL_NAME='G50'
$wynik = mysql_query("select RWL_PUP_DRS_ID from seg_wells left join seg_well_pump_eng_rel on WLL_ID=RWL_WLL_ID where WLL_NAME='".$pumpIdentifier."'");
$devID=null;
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$devID = $r["RWL_PUP_DRS_ID"];
}
$wynik = mysql_query("select PUP_NAME,DRS_SN_NUMBER from seg_dev_resources left join seg_pumps on PUP_ID=DRS_DEV_ID and DRS_DEV_TYPE=10 where DRS_ID=".$devID);
$pName=null;$pNo=null;
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$pName = $r["PUP_NAME"];
$pNo = $r["DRS_SN_NUMBER"];
}
$returnObject = new GetPumpParametersResponse();
$returnObject->PumpType = $pName; // do tej zmiennej trzeba przypisac typ pompy
$returnObject->PumpNumber = $pNo; //do tej zmiennej trzeba przypisać numer pompy
return $returnObject;
}
/**
* Returns engine type and pump number
* @param GetEngineParametersRequest $Engine
* @return GetEngineParametersResponse
*/
public function GetEngineParameters($Engine) {
$engineIdentifier = $Engine->EngineId; //zmienna $engineIdentifier zawierac bedze identyfikator silnika SILNIK12
//select RWL_PUP_DRS_ID,RWL_ENG_DRS_ID from seg_wells left join seg_well_pump_eng_rel on WLL_ID=RWL_WLL_ID where WLL_NAME='G50'
$wynik = mysql_query("select RWL_ENG_DRS_ID from seg_wells left join seg_well_pump_eng_rel on WLL_ID=RWL_WLL_ID where WLL_NAME='".$engineIdentifier."'");
$devID=null;
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$devID = $r["RWL_ENG_DRS_ID"];
}
$wynik = mysql_query("select ENG_NAME,DRS_SN_NUMBER from seg_dev_resources left join seg_engines on DRS_DEV_ID=ENG_ID and DRS_DEV_TYPE=11 where DRS_ID=".$devID);
$eName=null;$eNo=null;
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$eName = $r["ENG_NAME"];
$eNo = $r["DRS_SN_NUMBER"];
}
$returnObject = new GetEngineParametersResponse();
$returnObject->EngineType = $eName; // do tej zmiennej trzeba przypisac typ silnika
$returnObject->EngineNumber = $eNo; //do tej zmiennej trzeba przypisać numer silnika
return $returnObject;
}
/**
* Returns depth of well
* @param GetWellParametersRequest $Well
* @return GetWellParametersResponse
*/
public function GetWellParameters($Well) {
$wellIdentifier = $Well->WellId; //zmienna $wellIdentifier zawierac bedze identyfkator studni
$drsID=sqlValue("select DRS_ID from seg_wells left join seg_dev_resources on DRS_DEV_ID=WLL_ID and DRS_DEV_TYPE=12 where WLL_NAME='".$wellIdentifier."'");
$returnObject = new GetWellParametersResponse();
$returnObject->WellDepth=getLastValueFromDevResourceDetail('WELL_PARAMETERS','LPM',$drsID); // do tej zmiennej trzeba przypisac glebokosc studni
return $returnObject;
}
/**
* Returns hole data of well
* @param GetWellOrdinateRequest $Well
* @return GetWellOrdinateResponse
*/
public function GetWellOrdinate($Well) {
$wellIdentifier = $Well->WellId; //zmienna $wellIdentifier zawierac bedze identyfkator studni
$wynik = mysql_query("select OHC_GLEB_OSTAT,OHC_RZEDNA_TERENU_ACT,OHC_DL_GEOGR,OHC_SZER_GEOGR,OHC_RZEDNA_TEREN from seg_object_hole_cards where OHC_NAME='".$wellIdentifier."'");
$eName=null;$eNo=null;
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$wHoleDepth = $r["OHC_GLEB_OSTAT"];
$wHoleOrdinate = $r["OHC_RZEDNA_TERENU_ACT"];
$wHoleY = $r["OHC_DL_GEOGR"];
$wHoleX = $r["OHC_SZER_GEOGR"];
$wHoleOryginal = $r["OHC_RZEDNA_TEREN"];
}
$returnObject = new GetWellOrdinateResponse();
$returnObject->HoleX=$wHoleX; // do tej zmiennej trzeba przypisac x otworu
$returnObject->HoleY=$wHoleY; // do tej zmiennej trzeba przypisac y otworu
$returnObject->HoleOrdinate=$wHoleOrdinate; // do tej zmiennej trzeba przypisac rzedna otworu
$returnObject->HoleDepth=$wHoleDepth; // do tej zmiennej trzeba przypisac glebokosc otworu
$returnObject->PrimaryTerrainOrdinate=$wHoleOryginal; // do tej zmiennej trzeba przypisac rzedna pierwotna
return $returnObject;
}
/**
* Insert new status of OnOff for Well
* @param SetWellOnOffStatusRequest $Well, $Status, $Date
* @return SetWellOnOffStatusResponse OnOffStatus
*/
public function SetWellOnOffStatus($Well, $Status, $Date, $Reason)
{
$wellIdentifier = $Well->WellId; //zmienna $wellIdentifier zawierac bedze identyfkator studni
$wellStatus = $Status->OnOff; //zmienna $wellStatus zawierac bedze identyfkator studni
$wellDate = $Date->DateOnOff; //zmienna $wellDate zawierac bedze datę
$wellReason = $Reason->OnOffReason; //zmienna $wellReason - przyczyna wyłącenia
$wynik = mysql_query("select DRS_ID from seg_dev_resources,seg_wells where DRS_DEV_ID=WLL_ID and DRS_DEV_TYPE=12 and WLL_NAME='".$wellIdentifier."'");
$devID=null; $well_status=null;
if($wynik)while ($r = mysql_fetch_array($wynik))
{
$devID = $r["DRS_ID"];
}
if ($devID>0)
{
if ($wellStatus==1) $well_status='ON';
else $well_status='OFF';
$wellDate = date('Y-m-d H:i:s', strtotime($wellDate));
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=".$devID.",DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$well_status."',DRD_DESCRIPTION='".$wellReason."',DRD_AUDIT_USR='SYNDIS',DRD_AUDIT_DATE='".$wellDate."'");
}
$returnObject = new SetWellOnOffStatusResponse();
$returnObject->OnOffStatus=$well_status; // aktualny status
return $returnObject;
}
/**
* This method should not be visible in WSDL - but notice:
* If the PHP SoapServer doesn't know the WSDL, this method is still accessable for SOAP requests!
*
* @ignore
* @param unknown_type $var
* @return string
*/
public function PrintVariable($var){
return print_r($var,true);
}
}