Advertisement
Guest User

Untitled

a guest
Oct 6th, 2015
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.     set_time_limit(0);
  3.     date_default_timezone_set('America/Sao_Paulo');
  4.    
  5.     require_once ("../dao/PgmtoComissaoHabilitacaoDAO.php");
  6.     require_once ("../dao/PgmtoComissaoDAO.php");
  7.     require_once ("../dao/PedidosDAO.php");
  8.     require_once ("../dao/ClienteDAO.php");
  9.     require_once ("../pagamento/CredencialPorcentagem.php");
  10.     require_once ('../pagamento/CredencialPontos.php');
  11.     require_once ("../model/PgmtoComissao.php");
  12.     require_once ("../model/Cliente.php");
  13.  
  14.     $pgmtoComissaoHabilitacaoDAO = new PgmtoComissaoHabilitacaoDAO();
  15.     $credencialPorcentagem = new CredencialPorcentagem();
  16.     $pgmtoComissao = new PgmtoComissao();
  17.     $clienteDAO = new ClienteDAO();
  18.     $pgmtoComissaoDAO = new PgmtoComissaoDAO();
  19.     $credencialPontos = new CredencialPontos();
  20.     $pedidosDAO = new PedidosDAO();
  21.     $clienteRecebe = new Cliente();
  22.  
  23.     //MONTANDO DATAS
  24.     $anoMesAtual = date("Y-m");
  25.     $vetorAnoMes = explode('-', $anoMesAtual);
  26.  
  27.     if ($vetorAnoMes[1]==12){
  28.         $mesAntes = "01";
  29.         $anoAntes = $vetorAnoMes[0]-1;
  30.     }else{
  31.         $mesAntes = $vetorAnoMes[1] - 1;
  32.         $anoAntes = $vetorAnoMes[0];
  33.         if ($mesAntes < 10){
  34.             $mesAntes = '0'.$mesAntes;
  35.         }
  36.     }
  37.    
  38.     // DATA DE: >= ANO-MES-01 ATÉ < ANO-MESSEGUINTE-01
  39.     $dataIni = $anoAntes.'-'.$mesAntes.'-01';
  40.     $dataFim = $vetorAnoMes[0].'-'.$vetorAnoMes[1].'-01';
  41.  
  42.     echo "Gerar Comissoes Habilitacao - DATA: $dataIni ate antes de $dataFim <br> <br>";
  43.  
  44.     $pontuacoes = $pgmtoComissaoHabilitacaoDAO->buscarPontosPorDataSemEmpresa($dataIni, $dataFim);
  45.  
  46.     while ($clientePontuou = mysql_fetch_row($pontuacoes)){
  47.         $fileiraNivelRede = 0;
  48.        
  49.         $clienteDownCodigo = $clientePontuou[0];
  50.         $clienteDownPontosMes = $clientePontuou[1];
  51.         $clienteDownPassaporte = $clientePontuou[2];
  52.         $clienteDownAncestor = $clientePontuou[3];
  53.         $clienteDownPromoter = $clientePontuou[4];
  54.         //Buscando dados de promoter para poder verificar o passaporte
  55.         $clienteRecebe->setCodigo($clienteDownPromoter);
  56.         $clienteRecebe = $clienteDAO->buscarPorCodigo($clienteRecebe);
  57.  
  58. echo "<br>VERIFICANDO ID: $clienteDownCodigo <br>";
  59.  
  60.         $clienteDownPontosMesTotal = $pedidosDAO->buscarQtdPontosPedidoPorData($dataIni,$dataFim,$clienteDownCodigo);
  61.         if ($clienteDownPontosMesTotal<55){
  62.             //CASO POPS DO MES MENOR QUE 55 = SEM CREDENCIAL TUDO PRA EMPRESA!
  63.             $pgmtoComissao->setCodigoCliente(1);
  64.             $pgmtoComissao->setCodigoDownline($clienteDownCodigo);
  65.             $pgmtoComissao->setCodigoTpComissao(2);
  66.             $pgmtoComissao->setCodigoPedido($clientePontuou[5]);
  67.             $pgmtoComissao->setCodigoPedidoItem(0);
  68.             $pgmtoComissao->setDataCreated("'$clientePontuou[6]'");
  69.             $pgmtoComissao->setDataReferencia($dataIni);
  70.             $pgmtoComissao->setValor($clienteDownPontosMes);
  71.             $pgmtoComissao->setStatus("DISPONIVEL");
  72.             $pgmtoComissao->setKitCliente(1);
  73.             $pgmtoComissao->setKitDownline($clienteDownPassaporte);
  74.             $pgmtoComissaoDAO->inserir($pgmtoComissao);
  75. echo "PAGOU - EMPRESA DIRETA - $clienteDownPromoter - PONTOS: $clienteDownPontosMes para ID: 1 <br>";
  76.         }else{
  77.         //CASO POPS DO MES >= 55 = COM CREDENCIAL
  78.             $uplinesPagamentos = array();
  79.             $uplinesPag = 0;
  80.             //EFETUAR PAGAMENTOS PARA PROMOTER
  81.             //VERIFICA PROMOTER ATIVO
  82.             $pontosTotalMesPromoter = $pedidosDAO->buscarQtdPontosPedidoPorData($dataIni,$dataFim,$clienteDownPromoter);
  83.             //CASO INATIVO ou PROMOTER SEM PASSAPORTE - não ganha comissão
  84.             if ($pontosTotalMesPromoter<55 || $clienteRecebe->getKit()==0){
  85. echo "PAGOU - PROMOTER INATIVO ou SEM PASSAPORTE - $clienteDownPromoter - PONTOS: $clienteDownPontosMes <br>";
  86.                 $pgmtoComissao->setStatus("INDISPONIVEL");
  87.             }else{
  88. echo "PAGOU - PROMOTER ATIVO - $clienteDownPromoter - PONTOS: $clienteDownPontosMes - 54,54% ".($clienteDownPontosMes*54.54/100)." ";
  89.                 $pgmtoComissao->setStatus("DISPONIVEL");
  90.             }
  91.             $pgmtoComissao->setCodigoCliente($clienteDownPromoter);
  92.             $pgmtoComissao->setCodigoDownline($clienteDownCodigo);
  93.             $pgmtoComissao->setCodigoTpComissao(2);
  94.             $pgmtoComissao->setCodigoPedido($clientePontuou[5]);
  95.             $pgmtoComissao->setCodigoPedidoItem(0);
  96.             $pgmtoComissao->setDataCreated("'$clientePontuou[6]'");
  97.             $pgmtoComissao->setDataReferencia($dataIni);
  98.             $pgmtoComissao->setValor($clienteDownPontosMes*54.54/100);
  99.             $pgmtoComissao->setKitCliente(0);
  100.             $pgmtoComissao->setKitDownline($clienteDownPassaporte);
  101.             $pgmtoComissaoDAO->inserir($pgmtoComissao);
  102. ////////////////FIM PAGAMENTO COMISSAO PROMOTER
  103.  
  104.             //PROMOTER JA RECEBEU COMISSAO
  105.             $uplinesPagamentos[$uplinesPag] = $clienteDownPromoter;
  106.             $uplinesPag++;
  107.  
  108.             //Verifica credencial e matriz do downline que está a pagar comissao
  109.             $arrayDown = $credencialPontos->RetornaMatrizCredencial($clienteDownPontosMesTotal);
  110.             $credencialDown = $arrayDown[0];
  111.             $matrizDown = $arrayDown[1];
  112.             $numCredencialDown = $arrayDown[2];
  113.             $fileiraNivelRede++;
  114. echo "ID possui: credencialDown: $credencialDown / matrizDown: $matrizDown / numCredencialDown: $numCredencialDown / fileiraNivelRede: $fileiraNivelRede<br><br>";
  115.  
  116.             $clienteDownAncestorInicial = $clienteDownAncestor;
  117.             while (sizeof($uplinesPagamentos)<$matrizDown){
  118.                 $clienteDownAncestor = $clienteDownAncestorInicial;
  119.                 while (true){
  120.                     $credencialMinima = 1;
  121.  
  122.                     //verifica credencial do ancestor
  123.                     $pontosTotalMesAncestor = $pedidosDAO->buscarQtdPontosPedidoPorData($dataIni,$dataFim,$clienteDownAncestor);
  124.     //echo "credencial minima: $credencialMinima - verificando Ancestor: $clienteDownAncestor<br>";
  125.                     $arrayAncestor = $credencialPontos->RetornaMatrizCredencial($pontosTotalMesAncestor);
  126.                     $credencialAncestor = $arrayAncestor[0];
  127.                     $matrizAncestor = $arrayAncestor[1];
  128.                     $numCredencialAncestor = $arrayAncestor[2];
  129.     //echo "credencial: $credencialAncestor / matrizA: $matrizAncestor / numCredencialA: $numCredencialAncestor / fileiraNivelRede: $fileiraNivelRede<br>";
  130.                    
  131.                     //Buscando dados do ancestor para poder verificar o passaporte
  132.                     $clienteRecebe->setCodigo($clienteDownAncestor);
  133.                     $clienteRecebe = $clienteDAO->buscarPorCodigo($clienteRecebe);
  134.                    
  135.                     //Apenas paga se for kit > 0 e a credencial estiver OK e não estiver na lista de uplines q receberam
  136.                     if ($numCredencialAncestor>=$credencialMinima && $clienteRecebe->getKit()>0
  137.                                    && (!in_array($clienteDownAncestor, $uplinesPagamentos)||$clienteDownAncestor==1)){
  138.                         $pgmtoComissao->setCodigoCliente($clienteDownAncestor);
  139.                         $pgmtoComissao->setCodigoDownline($clienteDownCodigo);
  140.                         $pgmtoComissao->setCodigoTpComissao(2);
  141.                         $pgmtoComissao->setCodigoPedido($clientePontuou[5]);
  142.                         $pgmtoComissao->setCodigoPedidoItem(0);
  143.                         $pgmtoComissao->setDataCreated("'$clientePontuou[6]'");
  144.                         $pgmtoComissao->setDataReferencia($dataIni);
  145.                         $popsSobem = $credencialPorcentagem->RetornaPopsSobem(($fileiraNivelRede+1), $numCredencialDown, "NAO", $clienteDownPontosMes);
  146.                         $pgmtoComissao->setValor($popsSobem[0]);
  147.                         $pgmtoComissao->setStatus("DISPONIVEL");
  148.                         $pgmtoComissao->setKitCliente(0);
  149.                         $pgmtoComissao->setKitDownline($clienteDownPassaporte);
  150.                         //ANCESTOR JA RECEBEU COMISSAO
  151.                         $uplinesPagamentos[$uplinesPag] = $clienteDownAncestor;
  152.                         $uplinesPag++;
  153.     echo "PAGOU - fila: $fileiraNivelRede - popsSobem: $popsSobem[0] pops $popsSobem[1] - ID $clienteDownAncestor<br>";
  154.                         $pgmtoComissaoDAO->inserir($pgmtoComissao);
  155.                         $fileiraNivelRede++;
  156.                         break;
  157.                     }
  158.                     $clienteDownAncestor = $clienteDAO->buscarAncestorPorDownline($clienteDownAncestor);
  159.                     if ($clienteDownAncestor==0)
  160.                         $clienteDownAncestor = 1;
  161.                 }
  162.             }
  163.        }
  164.      
  165.     }
  166. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement