コード例 #1
0
 public static function saveFornecedor()
 {
     $FornecedorTO = new FornecedorTO();
     $FornecedorDao = new FornecedorDao();
     $FornecedorTO->nome_fornecedor = isset($_POST['nome_fornecedor']) ? $_POST['nome_fornecedor'] : '';
     $FornecedorTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : '';
     $validator = new DataValidator();
     $validator->set_msg('O nome do fornecedor é obrigatório')->set('nome_fornecedor', $FornecedorTO->nome_fornecedor)->is_required();
     $validator->set_msg('o codigo do empreendimento é obrigatório')->set('id_empreendimento', $FornecedorTO->id_empreendimento)->is_num();
     if (!$validator->validate()) {
         Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send();
         return;
     }
     if ($FornecedorDao->saveFornecedor($FornecedorTO)) {
         Flight::halt(201);
     } else {
         Flight::halt(500, 'erro ao inserir Fornecedor');
     }
 }
コード例 #2
0
 public static function saveFornecedor()
 {
     $FornecedorTO = new FornecedorTO();
     $FornecedorDao = new FornecedorDao();
     $FornecedorTO->id = isset($_POST['id']) ? $_POST['id'] : NULL;
     $FornecedorTO->nome_fornecedor = isset($_POST['nome_fornecedor']) ? $_POST['nome_fornecedor'] : NULL;
     $FornecedorTO->id_empreendimento = isset($_POST['id_empreendimento']) ? $_POST['id_empreendimento'] : NULL;
     $FornecedorTO->tipo_cadastro = isset($_POST['tipo_cadastro']) ? $_POST['tipo_cadastro'] : NULL;
     $FornecedorTO->num_cpf = isset($_POST['num_cpf']) ? $_POST['num_cpf'] : NULL;
     $FornecedorTO->num_cnpj = isset($_POST['num_cnpj']) ? $_POST['num_cnpj'] : NULL;
     $FornecedorTO->num_inscricao_estadual = isset($_POST['num_inscricao_estadual']) ? $_POST['num_inscricao_estadual'] : NULL;
     $FornecedorTO->nme_fantasia = isset($_POST['nme_fantasia']) ? $_POST['nme_fantasia'] : NULL;
     $FornecedorTO->num_cep = isset($_POST['num_cep']) ? $_POST['num_cep'] : NULL;
     $FornecedorTO->nme_endereco = isset($_POST['nme_endereco']) ? $_POST['nme_endereco'] : NULL;
     $FornecedorTO->num_logradouro = isset($_POST['num_logradouro']) ? $_POST['num_logradouro'] : NULL;
     $FornecedorTO->nme_bairro = isset($_POST['nme_bairro']) ? $_POST['nme_bairro'] : NULL;
     $FornecedorTO->cod_estado = isset($_POST['cod_estado']) ? $_POST['cod_estado'] : NULL;
     $FornecedorTO->cod_cidade = isset($_POST['cod_cidade']) ? $_POST['cod_cidade'] : NULL;
     $FornecedorTO->id_banco = isset($_POST['id_banco']) ? $_POST['id_banco'] : NULL;
     $FornecedorTO->num_agencia = isset($_POST['num_agencia']) ? $_POST['num_agencia'] : NULL;
     $FornecedorTO->num_conta = isset($_POST['num_conta']) ? $_POST['num_conta'] : NULL;
     $FornecedorTO->end_complemento = isset($_POST['end_complemento']) ? $_POST['end_complemento'] : NULL;
     $FornecedorTO->id_plano_contas_padrao = isset($_POST['id_plano_contas_padrao']) ? $_POST['id_plano_contas_padrao'] : NULL;
     $telefones = isset($_POST['telefones']) && is_array($_POST['telefones']) && count($_POST['telefones']) > 0 ? $_POST['telefones'] : false;
     if ($FornecedorTO->tipo_cadastro == 'pj') {
         $FornecedorTO->num_cpf = NULL;
     } else {
         if ($FornecedorTO->tipo_cadastro == 'pf') {
             $FornecedorTO->num_cnpj = NULL;
             $FornecedorTO->num_inscricao_estadual = NULL;
             $FornecedorTO->nme_fantasia = NULL;
         }
     }
     $validator = new DataValidator();
     $validator->set_msg('o codigo do empreendimento é obrigatório')->set('id_empreendimento', $FornecedorTO->id_empreendimento)->is_num();
     if ($FornecedorTO->tipo_cadastro == 'pj' and !empty($FornecedorTO->num_cnpj)) {
         $aux = $FornecedorDao->fornecedorExists(array('cplSql' => "num_cnpj = '" . $FornecedorTO->num_cnpj . "' AND id_empreendimento = " . $FornecedorTO->id_empreendimento));
         $validator->set_msg('CNPJ já cadastrado')->set('num_cnpj', $aux)->is_equals(false);
     } else {
         if ($FornecedorTO->tipo_cadastro == 'pf' and !empty($FornecedorTO->num_cpf)) {
             $aux = $FornecedorDao->fornecedorExists(array('cplSql' => "num_cpf = '" . $FornecedorTO->num_cpf . "' AND id_empreendimento = " . $FornecedorTO->id_empreendimento));
             $validator->set_msg('CPF já cadastrado')->set('num_cpf', $aux)->is_equals(false);
         }
     }
     $validator->set_msg($FornecedorTO->tipo_cadastro == 'pj' ? 'A Razão Social é obrigatória' : 'O nome é obrigatório')->set('nome_fornecedor', $FornecedorTO->nome_fornecedor)->is_required();
     if (!$validator->validate()) {
         Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send();
         return;
     }
     $last_id = $FornecedorDao->saveFornecedor($FornecedorTO);
     if ($last_id) {
         if ($telefones) {
             $TelefoneDao = new TelefoneDao();
             if (!$TelefoneDao->updateTelefones($telefones, $last_id)) {
                 Flight::halt(500, 'erro ao atualizar telefones do fornecedor');
             }
         }
         $dados_fornecedor = $FornecedorDao->getFornecedorById($last_id);
         Flight::response()->status(201)->header('Content-Type', 'application/json')->write(json_encode(array('id' => $last_id, 'dados' => $dados_fornecedor)))->send();
     } else {
         Flight::halt(500, 'erro ao inserir fornecedor');
     }
 }
