Пример #1
0
 public static function pegaCustoPedido($idpedido)
 {
     $orcamento = orcamento::find_by_id($idpedido);
     $localOrig = creditos_custos_locai::find_by_cidade_id($orcamento->cidade_origem);
     $localDest = creditos_custos_locai::find_by_cidade_id($orcamento->cidade_destino);
     $custoBasico = creditos_dados_basico::first();
     $custoOrig = $custoBasico->custo_basico_cidade;
     $custoDest = 0;
     $custoUf = 0;
     // verifica se o custo local de origem tiver um valor personalizado
     if ($localOrig) {
         $custoOrig = $localOrig->custo_cidade;
     }
     // verifica se as cidades são diferentes
     if ($orcamento->cidade_origem != $orcamento->cidade_destino) {
         // se forem aplica o custo básico ou personalizado, se houver
         $custoDest = $localDest ? $localDest->custo_cidade : $custoBasico->custo_basico_cidade;
         // se o estado for diferente aplica o custo básico de uf
         if ($orcamento->uf_origem != $orcamento->uf_destino) {
             $custoUf = $custoBasico->custo_basico_uf;
         }
     }
     $custoFinal = $custoOrig + $custoDest + $custoUf;
     // se o custo final for maior que o teto, limita no teto
     if ($custoFinal > $custoBasico->custo_local_teto) {
         $custoFinal = $custoBasico->custo_local_teto;
     }
     return $custoFinal;
 }
Пример #2
0
<?php

require "connect_func.php";
$saida = array();
$erros = array();
$erros['id'] = 'ERRO :: ID não fornecido.';
$erros['naoexiste'] = 'ERRO :: ID inexistente';
$caminhoBE = '../views/img/paginas/';
if (isset($_POST['id'])) {
    $idp = $_POST['id'];
    $orcamento = orcamento::find_by_id($idp);
    if ($orcamento) {
        // exclui relacionamentos
        orcaenviado::delete_all(array('conditions' => array('orcamentos_id = ?', $idp)));
        // exclui registro final do orcamento
        $orcamento->delete();
        // retorna confirmação de exclusão
        $saida['registro_excluido'] = $idp;
    } else {
        $saida['erro'] = $erros['naoexiste'];
    }
} else {
    $saida['erro'] = $erros['id'];
}
echo json_encode($saida, JSON_UNESCAPED_UNICODE);
Пример #3
0
             $dadosOrc['tot_enviados'] = $orcamento->tot_enviados + 1;
             $orcamento->update_attributes($dadosOrc);
             // gera a saída das informações
             $saida['itens'] = $pedido->orcamento->itens;
             $saida['saldo'] = $saldo;
         } else {
             $saida['erro'] = $erros['creditos'];
         }
     } else {
         $saida['saldo'] = operacoes_de_credito::pegaSaldo($_POST['idUser']);
         $saida['itens'] = $pedido->orcamento->itens;
     }
 } else {
     // se o pedido nao for encontrado na lista de orcamentos enviados
     // busca direto na tabela de orcamentos
     $orcamento = orcamento::find_by_id($_POST['idPedido']);
     if ($orcamento) {
         $saldo = pagaPedido($_POST['idUser'], $_POST['idPedido'], $orcamento->pedido);
         if ($saldo >= 0) {
             $dadosOrcEnv = array();
             $dadosOrcEnv['data_mudanca'] = $orcamento->data_mudanca;
             $dadosOrcEnv['orcamentos_id'] = $orcamento->id;
             $dadosOrcEnv['parceiros_id'] = $_POST['idUser'];
             $dadosOrcEnv['visualizado'] = 1;
             $novoPedido = new orcaenviado($dadosOrcEnv);
             $novoPedido->save();
             // atualiza a visualização dos pedidos
             $dadosOrc = array();
             $dadosOrc['tot_visualizados'] = $orcamento->tot_visualizados + 1;
             $dadosOrc['tot_enviados'] = $orcamento->tot_enviados + 1;
             $orcamento->update_attributes($dadosOrc);