Ejemplo n.º 1
0
 public function carregarDadosManter($connection, $id = "", $mensagem = "")
 {
     // parametro $id pode ser tanto ChamadoVo como chamadoCodigo
     if (is_object($id)) {
         $chamado = $id;
     } else {
         if (!Functions::isEmpty($id)) {
             $model = new ChamadosModel();
             $chamado = $model->loadById($connection, $id);
         } else {
             $chamado = new ChamadosVo();
         }
     }
     // Campos Descriçao e Anexo devem vir em branco sempre
     // Exceto quando validação do formulário encontrar algum problema
     if (Functions::isEmpty($mensagem) || substr($mensagem, 0, 1) == 'S') {
         $chamado->setObservacao("");
         $chamado->setAnexo("");
     }
     $apenasAtivos = 0;
     if (Functions::isEmpty($chamado->getId())) {
         $apenasAtivos = 1;
     }
     $usuariosModel = new UsuariosModel();
     $usuarios = $usuariosModel->load($connection, $apenasAtivos);
     $requisitantesModel = new UsuariosModel();
     $requisitantes = $requisitantesModel->loadClientes($connection, $apenasAtivos);
     $atendentesModel = new UsuariosModel();
     $atendentes = $atendentesModel->loadNaoClientes($connection, $apenasAtivos);
     $situacoesModel = new SituacoesModel();
     $situacoes = $situacoesModel->load($connection);
     $empresasModel = new EmpresasModel();
     $empresas = $empresasModel->load($connection);
     $categoriasModel = new CategoriasModel();
     $categorias = $categoriasModel->load($connection);
     $tiposAmbientesModel = new TiposAmbientesModel();
     $tiposAmbientes = $tiposAmbientesModel->load($connection);
     $tiposProdutosModel = new TiposProdutosModel();
     $tiposProdutos = $tiposProdutosModel->load($connection);
     $prioridadesModel = new PrioridadesModel();
     $prioridades = $prioridadesModel->load($connection);
     $moduloModel = new ModulosModel();
     $modulos = $moduloModel->load($connection);
     $historicosModel = new ChamadosHistoricosModel();
     $historicos = $historicosModel->loadByChamado($connection, $chamado->getId());
     $apontamentosModel = new ApontamentosModel();
     $apontamentos = $apontamentosModel->load($connection, "", $chamado->getId());
     $outroChamado = new ChamadosVo();
     $caller = "cadastrar";
     return $this->trabalharDadosManter($chamado, $usuarios, $requisitantes, $atendentes, $situacoes, $empresas, $categorias, $tiposAmbientes, $tiposProdutos, $modulos, $prioridades, $historicos, $apontamentos, $outroChamado, $caller, $mensagem);
 }