コード例 #3
0
 public static function saveEmpreendimento()
 {
     date_default_timezone_set('America/Sao_Paulo');
     // Preparando objetos
     $EmpreendimentoTO = new EmpreendimentoTO();
     $EmpreendimentoTO->nome_empreendimento = isset($_POST['nome_empreendimento']) ? $_POST['nome_empreendimento'] : '';
     $EmpreendimentoTO->flg_teste = isset($_POST['flg_teste']) && ((int) $_POST['flg_teste'] == 1 || (int) $_POST['flg_teste'] == 0) ? (int) $_POST['flg_teste'] : NULL;
     $EmpreendimentoTO->qtd_dias_teste = isset($_POST['qtd_dias_teste']) ? $_POST['qtd_dias_teste'] : NULL;
     $EmpreendimentoTO->dta_cadastro = date('Y-m-d H:i:s');
     $EmpreendimentoTO->num_cnpj = isset($_POST['num_cnpj']) ? $_POST['num_cnpj'] : '';
     $EmpreendimentoTO->num_inscricao_estadual = isset($_POST['num_inscricao_estadual']) ? $_POST['num_inscricao_estadual'] : '';
     $EmpreendimentoTO->nme_razao_social = isset($_POST['nme_razao_social']) ? $_POST['nme_razao_social'] : '';
     $EmpreendimentoTO->nme_fantasia = isset($_POST['nme_fantasia']) ? $_POST['nme_fantasia'] : '';
     $EmpreendimentoTO->nme_logradouro = isset($_POST['nme_logradouro']) ? $_POST['nme_logradouro'] : '';
     $EmpreendimentoTO->num_logradouro = isset($_POST['num_logradouro']) ? $_POST['num_logradouro'] : '';
     $EmpreendimentoTO->nme_bairro_logradouro = isset($_POST['nme_bairro_logradouro']) ? $_POST['nme_bairro_logradouro'] : '';
     $EmpreendimentoTO->cod_cidade = isset($_POST['cod_cidade']) ? $_POST['cod_cidade'] : NULL;
     $EmpreendimentoTO->cod_estado = isset($_POST['cod_estado']) ? $_POST['cod_estado'] : NULL;
     $EmpreendimentoTO->cod_regime_tributario = isset($_POST['cod_regime_tributario']) && is_numeric($_POST["cod_regime_tributario"]) ? $_POST['cod_regime_tributario'] : NULL;
     $EmpreendimentoTO->cod_regime_pis_cofins = isset($_POST['cod_regime_pis_cofins']) && is_numeric($_POST["cod_regime_pis_cofins"]) ? $_POST['cod_regime_pis_cofins'] : NULL;
     $EmpreendimentoTO->cod_tipo_empresa = isset($_POST['cod_tipo_empresa']) && is_numeric($_POST["cod_tipo_empresa"]) ? $_POST['cod_tipo_empresa'] : NULL;
     $EmpreendimentoTO->flg_contribuinte_icms = isset($_POST['flg_contribuinte_icms']) ? (int) $_POST['flg_contribuinte_icms'] : 0;
     $EmpreendimentoTO->flg_contribuinte_ipi = isset($_POST['flg_contribuinte_ipi']) ? (int) $_POST['flg_contribuinte_ipi'] : 0;
     $EmpreendimentoTO->cod_zoneamento = isset($_POST['cod_zoneamento']) && is_numeric($_POST["cod_zoneamento"]) ? $_POST['cod_zoneamento'] : NULL;
     $EmpreendimentoTO->num_percentual_credito_simples = isset($_POST['num_percentual_credito_simples']) && is_numeric($_POST["num_percentual_credito_simples"]) ? $_POST['num_percentual_credito_simples'] : NULL;
     $EmpreendimentoTO->num_cep = isset($_POST['num_cep']) ? $_POST['num_cep'] : NULL;
     $EmpreendimentoTO->num_inscricao_estadual_st = isset($_POST['num_inscricao_estadual_st']) ? $_POST['num_inscricao_estadual_st'] : NULL;
     $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO();
     $UsuarioEmpreendimentoTO->id_usuario = isset($_POST['id_usuario']) ? $_POST['id_usuario'] : '';
     $regime_especial = isset($_POST['regime_especial']) ? $_POST['regime_especial'] : array();
     // Validação de campos obrigatórios
     $validator = new DataValidator();
     $validator->set_msg('O nome do Empreendimento é obrigatório')->set('nome_empreendimento', $EmpreendimentoTO->nome_empreendimento)->is_required();
     $validator->set_msg('O ID do usuario é obrigatório')->set('id_usuario', $UsuarioEmpreendimentoTO->id_usuario)->is_required();
     if ($EmpreendimentoTO->flg_teste == 1) {
         $validator->set_msg('A quantidade de dias para teste é obrigatória')->set('qtd_dias_teste', $EmpreendimentoTO->qtd_dias_teste)->is_required()->set_msg('Este campo é obrigatóriamente numérico')->is_num()->set_msg('Este campo deve ser obrigatóriamente maior que 0 (zero)')->min_value(1, true);
     } else {
         $EmpreendimentoTO->qtd_dias_teste = null;
     }
     if (!$validator->validate()) {
         Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send();
         return;
     }
     try {
         $EmpreendimentoDao = new EmpreendimentoDao();
         $last_id_empreendimento = $EmpreendimentoDao->saveEmpreendimento($EmpreendimentoTO);
         if (!$last_id_empreendimento) {
             Flight::halt(500, 'erro ao salvar empreendimento');
         } else {
             $RegimeEspecialDao = new RegimeEspecialDao();
             $RegimeEspecialDao->saveRegimeEmpreendimento($regime_especial, $last_id_empreendimento);
             $arrConfigs = array();
             $arrConfigs['id_plano_fechamento_caixa'] = "-1";
             $arrConfigs['id_plano_caixa'] = "-1";
             $arrConfigs['id_fornecedor_movimentacao_caixa'] = "-1";
             $arrConfigs['id_cliente_movimentacao_caixa'] = "-1";
             $arrConfigs['path_logo_rel'] = "-1";
             $arrConfigs['id_produto_debito_anterior_cliente'] = "-1";
             $arrConfigs['id_conta_bancaria_padrao_fechamento_automatico'] = "-1";
             $arrConfigs['id_usuario_venda_vitrine'] = "-1";
             $arrConfigs['time_zone'] = "America/Sao_Paulo";
             // salvar id_cliente_movimentacao_caixa = CLIENTE LOJA FÍSICA
             $cliMovCaixaTO = new ClienteTO();
             $cliMovCaixaTO->nome = "CLIENTE LOJA FÍSICA";
             $cliMovCaixaTO->id_perfil = 6;
             $cliMovCaixaTO->id_empreendimento = $last_id_empreendimento;
             $cliMovCaixaDao = new ClienteDao();
             $last_id_cliMovCaixa = $cliMovCaixaDao->saveCliente($cliMovCaixaTO);
             if (!$last_id_cliMovCaixa) {
                 Flight::halt(500, 'erro ao criar [CLIENTE LOJA FÍSICA] padrão para o empreendimento [$last_id_empreendimento]');
             }
             $UsuarioEmpreendimentoTO->id_usuario = $last_id_cliMovCaixa;
             $UsuarioEmpreendimentoTO->id_empreendimento = $last_id_empreendimento;
             if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) {
                 Flight::halt(500, 'erro ao associar [CLIENTE LOJA FÍSICA] ao empreendimento');
             }
             $arrConfigs['id_cliente_movimentacao_caixa'] = $last_id_cliMovCaixa;
             // salvar id_usuario_venda_vitrine = CLIENTE LOJA VIRTUAL
             $cliVenVitrineTO = new ClienteTO();
             $cliVenVitrineTO->nome = "CLIENTE LOJA VIRTUAL";
             $cliVenVitrineTO->id_perfil = 6;
             $cliVenVitrineTO->id_empreendimento = $last_id_empreendimento;
             $cliVenVitrineDao = new ClienteDao();
             $last_id_cliVenVitrine = $cliVenVitrineDao->saveCliente($cliVenVitrineTO);
             if (!$last_id_cliVenVitrine) {
                 Flight::halt(500, 'erro ao criar [CLIENTE LOJA VIRTUAL] padrão para o empreendimento [$last_id_empreendimento]');
             }
             $UsuarioEmpreendimentoTO->id_usuario = $last_id_cliVenVitrine;
             $UsuarioEmpreendimentoTO->id_empreendimento = $last_id_empreendimento;
             if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) {
                 Flight::halt(500, 'erro ao associar [CLIENTE LOJA VIRTUAL] ao empreendimento');
             }
             $arrConfigs['id_usuario_venda_vitrine'] = $last_id_cliVenVitrine;
             // salvar id_fornecedor_movimentacao_caixa = CLIENTE LOJA FÍSICA
             $forMovCaixaTO = new FornecedorTO();
             $forMovCaixaTO->nome_fornecedor = "FORNECEDOR MOVIMENTACÃO DE CAIXA ";
             $forMovCaixaTO->id_empreendimento = $last_id_empreendimento;
             $forMovCaixaDao = new FornecedorDao();
             $last_id_forMovCaixa = $forMovCaixaDao->saveFornecedor($forMovCaixaTO);
             if (!$last_id_forMovCaixa) {
                 Flight::halt(500, 'erro ao criar [CLIENTE LOJA VIRTUAL] padrão para o empreendimento [$last_id_empreendimento]');
             }
             $arrConfigs['id_fornecedor_movimentacao_caixa'] = $last_id_forMovCaixa;
             // id_produto_debito_anterior_cliente = DÉBITO ANTERIOR
             $prodDebAnteriorTO = new ProdutoTO();
             $prodDebAnteriorTO->nome = "DÉBITO ANTERIOR";
             $prodDebAnteriorDao = new ProdutoDao();
             $last_id_prodDebAnterior = $prodDebAnteriorDao->saveProduto($prodDebAnteriorTO);
             if (!$last_id_prodDebAnterior) {
                 Flight::halt(500, 'erro ao criar [DÉBITO ANTERIOR] padrão para o empreendimento [$last_id_empreendimento]');
             }
             $ProdutoEmpreendimentoTO = new ProdutoEmpreendimentoTO();
             $ProdutoEmpreendimentoTO->id_produto = $last_id_prodDebAnterior;
             $ProdutoEmpreendimentoTO->id_empreendimento = $last_id_empreendimento;
             if (!$prodDebAnteriorDao->produtoEmpreendimento($ProdutoEmpreendimentoTO)) {
                 Flight::halt(500, 'Erro ao associar o produto [DÉBITO ANTERIOR] o id_empreendimento');
             }
             $arrConfigs['id_produto_debito_anterior_cliente'] = $last_id_prodDebAnterior;
             // id_conta_bancaria_padrao_fechamento_automatico = CAIXA INTERNO
             $ContaBancariaTO = new ContaBancariaTO();
             $ContaBancariaDao = new ContaBancariaDao();
             $ContaBancariaTO->dsc_conta_bancaria = 'Caixa interno';
             $ContaBancariaTO->id_tipo_conta = 3;
             $ContaBancariaTO->id_empreendimento = $last_id_empreendimento;
             $ContaBancariaTO->id_banco = 104;
             $lastIdContaBancaria = $ContaBancariaDao->saveConta($ContaBancariaTO);
             if (!$lastIdContaBancaria) {
                 Flight::halt(500, 'erro ao criar conta  [CAIXA INTERNO] padrão para fechamento de caixa');
             }
             $arrConfigs['id_conta_bancaria_padrao_fechamento_automatico'] = $lastIdContaBancaria;
             //Cadastrando Plano de contas
             if (!$EmpreendimentoDao->PlanoContaEmpreendimento($last_id_empreendimento)) {
                 Flight::halt(500, 'erro ao criar Plano de contas');
             }
             $arrConfigs['id_plano_caixa'] = $EmpreendimentoDao->getIdPlanoCaixa($last_id_empreendimento);
             $arrConfigs['id_plano_fechamento_caixa'] = $EmpreendimentoDao->getIdPlanoFechamentoCaixa($last_id_empreendimento);
             //Cadastrando cores
             if (!$EmpreendimentoDao->InsertCores($last_id_empreendimento)) {
                 Flight::halt(500, 'erro ao criar cores');
             }
             //Cadastrando chave de configurações
             foreach ($arrConfigs as $key => $value) {
                 $configDao = new ConfiguracaoDao();
                 if (!$configDao->saveKey($key, $value, $last_id_empreendimento)) {
                     Flight::halt(500, 'erro ao criar [$key][$value] padrão para o empreendimento [$last_id_empreendimento]');
                     die;
                 }
             }
             $empreendimento_usuario = array(array('id_usuario' => 222, 'id_empreendimento' => $last_id_empreendimento), array('id_usuario' => 498, 'id_empreendimento' => $last_id_empreendimento));
             foreach ($empreendimento_usuario as $key => $value) {
                 $UsuarioEmpreendimentoTO->id_empreendimento = $value['id_empreendimento'];
                 $UsuarioEmpreendimentoTO->id_usuario = $value['id_usuario'];
                 if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) {
                     Flight::halt(500, 'erro ao vincular usuarios ao empreendimento');
                 }
             }
             Flight::halt(201);
         }
     } catch (Exception $e) {
         Flight::halt(500, $e->getMessage());
     }
 }
