fatorVencimento() 공개 정적인 메소드

public static fatorVencimento ( $date, string $format = 'Y-m-d' ) : float
$date
$format string
리턴 float
예제 #1
0
 protected function gerarCodigoBarras()
 {
     if ($this->tipo == self::CEF_TIPO_POS11) {
         $this->codigoBarras = $this->getBanco();
         $this->codigoBarras .= $this->numeroMoeda;
         $this->codigoBarras .= Util::fatorVencimento($this->getDataVencimento());
         $this->codigoBarras .= Util::numberFormatValue($this->getValor(), 10, 0);
         $this->codigoBarras .= $this->gerarNossoNumero();
         $this->codigoBarras .= Util::numberFormatGeral($this->getAgencia(), 4, 0);
         $this->codigoBarras .= Util::numberFormatGeral($this->cedenteCodigo, 11, 0);
     } else {
         if ($this->tipo == self::CEF_TIPO_POS16) {
             $this->codigoBarras = $this->getBanco();
             $this->codigoBarras .= $this->numeroMoeda;
             $this->codigoBarras .= Util::fatorVencimento($this->getDataVencimento());
             $this->codigoBarras .= Util::numberFormatValue($this->getValor(), 10, 0);
             $this->codigoBarras .= substr($this->cedenteCodigo, -5);
             $this->codigoBarras .= $this->getAgencia();
             $this->codigoBarras .= 87;
             $this->codigoBarras .= $this->gerarNossoNumero();
         } else {
             throw new Exception("Tipo do bloqueto inválido");
         }
     }
     $r = Util::modulo11($this->codigoBarras, 9, 1);
     $dv = $r == 0 || $r == 1 || $r == 10 ? 1 : 11 - $r;
     $this->codigoBarras = substr($this->codigoBarras, 0, 4) . $dv . substr($this->codigoBarras, 4);
     $this->carteira = $this->carteiraDesc[$this->getCarteira()];
     return $this->codigoBarras;
 }
예제 #2
0
 protected function gerarCodigoBarras()
 {
     if ($this->getCarteira() == 'cnr') {
         $this->agenciaConta = sprintf('%s %s', $this->getAgencia(), $this->cedenteCodigo);
         $this->codigoBarras = $this->getBanco();
         $this->codigoBarras .= $this->numeroMoeda;
         $this->codigoBarras .= Util::fatorVencimento($this->getDataVencimento());
         $this->codigoBarras .= Util::numberFormatValue($this->getValor(), 10, 0);
         $this->codigoBarras .= Util::numberFormatGeral($this->cedenteCodigo, 7, 0);
         $this->codigoBarras .= $this->geraNossoNumero();
         $this->codigoBarras .= Util::dataJuliano($this->getDataVencimento());
         $this->codigoBarras .= 2;
     }
     if ($this->carteira == 'csb') {
         $this->agenciaConta = sprintf('%s-%s', $this->getAgencia(), $this->getAgencia() . $this->getConta());
         $this->codigoBarras = $this->getBanco();
         $this->codigoBarras .= $this->numeroMoeda;
         $this->codigoBarras .= Util::fatorVencimento($this->getDataVencimento());
         $this->codigoBarras .= Util::numberFormatValue($this->getValor(), 10, 0);
         $this->codigoBarras .= $this->geraNossoNumero();
         $this->codigoBarras .= Util::numberFormatGeral($this->getAgencia(), 4, 0) . Util::numberFormatGeral($this->getConta(), 7, 0);
         $this->codigoBarras .= '00';
         $this->codigoBarras .= '1';
     }
     $r = Util::modulo11($this->codigoBarras, 9, 1);
     $dv = $r == 0 || $r == 1 || $r == 10 ? 1 : 11 - $r;
     $this->codigoBarras = substr($this->codigoBarras, 0, 4) . $dv . substr($this->codigoBarras, 4);
     return $this->codigoBarras;
 }
