public function executa() { if (isset($_POST["cadastrar"]) && isset($_POST["idpessoaread"]) && isset($_POST["valor"])) { if ($_POST["cadastrar"] == 1) { $dao = new PessoaDAO(); //Implementar Função que comissiona venda if ($dao->comissionarVenda($_POST["idpessoaread"], $_POST["valor"], $_POST['nota'])) { echo '<script>alert("Usuário foi comissionado")</script>'; } else { echo '<script>alert("Não foi possível comissionar este usuário.")</script>'; } } } $dao = new PessoaDAO(); $resultado = array(); if (isset($_POST['login'][0])) { $resultado = $dao->getPessoasLogin("%" . $_POST['login'] . "%"); } else { if (isset($_POST['nome'][0])) { $resultado = $dao->getPessoasNome($_POST['nome'] . "%"); } } $pessoas = array(); foreach ($resultado as $r) { $classificacao = new Classificacao(); $classificacao->set_id($r['id']); $classificacao->set_nome($r['nome']); $classificacao->set_login($r['login']); $classificacao->set_idplano($r['idplano']); $classificacao->set_plano($r['plano']); $pessoas[] = $classificacao; } $this->setJsInterno(array('assets/js/custom/novacomissao.js')); $this->setDados('titulo', 'Nova Comissão'); $this->setDados('pessoas', $pessoas); $this->setPagina('views/nova-comissao.php'); $this->getCompleto(); }
public function getComissionados($inicio, $fim, $tipo, $page = array('limit' => 1, 'offset' => 1)) { switch ($tipo) { case "indicacao": $sql = "SELECT\n pessoa.idpessoa as id,\n pessoa.nome as nome,\n pessoa.login as login,\n SUM(comissao.valor) as vendas,\n plano.nome as plano,\n comissao.data_cadastro as data_cadastro,\n '-' as numero_nota\n FROM bo_comissao_i as comissao\n INNER JOIN bo_pessoa as pessoa ON pessoa.idpessoa = comissao.idpessoa_recebe\n INNER JOIN bo_comissao_indicacao as detalhes ON comissao.idcomissao_indicacao = detalhes.idcomissao_indicacao\n INNER JOIN bo_plano as plano ON plano.idplano = (\n select\n pl.idplano\n from bo_contrato as c\n inner join bo_plano as pl on (pl.idplano = c.idplano)\n where c.idpessoa = pessoa.idpessoa\n order by c.idcontrato desc\n limit 1\n )\n WHERE comissao.data_cadastro BETWEEN '{$inicio}' AND '{$fim}'\n GROUP BY comissao.idpessoa_recebe\n LIMIT " . $page['limit'] . "\n OFFSET " . $page['offset']; break; case "vendas": $sql = "SELECT\n pessoa.idpessoa as id,\n pessoa.nome as nome,\n pessoa.login as login,\n SUM(comissao.valor) as vendas,\n plano.nome as plano,\n comissao.data_cadastro as data_cadastro,\n comissao.numero_nota\n FROM bo_comissao_v as comissao\n INNER JOIN bo_pessoa as pessoa ON pessoa.idpessoa = comissao.idpessoa\n INNER JOIN bo_comissao_venda as detalhes ON comissao.idcomissao_venda = detalhes.idcomissao_venda\n INNER JOIN bo_plano as plano ON plano.idplano = (\n select\n pl.idplano\n from bo_contrato as c\n inner join bo_plano as pl on (pl.idplano = c.idplano)\n where c.idpessoa = pessoa.idpessoa\n order by c.idcontrato desc\n limit 1\n )\n WHERE comissao.data_cadastro BETWEEN '{$inicio}' AND '{$fim}'\n GROUP BY comissao.idpessoa\n LIMIT " . $page['limit'] . "\n OFFSET " . $page['offset']; break; default: $sql = "SELECT\n pessoa.idpessoa as id,\n pessoa.nome as nome,\n pessoa.login as login,\n SUM(comissao.valor) as vendas,\n plano.nome as plano,\n comissao.numero_nota\n FROM(\n SELECT\n cv.data_cadastro as data_cadastro,\n cv.idpessoa as idpessoa,\n cv.numero_nota as numero_nota,\n valor\n FROM bo_comissao_v as cv\n INNER JOIN bo_comissao_venda as detalhes ON cv.idcomissao_venda = detalhes.idcomissao_venda\n UNION ALL\n SELECT\n ci.data_cadastro as data_data_cadastro,\n idpessoa_recebe as idpessoa,\n '-' as numero_nota,\n valor\n FROM bo_comissao_i as ci\n INNER JOIN bo_comissao_indicacao as detalhes ON ci.idcomissao_indicacao = detalhes.idcomissao_indicacao\n ) AS comissao\n INNER JOIN bo_pessoa as pessoa ON pessoa.idpessoa = comissao.idpessoa\n INNER JOIN bo_plano as plano ON plano.idplano = (\n select\n pl.idplano\n from bo_contrato as c\n inner join bo_plano as pl on (pl.idplano = c.idplano)\n where c.idpessoa = pessoa.idpessoa\n order by c.idcontrato desc\n limit 1\n )\n WHERE comissao.data_cadastro BETWEEN '{$inicio}' AND '{$fim}'\n GROUP BY comissao.idpessoa\n LIMIT " . $page['limit'] . "\n OFFSET " . $page['offset']; break; } $dadosWhere = array(); $resultado = Transacao::especifico($sql, $dadosWhere); $ranking = array(); foreach ($resultado as $r) { $classificacao = new Classificacao(); $classificacao->set_nome($r['nome']); $classificacao->set_login($r['login']); $classificacao->set_vendas($r['vendas']); $classificacao->set_plano($r['plano']); $classificacao->set_nota($r['numero_nota']); $ranking[] = $classificacao; } return $ranking; }
/** * Remove o registro passando o id */ function remove() { if (parent::remove($_GET['id'])) { echo "<h1>Registro removido da tabela {$this->table}</h1>"; } else { echo "<h1>Erro ao remover registro</h1>"; } echo "<a href=\"?controller={$this->folderName}\">Retornar para listagem</a>"; }
public function getRankingVendas($inicio, $fim, $tipo, $limit = 10) { switch ($tipo) { case "indicacao": $sql = "SELECT\n pessoa.idpessoa as id,\n pessoa.nome as nome,\n pessoa.login as login,\n SUM(valor) as vendas\n FROM bo_comissao_i as comissao\n INNER JOIN bo_pessoa as pessoa ON pessoa.idpessoa = comissao.idpessoa_recebe\n WHERE comissao.data_cadastro BETWEEN '{$inicio}' AND '{$fim}' AND indicacao_direta = 1\n GROUP BY comissao.idpessoa_recebe\n ORDER BY vendas DESC\n LIMIT " . $limit; break; case "vendas": $sql = "SELECT\n pessoa.idpessoa as id,\n pessoa.nome as nome,\n pessoa.login as login,\n SUM(valor) as vendas\n FROM bo_comissao_v as comissao\n INNER JOIN bo_pessoa as pessoa ON pessoa.idpessoa = comissao.idpessoa\n WHERE comissao.data_cadastro BETWEEN '{$inicio}' AND '{$fim}' AND venda_direta = 1\n GROUP BY comissao.idpessoa\n ORDER BY vendas DESC\n LIMIT " . $limit; break; default: $sql = "SELECT\n pessoa.idpessoa as id,\n pessoa.nome as nome,\n pessoa.login as login,\n SUM(valor) as vendas\n FROM(\n SELECT cv.data_cadastro as data_cadastro, cv.idpessoa as idpessoa, valor, venda_direta as direta FROM bo_comissao_v as cv\n UNION ALL\n SELECT ci.data_cadastro as data_cadastro, idpessoa_recebe as idpessoa, valor, 1 as direta FROM bo_comissao_i as ci\n ) AS comissao\n INNER JOIN bo_pessoa as pessoa ON pessoa.idpessoa = comissao.idpessoa\n WHERE comissao.data_cadastro BETWEEN '{$inicio}' AND '{$fim}'\n AND direta = 1\n GROUP BY comissao.idpessoa\n ORDER BY vendas DESC\n LIMIT " . $limit; break; } $dadosWhere = array(); $resultado = Transacao::especifico($sql, $dadosWhere); $ranking = array(); foreach ($resultado as $r) { $classificacao = new Classificacao(); $classificacao->set_nome($r['nome']); $classificacao->set_login($r['login']); $classificacao->set_vendas($r['vendas']); $ranking[] = $classificacao; } return $ranking; }