/** * [extractInfo Extract data from files] * @method extractInfo * @param [string] $filename [Filename content data] * @return [type] */ private function extractInfo($filename) { $modelSellers = new Sellers(); $modelConsumers = new Consumers(); $modelSales = new Sales(); $arrSalesman = array(); $pathFile = $this->input_dir . '/' . $filename; $fileContent = file($pathFile); natsort($fileContent); foreach ($fileContent as $line) { $arrLine = explode('ç', $line); if ($arrLine[0] == '001') { $cpf = $arrLine[1]; $name = $arrLine[2]; $salary = $arrLine[3]; $modelSellers->addSalesman($cpf, $name, $salary); } elseif ($arrLine[0] == '002') { $cnpj = $arrLine[1]; $name = $arrLine[2]; $business_area = $arrLine[3]; $modelConsumers->addConsumer($cnpj, $name, $business_area); } elseif ($arrLine[0] == '003') { $id = $arrLine[1]; $items = $arrLine[2]; $salesman_name = $arrLine[3]; $modelSales->addSale($id, $salesman_name, $items, $modelSellers->getAll()); } } $totalConsumers = $totalSellers = $expensivesaleID = 0; $worstSellerName = ''; $totalSellers = $modelSellers->getTotalSellers(); if ($totalSellers > 0) { $arrSellersAmount = $modelSales->getSellersAmount(); foreach ($arrSellersAmount as $obj) { $modelSellers->updateTotalSales($obj->name, $obj->total); } $worstSellerName = $modelSellers->getWorstSeller()->name; $expensivesaleID = $modelSales->getMostExpensiveSale()->id; } $totalConsumers = $modelConsumers->getTotalConsumers(); $reportFilename = basename($filename, '.' . pathinfo($filename, PATHINFO_EXTENSION)); $this->generateReport($reportFilename, $totalConsumers, $totalSellers, $expensivesaleID, $worstSellerName); }