private static function getCumulativeFlow($fromDate, $toDate, $folSeqArray, $folChannelDataArray, $folChannelsNameArray)
 {
     $dateSlices = DateUtils::getDateSlicesForCumulativeFlow($fromDate, $toDate);
     $dateFormat = "d-m-Y H:i:s";
     $dataFinal = array();
     foreach ($dateSlices as $dateSlice) {
         $dateSliceData = array();
         foreach ($folSeqArray as $folSeq) {
             $dataArray = $folChannelDataArray[$folSeq];
             $dateSliceLong = strtotime($dateSlice);
             $totDataBetweenSlices;
             $countDataBetweenSlices;
             foreach ($dataArray as $dataDateSlice => $data) {
                 $dt = date($dateFormat, $dataDateSlice);
                 if ($dateSliceLong > $dataDateSlice) {
                     $dataValue = $data['channelValue'][0];
                     if ($dataValue != "n.o") {
                         $totDataBetweenSlices += $dataValue;
                         $countDataBetweenSlices++;
                     }
                 }
             }
             //$dateSliceDataArray = self::getNextStackData($dataArray,$dateSliceLong);
             //$channelNamesArr = $folChannelsNamesArray[$folSeq];
             //if($dateSliceDataArray != null){
             //foreach($dateSliceDataArray['channelValue'] as $key => $eachdata){
             //$eachDataPU = ConvertorUtils::getPrescribedValue($channelNamesArr[$key],$eachdata);
             array_push($dateSliceData, round($totDataBetweenSlices / $countDataBetweenSlices, 2));
             //}
             //}
         }
         $dateSliceDataClean = array_filter($dateSliceData, function ($value) {
             return $value != "";
         });
         if (count($dateSliceDataClean) > 0) {
             $dat = new DateTime($dateSlice);
             $datStr = $dat->format($dateFormat);
             $dataFinal[$datStr] = $dateSliceData;
         }
     }
     //dateFinal is date as key and array of channel values
     return $dataFinal;
 }