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); }