Exemplo n.º 1
0
 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);
 }