public function getRecentReport($GET) { $DataArr = array(); $folSeqArray = array(); //holds all folderseqs foreach ($GET as $key => $value) { if (strpos($key, "channelNos_") !== false) { $folSeq = (double) substr($key, 11); array_push($folSeqArray, $folSeq); } } $folStationsArr = array(); foreach ($folSeqArray as $folderSeq) { $folStation = array(); $FDS = FolderDataStore::getInstance(); $folder = $FDS->FindBySeq($folderSeq); $LDS = LocationDataStore::getInstance(); $location = $LDS->FindBySeq($folder->getLocationSeq()); $WQDDataDS = WQDDataDataStore::getInstance(); $WQDInfo = $WQDDataDS->getChannelsLatestInfo($folderSeq); $folStation['station'] = $folder->getFolderName(); $folStation['location'] = $location->getLocationName(); //dates calcualted to get avg info $toDate = new DateTime($WQDInfo['dated']); //current date as todate $fromDateClone = clone $toDate; $fromDate = $fromDateClone->sub(new DateInterval('P1D')); $toDateStr = $toDate->format("Y/m/d H:i:s"); $fromDateStr = $fromDate->format("Y/m/d H:i:s"); if ($folder->getStationType() == "stack" || $folder->getStationType() == "effluent") { $WQDStackDataDS = WQDStackDataStore::getInstance(); $WQDAvgInfo = $WQDStackDataDS->getChannelsAverageInfo($folderSeq, $fromDateStr, $toDateStr); } else { $WQDAvgInfo = $WQDDataDS->getChannelsAverageInfo($folderSeq, $fromDateStr, $toDateStr); } $CCDS = ChannelConfigurationDataStore::getInstance(); $channelsDetails = $CCDS->FindByFolder($folderSeq); $channelsData = $WQDInfo['channelsInfo']; //channel details is arrray of chNo and chValue $unitName = new ArrayObject(); foreach ($channelsDetails as $channel) { $unitName[$channel->getChannelName()] = $channel->getChannelUnit(); } $channelsDataArr = array(); foreach ($channelsDetails as $channel) { try { $channelData = array(); $chNo = $channel->getChannelNumber(); $chName = $channel->getChannelName(); $chUnit = $channel->getChannelUnit(); $chData = $channelsData['ch' . $chNo . 'value']; $chConvertedUnitVal = ConvertorUtils::getPrescribedUnit($chName); if ($chConvertedUnitVal != "") { $chUnit = $chConvertedUnitVal; } $chUnit = ConvertorUtils::getUTF8Encoded($chUnit); $chAvg = $WQDAvgInfo['ch' . $channel->getChannelNumber() . 'avg']; $chMin = $WQDAvgInfo['ch' . $channel->getChannelNumber() . 'min']; $chMax = $WQDAvgInfo['ch' . $channel->getChannelNumber() . 'max']; $channelData["ch" . $chNo . "value"] = ConvertorUtils::getPrescribedValue($chName, $chData); $channelData["ch" . $chNo . "unit"] = $chUnit; $channelData["ch" . $chNo . "avg"] = $chAvg; $channelData["ch" . $chNo . "min"] = $chMin; $channelData["ch" . $chNo . "max"] = $chMax; $channelData["ch" . $chNo . "name"] = $chName; array_push($channelsDataArr, $channelData); } catch (Exception $e) { } } $folStation['channelsData'] = $channelsDataArr; $dat = new DateTime($WQDInfo['dated']); $datStr = $dat->format("d-m-Y H:i"); $folStation['dated'] = $datStr; array_push($folStationsArr, $folStation); } return $folStationsArr; }
$chNo = $channel->getChannelNumber(); $chName = $channel->getChannelName(); $chUnit = $channel->getChannelUnit(); $chData = $channelsData['ch' . $chNo . 'value']; if ((double) $chData <= 0 && $chName != 'Vertical Wind Speed') { $chData = "n.o"; } if ((double) $chData == 985 && ($chName == 'PM10' || $chName == 'PM2.5')) { $chData = "n.o"; } $channelsData["ch" . $chNo . "value"] = ConvertorUtils::getPrescribedValue($chName, $chData); $chConvertedUnitVal = ConvertorUtils::getPrescribedUnit($chName); if ($chConvertedUnitVal != "") { $chUnit = $chConvertedUnitVal; } $chUnit = ConvertorUtils::getUTF8Encoded($chUnit); $channelsData["ch" . $chNo . "unit"] = $chUnit; } $WQDInfo['channelsInfo'] = $channelsData; $str = '<table><tr><td valign="top">'; $str .= '<table class="mapDataInfoTable"><tr><td class="ui-state-active">Company Name</td><td>' . $folder->getIndustryName() . '</td></tr>'; $str .= ' <tr><td class="ui-state-active">Location</td><td>' . $folder->getCity() . ", " . $folder->getState() . '</td></tr>'; $str .= ' <tr><td class="ui-state-active">Station</td><td>' . $folder->getStationName() . '</td></tr>'; $str .= ' <tr><td class="ui-state-active">Industry Type</td><td>' . $folder->getCategory() . '</tr>'; $str .= ' <tr><td class="ui-state-active">Longitude</td><td>' . $folderMapInfo['longitude'] . '</td></tr>'; $str .= ' <tr><td class="ui-state-active">Latitude</td><td>' . $folderMapInfo['latitude'] . '</td></tr>'; $dat = new DateTime($WQDInfo['dated']); $datStr = $dat->format("d-m-Y H:i"); $str .= ' <tr><td class="ui-state-active">Last Update On</td><td>' . $datStr . '</td></tr>'; $str .= ' <tr><td class="ui-state-active">Date of Station Establishment</td><td>' . $folderMapInfo['dateOfEstablishment'] . '</td></tr>'; $str .= ' <tr><td class="ui-state-active">Data from which data is available</td><td>' . $folderMapInfo['dateOfAvailability'] . '</td></tr>';
private function processChannelNumbersToParameters($dataArray, $isConvertUnits) { //method will set channelnames and units $CCDS = ChannelConfigurationDataStore::getInstance(); $processedData = new ArrayObject(); foreach ($dataArray as $data) { $processedDataItem = new ArrayObject(); $processedDataItem['folderSeq'] = $data['folderSeq']; $processedDataItem['folderName'] = $data['folderName']; $processedDataItem['dated'] = $data['dated']; $channelNameWiseData = new ArrayObject(); $channelsInfo = $CCDS->FindByFolder($data['folderSeq']); $channelsNumberWiseData = $data['channelsInfo']; foreach ($channelsInfo as $channel) { $chNo = $channel->getChannelNumber(); $chName = $channel->getChannelName(); $chUnit = $channel->getChannelUnit(); if ($isConvertUnits == 1) { $chNoData = $channelsNumberWiseData['ch' . $chNo . 'value']; $presValue = ConvertorUtils::getPrescribedValue($chName, $chNoData); $chConvertedUnitVal = ConvertorUtils::getPrescribedUnit($chName); if ($chConvertedUnitVal == null) { $chConvertedUnitVal = $chUnit; } $presUnit = ConvertorUtils::getUTF8Encoded($chConvertedUnitVal); if ($presValue == null) { $channelNameWiseData[$chName] = 'no data'; } else { $channelNameWiseData[$chName] = $presValue . ' ' . $presUnit; } } else { $unitVal = $unitName[$chName]; $channelNameWiseData["ch" . $chNo . "unit"] = ConvertorUtils::getUTF8Encoded($unitVal); } } $processedDataItem['data'] = $channelNameWiseData; $processedData[] = $processedDataItem; } return $processedData; }
require_once $ConstantsArray['dbServerUrl'] . "/DataStoreMgr/ChannelConfigurationDataStore.php"; if (empty($_GET['folSeq'])) { die; } $folderSeq = $_GET['folSeq']; $isConvertUnits = $_GET['isConvertUnits']; $WQDDataDS = WQDDataDataStore::getInstance(); $WQDInfo = $WQDDataDS->getChannelsLatestInfo($folderSeq); $CCDS = ChannelConfigurationDataStore::getInstance(); $channelsDetails = $CCDS->FindByFolder($folderSeq); $channelsData = $WQDInfo['channelsInfo']; $unitName = new ArrayObject(); foreach ($channelsDetails as $channel) { $unitName[$channel->getChannelName()] = $channel->getChannelUnit(); } foreach ($channelsDetails as $channel) { $chNo = $channel->getChannelNumber(); $chName = $channel->getChannelName(); if ($isConvertUnits == 1) { $chData = $channelsData['ch' . $chNo . 'value']; $channelsData["ch" . $chNo . "value"] = ConvertorUtils::getPrescribedValue($chName, $chData); $chConvertedUnitVal = ConvertorUtils::getPrescribedUnit($chName); $channelsData["ch" . $chNo . "unit"] = ConvertorUtils::getUTF8Encoded($chConvertedUnitVal); } else { $unitVal = $unitName[$chName]; $channelsData["ch" . $chNo . "unit"] = ConvertorUtils::getUTF8Encoded($unitVal); } } $WQDInfo['channelsInfo'] = $channelsData; //loop over $channelsData and make conversions as per conversion table; echo json_encode($WQDInfo);