예제 #3
0
 protected function gerarCodigoBarras()
 {
     $this->codigoBarras = $this->getBanco();
     $this->codigoBarras .= $this->numeroMoeda;
     $this->codigoBarras .= Util::fatorVencimento($this->getDataVencimento());
     $this->codigoBarras .= Util::numberFormatValue($this->getValor(), 10, 0);
     $this->codigoBarras .= Util::numberFormatGeral($this->getAgencia(), 4, 0);
     $this->codigoBarras .= Util::numberFormatGeral($this->getCarteira(), 2, 0);
     $this->codigoBarras .= $this->gerarNossoNumero();
     $this->codigoBarras .= Util::numberFormatGeral($this->getConta(), 7, 0);
     $this->codigoBarras .= '0';
     $r = Util::modulo11($this->codigoBarras, 9, 1);
     $dv = $r == 0 || $r == 1 || $r == 10 ? 1 : 11 - $r;
     $this->codigoBarras = substr($this->codigoBarras, 0, 4) . $dv . substr($this->codigoBarras, 4);
     return $this->codigoBarras;
 }
예제 #4
0
 protected function gerarCodigoBarras()
 {
     $nossoNumero = $this->gerarNossoNumero();
     $this->codigoBarras = $this->getBanco();
     $this->codigoBarras .= $this->numeroMoeda;
     $this->codigoBarras .= Util::fatorVencimento($this->getDataVencimento());
     $this->codigoBarras .= Util::numberFormatValue($this->getValor(), 10, 0);
     if ($this->convenioFormato == '8') {
         $this->codigoBarras .= '000000';
         $this->codigoBarras .= $this->convenio;
         $this->codigoBarras .= $nossoNumero;
         $this->codigoBarras .= $this->getCarteira();
     } else {
         if ($this->convenioFormato == "7") {
             $this->codigoBarras .= '000000';
             $this->codigoBarras .= $this->convenio;
             $this->codigoBarras .= $nossoNumero;
             $this->codigoBarras .= $this->getCarteira();
         } else {
             if ($this->convenioFormato == "6") {
                 $this->codigoBarras .= $this->convenio;
                 $this->codigoBarras .= $nossoNumero;
                 if ($this->nossoNumeroFormato == 1) {
                     $this->codigoBarras .= Util::numberFormatGeral($this->getAgencia(), 4, 0);
                     $this->codigoBarras .= Util::numberFormatGeral($this->getConta(), 8, 0);
                     $this->codigoBarras .= $this->getCarteira();
                 } else {
                     if ($this->nossoNumeroFormato == 2) {
                         $this->codigoBarras .= '21';
                     } else {
                         throw new \Exception('Campo nossoNumeroFormato inválido, deve possuir {1|2}');
                     }
                 }
             } else {
                 throw new \Exception('Formato de convenio inválido, deve possuir {6|7|8} digitos');
             }
         }
     }
     $dv_modulo = 11 - Util::modulo11($this->codigoBarras, 9, 1);
     $dv = $dv_modulo == 0 || $dv_modulo == 10 || $dv_modulo == 11 ? 1 : $dv_modulo;
     $this->codigoBarras = substr($this->codigoBarras, 0, 4) . $dv . substr($this->codigoBarras, 4);
     return $this->codigoBarras;
 }
예제 #5
0
 /**
  * Retorna o codigo de barras
  * @return string
  * @throws \Exception
  */
 public function getCodigoBarras()
 {
     if (!empty($this->campoCodigoBarras)) {
         return $this->campoCodigoBarras;
     }
     if (!$this->isValid()) {
         throw new \Exception('Campos requeridos pelo banco, aparentam estar ausentes');
     }
     $codigo = Util::numberFormatGeral($this->getCodigoBanco(), 3) . $this->getMoeda() . Util::fatorVencimento($this->getDataVencimento()) . Util::numberFormatValue($this->getValor(), 10, 0) . $this->getCampoLivre();
     $resto = Util::modulo11($codigo, 2, 9, false);
     $dv = in_array($resto, [0, 10, 11]) ? 1 : $resto;
     return $this->campoCodigoBarras = substr($codigo, 0, 4) . $dv . substr($codigo, 4);
 }