Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- set_time_limit(0);
- date_default_timezone_set('America/Sao_Paulo');
- require_once ("../dao/PgmtoComissaoHabilitacaoDAO.php");
- require_once ("../dao/PgmtoComissaoDAO.php");
- require_once ("../dao/PedidosDAO.php");
- require_once ("../dao/ClienteDAO.php");
- require_once ("../pagamento/CredencialPorcentagem.php");
- require_once ('../pagamento/CredencialPontos.php');
- require_once ("../model/PgmtoComissao.php");
- require_once ("../model/Cliente.php");
- $pgmtoComissaoHabilitacaoDAO = new PgmtoComissaoHabilitacaoDAO();
- $credencialPorcentagem = new CredencialPorcentagem();
- $pgmtoComissao = new PgmtoComissao();
- $clienteDAO = new ClienteDAO();
- $pgmtoComissaoDAO = new PgmtoComissaoDAO();
- $credencialPontos = new CredencialPontos();
- $pedidosDAO = new PedidosDAO();
- $clienteRecebe = new Cliente();
- //MONTANDO DATAS
- $anoMesAtual = date("Y-m");
- $vetorAnoMes = explode('-', $anoMesAtual);
- if ($vetorAnoMes[1]==12){
- $mesAntes = "01";
- $anoAntes = $vetorAnoMes[0]-1;
- }else{
- $mesAntes = $vetorAnoMes[1] - 1;
- $anoAntes = $vetorAnoMes[0];
- if ($mesAntes < 10){
- $mesAntes = '0'.$mesAntes;
- }
- }
- // DATA DE: >= ANO-MES-01 ATÉ < ANO-MESSEGUINTE-01
- $dataIni = $anoAntes.'-'.$mesAntes.'-01';
- $dataFim = $vetorAnoMes[0].'-'.$vetorAnoMes[1].'-01';
- echo "Gerar Comissoes Habilitacao - DATA: $dataIni ate antes de $dataFim <br> <br>";
- $pontuacoes = $pgmtoComissaoHabilitacaoDAO->buscarPontosPorDataSemEmpresa($dataIni, $dataFim);
- while ($clientePontuou = mysql_fetch_row($pontuacoes)){
- $fileiraNivelRede = 0;
- $clienteDownCodigo = $clientePontuou[0];
- $clienteDownPontosMes = $clientePontuou[1];
- $clienteDownPassaporte = $clientePontuou[2];
- $clienteDownAncestor = $clientePontuou[3];
- $clienteDownPromoter = $clientePontuou[4];
- //Buscando dados de promoter para poder verificar o passaporte
- $clienteRecebe->setCodigo($clienteDownPromoter);
- $clienteRecebe = $clienteDAO->buscarPorCodigo($clienteRecebe);
- echo "<br>VERIFICANDO ID: $clienteDownCodigo <br>";
- $clienteDownPontosMesTotal = $pedidosDAO->buscarQtdPontosPedidoPorData($dataIni,$dataFim,$clienteDownCodigo);
- if ($clienteDownPontosMesTotal<55){
- //CASO POPS DO MES MENOR QUE 55 = SEM CREDENCIAL TUDO PRA EMPRESA!
- $pgmtoComissao->setCodigoCliente(1);
- $pgmtoComissao->setCodigoDownline($clienteDownCodigo);
- $pgmtoComissao->setCodigoTpComissao(2);
- $pgmtoComissao->setCodigoPedido($clientePontuou[5]);
- $pgmtoComissao->setCodigoPedidoItem(0);
- $pgmtoComissao->setDataCreated("'$clientePontuou[6]'");
- $pgmtoComissao->setDataReferencia($dataIni);
- $pgmtoComissao->setValor($clienteDownPontosMes);
- $pgmtoComissao->setStatus("DISPONIVEL");
- $pgmtoComissao->setKitCliente(1);
- $pgmtoComissao->setKitDownline($clienteDownPassaporte);
- $pgmtoComissaoDAO->inserir($pgmtoComissao);
- echo "PAGOU - EMPRESA DIRETA - $clienteDownPromoter - PONTOS: $clienteDownPontosMes para ID: 1 <br>";
- }else{
- //CASO POPS DO MES >= 55 = COM CREDENCIAL
- $uplinesPagamentos = array();
- $uplinesPag = 0;
- //EFETUAR PAGAMENTOS PARA PROMOTER
- //VERIFICA PROMOTER ATIVO
- $pontosTotalMesPromoter = $pedidosDAO->buscarQtdPontosPedidoPorData($dataIni,$dataFim,$clienteDownPromoter);
- //CASO INATIVO ou PROMOTER SEM PASSAPORTE - não ganha comissão
- if ($pontosTotalMesPromoter<55 || $clienteRecebe->getKit()==0){
- echo "PAGOU - PROMOTER INATIVO ou SEM PASSAPORTE - $clienteDownPromoter - PONTOS: $clienteDownPontosMes <br>";
- $pgmtoComissao->setStatus("INDISPONIVEL");
- }else{
- echo "PAGOU - PROMOTER ATIVO - $clienteDownPromoter - PONTOS: $clienteDownPontosMes - 54,54% ".($clienteDownPontosMes*54.54/100)." ";
- $pgmtoComissao->setStatus("DISPONIVEL");
- }
- $pgmtoComissao->setCodigoCliente($clienteDownPromoter);
- $pgmtoComissao->setCodigoDownline($clienteDownCodigo);
- $pgmtoComissao->setCodigoTpComissao(2);
- $pgmtoComissao->setCodigoPedido($clientePontuou[5]);
- $pgmtoComissao->setCodigoPedidoItem(0);
- $pgmtoComissao->setDataCreated("'$clientePontuou[6]'");
- $pgmtoComissao->setDataReferencia($dataIni);
- $pgmtoComissao->setValor($clienteDownPontosMes*54.54/100);
- $pgmtoComissao->setKitCliente(0);
- $pgmtoComissao->setKitDownline($clienteDownPassaporte);
- $pgmtoComissaoDAO->inserir($pgmtoComissao);
- ////////////////FIM PAGAMENTO COMISSAO PROMOTER
- //PROMOTER JA RECEBEU COMISSAO
- $uplinesPagamentos[$uplinesPag] = $clienteDownPromoter;
- $uplinesPag++;
- //Verifica credencial e matriz do downline que está a pagar comissao
- $arrayDown = $credencialPontos->RetornaMatrizCredencial($clienteDownPontosMesTotal);
- $credencialDown = $arrayDown[0];
- $matrizDown = $arrayDown[1];
- $numCredencialDown = $arrayDown[2];
- $fileiraNivelRede++;
- echo "ID possui: credencialDown: $credencialDown / matrizDown: $matrizDown / numCredencialDown: $numCredencialDown / fileiraNivelRede: $fileiraNivelRede<br><br>";
- $clienteDownAncestorInicial = $clienteDownAncestor;
- while (sizeof($uplinesPagamentos)<$matrizDown){
- $clienteDownAncestor = $clienteDownAncestorInicial;
- while (true){
- $credencialMinima = 1;
- //verifica credencial do ancestor
- $pontosTotalMesAncestor = $pedidosDAO->buscarQtdPontosPedidoPorData($dataIni,$dataFim,$clienteDownAncestor);
- //echo "credencial minima: $credencialMinima - verificando Ancestor: $clienteDownAncestor<br>";
- $arrayAncestor = $credencialPontos->RetornaMatrizCredencial($pontosTotalMesAncestor);
- $credencialAncestor = $arrayAncestor[0];
- $matrizAncestor = $arrayAncestor[1];
- $numCredencialAncestor = $arrayAncestor[2];
- //echo "credencial: $credencialAncestor / matrizA: $matrizAncestor / numCredencialA: $numCredencialAncestor / fileiraNivelRede: $fileiraNivelRede<br>";
- //Buscando dados do ancestor para poder verificar o passaporte
- $clienteRecebe->setCodigo($clienteDownAncestor);
- $clienteRecebe = $clienteDAO->buscarPorCodigo($clienteRecebe);
- //Apenas paga se for kit > 0 e a credencial estiver OK e não estiver na lista de uplines q receberam
- if ($numCredencialAncestor>=$credencialMinima && $clienteRecebe->getKit()>0
- && (!in_array($clienteDownAncestor, $uplinesPagamentos)||$clienteDownAncestor==1)){
- $pgmtoComissao->setCodigoCliente($clienteDownAncestor);
- $pgmtoComissao->setCodigoDownline($clienteDownCodigo);
- $pgmtoComissao->setCodigoTpComissao(2);
- $pgmtoComissao->setCodigoPedido($clientePontuou[5]);
- $pgmtoComissao->setCodigoPedidoItem(0);
- $pgmtoComissao->setDataCreated("'$clientePontuou[6]'");
- $pgmtoComissao->setDataReferencia($dataIni);
- $popsSobem = $credencialPorcentagem->RetornaPopsSobem(($fileiraNivelRede+1), $numCredencialDown, "NAO", $clienteDownPontosMes);
- $pgmtoComissao->setValor($popsSobem[0]);
- $pgmtoComissao->setStatus("DISPONIVEL");
- $pgmtoComissao->setKitCliente(0);
- $pgmtoComissao->setKitDownline($clienteDownPassaporte);
- //ANCESTOR JA RECEBEU COMISSAO
- $uplinesPagamentos[$uplinesPag] = $clienteDownAncestor;
- $uplinesPag++;
- echo "PAGOU - fila: $fileiraNivelRede - popsSobem: $popsSobem[0] pops $popsSobem[1] - ID $clienteDownAncestor<br>";
- $pgmtoComissaoDAO->inserir($pgmtoComissao);
- $fileiraNivelRede++;
- break;
- }
- $clienteDownAncestor = $clienteDAO->buscarAncestorPorDownline($clienteDownAncestor);
- if ($clienteDownAncestor==0)
- $clienteDownAncestor = 1;
- }
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement