public static function updateFornecedor() { $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 fornecedor é obrigatório')->set('id', $FornecedorTO->id)->is_required(); if ($FornecedorTO->tipo_cadastro == 'pj' and !empty($FornecedorTO->num_cnpj) and !empty($FornecedorTO->id)) { $aux = $FornecedorDao->fornecedorExists(array('cplSql' => "num_cnpj = '" . $FornecedorTO->num_cnpj . "' AND id_empreendimento = " . $FornecedorTO->id_empreendimento . " AND id !=" . $FornecedorTO->id)); $validator->set_msg('CNPJ já cadastrado')->set('num_cnpj', $aux)->is_equals(false); } else { if ($FornecedorTO->tipo_cadastro == 'pf' and !empty($FornecedorTO->num_cpf) and !empty($FornecedorTO->id)) { $aux = $FornecedorDao->fornecedorExists(array('cplSql' => "num_cpf = '" . $FornecedorTO->num_cpf . "' AND id_empreendimento = " . $FornecedorTO->id_empreendimento . " AND id !=" . $FornecedorTO->id)); $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(); $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->updateFornecedor($FornecedorTO)) { $TelefoneDao = new TelefoneDao(); if ($telefones) { $TelefoneDao->updateTelefones($telefones, $FornecedorTO->id); } Flight::halt(200); } else { Flight::halt(500, 'erro ao atualizar'); } }
public static function updateFornecedor() { $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'] : ''; $FornecedorTO->id = isset($_POST['id']) ? $_POST['id'] : ''; $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(); $validator->set_msg('O codigo do fornecedor é obrigatório')->set('id', $FornecedorTO->id)->is_required(); if (!$validator->validate()) { Flight::response()->status(406)->header('Content-Type', 'application/json')->write(json_encode($validator->get_errors()))->send(); return; } if ($FornecedorDao->updateFornecedor($FornecedorTO)) { Flight::halt(200); } else { Flight::halt(500, 'erro ao atualizar'); } }
public static function requestUpdateFornecedor() { try { $dados = $_POST; $id_empreendimento = $dados['id_empreendimento']; $PrestaShopDao = new PrestaShopDao($dados['id_empreendimento']); $ReferenciaIntegracaoDao = new ReferenciaIntegracaoDao(); $ReferenciaFornecedorTO = new ReferenciaIntegracaoTO(); $ReferenciaFornecedorTO->sistema_integrado = 'PrestaShop'; $ReferenciaFornecedorTO->tabela = 'tbl_fornecedores'; $ReferenciaFornecedorTO->id_item_referencia = $dados['fornecedor']['id']; $ReferenciaFornecedorTO->tipo = 'fornecedor'; $ReferenciaFornecedorTO->id_empreendimento = $id_empreendimento; $referenciaFornecedor = $ReferenciaIntegracaoDao->refExists($ReferenciaFornecedorTO, true); if (!$referenciaFornecedor) { self::requestSaveFornecedor(); return; //throw new Exception('Não existe uma referencia para o fornecedor #'.$dados['fornecedor']['id'], 1); } $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['id_state'], 1); } $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 stdClass(); $FornecedorDao = new FornecedorDao(); $FornecedorTO->id = $referenciaFornecedor['id_item']; $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']; if (!$FornecedorDao->updateFornecedor($FornecedorTO)) { throw new Exception('Erro ao cadastrar o fornecedor', 1); } $ReferenciaIntegracaoTO = new ReferenciaIntegracaoTO(); $ReferenciaIntegracaoTO->sistema_integrado = 'PrestaShop'; $ReferenciaIntegracaoTO->tabela = 'tbl_fornecedores'; $ReferenciaIntegracaoTO->id_item = $referenciaFornecedor['id_item']; $ReferenciaIntegracaoTO->id_item_referencia = $dados['fornecedor']['id']; $ReferenciaIntegracaoTO->tipo = 'fornecedor'; $ReferenciaIntegracaoTO->id_empreendimento = $id_empreendimento; if (isset($dados['address']['phone'])) { $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; $referenciaTelefone = $ReferenciaIntegracaoDao->refExists($ReferenciaTelefoneTO, true); $TelefoneDao = new TelefoneDao(); $telefones[0] = array('num_telefone' => $dados['address']['phone'], 'tbl_referencia' => 'tbl_fornecedores'); if ($referenciaTelefone) { $telefones[0]['id'] = $referenciaTelefone['id_item']; if (!$TelefoneDao->updateTelefones($telefones, $referenciaFornecedor['id_item'])) { throw new Exception('erro ao atualizar telefones do fornecedor', 1); } } else { $TelefoneTO = new TelefoneTO(); $TelefoneTO->tbl_referencia = 'tbl_fornecedores'; $TelefoneTO->id_referencia = $referenciaFornecedor['id_item']; $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->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() . '- file:' . $e->getFile() . ' - line:' . $e->getLine()); } }