<?php
session_start();
header('Content-Type: text/html; charset=utf-8');
//echo chr(239).chr(187).chr(191);
//require_once("../settings.php");

$dbset = json_decode($_SESSION['settingsApp'],true);
$DB = new mysqli ($dbset['DB']['DB_HOST'],$dbset['DB']['DB_USER'],$dbset['DB']['DB_PASS'],$dbset['DB']['DB_NAME']);
$DB->query("SET CHARSET SET utf8");
$DB->query("SET NAMES 'utf8'");
if (mysqli_connect_errno()) {
	echo "Error connecting to DB";
	exit;
}

 //-----------------------------------Получение результатов по стоянкам---------------------------------------------


if ($_POST['func']=='getResult')
{
    $_SESSION['columnRemains'] = array();
    $i = 2;
    $dateFrom = $_POST['dateFrom'];
    $dateTo = $_POST['dateTo'];
    $ObjReport['model'] = '["result_1","result_2","result_3","result_4","result_5","result_6",]';
    $ObjReport['tableRezult'] = "[{text: 'Отчёт с ".$dateFrom." по ".$dateTo."',columns : [";
    $ObjReport['tableRezult'] .= "{text : 'Наименование',dataIndex : 'result_1',width: 100,sortable: true,hideable: false},";
    $ObjReport['tableRezult'] .= "{text : '1',dataIndex : 'result_2',width: 100,sortable: true,hideable: false},";
    $ObjReport['tableRezult'] .= "{text : '2',dataIndex : 'result_3',width: 100,sortable: true,hideable: false},";
    $ObjReport['tableRezult'] .= "{text : '3',dataIndex : 'result_4',width: 100,sortable: true,hideable: false},";
    $ObjReport['tableRezult'] .= "{text : '4',dataIndex : 'result_5',width: 100,sortable: true,hideable: false},";
    $ObjReport['tableRezult'] .= "{text : '5',dataIndex : 'result_6',width: 100,sortable: true,hideable: false},";
    
   
    $_SESSION['columnRemains'][] = ' ';
    $_SESSION['columnRemains'][] = 'Кол-во ТТ';
    $_SESSION['columnRemains'][] = 'Кол-во МЕ';
    $_SESSION['columnRemains'][] = 'OSA, %';
    $_SESSION['columnRemains'][] = 'Promo, %';
    $_SESSION['columnRemains'][] = 'Focus tasks, %';
    $_SESSION['columnRemains'][] = 'Проблемы';
    $_SESSION['columnRemains'][] = 'Решения/предложения по решению';

    
   // $ObjReport['model'] = substr($ObjReport['model'], 0, strlen($ObjReport['model'])-1);  
   // $ObjReport['model'] .= ']';
    $ObjReport['countColumn'] = 8;
    $ObjReport['tableRezult'] = substr($ObjReport['tableRezult'], 0, strlen($ObjReport['tableRezult'])-1);
    $ObjReport['tableRezult'] .= "]}]";
    $ObjReport['store'] = '[';
    $i = 0;
    $query = "SELECT name FROM ms_product";
    $stmt = $DB->prepare($query);
    $stmt->execute();
    $stmt->bind_result($name);
    while ($stmt->fetch()) 
    {
        $address = str_replace('"','',$address);
        $nemeUser = $first_name.' '.$middle_name.' '.$last_name;
        $ObjReport['store'] .='{"result_1":"'.$name.'","result_2":"1","result_3":"1","result_4":"1","result_5":"1","result_6":"1"},';    
        $i++;
    }
    $ObjReport['store']=substr($ObjReport['store'], 0, strlen($ObjReport['store'])-1);  
    $ObjReport['store'] .= ']';
    echo  json_encode($ObjReport);      
}
 
 
    
