public function dispatch(Request $request, Response $response, $args)
 {
     $this->id = $args['id'];
     //        $this->logger->info("[" . $this->id . "] - Get data with the weather forecast");
     FileSystemCache::$cacheDir = './cache/tmp';
     $key = FileSystemCache::generateCacheKey('cache-feed-' . $this->id, null);
     $data = FileSystemCache::retrieve($key);
     if ($data === false) {
         $this->data_json = array('datetime' => json_decode(file_get_contents('http://dsx.weather.com/cs/v2/datetime/' . $this->locale . '/' . $args['id'] . ':1:BR'), true), 'now' => json_decode(file_get_contents('http://dsx.weather.com/wxd/v2/MORecord/' . $this->locale . '/' . $args['id'] . ':1:BR'), true), 'forecasts' => json_decode(file_get_contents('http://dsx.weather.com/wxd/v2/15DayForecast/' . $this->locale . '/' . $args['id'] . ':1:BR'), true));
         $data = array('info' => $this->processInfo(), 'now' => $this->processNow(), 'forecasts' => $this->processForecast());
         FileSystemCache::store($key, $data, 1800);
     } else {
         //            $this->logger->info("[" . $this->id . "] - Using cache to generate xml");
     }
     $xmlBuilder = new XmlBuilder('root');
     $xmlBuilder->setSingularizer(function ($name) {
         if ('forecasts' === $name) {
             return 'item';
         }
         return $name;
     });
     $xmlBuilder->load($data);
     $xml_output = $xmlBuilder->createXML(true);
     $response->write($xml_output);
     $response = $response->withHeader('content-type', 'text/xml');
     return $response;
 }