コード例 #4
0
 public static function requestSaveFornecedor()
 {
     try {
         $dados = $_POST;
         $id_empreendimento = $dados['id_empreendimento'];
         $PrestaShopDao = new PrestaShopDao($dados['id_empreendimento']);
         $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao();
         if (isset($dados['address']['id_state']) && !empty($dados['address']['id_state'])) {
             $ReferenciaEstadoTO = new ReferenciaIntegracaoTO();
             $ReferenciaEstadoTO->sistema_integrado = 'PrestaShop';
             $ReferenciaEstadoTO->tabela = 'tb_estados';
             $ReferenciaEstadoTO->id_item_referencia = $dados['address']['id_state'];
             $ReferenciaEstadoTO->tipo = 'estado';
             $referenciaEstado = $ReferenciaIntegracaoDao->refExists($ReferenciaEstadoTO, true);
             if (!$referenciaEstado) {
                 throw new Exception('Não existe uma referencia para o estado #' . $dados['address']['id_state'], 1);
             }
         } else {
             $referenciaEstado = array('id_item' => NULL);
         }
         $ReferenciaBrasilTO = new ReferenciaIntegracaoTO();
         $ReferenciaBrasilTO->sistema_integrado = 'PrestaShop';
         $ReferenciaBrasilTO->tipo = 'brasil';
         $referenciaBrasil = $ReferenciaIntegracaoDao->refExists($ReferenciaBrasilTO);
         if (!$referenciaBrasil) {
             throw new Exception('Não existe uma referencia para o Pais Brasil', 1);
         }
         $FornecedorTO = new FornecedorTO();
         $FornecedorDao = new FornecedorDao();
         $FornecedorTO->nome_fornecedor = $dados['fornecedor']['name'];
         $FornecedorTO->id_empreendimento = $id_empreendimento;
         $FornecedorTO->num_cep = $dados['address']['postcode'];
         $FornecedorTO->nme_endereco = $dados['address']['address'];
         $FornecedorTO->nme_bairro = $dados['address']['address2'];
         $FornecedorTO->cod_estado = $referenciaEstado['id_item'];
         $FornecedorTO->cod_cidade = NULL;
         $FornecedorTO->tipo_cadastro = 'pj';
         $last_id = $FornecedorDao->saveFornecedor($FornecedorTO);
         if (!$last_id) {
             throw new Exception('Erro ao cadastrar o fornecedor', 1);
         }
         $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO();
         $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop';
         $ReferenciaIntegracaoTO->tabela = 'tbl_fornecedores';
         $ReferenciaIntegracaoTO->id_item = $last_id;
         $ReferenciaIntegracaoTO->id_item_referencia = $dados['fornecedor']['id'];
         $ReferenciaIntegracaoTO->tipo = 'fornecedor';
         $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento;
         if (!$ReferenciaIntegracaoDao->save($ReferenciaIntegracaoTO)) {
             throw new Exception('Erro ao criar referencia no sistema', 1);
         }
         if (!empty($dados['address']['phone'])) {
             $TelefoneDao = new TelefoneDao();
             $TelefoneTO = new TelefoneTO();
             $TelefoneTO->tbl_referencia = 'tbl_fornecedores';
             $TelefoneTO->id_referencia = $last_id;
             $TelefoneTO->num_telefone = $dados['address']['phone'];
             $id_telefone = $TelefoneDao->saveTelefone($TelefoneTO);
             if (!$id_telefone) {
                 throw new Exception('erro ao inserir telefone do fornecedor', 1);
             }
             $ReferenciaTelefoneTO = new ReferenciaIntegracaoTO();
             $ReferenciaTelefoneTO->sistema_integrado = 'PrestaShop';
             $ReferenciaTelefoneTO->tabela = 'tbl_telefone';
             $ReferenciaTelefoneTO->id_item_referencia = $dados['fornecedor']['id'];
             $ReferenciaTelefoneTO->tipo = 'telefone_fornecedor';
             $ReferenciaTelefoneTO->id_empreendimento = $id_empreendimento;
             $ReferenciaTelefoneTO->id_item = $id_telefone;
             if (!$ReferenciaIntegracaoDao->save($ReferenciaTelefoneTO)) {
                 throw new Exception('erro ao inserir referencia', 1);
             }
         }
     } catch (Exception $e) {
         $log = new KLogger("logs/logErrorPrestaShop.txt", KLogger::DEBUG);
         $log->LogError($e->getMessage() . '- file:' . $e->getFile() . ' - line:' . $e->getLine());
         $log->LogDebug(json_encode($_POST));
         $log->LogJunp();
         Flight::halt(500, $e->getMessage());
     }
 }
