Esempio n. 1
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);
                 $dadosParceiro = array();
                 $dadosParceiro['id'] = $e->parceiro->id;
                 $dadosParceiro['email'] = $e->parceiro->email;
                 $dadosParceiro['nome'] = $e->parceiro->nome;
                 $dadosParceiro['resp'] = $e->parceiro->responsavel;
                 array_push($listaParceiros, $dadosParceiro);
             }
         }
     }
 }
 ////////////////////////////////////////////////////////
 // Após o mapeamento dos parceiros salva o registro do orçamento com o
 // total de parceiros identificados
 $dados['tot_enviados'] = count($listaParceiros);
 $dados['tot_visualizados'] = 0;
 $orcamento = orcamento::create($dados);
 $orcamento->save();
 // verifica se a lista gerada é maior que zero
 if (count($listaParceiros) > 0) {
     // Se a lista de e-mails for maior que zero cria o registro que relaciona
     // os parceiros mapeados com o orçmamento gerado na tabela dos orçamentos enviados
     foreach ($listaParceiros as $p) {
         $dadosOrcEnv = array();
         $dadosOrcEnv['data_mudanca'] = $dmuda;
         $dadosOrcEnv['orcamentos_id'] = $orcamento->id;
         $dadosOrcEnv['parceiros_id'] = $p['id'];
         $dadosOrcEnv['visualizado'] = 0;
         $orcEnviado = new orcaenviado($dadosOrcEnv);
         $orcEnviado->save();
     }
     //////////////////////////////////////////////////////
 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;
 }
