public function GetTableRawData($extFlightId, $extParams, $extFromTime, $extToTime) { $flightId = $extFlightId; $paramCodeArr = $extParams; $fromTime = $extFromTime; $toTime = $extToTime; $Fl = new Flight(); $flightInfo = $Fl->GetFlightInfo($flightId); $bruType = $flightInfo['bruType']; $apTableName = $flightInfo['apTableName']; $bpTableName = $flightInfo['bpTableName']; $startCopyTime = $flightInfo['startCopyTime']; unset($Fl); $Bru = new Bru(); $bruInfo = $Bru->GetBruInfo($bruType); $stepLength = $bruInfo['stepLength']; $stepDivider = $bruInfo['stepDivider']; $startCopyTime = $flightInfo['startCopyTime']; $cycloApTableName = $bruInfo['gradiApTableName']; $cycloBpTableName = $bruInfo['gradiBpTableName']; if ($fromTime < $startCopyTime) { $fromTime = $startCopyTime; } $startFrame = floor(($fromTime - $startCopyTime) / $stepLength); $endFrame = ceil(($toTime - $startCopyTime) / $stepLength); $framesCount = $endFrame - $startFrame; $Ch = new Channel(); $normParam = $Ch->NormalizeTime($stepDivider, $stepLength, $framesCount, $startCopyTime, $startFrame, $endFrame); $globalRawParamArr = array(); array_push($globalRawParamArr, $normParam); for ($i = 0; $i < count($paramCodeArr); $i++) { $paramType = $Bru->GetParamType($paramCodeArr[$i], $cycloApTableName, $cycloBpTableName); if ($paramType == PARAM_TYPE_AP) { $paramInfo = $Bru->GetParamInfoByCode($cycloApTableName, '', $paramCodeArr[$i], PARAM_TYPE_AP); $normParam = $Ch->GetNormalizedApParam($apTableName, $stepDivider, $paramInfo["code"], $paramInfo["freq"], $paramInfo["prefix"], $startFrame, $endFrame); array_push($globalRawParamArr, $normParam); } else { if ($paramType == PARAM_TYPE_BP) { $paramInfo = $Bru->GetParamInfoByCode('', $cycloBpTableName, $paramCodeArr[$i], PARAM_TYPE_BP); $normParam = $Ch->GetNormalizedBpParam($bpTableName, $stepDivider, $paramInfo["code"], $paramInfo["freq"], $paramInfo["prefix"], $startFrame, $endFrame); array_push($globalRawParamArr, $normParam); } } } unset($Ch); unset($Bru); return $globalRawParamArr; }
public function CreateTemplate($extBruTypeId, $extTplName, $extParams) { $bruTypeId = $extBruTypeId; $tplName = $extTplName; $paramsToAdd = $extParams; $Bru = new Bru(); $bruInfo = $Bru->GetBruInfoById($bruTypeId); $gradiApTableName = $bruInfo['gradiApTableName']; $gradiBpTableName = $bruInfo['gradiBpTableName']; $PSTTableName = $bruInfo['paramSetTemplateListTableName']; $paramsWithType = array(); $Ch = new Channel(); for ($i = 0; $i < count($paramsToAdd); $i++) { $paramInfo = $Bru->GetParamInfoByCode($gradiApTableName, $gradiBpTableName, $paramsToAdd[$i]); if ($paramInfo['paramType'] == PARAM_TYPE_AP) { $paramsWithType[PARAM_TYPE_AP][] = array('code' => $paramsToAdd[$i], 'min' => -1, 'max' => 1); } else { if ($paramInfo['paramType'] == PARAM_TYPE_BP) { $paramsWithType[PARAM_TYPE_BP][] = array('code' => $paramsToAdd[$i]); } } } unset($Bru); $PSTempl = new PSTempl(); $PSTempl->DeleteTemplate($PSTTableName, $tplName, $this->_user->username); $apCount = count($paramsWithType[PARAM_TYPE_AP]); for ($i = 0; $i < count($paramsWithType[PARAM_TYPE_AP]); $i++) { $paramCode = $paramsWithType[PARAM_TYPE_AP][$i]; $yMax = $paramsWithType[PARAM_TYPE_AP][$i]['max']; $yMin = $paramsWithType[PARAM_TYPE_AP][$i]['min']; $curCorridor = 0; if ($yMax > 0) { $curCorridor = $yMax - $yMin; } else { $curCorridor = -($yMin - $yMax); } $axisMax = $yMax + $i * $curCorridor; $axisMin = $yMin - ($apCount - $i) * $curCorridor; $PSTempl->AddParamToTemplateWithMinMax($PSTTableName, $tplName, $paramCode['code'], $axisMin, $axisMax, $this->_user->username); } if (isset($paramsWithType[PARAM_TYPE_BP])) { $busyCorridor = ($apCount - 1) / $apCount * 100; $freeCorridor = 100 - $busyCorridor; // 100% $bpCount = count($paramsWithType[PARAM_TYPE_BP]); $curCorridor = $freeCorridor / $bpCount; $j = 0; for ($i = $apCount; $i < $apCount + $bpCount; $i++) { $axisMax = 100 - $curCorridor * $j; $axisMin = 0 - $curCorridor * $j; $PSTempl->AddParamToTemplateWithMinMax($PSTTableName, $tplName, $paramsWithType[PARAM_TYPE_BP][$j]['code'], $axisMin, $axisMax, $this->_user->username); $j++; } } unset($Ch); unset($PSTempl); return "ok"; }
public function UpdateParamColor($extFlightId, $extParamCode, $extParamColor) { $flightId = $extFlightId; $paramCode = $extParamCode; $color = $extParamColor; $Fl = new Flight(); $flightInfo = $Fl->GetFlightInfo($flightId); $bruType = $flightInfo['bruType']; unset($Fl); $Bru = new Bru(); $bruInfo = $Bru->GetBruInfo($bruType); $cycloApTableName = $bruInfo['gradiApTableName']; $cycloBpTableName = $bruInfo['gradiBpTableName']; $paramInfo = $Bru->GetParamInfoByCode($cycloApTableName, $cycloBpTableName, $paramCode); if ($paramInfo["paramType"] == PARAM_TYPE_AP) { $Bru->UpdateParamColor($cycloApTableName, $paramCode, $color); } else { if ($paramInfo["paramType"] == PARAM_TYPE_BP) { $Bru->UpdateParamColor($cycloBpTableName, $paramCode, $color); } } unset($Bru); }