Ejemplo n.º 2
0
 public function loadRelatorioAtendimentosAnalitico($connection, $periodoInicial, $periodoFinal, $empresa, $situacao, $tipoAvaliacao)
 {
     $registros = array();
     $query = "  SELECT ch.cha_cdichamado, ch.cha_dtdcriacao\n                    ,      us.usu_dssnome, ep.emp_dssempresa\n                    ,      st.sit_dsssituacao, cg.cat_dsscategoria\n                    ,      ta.tpa_dsstipoambiente, tp.tpp_dsstipoproduto\n                    ,      md.mod_dssmodulo, ch.cha_dssassunto\n                    ,      SEC_TO_TIME(SUM(TIME_TO_SEC(ap.apo_hrsfaturadas))) apo_hrsfaturadas\n                    FROM   chamados            ch\n                    INNER  JOIN apontamentos   ap ON ap.apo_cdichamado      = ch.cha_cdichamado\n                    LEFT   JOIN usuarios       us ON us.usu_cdiusuario      = ch.cha_cdiusuario\n                    LEFT   JOIN empresas       ep ON ep.emp_cdiempresa      = ch.cha_cdiempresa\n                    LEFT   JOIN situacoes      st ON st.sit_cdisituacao     = ch.cha_cdisituacao\n                    LEFT   JOIN categorias     cg ON cg.cat_cdicategoria    = ch.cha_cdicategoria\n                    LEFT   JOIN tiposambientes ta ON ta.tpa_cditipoambiente = ch.cha_cditipoambiente\n                    LEFT   JOIN tiposprodutos  tp ON tp.tpp_cditipoproduto  = ch.cha_cditipoproduto\n                    LEFT   JOIN modulos        md ON md.mod_cdimodulo       = ch.cha_cdimodulo\n                    WHERE  date_format(ap.apo_dtdinicio, '%Y-%m-%d') BETWEEN :periodoInicial AND :periodoFinal\n                    AND    date_format(ap.apo_dtdfim   , '%Y-%m-%d') BETWEEN :periodoInicial AND :periodoFinal ";
     if (!Functions::isEmpty($empresa)) {
         $query .= " AND ep.emp_cdiempresa = :empresa ";
     }
     if (!Functions::isEmpty($situacao)) {
         $query .= " AND st.sit_cdisituacao = :situacao ";
     }
     if (!Functions::isEmpty($tipoAvaliacao)) {
         if ($tipoAvaliacao == 1) {
             $query .= " AND ap.apo_cdimodofaturamento in (1,2,3) ";
         } else {
             if ($tipoAvaliacao == 2) {
                 $query .= " AND ap.apo_cdimodofaturamento in (1,2) ";
             } else {
                 if ($tipoAvaliacao == 3) {
                     $query .= " AND ap.apo_cdimodofaturamento in (3) ";
                 }
             }
         }
     }
     $query .= " GROUP BY ch.cha_cdichamado, ch.cha_dtdcriacao\n                    ,        us.usu_dssnome, ep.emp_dssempresa\n                    ,        st.sit_dsssituacao, cg.cat_dsscategoria\n                    ,        ta.tpa_dsstipoambiente, tp.tpp_dsstipoproduto\n                    ,        md.mod_dssmodulo, ch.cha_dssassunto\n                    ORDER BY ch.cha_cdichamado ";
     $stmt = $connection->prepare($query);
     if (!Functions::isEmpty($periodoInicial)) {
         $stmt->bindParam(':periodoInicial', Functions::toDateToSql($periodoInicial));
     }
     if (!Functions::isEmpty($periodoFinal)) {
         $stmt->bindParam(':periodoFinal', Functions::toDateToSql($periodoFinal));
     }
     if (!Functions::isEmpty($empresa)) {
         $stmt->bindParam(':empresa', $empresa);
     }
     if (!Functions::isEmpty($situacao)) {
         $stmt->bindParam(':situacao', $situacao);
     }
     $stmt->execute();
     $rows = $stmt->fetchAll();
     foreach ($rows as $row) {
         $chamadosHistoricosModel = new ChamadosHistoricosModel();
         $chamadosHistoricosArray = $chamadosHistoricosModel->loadByChamado($connection, $row->cha_cdichamado);
         if (Functions::isEmpty($row->apo_hrsfaturadas)) {
             $horasFaturadas = '00:00:00';
         } else {
             $horasFaturadas = $row->apo_hrsfaturadas;
         }
         $registro = array('chamadoCodigo' => $row->cha_cdichamado, 'chamadoData' => Functions::toDate($row->cha_dtdcriacao), 'usuarioNome' => $row->usu_dssnome, 'empresaDescricao' => $row->emp_dssempresa, 'situacaoDescricao' => $row->sit_dsssituacao, 'categoriaDescricao' => $row->cat_dsscategoria, 'tipoAmbienteDescricao' => $row->tpa_dsstipoambiente, 'tipoProdutoDescricao' => $row->tpp_dsstipoproduto, 'moduloDescricao' => $row->mod_dssmodulo, 'chamadoAssunto' => $row->cha_dssassunto, 'horasFaturadas' => $horasFaturadas, 'chamadoHistoricoArray' => $chamadosHistoricosArray);
         array_push($registros, $registro);
     }
     return $registros;
 }