コード例 #5
0
 public static function save($isIndividual)
 {
     $ConfiguracaoDao = new ConfiguracaoDao();
     if ($isIndividual === "true") {
         if ($ConfiguracaoDao->existsKey($_POST['nome'], $_POST['id_empreendimento'])) {
             if (!$ConfiguracaoDao->updateKey($_POST['nome'], $_POST['valor'], $_POST['id_empreendimento'])) {
                 Flight::halt(500, 'erro ao atualizar chave de configuração');
             }
         } else {
             if (!$ConfiguracaoDao->saveKey($_POST['nome'], $_POST['valor'], $_POST['id_empreendimento'])) {
                 Flight::halt(500, 'erro ao cadastrar chave de configuração');
             }
         }
     } else {
         $chaves = isset($_POST['chaves']) ? $_POST['chaves'] : null;
         if ($chaves == null) {
             Flight::halt(406);
         }
         $id_empreendimento = $chaves[0]['id_empreendimento'];
         foreach ($chaves as $key => $value) {
             $nome = isset($value['nome']) ? $value['nome'] : NULL;
             $valor = isset($value['valor']) ? $value['valor'] : NULL;
             $id_empreendimento = isset($value['id_empreendimento']) ? $value['id_empreendimento'] : NULL;
             if ($nome === "id_plano_caixa") {
                 $cfg = $ConfiguracaoDao->getConfiguracoes($id_empreendimento, "id_plano_caixa");
                 if ($cfg && $cfg != null) {
                     $pgtoClienteDao = new PagamentoClienteDao();
                     $pgtoClienteDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_caixa'], $valor);
                     $pgtoFornecedorDao = new PagamentoFornecedorDao();
                     $pgtoFornecedorDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_caixa'], $valor);
                 }
             }
             if ($nome === "id_plano_fechamento_caixa") {
                 $cfg = $ConfiguracaoDao->getConfiguracoes($id_empreendimento, "id_plano_fechamento_caixa");
                 if ($cfg && $cfg != null) {
                     $pgtoClienteDao = new PagamentoClienteDao();
                     $pgtoClienteDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_fechamento_caixa'], $valor);
                     $pgtoFornecedorDao = new PagamentoFornecedorDao();
                     $pgtoFornecedorDao->updatePlanoContaPagamento($id_empreendimento, $cfg['id_plano_fechamento_caixa'], $valor);
                 }
             }
             if ($ConfiguracaoDao->existsKey($nome, $value['id_empreendimento'])) {
                 if (!$ConfiguracaoDao->updateKey($nome, $valor, $id_empreendimento)) {
                     Flight::halt(500, 'erro ao atualizar chave de configuração');
                 }
             } else {
                 if (!$ConfiguracaoDao->saveKey($nome, $valor, $id_empreendimento)) {
                     Flight::halt(500, 'erro ao cadastrar chave de configuração');
                 }
             }
         }
         if (!$ConfiguracaoDao->existsKey('id_fornecedor_movimentacao_caixa', $value['id_empreendimento'])) {
             $FornecedorTO = new FornecedorTO();
             $FornecedorDao = new FornecedorDao();
             $FornecedorTO->nome_fornecedor = 'fornecedor de movimentação de caixa';
             $FornecedorTO->id_empreendimento = $value['id_empreendimento'];
             $id_fornecedor = $FornecedorDao->saveFornecedor($FornecedorTO);
             if ($id_fornecedor) {
                 if (!$ConfiguracaoDao->saveKey('id_fornecedor_movimentacao_caixa', $id_fornecedor, $value['id_empreendimento'])) {
                     Flight::halt(500, 'erro ao cadastrar chave de movimentação');
                 }
             } else {
                 Flight::halt(500, 'erro ao inserir Fornecedor de movimentação');
             }
         }
         if (!$ConfiguracaoDao->existsKey('id_cliente_movimentacao_caixa', $value['id_empreendimento'])) {
             $ClienteTO = new ClienteTO();
             $ClienteDao = new ClienteDao();
             $ClienteTO->nome = 'cliente de movimentação de caixa';
             $id_cliente = $ClienteDao->saveCliente($ClienteTO);
             if (!$id_cliente) {
                 Flight::halt(500, 'erro ao inserir cliente de movimentação');
             }
             $EmpreendimentoDao = new EmpreendimentoDao();
             $UsuarioEmpreendimentoTO = new UsuarioEmpreendimentoTO();
             $UsuarioEmpreendimentoTO->id_usuario = $id_cliente;
             $UsuarioEmpreendimentoTO->id_empreendimento = $value['id_empreendimento'];
             if (!$EmpreendimentoDao->saveUsuarioEmpreendimento($UsuarioEmpreendimentoTO)) {
                 Flight::halt(500, 'erro ao lincar usuario ao empreendimento');
             }
             if (!$ConfiguracaoDao->saveKey('id_cliente_movimentacao_caixa', $id_cliente, $value['id_empreendimento'])) {
                 Flight::halt(500, 'erro ao cadastrar chave de movimentação');
             }
         }
     }
     Flight::halt(201);
 }