<?php
namespace App\Controller;
use App\Repository\CallsRepository;
use App\Services\Bitrix\Auth;
use App\Services\Bitrix\Batch\Batch;
use App\Services\Bitrix\Curls\BitrixBatchCurl;
use App\Services\Bitrix\Curls\BitrixCurl;
use App\Services\Bitrix\ModelManagers\Users;
use App\Services\Bitrix\Placement;
use App\Services\Bitrix\Structure;
use App\Services\Statistics\StatisticsManager;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\Application;
class IndexController extends AbstractController
{
/**
* @Route("/", name="index")
*/
public function index(LoggerInterface $logger, Auth $bitrixAuth, BitrixCurl $bitrix, Structure $structure, Placement $placement, CallsRepository $callsRepository)
{
// try {
//# MS SQL Server и Sybase через PDO_DBLIB
// $DBH = new \PDO("dblib:host=192.168.88.160;dbname=avalon", 'sa', 'Gbhjub111');
//
// $query = $DBH->prepare("USE avalon;");
// $query->execute();
// $data = $query->fetchAll();
//
// $query = $DBH->prepare("SELECT * FROM dbo.Contacts");
// $query->execute();
// $data = $query->fetchAll();
// }
// catch(PDOException $e) {
// echo $e->getMessage();
// }
// exit();
$request = Request::createFromGlobals();
$bitrixAuth->newTokens($request);
$bitrixAuth->logIn($request);
// $logger->info('index' . print_r($_REQUEST, 1));
// $json = file_get_contents("https://ats2.demo-zone.itach.by/bitrix24?status=statistics");
// $json = '[{"unique_id":"1560941306.876","bitrix_call_id":null,"did":"789","bitrix_client_id":null,"client_number":"102","client_name":"","client_last_name":"","client_company_name":"","direction":"in","first_call":"1","start_time":"2019-06-19 13:48:27","finish_time":"2019-06-19 13:49:00","info":[{"id":"13","unique_id":"1560941306.876","queue_id":"123","begin_call":"2019-06-19 13:48:39","pick_call":"2019-06-19 13:48:47","finish_call":"2019-06-19 13:48:58","agent_id":"101"}],"ivr":[]},{"unique_id":"1560941961.885","bitrix_call_id":null,"did":"456321","bitrix_client_id":null,"client_number":"102","client_name":"","client_last_name":"","client_company_name":"","direction":"in","first_call":"1","start_time":"2019-06-19 13:59:21","finish_time":"2019-06-19 13:59:46","info":[],"ivr":[{"unique_id":"1560941961.885","number":"2","click_time":"2019-06-19 13:59:57","id":"3"}]},{"unique_id":"1560949639.888","bitrix_call_id":"externalCall.844862f558555b838f3b56af7a5996f4","did":"37512345678","bitrix_client_id":null,"client_number":"375295432189","client_name":"\u0411\u0435\u0437 \u0438\u043c\u0435\u043d\u0438","client_last_name":"","client_company_name":"","direction":"in","first_call":"0","start_time":"2019-06-19 16:07:19","finish_time":"2019-06-19 16:07:47","info":[{"id":"14","unique_id":"1560949639.888","queue_id":"123","begin_call":"2019-06-19 16:07:29","pick_call":"2019-06-19 16:07:35","finish_call":"2019-06-19 16:07:36","agent_id":"101"},{"id":"15","unique_id":"1560949639.888","queue_id":"123","begin_call":"2019-06-19 16:07:30","pick_call":"2019-06-19 16:07:36","finish_call":"2019-06-19 16:07:37","agent_id":"102"}],"ivr":[{"unique_id":"1560949639.888","number":"2","click_time":"2019-06-19 13:59:57","id":"4"},{"unique_id":"1560949639.888","number":"3","click_time":"2019-06-19 13:59:58","id":"5"},{"unique_id":"1560949639.888","number":"1","click_time":"2019-06-19 13:59:59","id":"6"},{"unique_id":"1560949639.888","number":"1","click_time":"2019-06-19 14:00:00","id":"7"}]},{"unique_id":"1561022592.898","bitrix_call_id":"externalCall.c8cd48489561c55d7ead7c1c0b05c396","did":"37512345678","bitrix_client_id":null,"client_number":"375295432189","client_name":"\u0411\u0435\u0437 \u0438\u043c\u0435\u043d\u0438","client_last_name":"","client_company_name":"","direction":"in","first_call":"0","start_time":"2019-06-20 12:23:12","finish_time":"2019-06-20 12:23:26","info":[{"id":"18","unique_id":"1561022592.898","queue_id":"123","begin_call":"2019-06-20 12:23:14","pick_call":"2019-06-20 12:23:22","finish_call":"2019-06-20 12:23:24","agent_id":"101"}],"ivr":[]}';
// for($i = 0; $i < 150; $i++){
// $json .= ',{"unique_id":"1560941306.876","bitrix_call_id":null,"did":"789","bitrix_client_id":null,"client_number":"102","client_name":"","client_last_name":"","client_company_name":"","direction":"in","first_call":"1","start_time":"2019-06-19 13:48:27","finish_time":"2019-06-19 13:49:00","info":[{"id":"13","unique_id":"1560941306.876","queue_id":"123","begin_call":"2019-06-19 13:48:39","pick_call":"2019-06-19 13:48:47","finish_call":"2019-06-19 13:48:58","agent_id":"101"},{"id":"13","unique_id":"1560941306.876","queue_id":"123","begin_call":"2019-06-19 13:48:39","pick_call":"2019-06-19 13:48:47","finish_call":"2019-06-19 13:48:58","agent_id":"101"},{"id":"13","unique_id":"1560941306.876","queue_id":"123","begin_call":"2019-06-19 13:48:39","pick_call":"2019-06-19 13:48:47","finish_call":"2019-06-19 13:48:58","agent_id":"101"}],"ivr":[]},{"unique_id":"1560941961.885","bitrix_call_id":null,"did":"456321","bitrix_client_id":null,"client_number":"102","client_name":"","client_last_name":"","client_company_name":"","direction":"in","first_call":"1","start_time":"2019-06-19 13:59:21","finish_time":"2019-06-19 13:59:46","info":[],"ivr":[{"unique_id":"1560941961.885","number":"2","click_time":"2019-06-19 13:59:57","id":"3"}]},{"unique_id":"1560949639.888","bitrix_call_id":"externalCall.844862f558555b838f3b56af7a5996f4","did":"37512345678","bitrix_client_id":null,"client_number":"375295432189","client_name":"\u0411\u0435\u0437 \u0438\u043c\u0435\u043d\u0438","client_last_name":"","client_company_name":"","direction":"in","first_call":"0","start_time":"2019-06-19 16:07:19","finish_time":"2019-06-19 16:07:47","info":[{"id":"14","unique_id":"1560949639.888","queue_id":"123","begin_call":"2019-06-19 16:07:29","pick_call":"2019-06-19 16:07:35","finish_call":"2019-06-19 16:07:36","agent_id":"101"},{"id":"15","unique_id":"1560949639.888","queue_id":"123","begin_call":"2019-06-19 16:07:30","pick_call":"2019-06-19 16:07:36","finish_call":"2019-06-19 16:07:37","agent_id":"102"}],"ivr":[{"unique_id":"1560949639.888","number":"2","click_time":"2019-06-19 13:59:57","id":"4"},{"unique_id":"1560949639.888","number":"3","click_time":"2019-06-19 13:59:58","id":"5"},{"unique_id":"1560949639.888","number":"1","click_time":"2019-06-19 13:59:59","id":"6"},{"unique_id":"1560949639.888","number":"1","click_time":"2019-06-19 14:00:00","id":"7"}]},{"unique_id":"1561022592.898","bitrix_call_id":"externalCall.c8cd48489561c55d7ead7c1c0b05c396","did":"37512345678","bitrix_client_id":null,"client_number":"375295432189","client_name":"\u0411\u0435\u0437 \u0438\u043c\u0435\u043d\u0438","client_last_name":"","client_company_name":"","direction":"in","first_call":"0","start_time":"2019-06-20 12:23:12","finish_time":"2019-06-20 12:23:26","info":[{"id":"18","unique_id":"1561022592.898","queue_id":"123","begin_call":"2019-06-20 12:23:14","pick_call":"2019-06-20 12:23:22","finish_call":"2019-06-20 12:23:24","agent_id":"101"}],"ivr":[]}';
// }
//
// $json .= ']';
// $statistic->createStatistics(json_decode($json));
// $result = $bitrix->call("crm.activity.add", [
// 'FIELDS' => [
// "OWNER_ID" => 186,
// "OWNER_TYP8E_ID" => 3,
// "TYPE_ID" => 2,
// "DESCRIPTION" => 'fsf',
// "FILES" => [
//
// ]
// ]
// ]);
//
// var_dump($result->getRequest()->getContent());
// if($bitrixAuth->needInstall($request)){
// return $this->redirectToRoute('installation', $request->request->all() + $request->query->all());
// }
// $result = $bitrix->call("crm.deal.list", []);
// $bitrixAuth->saveTokens($request->request->get('AUTH_ID'),
// $request->request->get('REFRESH_ID'),
// $request->get('member_id'));
// $placement->getPlacements();
// $placement->setPlacement('CRM_DEAL_DETAIL_ACTIVITY', 'https://dev-bitrix.itach.by');
// exit();
//
// $result = $structure->getInitialStructure();
// $words = ['kek', 'lol', 'dumb'];
return $this->render('index/statistic.html.twig', [
'token' => Auth::getToken(),
'app' => Auth::getApplicationId()
// 'words' => $words
// 'usersToDepartment' => $result,
// 'member_id' => Auth::getMemberId()
]);
// return $this->render('index/index.html.twig', ['usersToDepartment' => $users->getAllUsersByOffice(),
// 'member_id' => $request->get('member_id')
// ]);
}
}