Exemplo n.º 2
0
 public function show(Request $request, Response $response, $args)
 {
     $kpi_active = $this->getIndicadorService()->getEntityManager()->getRepository('App\\Entity\\Kpi')->findOneByActive(1);
     $kpi = $this->getIndicadorService()->getById($kpi_active->getId());
     foreach ($kpi['fieldset_periodo'] as $key => $item) {
         $date = substr($item, -4) . '-' . substr($item, 0, 2) . '-01';
         $kpi['fieldset_periodo'][$key] = $date;
     }
     $data = array('kpi' => array('responsible' => $kpi['fieldset_informacoes']['responsible'], 'period' => array('first' => array('initial' => $kpi['fieldset_periodo']['period_first_initial'], 'end' => $kpi['fieldset_periodo']['period_first_end']), 'second' => array('initial' => $kpi['fieldset_periodo']['period_second_initial'], 'end' => $kpi['fieldset_periodo']['period_second_end']))), 'comparative' => array('groupbenner' => array('revenues' => array('initial' => number_format($kpi['fieldset_comparativo_grupobenner']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_grupobenner']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_grupobenner']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_grupobenner']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_comparativo_grupobenner']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_grupobenner']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_grupobenner']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_grupobenner']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_comparativo_grupobenner']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_grupobenner']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_grupobenner']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_grupobenner']['netprofitPercentage'], 1, '.', ''))), 'healthoperators' => array('revenues' => array('initial' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['netprofitPercentage'], 1, '.', '')), 'distributionrevenue' => array('lu' => array('value' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['luValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['luPercentage'], 1, '.', '')), 'lum' => array('value' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['lumValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['lumPercentage'], 1, '.', '')), 'implantation' => array('value' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['implantationValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['implantationPercentage'], 1, '.', '')), 'sms' => array('value' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['smsValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['smsPercentage'], 1, '.', '')), 'medicalservices' => array('value' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['medicalServicesValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['medicalServicesPercentage'], 1, '.', '')), 'workout' => array('value' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['workoutValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_operadorasdesaude']['workoutPercentage'], 1, '.', '')))), 'hospital' => array('revenues' => array('initial' => number_format($kpi['fieldset_comparativo_hospitalar']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_hospitalar']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_hospitalar']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_hospitalar']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_comparativo_hospitalar']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_hospitalar']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_hospitalar']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_hospitalar']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_comparativo_hospitalar']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_hospitalar']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_hospitalar']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_hospitalar']['netprofitPercentage'], 1, '.', '')), 'distributionrevenue' => array('lu' => array('value' => number_format($kpi['fieldset_comparativo_hospitalar']['luValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_hospitalar']['luPercentage'], 1, '.', '')), 'lum' => array('value' => number_format($kpi['fieldset_comparativo_hospitalar']['lumValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_hospitalar']['lumPercentage'], 1, '.', '')), 'implantation' => array('value' => number_format($kpi['fieldset_comparativo_hospitalar']['implantationValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_hospitalar']['implantationPercentage'], 1, '.', '')))), 'ominousmanagement' => array('revenues' => array('initial' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['netprofitPercentage'], 1, '.', '')), 'distributionrevenue' => array('services' => array('value' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['servicesValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_gestaodesinistro']['servicesPercentage'], 1, '.', '')))), 'systems' => array('revenues' => array('initial' => number_format($kpi['fieldset_comparativo_sistemas']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_sistemas']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_sistemas']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_comparativo_sistemas']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_sistemas']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_sistemas']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_comparativo_sistemas']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_comparativo_sistemas']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_comparativo_sistemas']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['netprofitPercentage'], 1, '.', '')), 'distributionrevenue' => array('lu' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['luValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['luPercentage'], 1, '.', '')), 'lum' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['lumValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['lumPercentage'], 1, '.', '')), 'implantation' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['implantationValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['implantationPercentage'], 1, '.', '')), 'sms' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['smsValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['smsPercentage'], 1, '.', '')), 'royaltes' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['royaltesValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['royaltesPercentage'], 1, '.', '')), 'maintenancepc' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['maintenancePcValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['maintenancePcPercentage'], 1, '.', '')), 'outsourcing' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['outsourcingValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['outsourcingPercentage'], 1, '.', '')), 'bpo' => array('value' => number_format($kpi['fieldset_comparativo_sistemas']['bpoValue'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_comparativo_sistemas']['bpoPercentage'], 1, '.', ''))))), 'budgeted' => array('groupbenner' => array('revenues' => array('initial' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_grupobenner']['netprofitPercentage'], 1, '.', ''))), 'healthoperators' => array('revenues' => array('initial' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_operadorasdesaude']['netprofitPercentage'], 1, '.', ''))), 'hospital' => array('revenues' => array('initial' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_hospitalar']['netprofitPercentage'], 1, '.', ''))), 'ominousmanagement' => array('revenues' => array('initial' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_gestaodesinistro']['netprofitPercentage'], 1, '.', ''))), 'systems' => array('revenues' => array('initial' => number_format($kpi['fieldset_orcadorealizado_sistemas']['revenuesInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_sistemas']['revenuesEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_sistemas']['revenuesTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_sistemas']['revenuesPercentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($kpi['fieldset_orcadorealizado_sistemas']['ebtidaInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_sistemas']['ebtidaEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_sistemas']['ebtidaTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_sistemas']['ebtidaPercentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($kpi['fieldset_orcadorealizado_sistemas']['netprofitInitial'], 1, '.', ''), 'end' => number_format($kpi['fieldset_orcadorealizado_sistemas']['netprofitEnd'], 1, '.', ''), 'target' => number_format($kpi['fieldset_orcadorealizado_sistemas']['netprofitTarget'], 1, '.', ''), 'percentage' => number_format($kpi['fieldset_orcadorealizado_sistemas']['netprofitPercentage'], 1, '.', '')))), 'employees' => array('initial' => array('employees' => $kpi['fieldset_colaborador_numerocolaboradores']['firstYearNumberOfEmployees'], 'icons' => $kpi['fieldset_colaborador_numerocolaboradores']['firstYearIcons'], 'billing' => number_format($kpi['fieldset_colaborador_faturamentocolaboradores']['firstYearBillingByEmployees'], 1, '.', '')), 'end' => array('employees' => $kpi['fieldset_colaborador_numerocolaboradores']['secondYearNumberOfEmployees'], 'icons' => $kpi['fieldset_colaborador_numerocolaboradores']['secondYearIcons'], 'billing' => number_format($kpi['fieldset_colaborador_faturamentocolaboradores']['secondYearBillingByEmployees'], 1, '.', ''))));
     if ($args['type'] == 'xml') {
         $xmlBuilder = new XmlBuilder('root');
         $xmlBuilder->load($data);
         $xml_output = $xmlBuilder->createXML(true);
         $finfo = new \finfo(FILEINFO_MIME_TYPE);
         $response->write($xml_output);
         $response = $response->withHeader('content-type', $finfo->buffer($xml_output));
         return $response;
     } else {
         return $response->withJson($data);
     }
 }
Exemplo n.º 3
0
 public function show(Request $request, Response $response, $args)
 {
     $kpi_entity = $this->em->getRepository('App\\Entity\\Kpi')->findOneByActive(1);
     $kpi_type_comparative_entity = $this->em->getRepository('App\\Entity\\KpiType')->findOneById(1);
     $kpi_type_budgeted_entity = $this->em->getRepository('App\\Entity\\KpiType')->findOneById(2);
     $criteria_comparative = Criteria::create();
     $criteria_comparative->where(Criteria::expr()->eq('kpi', $kpi_entity));
     $criteria_comparative->andWhere(Criteria::expr()->eq('kpiType', $kpi_type_comparative_entity));
     $criteria_budgeted = Criteria::create();
     $criteria_budgeted->where(Criteria::expr()->eq('kpi', $kpi_entity));
     $criteria_budgeted->andWhere(Criteria::expr()->eq('kpiType', $kpi_type_budgeted_entity));
     $data = ['kpi' => (new ClassMethods())->extract($kpi_entity), 'comparative' => ['groupbenner' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\GroupBenner')->matching($criteria_comparative)->first()), 'healthoperators' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\HealthOperators')->matching($criteria_comparative)->first()), 'hospital' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\Hospital')->matching($criteria_comparative)->first()), 'ominousmanagement' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\OminousManagement')->matching($criteria_comparative)->first()), 'systems' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\Systems')->matching($criteria_comparative)->first())], 'budgeted' => ['groupbenner' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\GroupBenner')->matching($criteria_budgeted)->first()), 'healthoperators' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\HealthOperators')->matching($criteria_budgeted)->first()), 'hospital' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\Hospital')->matching($criteria_budgeted)->first()), 'ominousmanagement' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\OminousManagement')->matching($criteria_budgeted)->first()), 'systems' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\Systems')->matching($criteria_budgeted)->first())], 'employees' => (new ClassMethods())->extract($this->em->getRepository('App\\Entity\\Employees')->findOneByKpi($kpi_entity))];
     $data['kpi']['period_first_initial'] = $data['kpi']['period_first_initial']->format('Y-m-d');
     $data['kpi']['period_first_end'] = $data['kpi']['period_first_end']->format('Y-m-d');
     $data['kpi']['period_second_initial'] = $data['kpi']['period_second_initial']->format('Y-m-d');
     $data['kpi']['period_second_end'] = $data['kpi']['period_second_end']->format('Y-m-d');
     unset($data['kpi']['id'], $data['kpi']['created_at'], $data['kpi']['updated_at'], $data['kpi']['deleted_at'], $data['kpi']['active']);
     unset($data['comparative']['groupbenner']['id'], $data['comparative']['groupbenner']['created_at'], $data['comparative']['groupbenner']['updated_at'], $data['comparative']['groupbenner']['deleted_at'], $data['comparative']['groupbenner']['kpi_type'], $data['comparative']['groupbenner']['kpi']);
     unset($data['comparative']['healthoperators']['id'], $data['comparative']['healthoperators']['created_at'], $data['comparative']['healthoperators']['updated_at'], $data['comparative']['healthoperators']['deleted_at'], $data['comparative']['healthoperators']['kpi_type'], $data['comparative']['healthoperators']['kpi']);
     unset($data['comparative']['hospital']['id'], $data['comparative']['hospital']['created_at'], $data['comparative']['hospital']['updated_at'], $data['comparative']['hospital']['deleted_at'], $data['comparative']['hospital']['kpi_type'], $data['comparative']['hospital']['kpi']);
     unset($data['comparative']['ominousmanagement']['id'], $data['comparative']['ominousmanagement']['created_at'], $data['comparative']['ominousmanagement']['updated_at'], $data['comparative']['ominousmanagement']['deleted_at'], $data['comparative']['ominousmanagement']['kpi_type'], $data['comparative']['ominousmanagement']['kpi']);
     unset($data['comparative']['systems']['id'], $data['comparative']['systems']['created_at'], $data['comparative']['systems']['updated_at'], $data['comparative']['systems']['deleted_at'], $data['comparative']['systems']['kpi_type'], $data['comparative']['systems']['kpi']);
     unset($data['budgeted']['groupbenner']['id'], $data['budgeted']['groupbenner']['created_at'], $data['budgeted']['groupbenner']['updated_at'], $data['budgeted']['groupbenner']['deleted_at'], $data['budgeted']['groupbenner']['kpi_type'], $data['budgeted']['groupbenner']['kpi']);
     unset($data['budgeted']['healthoperators']['id'], $data['budgeted']['healthoperators']['created_at'], $data['budgeted']['healthoperators']['updated_at'], $data['budgeted']['healthoperators']['deleted_at'], $data['budgeted']['healthoperators']['kpi_type'], $data['budgeted']['healthoperators']['kpi']);
     unset($data['budgeted']['hospital']['id'], $data['budgeted']['hospital']['created_at'], $data['budgeted']['hospital']['updated_at'], $data['budgeted']['hospital']['deleted_at'], $data['budgeted']['hospital']['kpi_type'], $data['budgeted']['hospital']['kpi']);
     unset($data['budgeted']['ominousmanagement']['id'], $data['budgeted']['ominousmanagement']['created_at'], $data['budgeted']['ominousmanagement']['updated_at'], $data['budgeted']['ominousmanagement']['deleted_at'], $data['budgeted']['ominousmanagement']['kpi_type'], $data['budgeted']['ominousmanagement']['kpi']);
     unset($data['budgeted']['systems']['id'], $data['budgeted']['systems']['created_at'], $data['budgeted']['systems']['updated_at'], $data['budgeted']['systems']['deleted_at'], $data['budgeted']['systems']['kpi_type'], $data['budgeted']['systems']['kpi']);
     $kpi = array('responsible' => $data['kpi']['responsible'], 'period' => array('first' => array('initial' => $data['kpi']['period_first_initial'], 'end' => $data['kpi']['period_first_end']), 'second' => array('initial' => $data['kpi']['period_second_initial'], 'end' => $data['kpi']['period_second_end'])));
     $comparative = array('groupbenner' => array('revenues' => array('initial' => number_format($data['comparative']['groupbenner']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['groupbenner']['revenues_end'], 1, '.', ''), 'target' => number_format($data['comparative']['groupbenner']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['groupbenner']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['comparative']['groupbenner']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['groupbenner']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['comparative']['groupbenner']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['groupbenner']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['comparative']['groupbenner']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['groupbenner']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['comparative']['groupbenner']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['groupbenner']['net_profit_percentage'], 1, '.', ''))), 'healthoperators' => array('revenues' => array('initial' => number_format($data['comparative']['healthoperators']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['healthoperators']['revenues_end'], 1, '.', ''), 'target' => number_format($data['comparative']['healthoperators']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['comparative']['healthoperators']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['healthoperators']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['comparative']['healthoperators']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['comparative']['healthoperators']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['healthoperators']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['comparative']['healthoperators']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['net_profit_percentage'], 1, '.', '')), 'distributionrevenue' => array('lu' => array('value' => number_format($data['comparative']['healthoperators']['lu_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['lu_percentage'], 1, '.', '')), 'lum' => array('value' => number_format($data['comparative']['healthoperators']['lum_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['lum_percentage'], 1, '.', '')), 'implantation' => array('value' => number_format($data['comparative']['healthoperators']['implantation_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['implantation_percentage'], 1, '.', '')), 'sms' => array('value' => number_format($data['comparative']['healthoperators']['sms_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['sms_percentage'], 1, '.', '')), 'medicalservices' => array('value' => number_format($data['comparative']['healthoperators']['medical_services_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['medical_services_percentage'], 1, '.', '')), 'workout' => array('value' => number_format($data['comparative']['healthoperators']['workout_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['healthoperators']['workout_percentage'], 1, '.', '')))), 'hospital' => array('revenues' => array('initial' => number_format($data['comparative']['hospital']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['hospital']['revenues_end'], 1, '.', ''), 'target' => number_format($data['comparative']['hospital']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['hospital']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['comparative']['hospital']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['hospital']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['comparative']['hospital']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['hospital']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['comparative']['hospital']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['hospital']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['comparative']['hospital']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['hospital']['net_profit_percentage'], 1, '.', '')), 'distributionrevenue' => array('lu' => array('value' => number_format($data['comparative']['hospital']['lu_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['hospital']['lu_percentage'], 1, '.', '')), 'lum' => array('value' => number_format($data['comparative']['hospital']['lum_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['hospital']['lum_percentage'], 1, '.', '')), 'implantation' => array('value' => number_format($data['comparative']['hospital']['implantation_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['hospital']['implantation_percentage'], 1, '.', '')))), 'ominousmanagement' => array('revenues' => array('initial' => number_format($data['comparative']['ominousmanagement']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['ominousmanagement']['revenues_end'], 1, '.', ''), 'target' => number_format($data['comparative']['ominousmanagement']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['ominousmanagement']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['comparative']['ominousmanagement']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['ominousmanagement']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['comparative']['ominousmanagement']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['ominousmanagement']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['comparative']['ominousmanagement']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['ominousmanagement']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['comparative']['ominousmanagement']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['ominousmanagement']['net_profit_percentage'], 1, '.', '')), 'distributionrevenue' => array('services' => array('value' => number_format($data['comparative']['ominousmanagement']['services_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['ominousmanagement']['services_percentage'], 1, '.', '')))), 'systems' => array('revenues' => array('initial' => number_format($data['comparative']['systems']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['systems']['revenues_end'], 1, '.', ''), 'target' => number_format($data['comparative']['systems']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['comparative']['systems']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['systems']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['comparative']['systems']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['comparative']['systems']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['comparative']['systems']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['comparative']['systems']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['net_profit_percentage'], 1, '.', '')), 'distributionrevenue' => array('lu' => array('value' => number_format($data['comparative']['systems']['lu_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['lu_percentage'], 1, '.', '')), 'lum' => array('value' => number_format($data['comparative']['systems']['lum_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['lum_percentage'], 1, '.', '')), 'implantation' => array('value' => number_format($data['comparative']['systems']['implantation_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['implantation_percentage'], 1, '.', '')), 'sms' => array('value' => number_format($data['comparative']['systems']['sms_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['sms_percentage'], 1, '.', '')), 'royaltes' => array('value' => number_format($data['comparative']['systems']['royaltes_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['royaltes_percentage'], 1, '.', '')), 'maintenancepc' => array('value' => number_format($data['comparative']['systems']['maintenance_pc_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['maintenance_pc_percentage'], 1, '.', '')), 'outsourcing' => array('value' => number_format($data['comparative']['systems']['outsourcing_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['outsourcing_percentage'], 1, '.', '')), 'bpo' => array('value' => number_format($data['comparative']['systems']['bpo_value'], 1, '.', ''), 'percentage' => number_format($data['comparative']['systems']['bpo_percentage'], 1, '.', '')))));
     $budgeted = array('groupbenner' => array('revenues' => array('initial' => number_format($data['budgeted']['groupbenner']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['groupbenner']['revenues_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['groupbenner']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['groupbenner']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['budgeted']['groupbenner']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['groupbenner']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['groupbenner']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['groupbenner']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['budgeted']['groupbenner']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['groupbenner']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['groupbenner']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['groupbenner']['net_profit_percentage'], 1, '.', ''))), 'healthoperators' => array('revenues' => array('initial' => number_format($data['budgeted']['healthoperators']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['healthoperators']['revenues_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['healthoperators']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['healthoperators']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['budgeted']['healthoperators']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['healthoperators']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['healthoperators']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['healthoperators']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['budgeted']['healthoperators']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['healthoperators']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['healthoperators']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['healthoperators']['net_profit_percentage'], 1, '.', ''))), 'hospital' => array('revenues' => array('initial' => number_format($data['budgeted']['hospital']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['hospital']['revenues_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['hospital']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['hospital']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['budgeted']['hospital']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['hospital']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['hospital']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['hospital']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['budgeted']['hospital']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['hospital']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['hospital']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['hospital']['net_profit_percentage'], 1, '.', '')), 'distributionrevenue' => array('lu' => array('value' => number_format($data['budgeted']['hospital']['lu_value'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['hospital']['lu_percentage'], 1, '.', '')), 'lum' => array('value' => number_format($data['budgeted']['hospital']['lum_value'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['hospital']['lum_percentage'], 1, '.', '')), 'implantation' => array('value' => number_format($data['budgeted']['hospital']['implantation_value'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['hospital']['implantation_percentage'], 1, '.', '')))), 'ominousmanagement' => array('revenues' => array('initial' => number_format($data['budgeted']['ominousmanagement']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['ominousmanagement']['revenues_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['ominousmanagement']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['ominousmanagement']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['budgeted']['ominousmanagement']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['ominousmanagement']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['ominousmanagement']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['ominousmanagement']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['budgeted']['ominousmanagement']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['ominousmanagement']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['ominousmanagement']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['ominousmanagement']['net_profit_percentage'], 1, '.', ''))), 'systems' => array('revenues' => array('initial' => number_format($data['budgeted']['systems']['revenues_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['systems']['revenues_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['systems']['revenues_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['systems']['revenues_percentage'], 1, '.', '')), 'ebtida' => array('initial' => number_format($data['budgeted']['systems']['ebtida_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['systems']['ebtida_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['systems']['ebtida_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['systems']['ebtida_percentage'], 1, '.', '')), 'netprofit' => array('initial' => number_format($data['budgeted']['systems']['net_profit_initial'], 1, '.', ''), 'end' => number_format($data['budgeted']['systems']['net_profit_end'], 1, '.', ''), 'target' => number_format($data['budgeted']['systems']['net_profit_target'], 1, '.', ''), 'percentage' => number_format($data['budgeted']['systems']['net_profit_percentage'], 1, '.', ''))));
     $employees = array('initial' => array('employees' => $data['employees']['contributors1_year_number_of_employees'], 'icons' => $data['employees']['contributors1_year_icons'], 'billing' => $data['employees']['contributors1_year_billing_by_employees']), 'end' => array('employees' => $data['employees']['contributors2_year_number_of_employees'], 'icons' => $data['employees']['contributors2_year_icons'], 'billing' => $data['employees']['contributors2_year_billing_by_employees']));
     $data = array('kpi' => $kpi, 'comparative' => $comparative, 'budgeted' => $budgeted, 'employees' => $employees);
     if ($args['type'] == 'xml') {
         $xmlBuilder = new XmlBuilder('root');
         $xmlBuilder->load($data);
         $xml_output = $xmlBuilder->createXML(true);
         $finfo = new \finfo(FILEINFO_MIME_TYPE);
         $response->write($xml_output);
         $response = $response->withHeader('content-type', $finfo->buffer($xml_output));
         return $response;
     } else {
         return $response->withJson($data);
     }
 }