if ($_POST['func']=='export_xls')
{
            $ArrayOfData = $_POST['ColumnsArray'];
            require_once '../classes/PHPExcel.php';
            include_once '../classes/PHPExcel/IOFactory.php'; 
            $BoldFont = array
            (
                'font'=>array
                (
                    'name'=>'Arial Cyr',
                    'size'=>'10',
                    'bold'=>true
                )
            );
            
            $Center = array
            (
                'alignment'=>array
                (
                    'horizontal'=>PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
                    'vertical'=>PHPExcel_Style_Alignment::VERTICAL_TOP
                )
            ); 
            $ObjPHPExcel = new PHPExcel();
            
           
            $Column='A';
            $i=0;    
            $Sheet = $ObjPHPExcel->getActiveSheet();
            /*$Sheet->getStyle("A1")->getFont()->setSize(20);
            $Sheet->getRowDimension('1')->setRowHeight(25);
            $Sheet->setCellValueByColumnAndRow(0,1,'Еженедельный отчёт "Доля в категории"');  */
            $Sheet->setTitle('Посещение торговой точки');
           /* while ($Fields[$i])
            {
                $Sheet->getColumnDimension($Column)->setWidth(25);
                $i++;
                $Column++;
            } */
            $i=0; 
            
            while ($i<=count($_SESSION['columnRemains']))
            {
                $Sheet->getColumnDimension($Column)->setWidth(25);
                /*if ($Column!='A') 
                {
                    $Sheet->getStyle($Column.'2')->getAlignment()->setTextRotation(90);
                    $Sheet->getColumnDimension($Column)->setWidth(10);
                    $Sheet->getRowDimension('2')->setRowHeight(100);   
                } */
                $Sheet->setCellValueByColumnAndRow($i,1,$_SESSION['columnRemains'][$i]);
                $Column++;
                $i++;
            }
            
            $i=0;
            $RowNumber=2;
            while ($ArrayOfData[$i])
            {         
                $j=0;
                $ArrayOfData[$i]=substr($ArrayOfData[$i], 0, strlen($ArrayOfData[$i])-2);
                $DataColumns=explode('/n',$ArrayOfData[$i]);
                while ($j<count($DataColumns))
                {
                    $Sheet->setCellValueByColumnAndRow($j,$RowNumber,$DataColumns[$j]);
                    $j++;
                }               
                $RowNumber++;
                $i++;  
            }  
            $ObjWriter = PHPExcel_IOFactory::createWriter($ObjPHPExcel, 'Excel2007');
            header('Content-Type: application/vnd.ms-excel Content-Type: text/html; charset=utf-8');
            if(file_exists("../report/Remains.xlsx"))
            {
                unlink("../report/Remains.xlsx");
            }
            $ObjWriter->save('../report/Remains.xlsx');
            print_r($_SESSION['columnRemains']);
}
 
if ($_GET['func']=='save_export_xls')
{
    $File = ('../report/Remains.xlsx');
    if (file_exists($File)) 
    {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($File));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($File));
        ob_clean();
        flush();
        readfile($File);
        exit;
    }
} 
      
      
if ($_POST['func']=='export_csv')
{
    $Title='По остановкам';
    $Data=$_POST['ColumnsArray'];  
    switch ($StopReport)
    {
        case 1:$Fields=array('Дата','Адрес','Начало движения','Конец стоянки','Время стоянки','Координаты'); break;
        case 2:$Fields=array('Дата','Автомобиль','Водитель','Сотрудник','Маршрут','Время начала / конца маршрута','Время в пути, итого','Время в пути в нерабочее время','Время в пути в выходные дни','Пробег, км','Время начала / конца стоянки','Продолжительность стоянки'); break;
    }
    $ObjReportStop->ExportCSV($Fields,$Title,$Data);  
}
 
if ($_GET['func']=='save_export_csv')
{
    $ObjReportStop->SaveCSV();
}
 
if ($_POST['func']=='export_print')
{
    $Title='По остановкам';
    $Data=$_POST['ColumnsArray'];  
    switch ($StopReport)
    {
        case 1:$Fields=array('Дата','Адрес','Начало движения','Конец стоянки','Время стоянки','Координаты'); break;
        case 2:$Fields=array('Дата','Автомобиль','Водитель','Сотрудник','Маршрут','Время начала / конца маршрута','Время в пути, итого','Время в пути в нерабочее время','Время в пути в выходные дни','Пробег, км','Время начала / конца стоянки','Продолжительность стоянки'); break;
    }
    $ObjReportStop->ExportPrint($Fields,$Title,$Data);
}
 
if ($_GET['func']=='save_export_print')
{
    $ObjReportStop->SavePrint();
}

if ($_POST['func']=='getGeolocation')
{
    $coords = $_POST['loaction'];
    $ObjReportStop->GetGeolocation($coords);
   echo $ObjReportStop->AdressStopReport;
   /* sleep(1);
    echo 'Тестовая улица';*/
}
?>
