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>';
예제 #3
0
 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);