<?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; }
} 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;
$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];
$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');
} 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);
<?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');
$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);
} 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); } } }