Esempio n. 4
0
             } else {
                 $options['order'] = 'data_registro ' . $ordem . ', id ' . $ordem;
             }
         }
     }
 } else {
     // aberta
     $campos = array('', 'pedido', 'id', 'solicitante', 'email');
     $campo = $campos[$_POST['campo']];
     $texto = $_POST['texto'];
     $options['conditions'] = $campo . " LIKE '%" . $texto . "%'";
     $options['order'] = 'id ' . $ordem . ',' . $campo . ' ' . $ordem;
 }
 $total = count(orcamento::find('all', $options));
 // retorna o total de registros encontrados
 $orcs = orcamento::find('all', $options);
 $conta = 0;
 if (count($orcs) > 0) {
     foreach ($orcs as $dadosOrc) {
         $cidadeO = cidade::find_by_id($dadosOrc->cidade_origem);
         $estadoO = estado::find_by_id($dadosOrc->uf_origem);
         $cidadeD = cidade::find_by_id($dadosOrc->cidade_destino);
         $estadoD = estado::find_by_id($dadosOrc->uf_destino);
         $p = array();
         $p['id'] = $dadosOrc->id;
         $p['pedido'] = $dadosOrc->pedido;
         $p['cadastro'] = date('d/m/Y - H:i', strtotime($dadosOrc->data_registro));
         $p['mudanca'] = date('d/m/Y', strtotime($dadosOrc->data_mudanca));
         $p['origem'] = $cidadeO->cidade . '/' . $estadoO->uf;
         $p['destino'] = $cidadeD->cidade . '/' . $estadoD->uf;
         $p['nome'] = $dadosOrc->solicitante;
Esempio n. 5
0
     $slug = strtolower($slug);
     $slug .= '-' . $id_pre;
     $dados['slug'] = $slug;
     $parceiro->update_attributes($dados);
 } else {
     $ultimo = parceiro::last();
     $proximo = $ultimo->id + 1;
     $slug = slug($_POST['nome']);
     $slug = strtolower($slug);
     $slug .= '-' . $proximo;
     $dados['slug'] = $slug;
     $parceiro = parceiro::create($dados);
     $parceiro->save();
 }
 // pega todos os orçamentos com as datas de mudança maiores que hoje
 $orcs_todos = orcamento::find('all', array('conditions' => array('data_mudanca > ?', $hoje)));
 // finaliza cadastrando os locais, caso não atenda todo o brasil
 if ($dados['atuacao_brasil'] == 0) {
     /* Estrutura geral dos dados de locais recebidos
     		   o indice 0 de cada nível mais baixo representa 
     		   o ID do local, enquanto o índice 1 representa o select
     		   [[[2,  2],[14, 1],[3, 1]], // estados
     			[[138,2],[143,2],[11,1]], // regioes
     			[[78, 1],[82, 1],[93,1]]] // cidades
     		     
     		 */
     /*
     // recupera os dados recebidos
     $arrEst = $_POST['locais'][0];
     $arrReg = $_POST['locais'][1];
     $arrCdd = $_POST['locais'][2]; 
Esempio n. 6
0
        $coresUFs['AL'] = '#2E5AB0';
        $coresUFs['SE'] = '#2CA37C';
        $coresUFs['BA'] = '#FE7C00';
        $coresUFs['MG'] = '#1C745B';
        $coresUFs['ES'] = '#586877';
        $coresUFs['RJ'] = '#A9BA48';
        $coresUFs['SP'] = '#4FA8A6';
        $coresUFs['PR'] = '#E9E6B5';
        $coresUFs['SC'] = '#FF7A57';
        $coresUFs['RS'] = '#ffcc00';
        $coresUFs['MS'] = '#A2A397';
        $coresUFs['MT'] = '#40878F';
        $coresUFs['GO'] = '#465E6E';
        $coresUFs['DF'] = '#628282';
        $UFS = estado::find('all');
        foreach ($UFS as $uf) {
            $pa = parceiro::all(array('conditions' => array('estado_id = ? AND ativo = ? AND acessos > ?', $uf->id, 1, 0)));
            $pd = orcamento::find_all_by_uf_origem($uf->id);
            if (count($pa) > 0) {
                array_push($parceirosUFs, array('uf' => $uf->uf, 'estado' => $uf->estado, 'cor' => $coresUFs[$uf->uf], 'valor' => count($pa)));
            }
            if (count($pd) > 0) {
                array_push($pedidosUFs, array('uf' => $uf->uf, 'estado' => $uf->estado, 'cor' => $coresUFs[$uf->uf], 'valor' => count($pd)));
            }
        }
        // renderiza saída
        $app->render('admin/dashboard.html', ['area' => $area, 'menosTmp' => $menosTmp, 'maisTmp' => $maisTmp, 'parcMenosTmp' => $parcMenosTmp, 'parcMaisTmp' => $parcMaisTmp, 'ultimosParceiros' => $ultimosParceiros, 'ultimoPcDataHr' => $ultimoPcDataHr, 'pedidosMenosTmp' => $pedidosMenosTmp, 'pedidosMaisTmp' => $pedidosMaisTmp, 'ultimosPedidos' => $ultimosPedidos, 'ultimoPdDataHr' => $ultimoPdDataHr, 'parceirosUFs' => $parceirosUFs, 'pedidosUFs' => $pedidosUFs, 'coresUFs' => $coresUFs]);
    } else {
        $app->redirect($app->urlFor('admin'));
    }
})->setName('admin-dashboard');
Esempio n. 7
0
 }
 if ($ufO != 0) {
     // possui uf de origem?
     $QUERY .= ' AND uf_origem = ?';
     array_push($pesquisa, $ufO);
 }
 if ($ufD != 0) {
     // possui uf de destino
     $QUERY .= ' AND uf_destino= ?';
     array_push($pesquisa, $ufD);
 }
 // insere a query no início do array
 array_unshift($pesquisa, $QUERY);
 $options['conditions'] = $pesquisa;
 $options['order'] = 'data_mudanca asc';
 $listaPedidos = orcamento::find('all', $options);
 // configura a saída da lista
 if (count($listaPedidos) > 0) {
     foreach ($listaPedidos as $p) {
         $pedido = array();
         $cidadeO = cidade::find_by_id($p->cidade_origem);
         $cidadeD = cidade::find_by_id($p->cidade_destino);
         $estadoO = estado::find_by_id($p->uf_origem);
         $estadoD = estado::find_by_id($p->uf_destino);
         $pedido['id'] = $p->id;
         $pedido['pedido'] = $p->pedido;
         $pedido['data'] = $p->data_registro;
         $pedido['origem'] = $cidadeO->cidade . '/' . $estadoO->uf;
         $pedido['destino'] = $cidadeD->cidade . '/' . $estadoD->uf;
         $pedido['data_muda'] = $p->data_mudanca;
         $pedidosParceiro = orcaenviado::find_by_parceiros_id_and_orcamentos_id($_POST['id'], $p->id);
Esempio n. 8
0
<?php

$app->get('/pedido-finalizado/:pedido', function ($pedido) use($app) {
    $p = orcamento::find_by_pedido($pedido);
    if (!$p) {
        $app->redirect($app->urlFor('orcamento'));
    } else {
        $app->render('pedido-finalizado.html', ['pedido' => $pedido]);
    }
})->setName('pedido-finalizado');
Esempio n. 9
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);
Esempio n. 10
0
 } else {
     $cfg->set_connections(array('development' => 'mysql://*****:*****@localhost/mudam510_base;charset=utf8'));
 }
 ActiveRecord\Connection::$datetime_format = 'Y-m-d H:i:s';
 // ********************
 // pega o template
 $templtMail = '/home/' . $local . '/app/templatesmail/mail_feedback.html';
 // template de envio
 // pesquisa
 $hoje = new ActiveRecord\DateTime(date('Y-m-d'));
 $saida = array();
 $erros = array();
 $ids = array();
 $listaOrcs = array();
 $diasfb = '+3';
 $orcs = orcamento::find('all');
 if (count($orcs) > 0) {
     foreach ($orcs as $o) {
         $dmuda = $o->data_mudanca;
         $datafb = date('Y-m-d', strtotime($diasfb . ' days', strtotime($dmuda)));
         if (strtotime($hoje) == strtotime($datafb)) {
             if (!in_array($o->id, $ids)) {
                 $dadosM = array();
                 $dadosM['nome'] = $o->solicitante;
                 $dadosM['email'] = $o->email;
                 $dadosM['datam'] = date('d/m/Y', strtotime($dmuda));
                 array_push($ids, $o->id);
                 array_push($listaOrcs, $dadosM);
             }
         }
     }