Пример #1
0
 public static function getAllReportRowsByReportId($report_id = 0, $fileIds = array())
 {
     $excelSheets = array();
     $currentReport = self::where('report_id', $report_id)->first();
     if ($currentReport && count($currentReport) > 0) {
         # get all files under this report
         $reportFiles = ReportFile::getReportFilesById($currentReport->report_id, $fileIds);
         # get all version and sheets under this report
         for ($i = 0; $i < count($reportFiles); $i++) {
             // get current version
             $currentFileVersion = ReportFileVersion::getCurrentVersion($reportFiles[$i]->file_id);
             $reportFiles[$i]->currentFileVersion = $currentFileVersion;
             // get all file versions
             $allFileVersion = ReportFileVersion::getAllVersion($reportFiles[$i]->file_id);
             $reportFiles[$i]->allFileVersion = $allFileVersion;
             // get sheets
             $reportSheets = ReportFileSheets::getSheetsByVersionId($currentFileVersion->version_id);
             $reportFiles[$i]->reportSheets = $reportSheets;
             //self::print_this($reportSheets, '$reportSheets');
             foreach ($reportSheets as $sheet) {
                 $currentDataTable = (array) json_decode($sheet->data_table);
                 //self::print_this($currentDataTable, '$currentDataTable');
                 foreach ($currentDataTable as $row) {
                     //self::print_this($row, '$row');
                     if (isset($row->A) && $row->A != '') {
                         $excelSheets[$row->A] = (array) $row;
                     } elseif (isset($row->B) && $row->B != '') {
                         $excelSheets[$row->B] = (array) $row;
                     } elseif (isset($row[0]) && $row[0] != '') {
                         $excelSheets[$row[0]] = (array) $row;
                     } elseif (isset($row[1]) && $row[1] != '') {
                         $excelSheets[$row[1]] = (array) $row;
                     }
                 }
             }
         }
         //self::print_this($excelSheets, '$excelSheets');
     }
     return $excelSheets;
 }
Пример #2
0
 public function view_file_version($file_id, $version_id)
 {
     # get all files under this report
     $reportFiles = ReportFile::getReportFilesByFileId($file_id);
     # get all version and sheets under this report
     for ($i = 0; $i < count($reportFiles); $i++) {
         // get current version
         $currentFileVersion = ReportFileVersion::getCurrentVersion($file_id);
         $reportFiles[$i]->currentFileVersion = $currentFileVersion;
         // get all file versions
         $allFileVersion = ReportFileVersion::getAllVersion($reportFiles[$i]->file_id);
         $reportFiles[$i]->allFileVersion = $allFileVersion;
         // get sheets
         $reportSheets = ReportFileSheets::getSheetsByVersionId($currentFileVersion->version_id);
         $reportFiles[$i]->reportSheets = $reportSheets;
     }
     $data['current_file_version'] = str_replace(" ", "_", $currentFileVersion->created_at);
     $data['report_files'] = $reportFiles;
     return view($this->viewPath . 'view_file_version', $data);
 }
 public function generate($id = 0)
 {
     $data = array();
     $data['reports'] = Reports::getList();
     $reports = Reports::getList();
     $data['reports'] = $reports;
     # report
     $report = Reports::getReportById($id);
     $data['report'] = $report;
     if (count($report) > 0) {
         # get all files under this report
         $reportFiles = ReportFile::getReportFilesById($report->report_id);
         # get all version and sheets under this report
         for ($i = 0; $i < count($reportFiles); $i++) {
             // get current version
             $currentFileVersion = ReportFileVersion::getCurrentVersion($reportFiles[$i]->file_id);
             $reportFiles[$i]->currentFileVersion = $currentFileVersion;
             // get all file versions
             $allFileVersion = ReportFileVersion::getAllVersion($reportFiles[$i]->file_id);
             $reportFiles[$i]->allFileVersion = $allFileVersion;
             // get sheets
             $reportSheets = ReportFileSheets::getSheetsByVersionId($currentFileVersion->version_id);
             $reportFiles[$i]->reportSheets = $reportSheets;
         }
     } else {
         $reportFiles = array();
     }
     $data['report_files'] = $reportFiles;
     return view($this->viewPath . 'generate', $data);
 }