public function salvar() { $resultado = array('erro' => 0, 'msg' => 'Produção cadastrada com sucesso.'); $controleValidacao = new AdminProducao_Validacao($this->params); $validacao = $controleValidacao->validarDados(); if ($validacao['erro'] > 0) { $resultado = array('erro' => $validacao['erro'], 'msg' => $validacao['msg']); } else { $this->producao = $validacao['objProducao']; $produtoProducaoDAO = new ProdutoProducaoDAO(); if ($this->producao->get('id')) { $produtoProducaoModel = new ModelProdutoProducao(); //$this->temPermissaoEditarRemover($this->producao->get('id_usuario_cadastro')); if ($this->params['is_sgv'] != '1') { $this->producaoDAO->alterar($this->producao); } else { $produtoProducaoModel->set('id_produto', Constantes::$cod_produto_gco); } $produtoProducaoModel->set('id_producao', $this->producao->get('id')); $produtoProducaoDAO->removerPorProducao($produtoProducaoModel); } else { $this->producaoDAO->incluir($this->producao); } $idProducao = $this->producao->get('id'); if ($idProducao) { $arrContratos = $this->params['numero_contrato']; $qtdBeneficiarios = $this->params['odonto_vidas']; foreach ($arrContratos as $key => $contrato) { if (isset($contrato[$key]) && !($this->params['id'] && $this->params['is_sgv'] == '1' && $key == Constantes::$cod_produto_gco)) { $produtoProducaoModel = new ModelProdutoProducao(); $produtoProducaoModel->set('id_produto', $key); $produtoProducaoModel->set('id_producao', $idProducao); $produtoProducaoModel->set('numero_contrato', "'" . preg_replace('/[^0-9]/is', '', $arrContratos[$key]) . "'"); if ($key == Constantes::$cod_produto_odonto && $qtdBeneficiarios > 0) { $produtoProducaoModel->set('qtd_dependentes', $qtdBeneficiarios); } $produtoProducaoDAO->incluir($produtoProducaoModel); } } } else { $resultado = array('erro' => 1, 'msg' => 'Não foi possível salvar a produção.'); } } return json_encode($resultado); }
public function exportarExcel() { $this->temPermissaoConsultar(); $producaoModel = new ModelProducao(); $produtoProducaoDAO = new ProdutoProducaoDAO(); $produtoModel = new ModelProduto(); $produtoDAO = new ProdutoDAO(); $producaoModel->set('ativo', 1); $retornoFiltros = $this->filtrarProducao($producaoModel); $producoes = $this->producaoDAO->consultarPorPermissao($retornoFiltros['objeto']); $produtoModel->set('ativo', 1); $produtos = $produtoDAO->consultar($produtoModel); if ($producoes) { require LIBS . 'PHPExcel/Classes/PHPExcel.php'; $phpExcel = new PHPExcel(); $phpExcel->getProperties()->setCreator(ControleSessao::$nome_usuario)->setTitle('ProduçãoEmitidaEm-' . date('dd-mm-YYYY-HH-ii-ss')); $phpExcel->setActiveSheetIndex(0)->setCellValue('A1', 'Nome Base')->setCellValue('B1', 'Cod. Agência')->setCellValue('C1', 'Agência de Produção')->setCellValue('D1', 'Matrícula Orientador')->setCellValue('E1', 'Orientador')->setCellValue('F1', 'Matrícula Supervisor')->setCellValue('G1', 'Supervisor')->setCellValue('H1', 'Regional')->setCellValue('I1', 'Nome Cliente')->setCellValue('J1', 'CPF / CNPJ')->setCellValue('K1', 'Endereço')->setCellValue('L1', 'Complemento')->setCellValue('M1', 'Bairro')->setCellValue('N1', 'CEP')->setCellValue('O1', 'Cidade')->setCellValue('P1', 'UF')->setCellValue('Q1', 'Tipo de endereço')->setCellValue('R1', 'DDD Residencial')->setCellValue('S1', 'Telefone Residencial')->setCellValue('T1', 'DDD Comercial')->setCellValue('U1', 'Telefone Comercial')->setCellValue('V1', 'Data Assinatura Contrato')->setCellValue('W1', 'Tipo de Produto')->setCellValue('X1', 'Modalidade')->setCellValue('Y1', 'Status Contrato')->setCellValue('Z1', 'Status da Visita de Orientacao')->setCellValue('AA1', 'Motivo da não orientação')->setCellValue('AB1', 'Valor Solicitado')->setCellValue('AC1', 'Valor Concedido')->setCellValue('AD1', 'Qtd de Parcelas')->setCellValue('AE1', 'Dia do Vencimento')->setCellValue('AF1', 'Tipo de Aval')->setCellValue('AG1', 'Data da Última Parcela')->setCellValue('AH1', 'Origem do Cliente'); $x = 2; foreach ($producoes as $producao) { $produtoProducaoModel = new ModelProdutoProducao(); $produtoProducaoModel->set('id_producao', $producao->get('id_producao')); $produtosProducao = $produtoProducaoDAO->consultarProdutoProducao($produtoProducaoModel); if ($produtosProducao) { //CASO ENTRE ou RETIRE ALGUM ITEM NA LINHA ACIMA, ALTERAR AQUI TAMBÉM. if ($produtos) { $p = 'I'; $c = 'J'; foreach ($produtos as $produto) { $phpExcel->setActiveSheetIndex(0)->setCellValue('A' . $p . '1', 'Produto - ' . $produto->get('nome'))->setCellValue('A' . $c . '1', 'Número Contrato - ' . $produto->get('nome')); foreach ($produtosProducao as $prodProd) { $p1 = $p; $c1 = $c; if ($produto->get('id') == $prodProd->get('id_produto')) { $phpExcel->setActiveSheetIndex(0)->setCellValue('A' . $p1 . $x, $prodProd->get('nome_produto'))->setCellValue('A' . $c1 . $x, $prodProd->get('numero_contrato')); } else { $p1++; $c1++; } } $p++; $p++; $c++; $c++; $p1++; $p1++; $c1++; $c1++; } } } $phpExcel->setActiveSheetIndex(0)->setCellValue('A' . $x, $producao->get('nome_centro_base'))->setCellValue('B' . $x, $producao->get('codigo_agencia_producao'))->setCellValue('C' . $x, $producao->get('nome_agencia_producao'))->setCellValue('D' . $x, $producao->get('mat_orientador'))->setCellValue('E' . $x, $producao->get('nome_orientador'))->setCellValue('F' . $x, $producao->get('mat_supervisor'))->setCellValue('G' . $x, $producao->get('nome_supervisor'))->setCellValue('H' . $x, $producao->get('nome_centro_regional'))->setCellValue('I' . $x, $producao->get('nome_cliente')); if ($producao->get('cpf')) { $phpExcel->setActiveSheetIndex(0)->setCellValue('J' . $x, formataCPF($producao->get('cpf'))); } elseif ($producao->get('cnpj')) { $phpExcel->setActiveSheetIndex(0)->setCellValue('J' . $x, formataCNPJ($producao->get('cnpj'))); } $phpExcel->setActiveSheetIndex(0)->setCellValue('K' . $x, $producao->get('endereco'))->setCellValue('L' . $x, $producao->get('complemento'))->setCellValue('M' . $x, $producao->get('bairro'))->setCellValue('N' . $x, mask($producao->get('cep'), '#####-###'))->setCellValue('O' . $x, $producao->get('cidade'))->setCellValue('P' . $x, $producao->get('nome_uf'))->setCellValue('Q' . $x, $this->retornarTipoEndereco($producao->get('id_tipo_endereco')))->setCellValue('R' . $x, substr($producao->get('telefone'), 0, 2))->setCellValue('S' . $x, substr($producao->get('telefone'), 2))->setCellValue('T' . $x, substr($producao->get('telefone_comercial'), 0, 2))->setCellValue('U' . $x, substr($producao->get('telefone_comercial'), 2))->setCellValue('V' . $x, formatDataWEB($producao->get('data_assinatura_contrato')))->setCellValue('W' . $x, $producao->get('tipo_mpo'))->setCellValue('X' . $x, $producao->get('nome_modalidade'))->setCellValue('Y' . $x, $producao->get('nome_status_contrato'))->setCellValue('Z' . $x, $producao->get('status_visita_orientacao') ? $producao->get('status_visita_orientacao') : null)->setCellValue('AA' . $x, $producao->get('motivo_nao_orientacao') ? $producao->get('motivo_nao_orientacao') : null)->setCellValue('AB' . $x, $producao->get('valor_solicitado') ? 'R$ ' . number_format($producao->get('valor_solicitado'), 2, ',', '.') : null)->setCellValue('AC' . $x, $producao->get('valor_aprovado') ? 'R$ ' . number_format($producao->get('valor_aprovado'), 2, ',', '.') : null)->setCellValue('AD' . $x, $producao->get('qtd_parcelas'))->setCellValue('AE' . $x, $producao->get('dia_vencimento'))->setCellValue('AF' . $x, $producao->get('nome_tipo_aval'))->setCellValue('AG' . $x, formatDataWEB($producao->get('data_ultima_parcela')))->setCellValue('AH' . $x, $producao->get('nome_origem_cliente')); $x++; } //_debug('die', 1); $phpExcel->getActiveSheet()->setTitle('Produção'); $phpExcel->setActiveSheetIndex(0); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="01simple.xls"'); header('Cache-Control: max-age=0'); header('Cache-Control: max-age=1'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($phpExcel, 'Excel5'); $objWriter->save('php://output'); } }
public function validarProdutosUnicos() { $sucesso = array(); $arrNumerosContrato = array_filter($this->params['numero_contrato']); $arrNumerosContrato = array_map("addAspas", $arrNumerosContrato); $strContratos = implode(',', $arrNumerosContrato); $produtoProducaoDAO = new ProdutoProducaoDAO(); $modelProdutoProducao = new ModelProdutoProducao(); $modelProdutoProducao->set('strContratos', $strContratos); if (property_exists($this->producao, 'id') && $this->producao->get('id') != "") { $modelProdutoProducao->set('id_producao', $this->producao->get('id')); } $produdosCadastrados = $produtoProducaoDAO->consultarProdutosPorString($modelProdutoProducao); if ($produdosCadastrados) { $sucesso = $produdosCadastrados; } return $sucesso; }