diff --git a/src/br/inf/portalfiscal/bpe/EvNaoEmbBPe.java b/src/br/inf/portalfiscal/bpe/EvNaoEmbBPe.java index 73549c47e..1b1a8a062 100644 --- a/src/br/inf/portalfiscal/bpe/EvNaoEmbBPe.java +++ b/src/br/inf/portalfiscal/bpe/EvNaoEmbBPe.java @@ -1,134 +1,134 @@ -// -// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 -// Consulte http://java.sun.com/xml/jaxb -// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. -// Gerado em: 2017.08.29 às 06:11:44 PM BRT -// - - -package br.inf.portalfiscal.bpe; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Classe Java de anonymous complex type. - * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. - * - *

- * <complexType>
- *   <complexContent>
- *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       <sequence>
- *         <element name="descEvento">
- *           <simpleType>
- *             <restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *               <whiteSpace value="preserve"/>
- *               <enumeration value="Não Embarque"/>
- *             </restriction>
- *           </simpleType>
- *         </element>
- *         <element name="nProt" type="{http://www.portalfiscal.inf.br/bpe}TProt"/>
- *         <element name="xJust" type="{http://www.portalfiscal.inf.br/bpe}TJust"/>
- *       </sequence>
- *     </restriction>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "", propOrder = { - "descEvento", - "nProt", - "xJust" -}) -@XmlRootElement(name = "evNaoEmbBPe") -public class EvNaoEmbBPe { - - @XmlElement(required = true) - protected String descEvento; - @XmlElement(required = true) - protected String nProt; - @XmlElement(required = true) - protected String xJust; - - /** - * Obtém o valor da propriedade descEvento. - * - * @return - * possible object is - * {@link String } - * - */ - public String getDescEvento() { - return descEvento; - } - - /** - * Define o valor da propriedade descEvento. - * - * @param value - * allowed object is - * {@link String } - * - */ - public void setDescEvento(String value) { - this.descEvento = value; - } - - /** - * Obtém o valor da propriedade nProt. - * - * @return - * possible object is - * {@link String } - * - */ - public String getNProt() { - return nProt; - } - - /** - * Define o valor da propriedade nProt. - * - * @param value - * allowed object is - * {@link String } - * - */ - public void setNProt(String value) { - this.nProt = value; - } - - /** - * Obtém o valor da propriedade xJust. - * - * @return - * possible object is - * {@link String } - * - */ - public String getXJust() { - return xJust; - } - - /** - * Define o valor da propriedade xJust. - * - * @param value - * allowed object is - * {@link String } - * - */ - public void setXJust(String value) { - this.xJust = value; - } - -} +// +// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 +// Consulte http://java.sun.com/xml/jaxb +// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. +// Gerado em: 2017.08.29 às 06:11:44 PM BRT +// + + +package br.inf.portalfiscal.bpe; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Classe Java de anonymous complex type. + * + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="descEvento">
+ *           <simpleType>
+ *             <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *               <whiteSpace value="preserve"/>
+ *               <enumeration value="Não Embarque"/>
+ *             </restriction>
+ *           </simpleType>
+ *         </element>
+ *         <element name="nProt" type="{http://www.portalfiscal.inf.br/bpe}TProt"/>
+ *         <element name="xJust" type="{http://www.portalfiscal.inf.br/bpe}TJust"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "descEvento", + "nProt", + "xJust" +}) +@XmlRootElement(name = "evNaoEmbBPe") +public class EvNaoEmbBPe { + + @XmlElement(required = true) + protected String descEvento; + @XmlElement(required = true) + protected String nProt; + @XmlElement(required = true) + protected String xJust; + + /** + * Obtém o valor da propriedade descEvento. + * + * @return + * possible object is + * {@link String } + * + */ + public String getDescEvento() { + return descEvento; + } + + /** + * Define o valor da propriedade descEvento. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setDescEvento(String value) { + this.descEvento = value; + } + + /** + * Obtém o valor da propriedade nProt. + * + * @return + * possible object is + * {@link String } + * + */ + public String getNProt() { + return nProt; + } + + /** + * Define o valor da propriedade nProt. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setNProt(String value) { + this.nProt = value; + } + + /** + * Obtém o valor da propriedade xJust. + * + * @return + * possible object is + * {@link String } + * + */ + public String getXJust() { + return xJust; + } + + /** + * Define o valor da propriedade xJust. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setXJust(String value) { + this.xJust = value; + } + +} diff --git a/src/br/inf/portalfiscal/bpe/ObjectFactory.java b/src/br/inf/portalfiscal/bpe/ObjectFactory.java index 0f128f923..e730517db 100644 --- a/src/br/inf/portalfiscal/bpe/ObjectFactory.java +++ b/src/br/inf/portalfiscal/bpe/ObjectFactory.java @@ -1,8 +1,8 @@ // -// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 +// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 // Consulte http://java.sun.com/xml/jaxb -// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. -// Gerado em: 2017.08.14 às 03:08:29 PM BRT +// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. +// Gerado em: 2017.08.14 às 03:08:29 PM BRT // diff --git a/src/br/inf/portalfiscal/bpe/TBPe.java b/src/br/inf/portalfiscal/bpe/TBPe.java index 1b2e86502..bb4cde719 100644 --- a/src/br/inf/portalfiscal/bpe/TBPe.java +++ b/src/br/inf/portalfiscal/bpe/TBPe.java @@ -1,8 +1,8 @@ // -// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 +// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 // Consulte http://java.sun.com/xml/jaxb -// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. -// Gerado em: 2017.10.23 às 04:19:56 PM BRST +// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. +// Gerado em: 2017.10.23 às 04:19:56 PM BRST // @@ -24,11 +24,11 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; /** - * Tipo Bilhete de Passagem Eletrônico + * Tipo Bilhete de Passagem Eletrônico * *

Classe Java de TBPe complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TBPe">
@@ -219,7 +219,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  *                                 <simpleType>
  *                                   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
  *                                     <whiteSpace value="preserve"/>
- *                                     <pattern value="([!-ÿ]{0}|[!-ÿ]{5,20})?"/>
+ *                                     <pattern value="([!-�]{0}|[!-�]{5,20})?"/>
  *                                   </restriction>
  *                                 </simpleType>
  *                               </element>
@@ -748,7 +748,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  *                         <whiteSpace value="preserve"/>
  *                         <minLength value="50"/>
  *                         <maxLength value="1000"/>
- *                         <pattern value="((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?)"/>
+ *                         <pattern value="((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&tpAmb=[1-2](&sign=[!-�]{1}[ -�]{0,}[!-�]{1}|[!-�]{1})?)"/>
  *                       </restriction>
  *                     </simpleType>
  *                   </element>
@@ -792,7 +792,7 @@ public class TBPe {
 //    protected SignatureType signature;
 
     /**
-     * Obtém o valor da propriedade infBPe.
+     * Obtém o valor da propriedade infBPe.
      * 
      * @return
      *     possible object is
@@ -816,7 +816,7 @@ public class TBPe {
     }
 
     /**
-     * Obtém o valor da propriedade infBPeSupl.
+     * Obtém o valor da propriedade infBPeSupl.
      * 
      * @return
      *     possible object is
@@ -840,7 +840,7 @@ public class TBPe {
     }
 
     /**
-     * Obtém o valor da propriedade signature.
+     * Obtém o valor da propriedade signature.
      * 
      * @return
      *     possible object is
@@ -867,7 +867,7 @@ public class TBPe {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -1053,7 +1053,7 @@ public class TBPe {
      *                       <simpleType>
      *                         <restriction base="{http://www.w3.org/2001/XMLSchema}string">
      *                           <whiteSpace value="preserve"/>
-     *                           <pattern value="([!-ÿ]{0}|[!-ÿ]{5,20})?"/>
+     *                           <pattern value="([!-�]{0}|[!-�]{5,20})?"/>
      *                         </restriction>
      *                       </simpleType>
      *                     </element>
@@ -1618,7 +1618,7 @@ public class TBPe {
         protected String id;
 
         /**
-         * Obtém o valor da propriedade ide.
+         * Obtém o valor da propriedade ide.
          * 
          * @return
          *     possible object is
@@ -1642,7 +1642,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade emit.
+         * Obtém o valor da propriedade emit.
          * 
          * @return
          *     possible object is
@@ -1666,7 +1666,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade comp.
+         * Obtém o valor da propriedade comp.
          * 
          * @return
          *     possible object is
@@ -1690,7 +1690,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade agencia.
+         * Obtém o valor da propriedade agencia.
          * 
          * @return
          *     possible object is
@@ -1714,7 +1714,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade infBPeSub.
+         * Obtém o valor da propriedade infBPeSub.
          * 
          * @return
          *     possible object is
@@ -1738,7 +1738,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade infPassagem.
+         * Obtém o valor da propriedade infPassagem.
          * 
          * @return
          *     possible object is
@@ -1791,7 +1791,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade infValorBPe.
+         * Obtém o valor da propriedade infValorBPe.
          * 
          * @return
          *     possible object is
@@ -1815,7 +1815,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade imp.
+         * Obtém o valor da propriedade imp.
          * 
          * @return
          *     possible object is
@@ -1897,7 +1897,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade infAdic.
+         * Obtém o valor da propriedade infAdic.
          * 
          * @return
          *     possible object is
@@ -1921,7 +1921,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade versao.
+         * Obtém o valor da propriedade versao.
          * 
          * @return
          *     possible object is
@@ -1945,7 +1945,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade id.
+         * Obtém o valor da propriedade id.
          * 
          * @return
          *     possible object is
@@ -1972,7 +1972,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -2013,7 +2013,7 @@ public class TBPe {
             protected TEndereco enderAgencia;
 
             /**
-             * Obtém o valor da propriedade xNome.
+             * Obtém o valor da propriedade xNome.
              * 
              * @return
              *     possible object is
@@ -2037,7 +2037,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cnpj.
+             * Obtém o valor da propriedade cnpj.
              * 
              * @return
              *     possible object is
@@ -2061,7 +2061,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade enderAgencia.
+             * Obtém o valor da propriedade enderAgencia.
              * 
              * @return
              *     possible object is
@@ -2090,7 +2090,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -2122,7 +2122,7 @@ public class TBPe {
             protected String cpf;
 
             /**
-             * Obtém o valor da propriedade cnpj.
+             * Obtém o valor da propriedade cnpj.
              * 
              * @return
              *     possible object is
@@ -2146,7 +2146,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cpf.
+             * Obtém o valor da propriedade cpf.
              * 
              * @return
              *     possible object is
@@ -2175,7 +2175,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -2197,7 +2197,7 @@ public class TBPe {
          *             <simpleType>
          *               <restriction base="{http://www.w3.org/2001/XMLSchema}string">
          *                 <whiteSpace value="preserve"/>
-         *                 <pattern value="([!-ÿ]{0}|[!-ÿ]{5,20})?"/>
+         *                 <pattern value="([!-�]{0}|[!-�]{5,20})?"/>
          *               </restriction>
          *             </simpleType>
          *           </element>
@@ -2241,7 +2241,7 @@ public class TBPe {
             protected TEndereco enderComp;
 
             /**
-             * Obtém o valor da propriedade xNome.
+             * Obtém o valor da propriedade xNome.
              * 
              * @return
              *     possible object is
@@ -2265,7 +2265,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cnpj.
+             * Obtém o valor da propriedade cnpj.
              * 
              * @return
              *     possible object is
@@ -2289,7 +2289,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cpf.
+             * Obtém o valor da propriedade cpf.
              * 
              * @return
              *     possible object is
@@ -2313,7 +2313,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade idEstrangeiro.
+             * Obtém o valor da propriedade idEstrangeiro.
              * 
              * @return
              *     possible object is
@@ -2337,7 +2337,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade ie.
+             * Obtém o valor da propriedade ie.
              * 
              * @return
              *     possible object is
@@ -2361,7 +2361,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade enderComp.
+             * Obtém o valor da propriedade enderComp.
              * 
              * @return
              *     possible object is
@@ -2390,7 +2390,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -2508,7 +2508,7 @@ public class TBPe {
             protected String tar;
 
             /**
-             * Obtém o valor da propriedade cnpj.
+             * Obtém o valor da propriedade cnpj.
              * 
              * @return
              *     possible object is
@@ -2532,7 +2532,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade ie.
+             * Obtém o valor da propriedade ie.
              * 
              * @return
              *     possible object is
@@ -2556,7 +2556,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade iest.
+             * Obtém o valor da propriedade iest.
              * 
              * @return
              *     possible object is
@@ -2580,7 +2580,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xNome.
+             * Obtém o valor da propriedade xNome.
              * 
              * @return
              *     possible object is
@@ -2604,7 +2604,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xFant.
+             * Obtém o valor da propriedade xFant.
              * 
              * @return
              *     possible object is
@@ -2628,7 +2628,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade im.
+             * Obtém o valor da propriedade im.
              * 
              * @return
              *     possible object is
@@ -2652,7 +2652,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cnae.
+             * Obtém o valor da propriedade cnae.
              * 
              * @return
              *     possible object is
@@ -2676,7 +2676,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade crt.
+             * Obtém o valor da propriedade crt.
              * 
              * @return
              *     possible object is
@@ -2700,7 +2700,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade enderEmit.
+             * Obtém o valor da propriedade enderEmit.
              * 
              * @return
              *     possible object is
@@ -2724,7 +2724,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tar.
+             * Obtém o valor da propriedade tar.
              * 
              * @return
              *     possible object is
@@ -2753,7 +2753,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -2904,7 +2904,7 @@ public class TBPe {
             protected String xJust;
 
             /**
-             * Obtém o valor da propriedade cuf.
+             * Obtém o valor da propriedade cuf.
              * 
              * @return
              *     possible object is
@@ -2928,7 +2928,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpAmb.
+             * Obtém o valor da propriedade tpAmb.
              * 
              * @return
              *     possible object is
@@ -2952,7 +2952,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade mod.
+             * Obtém o valor da propriedade mod.
              * 
              * @return
              *     possible object is
@@ -2976,7 +2976,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade serie.
+             * Obtém o valor da propriedade serie.
              * 
              * @return
              *     possible object is
@@ -3000,7 +3000,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade nbp.
+             * Obtém o valor da propriedade nbp.
              * 
              * @return
              *     possible object is
@@ -3024,7 +3024,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cbp.
+             * Obtém o valor da propriedade cbp.
              * 
              * @return
              *     possible object is
@@ -3048,7 +3048,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cdv.
+             * Obtém o valor da propriedade cdv.
              * 
              * @return
              *     possible object is
@@ -3072,7 +3072,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade modal.
+             * Obtém o valor da propriedade modal.
              * 
              * @return
              *     possible object is
@@ -3096,7 +3096,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade dhEmi.
+             * Obtém o valor da propriedade dhEmi.
              * 
              * @return
              *     possible object is
@@ -3120,7 +3120,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpEmis.
+             * Obtém o valor da propriedade tpEmis.
              * 
              * @return
              *     possible object is
@@ -3144,7 +3144,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade verProc.
+             * Obtém o valor da propriedade verProc.
              * 
              * @return
              *     possible object is
@@ -3168,7 +3168,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpBPe.
+             * Obtém o valor da propriedade tpBPe.
              * 
              * @return
              *     possible object is
@@ -3192,7 +3192,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade indPres.
+             * Obtém o valor da propriedade indPres.
              * 
              * @return
              *     possible object is
@@ -3216,7 +3216,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade ufIni.
+             * Obtém o valor da propriedade ufIni.
              * 
              * @return
              *     possible object is
@@ -3240,7 +3240,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cMunIni.
+             * Obtém o valor da propriedade cMunIni.
              * 
              * @return
              *     possible object is
@@ -3264,7 +3264,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade ufFim.
+             * Obtém o valor da propriedade ufFim.
              * 
              * @return
              *     possible object is
@@ -3288,7 +3288,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cMunFim.
+             * Obtém o valor da propriedade cMunFim.
              * 
              * @return
              *     possible object is
@@ -3312,7 +3312,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade dhCont.
+             * Obtém o valor da propriedade dhCont.
              * 
              * @return
              *     possible object is
@@ -3336,7 +3336,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xJust.
+             * Obtém o valor da propriedade xJust.
              * 
              * @return
              *     possible object is
@@ -3365,7 +3365,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -3425,7 +3425,7 @@ public class TBPe {
             protected TBPe.InfBPe.Imp.ICMSUFFim icmsufFim;
 
             /**
-             * Obtém o valor da propriedade icms.
+             * Obtém o valor da propriedade icms.
              * 
              * @return
              *     possible object is
@@ -3449,7 +3449,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade vTotTrib.
+             * Obtém o valor da propriedade vTotTrib.
              * 
              * @return
              *     possible object is
@@ -3473,7 +3473,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade infAdFisco.
+             * Obtém o valor da propriedade infAdFisco.
              * 
              * @return
              *     possible object is
@@ -3497,7 +3497,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade icmsufFim.
+             * Obtém o valor da propriedade icmsufFim.
              * 
              * @return
              *     possible object is
@@ -3524,7 +3524,7 @@ public class TBPe {
             /**
              * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

              * <complexType>
@@ -3578,7 +3578,7 @@ public class TBPe {
                 protected String vicmsufIni;
 
                 /**
-                 * Obtém o valor da propriedade vbcufFim.
+                 * Obtém o valor da propriedade vbcufFim.
                  * 
                  * @return
                  *     possible object is
@@ -3602,7 +3602,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade pfcpufFim.
+                 * Obtém o valor da propriedade pfcpufFim.
                  * 
                  * @return
                  *     possible object is
@@ -3626,7 +3626,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade picmsufFim.
+                 * Obtém o valor da propriedade picmsufFim.
                  * 
                  * @return
                  *     possible object is
@@ -3650,7 +3650,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade picmsInter.
+                 * Obtém o valor da propriedade picmsInter.
                  * 
                  * @return
                  *     possible object is
@@ -3674,7 +3674,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade picmsInterPart.
+                 * Obtém o valor da propriedade picmsInterPart.
                  * 
                  * @return
                  *     possible object is
@@ -3698,7 +3698,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade vfcpufFim.
+                 * Obtém o valor da propriedade vfcpufFim.
                  * 
                  * @return
                  *     possible object is
@@ -3722,7 +3722,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade vicmsufFim.
+                 * Obtém o valor da propriedade vicmsufFim.
                  * 
                  * @return
                  *     possible object is
@@ -3746,7 +3746,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade vicmsufIni.
+                 * Obtém o valor da propriedade vicmsufIni.
                  * 
                  * @return
                  *     possible object is
@@ -3777,7 +3777,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -3819,7 +3819,7 @@ public class TBPe {
             protected String infCpl;
 
             /**
-             * Obtém o valor da propriedade infAdFisco.
+             * Obtém o valor da propriedade infAdFisco.
              * 
              * @return
              *     possible object is
@@ -3843,7 +3843,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade infCpl.
+             * Obtém o valor da propriedade infCpl.
              * 
              * @return
              *     possible object is
@@ -3872,7 +3872,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -3902,7 +3902,7 @@ public class TBPe {
             protected String tpSub;
 
             /**
-             * Obtém o valor da propriedade chBPe.
+             * Obtém o valor da propriedade chBPe.
              * 
              * @return
              *     possible object is
@@ -3926,7 +3926,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpSub.
+             * Obtém o valor da propriedade tpSub.
              * 
              * @return
              *     possible object is
@@ -3955,7 +3955,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -4074,7 +4074,7 @@ public class TBPe {
             protected TBPe.InfBPe.InfPassagem.InfPassageiro infPassageiro;
 
             /**
-             * Obtém o valor da propriedade cLocOrig.
+             * Obtém o valor da propriedade cLocOrig.
              * 
              * @return
              *     possible object is
@@ -4098,7 +4098,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xLocOrig.
+             * Obtém o valor da propriedade xLocOrig.
              * 
              * @return
              *     possible object is
@@ -4122,7 +4122,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade cLocDest.
+             * Obtém o valor da propriedade cLocDest.
              * 
              * @return
              *     possible object is
@@ -4146,7 +4146,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xLocDest.
+             * Obtém o valor da propriedade xLocDest.
              * 
              * @return
              *     possible object is
@@ -4170,7 +4170,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade dhEmb.
+             * Obtém o valor da propriedade dhEmb.
              * 
              * @return
              *     possible object is
@@ -4194,7 +4194,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade dhValidade.
+             * Obtém o valor da propriedade dhValidade.
              * 
              * @return
              *     possible object is
@@ -4218,7 +4218,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade infPassageiro.
+             * Obtém o valor da propriedade infPassageiro.
              * 
              * @return
              *     possible object is
@@ -4245,7 +4245,7 @@ public class TBPe {
             /**
              * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

              * <complexType>
@@ -4318,7 +4318,7 @@ public class TBPe {
                 protected String email;
 
                 /**
-                 * Obtém o valor da propriedade xNome.
+                 * Obtém o valor da propriedade xNome.
                  * 
                  * @return
                  *     possible object is
@@ -4342,7 +4342,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade cpf.
+                 * Obtém o valor da propriedade cpf.
                  * 
                  * @return
                  *     possible object is
@@ -4366,7 +4366,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade tpDoc.
+                 * Obtém o valor da propriedade tpDoc.
                  * 
                  * @return
                  *     possible object is
@@ -4390,7 +4390,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade nDoc.
+                 * Obtém o valor da propriedade nDoc.
                  * 
                  * @return
                  *     possible object is
@@ -4414,7 +4414,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade dNasc.
+                 * Obtém o valor da propriedade dNasc.
                  * 
                  * @return
                  *     possible object is
@@ -4438,7 +4438,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade fone.
+                 * Obtém o valor da propriedade fone.
                  * 
                  * @return
                  *     possible object is
@@ -4462,7 +4462,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade email.
+                 * Obtém o valor da propriedade email.
                  * 
                  * @return
                  *     possible object is
@@ -4493,7 +4493,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -4589,7 +4589,7 @@ public class TBPe {
             protected List comp;
 
             /**
-             * Obtém o valor da propriedade vbp.
+             * Obtém o valor da propriedade vbp.
              * 
              * @return
              *     possible object is
@@ -4613,7 +4613,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade vDesconto.
+             * Obtém o valor da propriedade vDesconto.
              * 
              * @return
              *     possible object is
@@ -4637,7 +4637,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade vPgto.
+             * Obtém o valor da propriedade vPgto.
              * 
              * @return
              *     possible object is
@@ -4661,7 +4661,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade vTroco.
+             * Obtém o valor da propriedade vTroco.
              * 
              * @return
              *     possible object is
@@ -4685,7 +4685,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpDesconto.
+             * Obtém o valor da propriedade tpDesconto.
              * 
              * @return
              *     possible object is
@@ -4709,7 +4709,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xDesconto.
+             * Obtém o valor da propriedade xDesconto.
              * 
              * @return
              *     possible object is
@@ -4765,7 +4765,7 @@ public class TBPe {
             /**
              * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

              * <complexType>
@@ -4808,7 +4808,7 @@ public class TBPe {
                 protected String vComp;
 
                 /**
-                 * Obtém o valor da propriedade tpComp.
+                 * Obtém o valor da propriedade tpComp.
                  * 
                  * @return
                  *     possible object is
@@ -4832,7 +4832,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade vComp.
+                 * Obtém o valor da propriedade vComp.
                  * 
                  * @return
                  *     possible object is
@@ -4863,7 +4863,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -5066,7 +5066,7 @@ public class TBPe {
             protected TBPe.InfBPe.InfViagem.InfTravessia infTravessia;
 
             /**
-             * Obtém o valor da propriedade cPercurso.
+             * Obtém o valor da propriedade cPercurso.
              * 
              * @return
              *     possible object is
@@ -5090,7 +5090,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xPercurso.
+             * Obtém o valor da propriedade xPercurso.
              * 
              * @return
              *     possible object is
@@ -5114,7 +5114,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpViagem.
+             * Obtém o valor da propriedade tpViagem.
              * 
              * @return
              *     possible object is
@@ -5138,7 +5138,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpServ.
+             * Obtém o valor da propriedade tpServ.
              * 
              * @return
              *     possible object is
@@ -5162,7 +5162,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpAcomodacao.
+             * Obtém o valor da propriedade tpAcomodacao.
              * 
              * @return
              *     possible object is
@@ -5186,7 +5186,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade tpTrecho.
+             * Obtém o valor da propriedade tpTrecho.
              * 
              * @return
              *     possible object is
@@ -5210,7 +5210,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade dhViagem.
+             * Obtém o valor da propriedade dhViagem.
              * 
              * @return
              *     possible object is
@@ -5234,7 +5234,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade dhConexao.
+             * Obtém o valor da propriedade dhConexao.
              * 
              * @return
              *     possible object is
@@ -5258,7 +5258,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade prefixo.
+             * Obtém o valor da propriedade prefixo.
              * 
              * @return
              *     possible object is
@@ -5282,7 +5282,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade poltrona.
+             * Obtém o valor da propriedade poltrona.
              * 
              * @return
              *     possible object is
@@ -5306,7 +5306,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade plataforma.
+             * Obtém o valor da propriedade plataforma.
              * 
              * @return
              *     possible object is
@@ -5330,7 +5330,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade infTravessia.
+             * Obtém o valor da propriedade infTravessia.
              * 
              * @return
              *     possible object is
@@ -5357,7 +5357,7 @@ public class TBPe {
             /**
              * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

              * <complexType>
@@ -5432,7 +5432,7 @@ public class TBPe {
                 protected String sitVeiculo;
 
                 /**
-                 * Obtém o valor da propriedade tpVeiculo.
+                 * Obtém o valor da propriedade tpVeiculo.
                  * 
                  * @return
                  *     possible object is
@@ -5456,7 +5456,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade sitVeiculo.
+                 * Obtém o valor da propriedade sitVeiculo.
                  * 
                  * @return
                  *     possible object is
@@ -5487,7 +5487,7 @@ public class TBPe {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -5574,7 +5574,7 @@ public class TBPe {
             protected TBPe.InfBPe.Pag.Card card;
 
             /**
-             * Obtém o valor da propriedade tPag.
+             * Obtém o valor da propriedade tPag.
              * 
              * @return
              *     possible object is
@@ -5598,7 +5598,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade vPag.
+             * Obtém o valor da propriedade vPag.
              * 
              * @return
              *     possible object is
@@ -5622,7 +5622,7 @@ public class TBPe {
             }
 
             /**
-             * Obtém o valor da propriedade xPag.
+             * Obtém o valor da propriedade xPag.
              * 
              * @return
              *     possible object is
@@ -5646,7 +5646,7 @@ public class TBPe {
             }
             
             /**
-             * Obtém o valor da propriedade card.
+             * Obtém o valor da propriedade card.
              * 
              * @return
              *     possible object is
@@ -5673,7 +5673,7 @@ public class TBPe {
             /**
              * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

              * <complexType>
@@ -5744,7 +5744,7 @@ public class TBPe {
                 protected String nParcelas;
 
                 /**
-                 * Obtém o valor da propriedade tpIntegra.
+                 * Obtém o valor da propriedade tpIntegra.
                  * 
                  * @return
                  *     possible object is
@@ -5768,7 +5768,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade cnpj.
+                 * Obtém o valor da propriedade cnpj.
                  * 
                  * @return
                  *     possible object is
@@ -5792,7 +5792,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade tBand.
+                 * Obtém o valor da propriedade tBand.
                  * 
                  * @return
                  *     possible object is
@@ -5816,7 +5816,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade xBand.
+                 * Obtém o valor da propriedade xBand.
                  * 
                  * @return
                  *     possible object is
@@ -5840,7 +5840,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade nsuTrans.
+                 * Obtém o valor da propriedade nsuTrans.
                  * 
                  * @return
                  *     possible object is
@@ -5864,7 +5864,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade nsuHost.
+                 * Obtém o valor da propriedade nsuHost.
                  * 
                  * @return
                  *     possible object is
@@ -5888,7 +5888,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade nParcelas.
+                 * Obtém o valor da propriedade nParcelas.
                  * 
                  * @return
                  *     possible object is
@@ -5912,7 +5912,7 @@ public class TBPe {
                 }
 
                 /**
-                 * Obtém o valor da propriedade cAut.
+                 * Obtém o valor da propriedade cAut.
                  * 
                  * @return
                  *     possible object is
@@ -5945,7 +5945,7 @@ public class TBPe {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -5958,7 +5958,7 @@ public class TBPe {
      *               <whiteSpace value="preserve"/>
      *               <minLength value="50"/>
      *               <maxLength value="1000"/>
-     *               <pattern value="((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?)"/>
+     *               <pattern value="((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&tpAmb=[1-2](&sign=[!-�]{1}[ -�]{0,}[!-�]{1}|[!-�]{1})?)"/>
      *             </restriction>
      *           </simpleType>
      *         </element>
@@ -5990,7 +5990,7 @@ public class TBPe {
         protected String boardPassBPe;
 
         /**
-         * Obtém o valor da propriedade qrCodBPe.
+         * Obtém o valor da propriedade qrCodBPe.
          * 
          * @return
          *     possible object is
@@ -6014,7 +6014,7 @@ public class TBPe {
         }
 
         /**
-         * Obtém o valor da propriedade boardPassBPe.
+         * Obtém o valor da propriedade boardPassBPe.
          * 
          * @return
          *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TConsSitBPe.java b/src/br/inf/portalfiscal/bpe/TConsSitBPe.java
index c40369f06..cf08f8c1f 100644
--- a/src/br/inf/portalfiscal/bpe/TConsSitBPe.java
+++ b/src/br/inf/portalfiscal/bpe/TConsSitBPe.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.10.24 às 07:38:45 PM BRST 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.10.24 às 07:38:45 PM BRST 
 //
 
 
@@ -16,11 +16,11 @@ import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * Tipo Pedido de Consulta da Situação Atual do Bilhete de Passagem Eletrônico
+ * Tipo Pedido de Consulta da Situação Atual do Bilhete de Passagem Eletrônico
  * 
  * 

Classe Java de TConsSitBPe complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TConsSitBPe">
@@ -57,7 +57,7 @@ public class TConsSitBPe {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade tpAmb.
+     * Obtém o valor da propriedade tpAmb.
      * 
      * @return
      *     possible object is
@@ -81,7 +81,7 @@ public class TConsSitBPe {
     }
 
     /**
-     * Obtém o valor da propriedade xServ.
+     * Obtém o valor da propriedade xServ.
      * 
      * @return
      *     possible object is
@@ -105,7 +105,7 @@ public class TConsSitBPe {
     }
 
     /**
-     * Obtém o valor da propriedade chBPe.
+     * Obtém o valor da propriedade chBPe.
      * 
      * @return
      *     possible object is
@@ -129,7 +129,7 @@ public class TConsSitBPe {
     }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TEndeEmi.java b/src/br/inf/portalfiscal/bpe/TEndeEmi.java
index fd0bfb296..ac2e9f4c0 100644
--- a/src/br/inf/portalfiscal/bpe/TEndeEmi.java
+++ b/src/br/inf/portalfiscal/bpe/TEndeEmi.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -16,11 +16,11 @@ import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * Tipo Dados do Endereço
+ * Tipo Dados do Endereço
  * 
  * 

Classe Java de TEndeEmi complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TEndeEmi">
@@ -129,7 +129,7 @@ public class TEndeEmi {
     protected String email;
 
     /**
-     * Obtém o valor da propriedade xLgr.
+     * Obtém o valor da propriedade xLgr.
      * 
      * @return
      *     possible object is
@@ -153,7 +153,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade nro.
+     * Obtém o valor da propriedade nro.
      * 
      * @return
      *     possible object is
@@ -177,7 +177,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade xCpl.
+     * Obtém o valor da propriedade xCpl.
      * 
      * @return
      *     possible object is
@@ -201,7 +201,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade xBairro.
+     * Obtém o valor da propriedade xBairro.
      * 
      * @return
      *     possible object is
@@ -225,7 +225,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade cMun.
+     * Obtém o valor da propriedade cMun.
      * 
      * @return
      *     possible object is
@@ -249,7 +249,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade xMun.
+     * Obtém o valor da propriedade xMun.
      * 
      * @return
      *     possible object is
@@ -273,7 +273,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade cep.
+     * Obtém o valor da propriedade cep.
      * 
      * @return
      *     possible object is
@@ -297,7 +297,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade uf.
+     * Obtém o valor da propriedade uf.
      * 
      * @return
      *     possible object is
@@ -321,7 +321,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade fone.
+     * Obtém o valor da propriedade fone.
      * 
      * @return
      *     possible object is
@@ -345,7 +345,7 @@ public class TEndeEmi {
     }
 
     /**
-     * Obtém o valor da propriedade email.
+     * Obtém o valor da propriedade email.
      * 
      * @return
      *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TEndereco.java b/src/br/inf/portalfiscal/bpe/TEndereco.java
index 28d3cab61..0fb28f2ea 100644
--- a/src/br/inf/portalfiscal/bpe/TEndereco.java
+++ b/src/br/inf/portalfiscal/bpe/TEndereco.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -16,11 +16,11 @@ import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * Tipo Dados do Endereço
+ * Tipo Dados do Endereço
  * 
  * 

Classe Java de TEndereco complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TEndereco">
@@ -149,7 +149,7 @@ public class TEndereco {
     protected String email;
 
     /**
-     * Obtém o valor da propriedade xLgr.
+     * Obtém o valor da propriedade xLgr.
      * 
      * @return
      *     possible object is
@@ -173,7 +173,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade nro.
+     * Obtém o valor da propriedade nro.
      * 
      * @return
      *     possible object is
@@ -197,7 +197,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade xCpl.
+     * Obtém o valor da propriedade xCpl.
      * 
      * @return
      *     possible object is
@@ -221,7 +221,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade xBairro.
+     * Obtém o valor da propriedade xBairro.
      * 
      * @return
      *     possible object is
@@ -245,7 +245,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade cMun.
+     * Obtém o valor da propriedade cMun.
      * 
      * @return
      *     possible object is
@@ -269,7 +269,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade xMun.
+     * Obtém o valor da propriedade xMun.
      * 
      * @return
      *     possible object is
@@ -293,7 +293,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade cep.
+     * Obtém o valor da propriedade cep.
      * 
      * @return
      *     possible object is
@@ -317,7 +317,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade uf.
+     * Obtém o valor da propriedade uf.
      * 
      * @return
      *     possible object is
@@ -341,7 +341,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade cPais.
+     * Obtém o valor da propriedade cPais.
      * 
      * @return
      *     possible object is
@@ -365,7 +365,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade xPais.
+     * Obtém o valor da propriedade xPais.
      * 
      * @return
      *     possible object is
@@ -389,7 +389,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade fone.
+     * Obtém o valor da propriedade fone.
      * 
      * @return
      *     possible object is
@@ -413,7 +413,7 @@ public class TEndereco {
     }
 
     /**
-     * Obtém o valor da propriedade email.
+     * Obtém o valor da propriedade email.
      * 
      * @return
      *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TEnviBPe.java b/src/br/inf/portalfiscal/bpe/TEnviBPe.java
index d1cd42dae..a478916b1 100644
--- a/src/br/inf/portalfiscal/bpe/TEnviBPe.java
+++ b/src/br/inf/portalfiscal/bpe/TEnviBPe.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -16,11 +16,11 @@ import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * Tipo Pedido de Concessão de Autorização de BP-e
+ * Tipo Pedido de concessão de autorização de BP-e
  * 
  * 

Classe Java de TEnviBPe complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TEnviBPe">
@@ -53,7 +53,7 @@ public class TEnviBPe {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade idLote.
+     * Obtém o valor da propriedade idLote.
      * 
      * @return
      *     possible object is
@@ -77,7 +77,7 @@ public class TEnviBPe {
     }
 
     /**
-     * Obtém o valor da propriedade bPe.
+     * Obtém o valor da propriedade bPe.
      * 
      * @return
      *     possible object is
@@ -101,7 +101,7 @@ public class TEnviBPe {
     }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TEvento.java b/src/br/inf/portalfiscal/bpe/TEvento.java
index 92ad7b890..590c2d8f7 100644
--- a/src/br/inf/portalfiscal/bpe/TEvento.java
+++ b/src/br/inf/portalfiscal/bpe/TEvento.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
 //
 
 
@@ -27,7 +27,7 @@ import org.w3c.dom.Element;
  * 
  * 

Classe Java de TEvento complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TEvento">
@@ -117,7 +117,7 @@ public class TEvento {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade infEvento.
+     * Obtém o valor da propriedade infEvento.
      * 
      * @return
      *     possible object is
@@ -141,7 +141,7 @@ public class TEvento {
     }
 
     /**
-     * Obtém o valor da propriedade signature.
+     * Obtém o valor da propriedade signature.
      * 
      * @return
      *     possible object is
@@ -165,7 +165,7 @@ public class TEvento {
 //    }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
@@ -192,7 +192,7 @@ public class TEvento {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -289,7 +289,7 @@ public class TEvento {
         protected String id;
 
         /**
-         * Obtém o valor da propriedade cOrgao.
+         * Obtém o valor da propriedade cOrgao.
          * 
          * @return
          *     possible object is
@@ -313,7 +313,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade tpAmb.
+         * Obtém o valor da propriedade tpAmb.
          * 
          * @return
          *     possible object is
@@ -337,7 +337,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade cnpj.
+         * Obtém o valor da propriedade cnpj.
          * 
          * @return
          *     possible object is
@@ -361,7 +361,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade chBPe.
+         * Obtém o valor da propriedade chBPe.
          * 
          * @return
          *     possible object is
@@ -385,7 +385,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade dhEvento.
+         * Obtém o valor da propriedade dhEvento.
          * 
          * @return
          *     possible object is
@@ -409,7 +409,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade tpEvento.
+         * Obtém o valor da propriedade tpEvento.
          * 
          * @return
          *     possible object is
@@ -433,7 +433,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade nSeqEvento.
+         * Obtém o valor da propriedade nSeqEvento.
          * 
          * @return
          *     possible object is
@@ -457,7 +457,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade detEvento.
+         * Obtém o valor da propriedade detEvento.
          * 
          * @return
          *     possible object is
@@ -481,7 +481,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade id.
+         * Obtém o valor da propriedade id.
          * 
          * @return
          *     possible object is
@@ -508,7 +508,7 @@ public class TEvento {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -545,7 +545,7 @@ public class TEvento {
             
 
             /**
-             * Obtém o valor da propriedade any.
+             * Obtém o valor da propriedade any.
              * 
              * @return
              *     possible object is
@@ -569,7 +569,7 @@ public class TEvento {
             }
 
             /**
-             * Obtém o valor da propriedade versaoEvento.
+             * Obtém o valor da propriedade versaoEvento.
              * 
              * @return
              *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TImp.java b/src/br/inf/portalfiscal/bpe/TImp.java
index 93b8d683b..614ce35d7 100644
--- a/src/br/inf/portalfiscal/bpe/TImp.java
+++ b/src/br/inf/portalfiscal/bpe/TImp.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -19,7 +19,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * 

Classe Java de TImp complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TImp">
@@ -193,7 +193,7 @@ public class TImp {
     protected TImp.ICMSSN icmssn;
 
     /**
-     * Obtém o valor da propriedade icms00.
+     * Obtém o valor da propriedade icms00.
      * 
      * @return
      *     possible object is
@@ -217,7 +217,7 @@ public class TImp {
     }
 
     /**
-     * Obtém o valor da propriedade icms20.
+     * Obtém o valor da propriedade icms20.
      * 
      * @return
      *     possible object is
@@ -241,7 +241,7 @@ public class TImp {
     }
 
     /**
-     * Obtém o valor da propriedade icms45.
+     * Obtém o valor da propriedade icms45.
      * 
      * @return
      *     possible object is
@@ -265,7 +265,7 @@ public class TImp {
     }
 
     /**
-     * Obtém o valor da propriedade icms90.
+     * Obtém o valor da propriedade icms90.
      * 
      * @return
      *     possible object is
@@ -289,7 +289,7 @@ public class TImp {
     }
 
     /**
-     * Obtém o valor da propriedade icmsOutraUF.
+     * Obtém o valor da propriedade icmsOutraUF.
      * 
      * @return
      *     possible object is
@@ -313,7 +313,7 @@ public class TImp {
     }
 
     /**
-     * Obtém o valor da propriedade icmssn.
+     * Obtém o valor da propriedade icmssn.
      * 
      * @return
      *     possible object is
@@ -340,7 +340,7 @@ public class TImp {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -385,7 +385,7 @@ public class TImp {
         protected String vicms;
 
         /**
-         * Obtém o valor da propriedade cst.
+         * Obtém o valor da propriedade cst.
          * 
          * @return
          *     possible object is
@@ -409,7 +409,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vbc.
+         * Obtém o valor da propriedade vbc.
          * 
          * @return
          *     possible object is
@@ -433,7 +433,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade picms.
+         * Obtém o valor da propriedade picms.
          * 
          * @return
          *     possible object is
@@ -457,7 +457,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vicms.
+         * Obtém o valor da propriedade vicms.
          * 
          * @return
          *     possible object is
@@ -486,7 +486,7 @@ public class TImp {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -535,7 +535,7 @@ public class TImp {
         protected String vicms;
 
         /**
-         * Obtém o valor da propriedade cst.
+         * Obtém o valor da propriedade cst.
          * 
          * @return
          *     possible object is
@@ -559,7 +559,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade pRedBC.
+         * Obtém o valor da propriedade pRedBC.
          * 
          * @return
          *     possible object is
@@ -583,7 +583,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vbc.
+         * Obtém o valor da propriedade vbc.
          * 
          * @return
          *     possible object is
@@ -607,7 +607,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade picms.
+         * Obtém o valor da propriedade picms.
          * 
          * @return
          *     possible object is
@@ -631,7 +631,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vicms.
+         * Obtém o valor da propriedade vicms.
          * 
          * @return
          *     possible object is
@@ -660,7 +660,7 @@ public class TImp {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -695,7 +695,7 @@ public class TImp {
         protected String cst;
 
         /**
-         * Obtém o valor da propriedade cst.
+         * Obtém o valor da propriedade cst.
          * 
          * @return
          *     possible object is
@@ -724,7 +724,7 @@ public class TImp {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -775,7 +775,7 @@ public class TImp {
         protected String vCred;
 
         /**
-         * Obtém o valor da propriedade cst.
+         * Obtém o valor da propriedade cst.
          * 
          * @return
          *     possible object is
@@ -799,7 +799,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade pRedBC.
+         * Obtém o valor da propriedade pRedBC.
          * 
          * @return
          *     possible object is
@@ -823,7 +823,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vbc.
+         * Obtém o valor da propriedade vbc.
          * 
          * @return
          *     possible object is
@@ -847,7 +847,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade picms.
+         * Obtém o valor da propriedade picms.
          * 
          * @return
          *     possible object is
@@ -871,7 +871,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vicms.
+         * Obtém o valor da propriedade vicms.
          * 
          * @return
          *     possible object is
@@ -895,7 +895,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vCred.
+         * Obtém o valor da propriedade vCred.
          * 
          * @return
          *     possible object is
@@ -924,7 +924,7 @@ public class TImp {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -972,7 +972,7 @@ public class TImp {
         protected String vicmsOutraUF;
 
         /**
-         * Obtém o valor da propriedade cst.
+         * Obtém o valor da propriedade cst.
          * 
          * @return
          *     possible object is
@@ -996,7 +996,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade pRedBCOutraUF.
+         * Obtém o valor da propriedade pRedBCOutraUF.
          * 
          * @return
          *     possible object is
@@ -1020,7 +1020,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vbcOutraUF.
+         * Obtém o valor da propriedade vbcOutraUF.
          * 
          * @return
          *     possible object is
@@ -1044,7 +1044,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade picmsOutraUF.
+         * Obtém o valor da propriedade picmsOutraUF.
          * 
          * @return
          *     possible object is
@@ -1068,7 +1068,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade vicmsOutraUF.
+         * Obtém o valor da propriedade vicmsOutraUF.
          * 
          * @return
          *     possible object is
@@ -1097,7 +1097,7 @@ public class TImp {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -1141,7 +1141,7 @@ public class TImp {
         protected String indSN;
 
         /**
-         * Obtém o valor da propriedade cst.
+         * Obtém o valor da propriedade cst.
          * 
          * @return
          *     possible object is
@@ -1165,7 +1165,7 @@ public class TImp {
         }
 
         /**
-         * Obtém o valor da propriedade indSN.
+         * Obtém o valor da propriedade indSN.
          * 
          * @return
          *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TProcEvento.java b/src/br/inf/portalfiscal/bpe/TProcEvento.java
index e4137c4ed..2a7969847 100644
--- a/src/br/inf/portalfiscal/bpe/TProcEvento.java
+++ b/src/br/inf/portalfiscal/bpe/TProcEvento.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
 //
 
 
@@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * 

Classe Java de TProcEvento complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TProcEvento">
@@ -56,7 +56,7 @@ public class TProcEvento {
     protected String ipTransmissor;
 
     /**
-     * Obtém o valor da propriedade eventoBPe.
+     * Obtém o valor da propriedade eventoBPe.
      * 
      * @return
      *     possible object is
@@ -80,7 +80,7 @@ public class TProcEvento {
     }
 
     /**
-     * Obtém o valor da propriedade retEventoBPe.
+     * Obtém o valor da propriedade retEventoBPe.
      * 
      * @return
      *     possible object is
@@ -104,7 +104,7 @@ public class TProcEvento {
     }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
@@ -128,7 +128,7 @@ public class TProcEvento {
     }
 
     /**
-     * Obtém o valor da propriedade ipTransmissor.
+     * Obtém o valor da propriedade ipTransmissor.
      * 
      * @return
      *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TProtBPe.java b/src/br/inf/portalfiscal/bpe/TProtBPe.java
index 5fc0bd3c5..d99066470 100644
--- a/src/br/inf/portalfiscal/bpe/TProtBPe.java
+++ b/src/br/inf/portalfiscal/bpe/TProtBPe.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -24,7 +24,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  * 
  * 

Classe Java de TProtBPe complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TProtBPe">
@@ -80,7 +80,7 @@ public class TProtBPe {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade infProt.
+     * Obtém o valor da propriedade infProt.
      * 
      * @return
      *     possible object is
@@ -104,7 +104,7 @@ public class TProtBPe {
     }
 
     /**
-     * Obtém o valor da propriedade signature.
+     * Obtém o valor da propriedade signature.
      * 
      * @return
      *     possible object is
@@ -128,7 +128,7 @@ public class TProtBPe {
 //    }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
@@ -155,7 +155,7 @@ public class TProtBPe {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -218,7 +218,7 @@ public class TProtBPe {
         protected String id;
 
         /**
-         * Obtém o valor da propriedade tpAmb.
+         * Obtém o valor da propriedade tpAmb.
          * 
          * @return
          *     possible object is
@@ -242,7 +242,7 @@ public class TProtBPe {
         }
 
         /**
-         * Obtém o valor da propriedade verAplic.
+         * Obtém o valor da propriedade verAplic.
          * 
          * @return
          *     possible object is
@@ -266,7 +266,7 @@ public class TProtBPe {
         }
 
         /**
-         * Obtém o valor da propriedade chBPe.
+         * Obtém o valor da propriedade chBPe.
          * 
          * @return
          *     possible object is
@@ -290,7 +290,7 @@ public class TProtBPe {
         }
 
         /**
-         * Obtém o valor da propriedade dhRecbto.
+         * Obtém o valor da propriedade dhRecbto.
          * 
          * @return
          *     possible object is
@@ -314,7 +314,7 @@ public class TProtBPe {
         }
 
         /**
-         * Obtém o valor da propriedade nProt.
+         * Obtém o valor da propriedade nProt.
          * 
          * @return
          *     possible object is
@@ -338,7 +338,7 @@ public class TProtBPe {
         }
 
 //        /**
-//         * Obtém o valor da propriedade digVal.
+//         * Obtém o valor da propriedade digVal.
 //         * 
 //         * @return
 //         *     possible object is
@@ -360,7 +360,7 @@ public class TProtBPe {
 //        }
 
         /**
-         * Obtém o valor da propriedade cStat.
+         * Obtém o valor da propriedade cStat.
          * 
          * @return
          *     possible object is
@@ -384,7 +384,7 @@ public class TProtBPe {
         }
 
         /**
-         * Obtém o valor da propriedade xMotivo.
+         * Obtém o valor da propriedade xMotivo.
          * 
          * @return
          *     possible object is
@@ -408,7 +408,7 @@ public class TProtBPe {
         }
 
         /**
-         * Obtém o valor da propriedade id.
+         * Obtém o valor da propriedade id.
          * 
          * @return
          *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TRetBPe.java b/src/br/inf/portalfiscal/bpe/TRetBPe.java
index 47a2099d5..839512066 100644
--- a/src/br/inf/portalfiscal/bpe/TRetBPe.java
+++ b/src/br/inf/portalfiscal/bpe/TRetBPe.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -17,11 +17,11 @@ import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * Tipo Retorno do Pedido de Autorização de BP-e (Modelo 63)
+ * Tipo Retorno do Pedido de autorização de BP-e (Modelo 63)
  * 
  * 

Classe Java de TRetBPe complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TRetBPe">
@@ -70,7 +70,7 @@ public class TRetBPe {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade tpAmb.
+     * Obtém o valor da propriedade tpAmb.
      * 
      * @return
      *     possible object is
@@ -94,7 +94,7 @@ public class TRetBPe {
     }
 
     /**
-     * Obtém o valor da propriedade cuf.
+     * Obtém o valor da propriedade cuf.
      * 
      * @return
      *     possible object is
@@ -118,7 +118,7 @@ public class TRetBPe {
     }
 
     /**
-     * Obtém o valor da propriedade verAplic.
+     * Obtém o valor da propriedade verAplic.
      * 
      * @return
      *     possible object is
@@ -142,7 +142,7 @@ public class TRetBPe {
     }
 
     /**
-     * Obtém o valor da propriedade cStat.
+     * Obtém o valor da propriedade cStat.
      * 
      * @return
      *     possible object is
@@ -166,7 +166,7 @@ public class TRetBPe {
     }
 
     /**
-     * Obtém o valor da propriedade xMotivo.
+     * Obtém o valor da propriedade xMotivo.
      * 
      * @return
      *     possible object is
@@ -190,7 +190,7 @@ public class TRetBPe {
     }
 
     /**
-     * Obtém o valor da propriedade protBPe.
+     * Obtém o valor da propriedade protBPe.
      * 
      * @return
      *     possible object is
@@ -214,7 +214,7 @@ public class TRetBPe {
     }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TRetConsStatServ.java b/src/br/inf/portalfiscal/bpe/TRetConsStatServ.java
index e7ec791d0..ead47d12c 100644
--- a/src/br/inf/portalfiscal/bpe/TRetConsStatServ.java
+++ b/src/br/inf/portalfiscal/bpe/TRetConsStatServ.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.07 às 09:45:52 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.07 às 09:45:52 PM BRT 
 //
 
 
@@ -18,11 +18,11 @@ import javax.xml.bind.annotation.XmlType;
 
 
 /**
- * Tipo Resultado da Consulta do Status do Serviço BP-e
+ * Tipo Resultado da Consulta do Status do Serviço BP-e
  * 
  * 

Classe Java de TRetConsStatServ complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TRetConsStatServ">
@@ -101,7 +101,7 @@ public class TRetConsStatServ {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade tpAmb.
+     * Obtém o valor da propriedade tpAmb.
      * 
      * @return
      *     possible object is
@@ -125,7 +125,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade verAplic.
+     * Obtém o valor da propriedade verAplic.
      * 
      * @return
      *     possible object is
@@ -149,7 +149,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade cStat.
+     * Obtém o valor da propriedade cStat.
      * 
      * @return
      *     possible object is
@@ -173,7 +173,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade xMotivo.
+     * Obtém o valor da propriedade xMotivo.
      * 
      * @return
      *     possible object is
@@ -197,7 +197,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade cuf.
+     * Obtém o valor da propriedade cuf.
      * 
      * @return
      *     possible object is
@@ -221,7 +221,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade dhRecbto.
+     * Obtém o valor da propriedade dhRecbto.
      * 
      * @return
      *     possible object is
@@ -245,7 +245,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade tMed.
+     * Obtém o valor da propriedade tMed.
      * 
      * @return
      *     possible object is
@@ -269,7 +269,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade dhRetorno.
+     * Obtém o valor da propriedade dhRetorno.
      * 
      * @return
      *     possible object is
@@ -293,7 +293,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade xObs.
+     * Obtém o valor da propriedade xObs.
      * 
      * @return
      *     possible object is
@@ -317,7 +317,7 @@ public class TRetConsStatServ {
     }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TRetEvento.java b/src/br/inf/portalfiscal/bpe/TRetEvento.java
index 818330091..a926e9903 100644
--- a/src/br/inf/portalfiscal/bpe/TRetEvento.java
+++ b/src/br/inf/portalfiscal/bpe/TRetEvento.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
 //
 
 
@@ -25,7 +25,7 @@ import org.w3._2000._09.xmldsig_.SignatureType;
  * 
  * 

Classe Java de TRetEvento complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TRetEvento">
@@ -112,7 +112,7 @@ public class TRetEvento {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade infEvento.
+     * Obtém o valor da propriedade infEvento.
      * 
      * @return
      *     possible object is
@@ -136,7 +136,7 @@ public class TRetEvento {
     }
 
     /**
-     * Obtém o valor da propriedade signature.
+     * Obtém o valor da propriedade signature.
      * 
      * @return
      *     possible object is
@@ -160,7 +160,7 @@ public class TRetEvento {
 //    }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
@@ -187,7 +187,7 @@ public class TRetEvento {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -279,7 +279,7 @@ public class TRetEvento {
         protected String id;
 
         /**
-         * Obtém o valor da propriedade tpAmb.
+         * Obtém o valor da propriedade tpAmb.
          * 
          * @return
          *     possible object is
@@ -303,7 +303,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade verAplic.
+         * Obtém o valor da propriedade verAplic.
          * 
          * @return
          *     possible object is
@@ -327,7 +327,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade cOrgao.
+         * Obtém o valor da propriedade cOrgao.
          * 
          * @return
          *     possible object is
@@ -351,7 +351,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade cStat.
+         * Obtém o valor da propriedade cStat.
          * 
          * @return
          *     possible object is
@@ -375,7 +375,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade xMotivo.
+         * Obtém o valor da propriedade xMotivo.
          * 
          * @return
          *     possible object is
@@ -399,7 +399,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade chBPe.
+         * Obtém o valor da propriedade chBPe.
          * 
          * @return
          *     possible object is
@@ -423,7 +423,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade tpEvento.
+         * Obtém o valor da propriedade tpEvento.
          * 
          * @return
          *     possible object is
@@ -447,7 +447,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade xEvento.
+         * Obtém o valor da propriedade xEvento.
          * 
          * @return
          *     possible object is
@@ -471,7 +471,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade nSeqEvento.
+         * Obtém o valor da propriedade nSeqEvento.
          * 
          * @return
          *     possible object is
@@ -495,7 +495,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade dhRegEvento.
+         * Obtém o valor da propriedade dhRegEvento.
          * 
          * @return
          *     possible object is
@@ -519,7 +519,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade nProt.
+         * Obtém o valor da propriedade nProt.
          * 
          * @return
          *     possible object is
@@ -543,7 +543,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade id.
+         * Obtém o valor da propriedade id.
          * 
          * @return
          *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/TUf.java b/src/br/inf/portalfiscal/bpe/TUf.java
index 1c7379403..0a6df4593 100644
--- a/src/br/inf/portalfiscal/bpe/TUf.java
+++ b/src/br/inf/portalfiscal/bpe/TUf.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -15,7 +15,7 @@ import javax.xml.bind.annotation.XmlType;
 /**
  * 

Classe Java de TUf. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. *

*

  * <simpleType name="TUf">
diff --git a/src/br/inf/portalfiscal/bpe/TUfSemEX.java b/src/br/inf/portalfiscal/bpe/TUfSemEX.java
index 9a070b4cd..b74b2a49d 100644
--- a/src/br/inf/portalfiscal/bpe/TUfSemEX.java
+++ b/src/br/inf/portalfiscal/bpe/TUfSemEX.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -15,7 +15,7 @@ import javax.xml.bind.annotation.XmlType;
 /**
  * 

Classe Java de TUf_sem_EX. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. *

*

  * <simpleType name="TUf_sem_EX">
diff --git a/src/br/inf/portalfiscal/bpe/evento/TEvento.java b/src/br/inf/portalfiscal/bpe/evento/TEvento.java
index 2bfa9fa06..2456d4c73 100644
--- a/src/br/inf/portalfiscal/bpe/evento/TEvento.java
+++ b/src/br/inf/portalfiscal/bpe/evento/TEvento.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
 //
 
 
@@ -27,7 +27,7 @@ import org.w3c.dom.Element;
  * 
  * 

Classe Java de TEvento complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TEvento">
@@ -117,7 +117,7 @@ public class TEvento {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade infEvento.
+     * Obtém o valor da propriedade infEvento.
      * 
      * @return
      *     possible object is
@@ -141,7 +141,7 @@ public class TEvento {
     }
 
     /**
-     * Obtém o valor da propriedade signature.
+     * Obtém o valor da propriedade signature.
      * 
      * @return
      *     possible object is
@@ -165,7 +165,7 @@ public class TEvento {
 //    }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
@@ -192,7 +192,7 @@ public class TEvento {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -289,7 +289,7 @@ public class TEvento {
         protected String id;
 
         /**
-         * Obtém o valor da propriedade cOrgao.
+         * Obtém o valor da propriedade cOrgao.
          * 
          * @return
          *     possible object is
@@ -313,7 +313,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade tpAmb.
+         * Obtém o valor da propriedade tpAmb.
          * 
          * @return
          *     possible object is
@@ -337,7 +337,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade cnpj.
+         * Obtém o valor da propriedade cnpj.
          * 
          * @return
          *     possible object is
@@ -361,7 +361,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade chBPe.
+         * Obtém o valor da propriedade chBPe.
          * 
          * @return
          *     possible object is
@@ -385,7 +385,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade dhEvento.
+         * Obtém o valor da propriedade dhEvento.
          * 
          * @return
          *     possible object is
@@ -409,7 +409,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade tpEvento.
+         * Obtém o valor da propriedade tpEvento.
          * 
          * @return
          *     possible object is
@@ -433,7 +433,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade nSeqEvento.
+         * Obtém o valor da propriedade nSeqEvento.
          * 
          * @return
          *     possible object is
@@ -457,7 +457,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade detEvento.
+         * Obtém o valor da propriedade detEvento.
          * 
          * @return
          *     possible object is
@@ -481,7 +481,7 @@ public class TEvento {
         }
 
         /**
-         * Obtém o valor da propriedade id.
+         * Obtém o valor da propriedade id.
          * 
          * @return
          *     possible object is
@@ -508,7 +508,7 @@ public class TEvento {
         /**
          * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

          * <complexType>
@@ -545,7 +545,7 @@ public class TEvento {
             
 
             /**
-             * Obtém o valor da propriedade any.
+             * Obtém o valor da propriedade any.
              * 
              * @return
              *     possible object is
@@ -569,7 +569,7 @@ public class TEvento {
             }
 
             /**
-             * Obtém o valor da propriedade versaoEvento.
+             * Obtém o valor da propriedade versaoEvento.
              * 
              * @return
              *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/evento/TRetEvento.java b/src/br/inf/portalfiscal/bpe/evento/TRetEvento.java
index 9ec2eba1c..a97e3712e 100644
--- a/src/br/inf/portalfiscal/bpe/evento/TRetEvento.java
+++ b/src/br/inf/portalfiscal/bpe/evento/TRetEvento.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.29 às 06:11:44 PM BRT 
 //
 
 
@@ -23,7 +23,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  * 
  * 

Classe Java de TRetEvento complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TRetEvento">
@@ -109,7 +109,7 @@ public class TRetEvento {
     protected String versao;
 
     /**
-     * Obtém o valor da propriedade infEvento.
+     * Obtém o valor da propriedade infEvento.
      * 
      * @return
      *     possible object is
@@ -133,7 +133,7 @@ public class TRetEvento {
     }
 
     /**
-     * Obtém o valor da propriedade signature.
+     * Obtém o valor da propriedade signature.
      * 
      * @return
      *     possible object is
@@ -157,7 +157,7 @@ public class TRetEvento {
 //    }
 
     /**
-     * Obtém o valor da propriedade versao.
+     * Obtém o valor da propriedade versao.
      * 
      * @return
      *     possible object is
@@ -184,7 +184,7 @@ public class TRetEvento {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -276,7 +276,7 @@ public class TRetEvento {
         protected String id;
 
         /**
-         * Obtém o valor da propriedade tpAmb.
+         * Obtém o valor da propriedade tpAmb.
          * 
          * @return
          *     possible object is
@@ -300,7 +300,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade verAplic.
+         * Obtém o valor da propriedade verAplic.
          * 
          * @return
          *     possible object is
@@ -324,7 +324,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade cOrgao.
+         * Obtém o valor da propriedade cOrgao.
          * 
          * @return
          *     possible object is
@@ -348,7 +348,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade cStat.
+         * Obtém o valor da propriedade cStat.
          * 
          * @return
          *     possible object is
@@ -372,7 +372,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade xMotivo.
+         * Obtém o valor da propriedade xMotivo.
          * 
          * @return
          *     possible object is
@@ -396,7 +396,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade chBPe.
+         * Obtém o valor da propriedade chBPe.
          * 
          * @return
          *     possible object is
@@ -420,7 +420,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade tpEvento.
+         * Obtém o valor da propriedade tpEvento.
          * 
          * @return
          *     possible object is
@@ -444,7 +444,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade xEvento.
+         * Obtém o valor da propriedade xEvento.
          * 
          * @return
          *     possible object is
@@ -468,7 +468,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade nSeqEvento.
+         * Obtém o valor da propriedade nSeqEvento.
          * 
          * @return
          *     possible object is
@@ -492,7 +492,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade dhRegEvento.
+         * Obtém o valor da propriedade dhRegEvento.
          * 
          * @return
          *     possible object is
@@ -516,7 +516,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade nProt.
+         * Obtém o valor da propriedade nProt.
          * 
          * @return
          *     possible object is
@@ -540,7 +540,7 @@ public class TRetEvento {
         }
 
         /**
-         * Obtém o valor da propriedade id.
+         * Obtém o valor da propriedade id.
          * 
          * @return
          *     possible object is
diff --git a/src/br/inf/portalfiscal/bpe/package-info.java b/src/br/inf/portalfiscal/bpe/package-info.java
index 15f9d0cc0..d33a8da63 100644
--- a/src/br/inf/portalfiscal/bpe/package-info.java
+++ b/src/br/inf/portalfiscal/bpe/package-info.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.23 às 03:05:57 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.23 às 03:05:57 PM BRT 
 //
 //@XmlSchema(
 //    namespace="",   
diff --git a/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java b/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java
index 964269d5e..07a3a4e8e 100644
--- a/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java
+++ b/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java
@@ -1,233 +1,233 @@
-package com.rjconsultores.ventaboletos.auditoria;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Type;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import javax.persistence.Column;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParseException;
-import com.rjconsultores.ventaboletos.entidad.AuditService;
-
-public class AuditControl {
-	private String currentActionService;
-	private Boolean checkModuleAudit;
-	private AuditService currentService;
-	private Boolean auditar;
-	
-	private static Gson gson;
-	private static SimpleDateFormat sdf;
-
-	AuditControl(String currentActionService) {
-		this.currentActionService = currentActionService;
-	}
-
-	public static String toJson(Object object) throws IllegalArgumentException, IllegalAccessException, ParseException {
-		SimpleDateFormat sdf = new SimpleDateFormat();
-		sdf.applyPattern("dd/MM/yyyy hh:mm:ss");
-
-		StringBuilder json = new StringBuilder();
-		json.append("{");
-
-		List lsClazz = new ArrayList();
-		List lsFieldName = new ArrayList();
-
-		if (object != null){
-			for (Field field : object.getClass().getDeclaredFields()) {
-				if ((!field.isAnnotationPresent(Column.class) && !field.isAnnotationPresent(Id.class) &&
-						!field.isAnnotationPresent(ManyToOne.class)) || field.getType().getSimpleName().equalsIgnoreCase("byte[]")) {
-					continue;
-				}
-	
-				if (!field.isAnnotationPresent(ManyToOne.class)) {
-					if (json.length() > 1) {
-						json.append(",");
-					}
-	
-					json.append("\"".concat(field.getName().concat("\":")));
-				} else {
-					lsFieldName.add("\"".concat(field.getName().concat("\":")));
-				}
-	
-				field.setAccessible(true);
-	
-				if (field.getType().getName().contains("String") || field.getType().getName().contains("Date")) {
-					json.append("\"");
-	
-					Date date = null;
-	
-					if (field.getType().getName().equals("java.util.Date")) {
-						date = (java.util.Date) field.get(object);
-						json.append(date == null ? "null" : sdf.format(date));
-					} else if (field.getType().getName().equals("java.sql.Date")) {
-						date = (Date) field.get(object);
-						json.append(date == null ? "null" : sdf.format(date));
-					} else if (field.getType().getName().contains("String")) {
-						json.append((String) field.get(object));
-					}
-	
-					json.append("\"");
-	
-					continue;
-				}
-	
-				if (field.isAnnotationPresent(ManyToOne.class)) {
-					lsClazz.add(field.get(object));
-					continue;
-				}
-	
-				json.append(field.get(object) == null ? "null" : field.get(object).toString());
-			}
-		}
-		
-		for (int i = 0; i < lsClazz.size(); i++) {
-			json.append(",");
-
-			json.append(lsFieldName.get(i));
-			json.append(AuditControl.toJson(lsClazz.get(i)));
-		}
-
-		json.append("}");
-
-		return json.toString();
-	}
-
-	public static Gson getGson() {
-		if (AuditControl.gson == null) {
-			GsonBuilder gsonBuilder = new GsonBuilder();
-			gsonBuilder.registerTypeAdapter(Date.class, new JsonDeserializer() {
-				DateFormat df = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
-
-				public Date deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context)
-						throws JsonParseException {
-					try {
-						return df.parse(json.getAsString());
-					} catch (ParseException e) {
-						return null;
-					}
-				}
-			});
-			gson = gsonBuilder.create();
-		}
-
-		return gson;
-	}
-
-	public static String formatJson(Object clazz, boolean mainClass) throws IllegalArgumentException, IllegalAccessException {
-		String init = "{";
-		String fim = "}";
-		String tab = "\t";
-		String ql = "\r";
-
-		String ret = init.concat(ql).concat(tab);
-
-		List lsClazz = new ArrayList();
-		List lsNameFd = new ArrayList();
-
-		if (clazz != null){
-			for (Field field : clazz.getClass().getDeclaredFields()) {
-				if (!field.isAnnotationPresent(Column.class) && !field.isAnnotationPresent(Id.class) &&
-						!field.isAnnotationPresent(ManyToOne.class)) {
-					continue;
-				}
-				
-				field.setAccessible(true);
-				
-				if (field.isAnnotationPresent(ManyToOne.class) && field.get(clazz) != null) {
-					lsNameFd.add(field.getName());
-					lsClazz.add(field.get(clazz));
-					continue;
-				}
-				
-	
-				if (!mainClass) {
-					ret += tab;
-				}
-	
-				ret += field.getName().concat(":");
-				
-				String fieldValue = null;
-				
-				if (field.getType().getSimpleName().equalsIgnoreCase("date") && field.get(clazz) != null) {
-					fieldValue = AuditControl.convertDateObjectToString(field.get(clazz));
-				} else {
-					fieldValue = (field.get(clazz) == null ? "null" : field.get(clazz)).toString();
-				}
-				
-				ret += fieldValue;
-				ret += ql.concat(tab);
-			}
-	
-			for (int i = 0; i < lsClazz.size(); i++) {
-				ret += lsNameFd.get(i).concat(tab.concat(":").concat(tab));
-				ret += formatJson(lsClazz.get(i), false);
-			}
-	
-			if (mainClass) {
-				ret += ql.concat(fim);
-			} else {
-				ret += ql.concat(tab.concat(fim).concat(",").concat(ql).concat(tab));
-			}
-		}
-		return ret;
-	}
-	
-	public static String convertDateObjectToString(Object dateObject) throws RuntimeException {
-		if (sdf == null) {
-			sdf = new SimpleDateFormat();
-			sdf.applyPattern("dd/MM/yyyy hh:mm:ss");
-		}
-		
-		if (dateObject.getClass().getName().contains("util")) {
-			Date date = (Date) dateObject;
-			return sdf.format(date);
-		}
-		
-		if (dateObject.getClass().getName().contains("sql")) {
-			java.sql.Date date = (java.sql.Date) dateObject;
-			return sdf.format(new Date(date.getTime()));
-		}
-		
-		throw new RuntimeException("Não foi possível realizar a conversão de data.\rClass: " + AuditControl.class.getName());
-	}
-
-	public String getCurrentActionService() {
-		return currentActionService;
-	}
-
-	public AuditService getCurrentService() {
-		return currentService;
-	}
-
-	public void setCurrentService(AuditService currentService) {
-		this.currentService = currentService;
-	}
-
-	public Boolean getCheckModuleAudit() {
-		return checkModuleAudit;
-	}
-
-	public void setCheckModuleAudit(Boolean checkModuleAudit) {
-		this.checkModuleAudit = checkModuleAudit;
-	}
-
-	public Boolean getAuditar() {
-		return auditar;
-	}
-
-	public void setAuditar(Boolean auditar) {
-		this.auditar = auditar;
-	}
-}
+package com.rjconsultores.ventaboletos.auditoria;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Type;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonParseException;
+import com.rjconsultores.ventaboletos.entidad.AuditService;
+
+public class AuditControl {
+	private String currentActionService;
+	private Boolean checkModuleAudit;
+	private AuditService currentService;
+	private Boolean auditar;
+	
+	private static Gson gson;
+	private static SimpleDateFormat sdf;
+
+	AuditControl(String currentActionService) {
+		this.currentActionService = currentActionService;
+	}
+
+	public static String toJson(Object object) throws IllegalArgumentException, IllegalAccessException, ParseException {
+		SimpleDateFormat sdf = new SimpleDateFormat();
+		sdf.applyPattern("dd/MM/yyyy hh:mm:ss");
+
+		StringBuilder json = new StringBuilder();
+		json.append("{");
+
+		List lsClazz = new ArrayList();
+		List lsFieldName = new ArrayList();
+
+		if (object != null){
+			for (Field field : object.getClass().getDeclaredFields()) {
+				if ((!field.isAnnotationPresent(Column.class) && !field.isAnnotationPresent(Id.class) &&
+						!field.isAnnotationPresent(ManyToOne.class)) || field.getType().getSimpleName().equalsIgnoreCase("byte[]")) {
+					continue;
+				}
+	
+				if (!field.isAnnotationPresent(ManyToOne.class)) {
+					if (json.length() > 1) {
+						json.append(",");
+					}
+	
+					json.append("\"".concat(field.getName().concat("\":")));
+				} else {
+					lsFieldName.add("\"".concat(field.getName().concat("\":")));
+				}
+	
+				field.setAccessible(true);
+	
+				if (field.getType().getName().contains("String") || field.getType().getName().contains("Date")) {
+					json.append("\"");
+	
+					Date date = null;
+	
+					if (field.getType().getName().equals("java.util.Date")) {
+						date = (java.util.Date) field.get(object);
+						json.append(date == null ? "null" : sdf.format(date));
+					} else if (field.getType().getName().equals("java.sql.Date")) {
+						date = (Date) field.get(object);
+						json.append(date == null ? "null" : sdf.format(date));
+					} else if (field.getType().getName().contains("String")) {
+						json.append((String) field.get(object));
+					}
+	
+					json.append("\"");
+	
+					continue;
+				}
+	
+				if (field.isAnnotationPresent(ManyToOne.class)) {
+					lsClazz.add(field.get(object));
+					continue;
+				}
+	
+				json.append(field.get(object) == null ? "null" : field.get(object).toString());
+			}
+		}
+		
+		for (int i = 0; i < lsClazz.size(); i++) {
+			json.append(",");
+
+			json.append(lsFieldName.get(i));
+			json.append(AuditControl.toJson(lsClazz.get(i)));
+		}
+
+		json.append("}");
+
+		return json.toString();
+	}
+
+	public static Gson getGson() {
+		if (AuditControl.gson == null) {
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.registerTypeAdapter(Date.class, new JsonDeserializer() {
+				DateFormat df = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
+
+				public Date deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context)
+						throws JsonParseException {
+					try {
+						return df.parse(json.getAsString());
+					} catch (ParseException e) {
+						return null;
+					}
+				}
+			});
+			gson = gsonBuilder.create();
+		}
+
+		return gson;
+	}
+
+	public static String formatJson(Object clazz, boolean mainClass) throws IllegalArgumentException, IllegalAccessException {
+		String init = "{";
+		String fim = "}";
+		String tab = "\t";
+		String ql = "\r";
+
+		String ret = init.concat(ql).concat(tab);
+
+		List lsClazz = new ArrayList();
+		List lsNameFd = new ArrayList();
+
+		if (clazz != null){
+			for (Field field : clazz.getClass().getDeclaredFields()) {
+				if (!field.isAnnotationPresent(Column.class) && !field.isAnnotationPresent(Id.class) &&
+						!field.isAnnotationPresent(ManyToOne.class)) {
+					continue;
+				}
+				
+				field.setAccessible(true);
+				
+				if (field.isAnnotationPresent(ManyToOne.class) && field.get(clazz) != null) {
+					lsNameFd.add(field.getName());
+					lsClazz.add(field.get(clazz));
+					continue;
+				}
+				
+	
+				if (!mainClass) {
+					ret += tab;
+				}
+	
+				ret += field.getName().concat(":");
+				
+				String fieldValue = null;
+				
+				if (field.getType().getSimpleName().equalsIgnoreCase("date") && field.get(clazz) != null) {
+					fieldValue = AuditControl.convertDateObjectToString(field.get(clazz));
+				} else {
+					fieldValue = (field.get(clazz) == null ? "null" : field.get(clazz)).toString();
+				}
+				
+				ret += fieldValue;
+				ret += ql.concat(tab);
+			}
+	
+			for (int i = 0; i < lsClazz.size(); i++) {
+				ret += lsNameFd.get(i).concat(tab.concat(":").concat(tab));
+				ret += formatJson(lsClazz.get(i), false);
+			}
+	
+			if (mainClass) {
+				ret += ql.concat(fim);
+			} else {
+				ret += ql.concat(tab.concat(fim).concat(",").concat(ql).concat(tab));
+			}
+		}
+		return ret;
+	}
+	
+	public static String convertDateObjectToString(Object dateObject) throws RuntimeException {
+		if (sdf == null) {
+			sdf = new SimpleDateFormat();
+			sdf.applyPattern("dd/MM/yyyy hh:mm:ss");
+		}
+		
+		if (dateObject.getClass().getName().contains("util")) {
+			Date date = (Date) dateObject;
+			return sdf.format(date);
+		}
+		
+		if (dateObject.getClass().getName().contains("sql")) {
+			java.sql.Date date = (java.sql.Date) dateObject;
+			return sdf.format(new Date(date.getTime()));
+		}
+		
+		throw new RuntimeException("Não foi possível realizar a conversão de data.\rClass: " + AuditControl.class.getName());
+	}
+
+	public String getCurrentActionService() {
+		return currentActionService;
+	}
+
+	public AuditService getCurrentService() {
+		return currentService;
+	}
+
+	public void setCurrentService(AuditService currentService) {
+		this.currentService = currentService;
+	}
+
+	public Boolean getCheckModuleAudit() {
+		return checkModuleAudit;
+	}
+
+	public void setCheckModuleAudit(Boolean checkModuleAudit) {
+		this.checkModuleAudit = checkModuleAudit;
+	}
+
+	public Boolean getAuditar() {
+		return auditar;
+	}
+
+	public void setAuditar(Boolean auditar) {
+		this.auditar = auditar;
+	}
+}
diff --git a/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java b/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java
index e7ffebb90..1bb7fd017 100644
--- a/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java
+++ b/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java
@@ -92,14 +92,14 @@ public class AuditInterceptor extends EmptyInterceptor {
 
 		try {
 			/**
-			 * Ignorado caso a entidade for de auditoria e se não for encontrado o módulo no banco
+			 * Ignorado caso a entidade for de auditoria e se não for encontrado o módulo no banco
 			 */
 			if (!(entity instanceof AuditLog)) {
 				AuditService service = AuditManager.getINSTANCE().getCurrentService();
 
 				if (!(entity instanceof AuditLog) && service != null && service.getModule() != null) {
 					/**
-					 * A auditoria não será realizada nos seguintes cenários: 1) Não for encontrado o serviço no banco de dados 2) O serviço for encontrado, porém não está habilitado para auditoria
+					 * A auditoria não será realizada nos seguintes cenários: 1) não for encontrado o serviço no banco de dados 2) O serviço for encontrado, porém não está habilitado para auditoria
 					 */
 					if (service.getModule().getIndAuditable()) {
 						AuditLog audit = new AuditLog();
@@ -162,7 +162,7 @@ public class AuditInterceptor extends EmptyInterceptor {
 		FuncionSistema funcionSistema = (FuncionSistema) criteriaFuncionSistema.uniqueResult();
 
 		if (funcionSistema == null) {
-			log.info("Função sistema " + funcionSistema + " não encontrada na base de dados.");
+			log.info("Função sistema " + funcionSistema + " não encontrada na base de dados.");
 			AuditManager.getINSTANCE().setCurrentService(auditService);
 			
 			return false;
diff --git a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java
index 87223ef07..ca8fcb59b 100644
--- a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java
+++ b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java
@@ -34,8 +34,8 @@ public class Constantes {
 	public static Long TPV_MANUAL = new Long(3);
 	public static Long TPV_CALL_CENTER = new Long(5);
 	public static Long TPV_BOLETO_REMOTO = new Long(18);
-	public static Long TPV_TRANSFERENCIAS = new Long(8); // é a troca de passagens
-	public static Long TPV_CAMBIO_VIAJE = new Long(81); // é a transferência de passagens
+	public static Long TPV_TRANSFERENCIAS = new Long(8); // é a troca de passagens
+	public static Long TPV_CAMBIO_VIAJE = new Long(81); // é a transferência de passagens
 	public static Long TPV_CHECKIN_VIAGEM = new Long(41); // chekin boletos
 	public static Long TPV_BOLETO_ABIERTO = new Long(9);
 	public static Long TPV_CONFIRMA_ABIERTO = new Long(82);
@@ -67,7 +67,7 @@ public class Constantes {
 	22	DETRO/RJ
 	10	DER/ES
 	25	Pref de Ibatiba
-	26	Pref de João Neiva
+	26	Pref de João Neiva
 	27	AGERBA
 	28	DER/RO
 	30  DETER
@@ -89,7 +89,7 @@ public class Constantes {
 	public static final int INTERVALO_FECHAMENTO_DECENDIAL = 10;
 	public static final int INTERVALO_FECHAMENTO_QUINZENAL = 15;
 	public static final int INTERVALO_FECHAMENTO_MENSAL = 30;
-	public static final int LIMITE_EVENTO_EXTRA_EDITAVEL = 99000;//TipoEventoExtra com id >= 99000 não são editáveis.
+	public static final int LIMITE_EVENTO_EXTRA_EDITAVEL = 99000;//TipoEventoExtra com id >= 99000 não são editáveis.
 	
 	public static final String DESCONTO_COMPONENTE_PRECO = "DESCONTO_COMPONENTE_PRECO";
 
diff --git a/src/com/rjconsultores/ventaboletos/dao/ConexionDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConexionDAO.java
index b08700487..cb13b4ac7 100644
--- a/src/com/rjconsultores/ventaboletos/dao/ConexionDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/ConexionDAO.java
@@ -8,7 +8,7 @@ import com.rjconsultores.ventaboletos.vo.conexion.ConexionVO;
 public interface ConexionDAO extends GenericDAO {
 
 	/**
-	 * Apaga os dados temporários das tabelas de conexion_temp e conexion_ctrl_temp
+	 * Apaga os dados temporários das tabelas de conexion_temp e conexion_ctrl_temp
 	 * 
 	 * @param usuarioId
 	 */
diff --git a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java
index 1240280ea..b2827d4b9 100644
--- a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java
@@ -28,7 +28,7 @@ public interface CorridaDAO extends GenericDAO {
 	/**
 	 * Indica si existe una corrida de acuerdo el id
 	 * 
-	 * No lleva en consideración el campo activo
+	 * No lleva en consideracion el campo activo
 	 * 
 	 * @param id
 	 * @param dataGeracao
@@ -53,7 +53,7 @@ public interface CorridaDAO extends GenericDAO {
 	public List buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs);
 
 	/**
-	 * Hace la b�squeda de corridas con distinct para: origen, destino, claseServicio,hora
+	 * Hace la busqueda de corridas con distinct para: origen, destino, claseServicio,hora
 	 * 
 	 * @param ori
 	 * @param des
diff --git a/src/com/rjconsultores/ventaboletos/dao/EmpresaImpostoDAO.java b/src/com/rjconsultores/ventaboletos/dao/EmpresaImpostoDAO.java
index 075617ee9..d0e6df060 100644
--- a/src/com/rjconsultores/ventaboletos/dao/EmpresaImpostoDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/EmpresaImpostoDAO.java
@@ -11,7 +11,7 @@ import com.rjconsultores.ventaboletos.entidad.EmpresaImposto;
 
 /**
  * 
- * @author Bruno H. G. Gouvêa 
+ * @author Bruno H. G. Gouvea 
  * 
  */
 public interface EmpresaImpostoDAO extends GenericDAO {
diff --git a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java
index 757901132..2622261ff 100644
--- a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java
@@ -56,7 +56,7 @@ public interface EsquemaCorridaDAO extends GenericDAO {
 	public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo);
 
 	/**
-	 * Indica cuál son los Id's de EsquemaCorrida que tienen la paradaId en su secuencia
+	 * Indica cul son los Id's de EsquemaCorrida que tienen la paradaId en su secuencia
 	 * 
 	 * @param ruta
 	 * @param paradaId
@@ -71,7 +71,7 @@ public interface EsquemaCorridaDAO extends GenericDAO {
 	public List buscaDentroVigenciaQtdeDiasNotNull(Date dataDe);
 
 	/**
-	 * Indica se o esquema é o indicado como segundo piso nas configuações de doble piso
+	 * Indica se o esquema é o indicado como segundo piso nas configuações de doble piso
 	 * 
 	 * @param esquemaCorrida
 	 * @return
diff --git a/src/com/rjconsultores/ventaboletos/dao/EstacionDAO.java b/src/com/rjconsultores/ventaboletos/dao/EstacionDAO.java
index 641aff86a..b7d4a039a 100644
--- a/src/com/rjconsultores/ventaboletos/dao/EstacionDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/EstacionDAO.java
@@ -24,7 +24,7 @@ public interface EstacionDAO extends GenericDAO {
 	public Estacion buscarPorIMEI(String imei);
 	
 	/**
-	 * Hace la búsqueda de las estciones ativas por el numCaja y puntoVenta
+	 * Hace la busqueda de las estciones ativas por el numCaja y puntoVenta
 	 * 
 	 * @param numCaja
 	 * @param puntoVenta
@@ -43,7 +43,7 @@ public interface EstacionDAO extends GenericDAO {
 	public List buscarEstacionesStockCentral(PuntoVenta puntoVenta);
 	
 	/**
-	 * Retorna a estação duplicada pelo MAC
+	 * Retorna a estação duplicada pelo MAC
 	 * @param descMac
 	 * @param estacionId
 	 * @return
diff --git a/src/com/rjconsultores/ventaboletos/dao/ExcepcionRedondoDAO.java b/src/com/rjconsultores/ventaboletos/dao/ExcepcionRedondoDAO.java
index 77826835c..020c15f33 100644
--- a/src/com/rjconsultores/ventaboletos/dao/ExcepcionRedondoDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/ExcepcionRedondoDAO.java
@@ -17,7 +17,7 @@ public interface ExcepcionRedondoDAO extends GenericDAO buscar(String indTipo, Parada origem, Parada destino);
     
     /**
-     * Hace la búsqueda de las excepcion activas por origen y destino.
+     * Hace la busqueda de las excepcion activas por origen y destino.
      * @param origem
      * @param destino
      * @return
diff --git a/src/com/rjconsultores/ventaboletos/dao/GrupoRutaDAO.java b/src/com/rjconsultores/ventaboletos/dao/GrupoRutaDAO.java
index 6449cc76e..f518c5b10 100644
--- a/src/com/rjconsultores/ventaboletos/dao/GrupoRutaDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/GrupoRutaDAO.java
@@ -10,7 +10,7 @@ import com.rjconsultores.ventaboletos.entidad.GrupoRuta;
 
 /**
  * 
- * @author Bruno H. G. Gouvêa 
+ * @author Bruno H. G. Gouvea 
  * 
  */
 public interface GrupoRutaDAO extends GenericDAO {
diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java
index 4becdc35e..6335880d8 100644
--- a/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java
@@ -53,7 +53,7 @@ public interface RutaCombinacionDAO extends GenericDAO
     public boolean buscarRutaCombinacionExisteTramo(Tramo tramo);
 
     /**
-     * Hace una b�squena en los tramos faltantes en la combinacion de la ruta informada
+     * Hace una busquena en los tramos faltantes en la combinacion de la ruta informada
      * @param rutaId
      * @return
      */
@@ -78,7 +78,7 @@ public interface RutaCombinacionDAO extends GenericDAO
     public List pesquisaTarifaOficialObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, List lsAddRmvEmpresas, List lsAddRmvRutas, List lsAddRmvVigenciaTarifa);
     
     /**
-     * Indica se existe alguma combinação ativa com o tramo informado
+     * Indica se existe alguma combinação ativa com o tramo informado
      * @param tramo
      * @return
      */
diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java
index 8d4355870..81309cdd2 100644
--- a/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/RutaSecuenciaDAO.java
@@ -22,7 +22,7 @@ public interface RutaSecuenciaDAO extends GenericDAO {
     public int borrarSecuencias(Ruta ruta);
     
     /**
-     * Hace la validación de la origen y destino dentro de la secuencia de la ruta. 
+ * Hace la validaciOn de la origen y destino dentro de la secuencia de la ruta.
* * La parada de origen no puede tener el numero de secuencia mayor o igual a la parada de destino
* @param ruta @@ -33,7 +33,7 @@ public interface RutaSecuenciaDAO extends GenericDAO { public boolean paradaSecuenciaValida(Ruta ruta, Parada origen,Parada destino); /** - * Devolver los números de secuencia de ruta en la raza, el origen y el destino. + * Devolver los números de secuencia de ruta en la raza, el origen y el destino. * * @param esquemaCorrida * @param origem @@ -45,7 +45,7 @@ public interface RutaSecuenciaDAO extends GenericDAO { public List obtenerNumRutaSecuenciaPorCorridaOrigemDestinoId(EsquemaCorrida esquemaCorrida, Integer origemId, Integer destinoId); /** - * Devolver los números de secuencia ocupada de ruta en la raza, el origen y el destino. + * Devolver los números de secuencia ocupada de ruta en la raza, el origen y el destino. * * @param esquemaCorrida * @param asiento diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaDAO.java index a9be378d0..0962464a6 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaDAO.java @@ -60,7 +60,7 @@ public interface TarifaDAO extends GenericDAO { /** * Lista as tarifas que tem a vigencia informada.
* - * Só é listado as tarifas ativas
+ * Só é listado as tarifas ativas
* * @param vigenciaTarifa * @return diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java index 27166d2a3..cb6cc466d 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java @@ -79,12 +79,12 @@ public interface TarifaOficialDAO extends GenericDAO { public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId, Integer usuarioId); /** - * Aplica a regra de arredondamento para as tarifas do �rg�o concedente informado.
+ * Aplica a regra de arredondamento para as tarifas do órgão concedente informado.
* * - * Ap�s somar todos os componentes (precio,importetaxaembarque,importeseguro,importeoutros e importepedagio) obtem-se o PRECO final.
+ * após somar todos os componentes (precio,importetaxaembarque,importeseguro,importeoutros e importepedagio) obtem-se o PRECO final.
* - * Baseado nesse valor, s�o aplicados as regras de arredondamento onde o componente precio pode sofrer um acr�scimo os descr�scimo de pre�o para que o arredondamento
+ * Baseado nesse valor, são aplicados as regras de arredondamento onde o componente precio pode sofrer um acréscimo os descréscimo de preço para que o arredondamento
* fique certo * * @param orgaoConcedenteId diff --git a/src/com/rjconsultores/ventaboletos/dao/TramoServicioDAO.java b/src/com/rjconsultores/ventaboletos/dao/TramoServicioDAO.java index b0abee51b..865fbc8c8 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TramoServicioDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TramoServicioDAO.java @@ -23,7 +23,7 @@ public interface TramoServicioDAO extends GenericDAO { public List buscarPorTramo(Tramo tramo, ClaseServicio clase); /** - * Hace la búsqueda del tramo tiempo activo de acuerdo los parametros. + * Hace la busqueda del tramo tiempo activo de acuerdo los parametros. * * El filtrado tambien se el tramo asociado es activo * @@ -36,7 +36,7 @@ public interface TramoServicioDAO extends GenericDAO { public TramoServicio buscar(Parada origen,Parada destino,Via via,ClaseServicio clase); /** - * Indica si existen tiempos para los trechos del esquemaCorrida. O sea, debe de haber para cada tramo del esquema un tramoServicio válido + * Indica si existen tiempos para los trechos del esquemaCorrida. O sea, debe de haber para cada tramo del esquema un tramoServicio válido * * @param esquemaCorridaId * @return diff --git a/src/com/rjconsultores/ventaboletos/dao/TramoTiempoDAO.java b/src/com/rjconsultores/ventaboletos/dao/TramoTiempoDAO.java index 5ff47c45e..16e996f53 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TramoTiempoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TramoTiempoDAO.java @@ -22,7 +22,7 @@ public interface TramoTiempoDAO extends GenericDAO { public List buscarPorTramo(Tramo tramo, ClaseServicio clase); /** - * Hace una búsqueda por los tramoTiempo activos, con la clase informado y + * Hace una busqueda por los tramoTiempo activos, con la clase informado y * donde traslapa feIni y fecFin con horainicio y horafin. * * @param tramo diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java index a1b0ae3e7..129fc32d1 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java @@ -1,1711 +1,1711 @@ -package com.rjconsultores.ventaboletos.dao.hibernate; - -import java.math.BigDecimal; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; -import org.hibernate.Query; -import org.hibernate.SessionFactory; -import org.hibernate.transform.AliasToBeanResultTransformer; -import org.hibernate.type.IntegerType; -import org.hibernate.type.StringType; -import org.hibernate.type.TimestampType; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.orm.hibernate3.support.HibernateDaoSupport; -import org.springframework.stereotype.Repository; - -import com.rjconsultores.ventaboletos.dao.BpeDAO; -import com.rjconsultores.ventaboletos.entidad.Constante; -import com.rjconsultores.ventaboletos.entidad.Estado; -import com.rjconsultores.ventaboletos.exception.BusinessException; -import com.rjconsultores.ventaboletos.service.ConstanteService; -import com.rjconsultores.ventaboletos.utilerias.DateUtil; -import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; -import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.ExportacaoBPEBase; -import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.ExportacaoBPEVo; -import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.ExportacaoBPEVo.TipoComp; -import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.xml.BPeUtil; -import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.DetalhadoFiscal; -import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.FiscalRdi; -import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.RdiValidacion; -import com.rjconsultores.ventaboletos.vo.bpe.BPeVO; -import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; -import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; - -import br.inf.portalfiscal.bpe.TBPe; - -@Repository("bpeDAO") -public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { - private static Logger log = Logger.getLogger(BpeHibernateDAO.class); - - private static final String DATE_FORMAT_DMY = "dd/MM/yyyy"; - - @Autowired - public BpeHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { - setSessionFactory(factory); - } - - @SuppressWarnings("deprecation") - @Override - public ExportacaoBPEVo buscarRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean consultaOtimizada, String codContPrevidencia) { - - log.info("Inicio da consulta buscarRegistroExportacaoBpe: " + new Date()); - - boolean isNoXml = isNoXml() && consultaOtimizada; - List registros = consultaRegistroExportacaoBpe(connection, inicio, fim, empresaId, cveestado, isNoXml); - - /* - * Bilhetes emitidos dentro do mes for cancelados apenas informar o cancelamento; Bilhetes emitidos em um mês e cancelados em outro mês, este deve ir apenas no relatório de devolução; - */ - LinkedHashMap mapAux = new LinkedHashMap(); - for (ExportacaoBPEBase expBPe : registros) { - expBPe.setIndContribuicaoPrevidenciaria(codContPrevidencia); - if (mapAux.containsKey(expBPe.getChbpe())) { - if (ExportacaoBPEVo.isBpeCancelado(expBPe.getCodstatus()) && !ExportacaoBPEVo.validaBPeCorridaAgrupada(expBPe)) - mapAux.put(expBPe.getChbpe(), expBPe); - } else { - if (!ExportacaoBPEVo.isBpeCancelado(expBPe.getCodstatus()) && !ExportacaoBPEVo.validaBPeCorridaAgrupada(expBPe)) - mapAux.put(expBPe.getChbpe(), expBPe); - } - } - - List listaRegistroBaseBPE = new ArrayList(); - - for (Map.Entry pair : mapAux.entrySet()) { - - if (isNoXml) { - listaRegistroBaseBPE.add(ExportacaoBPEVo.gerarListas(pair.getValue())); - } else { - listaRegistroBaseBPE.add(ExportacaoBPEVo.gerarListasXML(pair.getValue())); - } - } - - ExportacaoBPEVo resp = new ExportacaoBPEVo(); - resp.setListaRegistroBaseBPE(listaRegistroBaseBPE); - - log.info(" !!!! --- Fim preocesso da ExportacaoBpe: " + new Date()); - - return resp; - } - - private List consultaRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean isNoXml) { - List registros = new ArrayList(); - - String sql = null; - if (isNoXml) { - sql = queryNoXml(); - } else { - sql = queryXml(); - } - - try { - log.info("Consulta Exportacao Bpe: " + sql); - - PreparedStatement ps = connection.prepareStatement(sql); - ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_DMY) + " 00:00:00"); - ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_DMY) + " 23:59:59"); - ps.setLong(3, Long.valueOf(empresaId)); - ps.setString(4, cveestado); - - ps.setFetchSize(999); - ResultSet rs = ps.executeQuery(); - - while (rs.next()) { - BigDecimal valortributado = BigDecimal.ZERO; - BigDecimal valortotal = BigDecimal.ZERO; - - if (rs.getBigDecimal("valortributado") != null) { - valortributado = rs.getBigDecimal("valortributado"); - } - - if (rs.getBigDecimal("valortotal") != null) { - valortotal = rs.getBigDecimal("valortotal"); - } - - ExportacaoBPEBase registro = new ExportacaoBPEBase(); - registro.setBoletoId(rs.getLong("boleto_id")); - registro.setNumfoliosistema(rs.getString("numfoliosistema")); - registro.setvDesconto(rs.getBigDecimal("v_desconto")); - registro.setChbpe(rs.getString("chbpe")); - registro.setChbpeSub(rs.getString("chbpe_sub")); - registro.setDhrecbto(rs.getString("dhrecbto")); - registro.setDhEmisao(rs.getString("dh_emisao")); - registro.setTpBpe(rs.getString("tp_bpe")); - registro.setRetorno(rs.getString("retorno")); - registro.setNprot(rs.getString("nprot")); - registro.setNumBpe(rs.getString("num_bpe")); - registro.setNumSerieBpe(rs.getString("numserie_bpe")); - registro.setCodEstabelecimento(rs.getString("cod_estabelecimento")); - registro.setRedBaseCalcEstadual(rs.getBigDecimal("red_base_calc_estadual")); - registro.setRedBaseCalcMunicipal(rs.getBigDecimal("red_base_calc_municipal")); - registro.setPorcRedMunicipal(rs.getBigDecimal("porc_red_municipal")); - registro.setPorcRedEstadual(rs.getBigDecimal("porc_red_estadual")); - registro.setTributacaoImportacao(rs.getBigDecimal("tributacao_importacao")); - registro.setCodstatus(rs.getString("codstatus")); - registro.setTipoevento(rs.getString("tipoevento")); - registro.setCodigoContabilEstadual(rs.getString("codigocontabil_estadual")); - registro.setCodigocontabilMunicipal(rs.getString("codigocontabil_municipal")); - registro.setCrt(rs.getInt("crt")); - registro.setIndPedagioMunicipal(rs.getInt("indpedagiomunicipal") == 1); - registro.setIndSeguroMunicipal(rs.getInt("indseguromunicipal") == 1); - registro.setIndTarifaMunicipal(rs.getInt("indtarifamunicipal") == 1); - registro.setIndTxEmbarqueMunicipal(rs.getInt("indtxembarquemunicipal") == 1); - registro.setIndPedadioEstdual(rs.getInt("indpedagioestdual") == 1); - registro.setIndSeguroEstadual(rs.getInt("indseguroestadual") == 1); - registro.setIndTarifaEstadual(rs.getInt("indtarifaestadual") == 1); - registro.setIndTxEmbarqueEstadual(rs.getInt("indtxembarqueestadual") == 1); - registro.setDhrecbtoBPe(rs.getString("dhrecbto_bpe")); - registro.setActivoBPe(rs.getInt("activo_bpe") == 1); - registro.setMotivoCancelacionId(rs.getInt("motivocancelacion_id")); - registro.setValortributado(valortributado); - registro.setValortotal(valortotal); - - if (isNoXml) { - registro.setCmunini(rs.getString("cmunini")); - registro.setCmunfim(rs.getString("cmunfim")); - registro.setUfini(rs.getString("ufini")); - registro.setUffim(rs.getString("uffim")); - registro.setNbp(rs.getString("nbp")); - registro.setDhemb(rs.getString("dhemb")); - registro.setCst00(rs.getString("cst00")); - registro.setCst20(rs.getString("cst20")); - registro.setCst45(rs.getString("cst45")); - registro.setCst90(rs.getString("cst90")); - registro.setCstoutrauf(rs.getString("cstoutrauf")); - registro.setCstsn(rs.getString("cstsn")); - registro.setVbc00(rs.getString("vbc00")); - registro.setPicms00(rs.getString("picms00")); - registro.setVicms00(rs.getString("vicms00")); - registro.setVbc20(rs.getString("vbc20")); - registro.setPicms20(rs.getString("picms20")); - registro.setVicms20(rs.getString("vicms20")); - registro.setVbp(rs.getString("vbp")); - registro.setVdesconto(rs.getString("vdesconto")); - registro.setVpgto(rs.getString("vpgto")); - registro.setTpcomp01(rs.getString("tpcomp01")); - registro.setTpcomp02(rs.getString("tpcomp02")); - registro.setTpcomp03(rs.getString("tpcomp03")); - registro.setTpcomp04(rs.getString("tpcomp04")); - registro.setTpcomp05(rs.getString("tpcomp05")); - registro.setTpcomp06(rs.getString("tpcomp06")); - registro.setTpcomp99(rs.getString("tpcomp99")); - registro.setVcomp01(rs.getString("vcomp01")); - registro.setVcomp02(rs.getString("vcomp02")); - registro.setVcomp03(rs.getString("vcomp03")); - registro.setVcomp04(rs.getString("vcomp04")); - registro.setVcomp05(rs.getString("vcomp05")); - registro.setVcomp06(rs.getString("vcomp06")); - registro.setVcomp99(rs.getString("vcomp99")); - registro.setpRedBC(rs.getString("pRedBC")); - } else { - String xml_bpe = rs.getNString("xml_bpe"); - String xml_bpe_2 = rs.getNString("xml_bpe_2"); - String xml_bpe_3 = rs.getNString("xml_bpe_3"); - registro.setXml(StringUtils.join(new String[] { xml_bpe, xml_bpe_2, xml_bpe_3 })); - - } - - registros.add(registro); - } - - rs.close(); - ps.close(); - - } catch (Exception e) { - log.error(e.getMessage(), e); - } - - return registros; - } - - private boolean isNoXml() { - ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); - Constante contante = constanteService.buscarPorNomeConstante("IMPORT_BPE_NOXML"); - String valorConstante = contante == null ? null : contante.getValorconstante(); - - if (StringUtils.isBlank(valorConstante)) - return false; - else - return true; - } - - /** - * Pega aquery da exportação do BPe - * - * Para utilizar este modelo o cliente deve estar com a versão que contemple o mantis 15032 - * - * Deve ser inserido a constante IMPORT_BPE_NOXML, o file .sql esta no mantis 15005 - * - * @return nova query da exportação do BPe. - */ - private String queryNoXml() { - StringBuilder sql = new StringBuilder(); - sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); - sql.append(" c.boleto_id, "); - sql.append(" coalesce(c.num_bpe, c.numfoliosistema) as num_bpe, "); - sql.append(" c.numfoliosistema as numfoliosistema, "); - sql.append(" coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0) as valortotal, "); - sql.append(" bpe.codstat as codstatus, "); - sql.append(" bpe.tipoevento as tipoevento, "); - sql.append(" bpe.desconto as v_desconto, "); - sql.append(" bpe.chbpe, "); - sql.append(" coalesce(bpe.chbpe_substituicao, ' ') as chbpe_sub, "); - sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') as dhrecbto_bpe, "); - sql.append(" to_char(c.feccreacion, 'yyyymmdd') as dh_emisao, "); - sql.append(" to_char(c.fechorviaje, 'yyyymmdd') as dhrecbto, "); - sql.append(" coalesce(bpe.tiposubstituicao, '0') as tp_bpe, "); - sql.append(" bpe.retorno_id as retorno, "); - sql.append(" bpe.nprot, "); - sql.append(" coalesce(c.numserie_bpe, '1') as numserie_bpe, "); - sql.append(" c.categoria_id, "); - /** - * Mantis 18267 - */ - sql.append(" ei.codestabelecimento as cod_estabelecimento, "); - sql.append(" ep.crtbpe as crt, "); - sql.append(" ((case when coalesce(r.indtribtarifa,0) = 1 then c.preciopagado else 0 end) + (case when coalesce(r.indtribtaxaembarque,0) = 1 then c.importetaxaembarque else 0 end) + (case when coalesce(r.indtribpedagio,0) = 1 then c.importepedagio else 0 end)) as valortributado, "); - sql.append(" ei.porcredbaseicms as red_base_calc_estadual, "); - sql.append(" ei.porcredbaseicmsim as red_base_calc_municipal, "); - sql.append(" ei.porcredmunicipal as porc_red_municipal, "); - sql.append(" ei.porcredestadual as porc_red_estadual, "); - sql.append(" ei.tributacaoimportacao as tributacao_importacao, "); - sql.append(" ei.codigocontabilestadual as codigocontabil_estadual, "); - sql.append(" ei.codigocontabilmunicipal as codigocontabil_municipal, "); - sql.append(" coalesce(ei.indtarifamunicipal,0) as indtarifamunicipal, "); - sql.append(" coalesce(ei.indseguromunicipal,0) as indseguromunicipal, "); - sql.append(" coalesce(ei.indtxembarquemunicipal,0) as indtxembarquemunicipal, "); - sql.append(" coalesce(ei.indpedagiomunicipal,0) as indpedagiomunicipal, "); - sql.append(" coalesce(ei.indtarifaestadual,0) as indtarifaestadual,"); - sql.append(" coalesce(ei.indseguroestadual,0) as indseguroestadual, "); - sql.append(" coalesce(ei.indtxembarqueestadual,0) as indtxembarqueestadual, "); - sql.append(" coalesce(ei.indpedagioestdual,0) as indpedagioestdual, "); - sql.append(" bpe.cmunini, "); - sql.append(" bpe.cmunfim, "); - sql.append(" bpe.ufini, "); - sql.append(" bpe.uffim, "); - sql.append(" bpe.nbp, "); - sql.append(" bpe.dhemb, "); - sql.append(" bpe.cst00, "); - sql.append(" bpe.cst20, "); - sql.append(" bpe.cst45, "); - sql.append(" bpe.cst90, "); - sql.append(" bpe.cstoutrauf, "); - sql.append(" bpe.cstsn, "); - sql.append(" bpe.vbc00, "); - sql.append(" bpe.picms00, "); - sql.append(" bpe.vicms00, "); - sql.append(" bpe.vbc20, "); - sql.append(" bpe.picms20, "); - sql.append(" bpe.vicms20, "); - sql.append(" bpe.vbp, "); - sql.append(" bpe.vdesconto, "); - sql.append(" bpe.vpgto, "); - sql.append(" bpe.tpcomp01, "); - sql.append(" bpe.tpcomp02, "); - sql.append(" bpe.tpcomp03, "); - sql.append(" bpe.tpcomp04, "); - sql.append(" bpe.tpcomp05, "); - sql.append(" bpe.tpcomp06, "); - sql.append(" bpe.tpcomp99, "); - sql.append(" bpe.vcomp01, "); - sql.append(" bpe.vcomp02, "); - sql.append(" bpe.vcomp03, "); - sql.append(" bpe.vcomp04, "); - sql.append(" bpe.vcomp05, "); - sql.append(" bpe.vcomp06, "); - sql.append(" bpe.vcomp99, "); - sql.append(" bpe.pRedBC, "); - sql.append(" bpe.activo as activo_bpe, "); - sql.append(" c.motivocancelacion_id "); - sql.append("from boleto c "); - sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); - sql.append(" join estado e on e.codibge = bpe.uf "); - sql.append(" join marca ma on c.marca_id = ma.marca_id "); - sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); - sql.append(" join ruta r on r.ruta_id = c.ruta_id "); - sql.append(" inner join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id "); - sql.append("where c.activo = 1 and e.activo = 1 and ei.activo = 1 "); - sql.append(" and bpe.tipoamb = 1 and ep.activo = 1 "); - sql.append(" and bpe.codstat in ('-1','100','101','102','135','150') "); - sql.append(" and (bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); - sql.append(" and c.feccreacion >= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and c.feccreacion <= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and ep.empresa_id = ? "); - sql.append(" and e.cveestado = ? "); - // sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); - sql.append("order by to_number(c.numfoliosistema), to_number(num_bpe), dh_emisao, tipoevento desc "); - return sql.toString(); - } - - /** - * Este modelo de consulta que faz a busca do xml da tabela BPe deve ser evitado, por motivos de queda na performance da consulta e do processamento da converção do xml. - * - * Porem so devera ser utlizado novo modelo de exportação apos o cliente esta com a versão que contemple o mantis 15032 - * - * @deprecated use {@link queryNoXml()} instead. - */ - @Deprecated - private String queryXml() { - StringBuilder sql = new StringBuilder(); - sql.append("select "); - sql.append(" c.boleto_id, "); - sql.append(" coalesce(c.num_bpe, c.numfoliosistema) as num_bpe, "); - sql.append(" c.numfoliosistema as numfoliosistema, "); - sql.append(" coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0) as valortotal, "); - sql.append(" bpe.codstat as codstatus, "); - sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000) as xml_bpe, "); - sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 3001) as xml_bpe_2, "); - sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 6001) as xml_bpe_3, "); - sql.append(" bpe.tipoevento as tipoevento, "); - sql.append(" bpe.desconto as v_desconto, "); - sql.append(" bpe.chbpe, "); - sql.append(" coalesce(bpe.chbpe_substituicao, ' ') as chbpe_sub, "); - sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') as dhrecbto_bpe, "); - sql.append(" to_char(c.feccreacion, 'yyyymmdd') as dh_emisao, "); - sql.append(" to_char(c.fechorviaje, 'yyyymmdd') as dhrecbto, "); - sql.append(" coalesce(bpe.tiposubstituicao, '0') as tp_bpe, "); - sql.append(" bpe.retorno_id as retorno, "); - sql.append(" bpe.nprot, "); - sql.append(" coalesce(c.numserie_bpe, '1') as numserie_bpe, "); - sql.append(" c.categoria_id, "); - /** - * Mantis 18267 - */ - sql.append(" ei.codestabelecimento as cod_estabelecimento, "); - sql.append(" ep.crtbpe as crt, "); - sql.append(" ((case when coalesce(r.indtribtarifa,0) = 1 then c.preciopagado else 0 end) + (case when coalesce(r.indtribtaxaembarque,0) = 1 then c.importetaxaembarque else 0 end) + (case when coalesce(r.indtribpedagio,0) = 1 then c.importepedagio else 0 end)) as valortributado, "); - sql.append(" ei.porcredbaseicms as red_base_calc_estadual, "); - sql.append(" ei.porcredbaseicmsim as red_base_calc_municipal, "); - sql.append(" ei.porcredmunicipal as porc_red_municipal, "); - sql.append(" ei.porcredestadual as porc_red_estadual, "); - sql.append(" ei.tributacaoimportacao as tributacao_importacao, "); - sql.append(" ei.codigocontabilestadual as codigocontabil_estadual, "); - sql.append(" ei.codigocontabilmunicipal as codigocontabil_municipal, "); - sql.append(" coalesce(ei.indtarifamunicipal,0) as indtarifamunicipal, "); - sql.append(" coalesce(ei.indseguromunicipal,0) as indseguromunicipal, "); - sql.append(" coalesce(ei.indtxembarquemunicipal,0) as indtxembarquemunicipal, "); - sql.append(" coalesce(ei.indpedagiomunicipal,0) as indpedagiomunicipal, "); - sql.append(" coalesce(ei.indtarifaestadual,0) as indtarifaestadual,"); - sql.append(" coalesce(ei.indseguroestadual,0) as indseguroestadual, "); - sql.append(" coalesce(ei.indtxembarqueestadual,0) as indtxembarqueestadual, "); - sql.append(" coalesce(ei.indpedagioestdual,0) as indpedagioestdual, "); - sql.append(" bpe.activo as activo_bpe, "); - sql.append(" c.motivocancelacion_id "); - sql.append("from boleto c "); - sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); - sql.append(" join estado e on e.codibge = bpe.uf "); - sql.append(" join marca ma on c.marca_id = ma.marca_id "); - sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); - sql.append(" join ruta r on r.ruta_id = c.ruta_id "); - sql.append(" left join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id "); - sql.append("where c.activo = 1 and e.activo = 1 and ei.activo = 1 "); - sql.append(" and bpe.tipoamb = 1 and ep.activo = 1 "); - sql.append(" and bpe.codstat in ('-1','100','101','102','135','150') "); - sql.append(" and (bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); - sql.append(" and c.feccreacion >= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and c.feccreacion <= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and ep.empresa_id = ? "); - sql.append(" and e.cveestado = ? "); - sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); - sql.append("order by to_number(c.numfoliosistema), to_number(num_bpe), dh_emisao, tipoevento desc "); - return sql.toString(); - } - - @Override - public String buscarXmlBPE(Connection connection, String chBpe) { - - String xmlBpe = null; - StringBuilder sql = new StringBuilder(); - sql.append(" select distinct "); - sql.append(" DBMS_LOB.substr(bpe.xmlregular, 3000) as xml_bpe, "); - sql.append(" DBMS_LOB.substr(bpe.xmlregular, 3000, 3001) as xml_bpe_2, "); - sql.append(" DBMS_LOB.substr(bpe.xmlregular, 3000, 6001) as xml_bpe_3 "); - sql.append(" from bpe bpe "); - sql.append(" where bpe.activo = 1 "); - sql.append(" and bpe.tipoamb = 1 "); - sql.append(" and bpe.codstat in ('100','150') "); - sql.append(" and bpe.chbpe = ? "); - - try { - PreparedStatement ps = connection.prepareStatement(sql.toString()); - ps.setString(1, chBpe); - - ResultSet rs = ps.executeQuery(); - - while (rs.next()) { - String xml_bpe = rs.getNString("xml_bpe"); - String xml_bpe_2 = rs.getNString("xml_bpe_2"); - String xml_bpe_3 = rs.getNString("xml_bpe_3"); - xmlBpe = StringUtils.join(new String[] { xml_bpe, xml_bpe_2, xml_bpe_3 }); - } - - rs.close(); - ps.close(); - - } catch (Exception e) { - log.error(e.getMessage(), e); - } - return xmlBpe; - } - - @Override - public List buscarBpeRDI(Connection connection, Date inicio, Date fim, Integer empresaId, List estados, boolean isReceitaTerceiros, boolean consultaOtimizada) { - - String ufs = null; - for (Estado estado : estados) { - if (ufs == null) - ufs = "'" + estado.getCveestado() + "'"; - else - ufs = ufs + ",'" + estado.getCveestado() + "'"; - } - - List rdis = new ArrayList(); - - boolean isNoXML = isNoXml() && consultaOtimizada; - - if (isNoXML) { - StringBuilder sqlVendidos = new StringBuilder(); - sqlVendidos.append(sqlRelatorioRDIVendidosNoXML(ufs)); - - List listVendidos = montaRelatorioRDINoXML(connection, inicio, fim, empresaId, ufs, sqlVendidos.toString()); - List rdiVendidos = calcularRelatorioRDINoXML(listVendidos, isReceitaTerceiros); - rdis.addAll(rdiVendidos); - - StringBuilder sql = new StringBuilder(); - sql.append(sqlRelatorioRDICanceladosSubstituidosNoXML(ufs)); - sql.append(" UNION ALL "); - sql.append(sqlRelatorioRDICanceladosNoXML(ufs)); - - List listCancelados = montaRelatorioRDINoXML(connection, inicio, fim, empresaId, ufs, sql.toString()); - List rdiCancelados = calcularRelatorioRDINoXML(listCancelados, isReceitaTerceiros); - rdis.addAll(rdiCancelados); - - Collections.sort(rdis, new Comparator() { - @Override - public int compare(FiscalRdi m1, FiscalRdi m2) { - return m1.getEstado().compareTo(m2.getEstado()); - } - }); - } else { - - StringBuilder sql = new StringBuilder(); - sql.append(sqlRelatorioRDIVendidosXML(ufs)); - sql.append(" union all "); - sql.append(sqlRelatorioRDICanceladosXML(ufs)); - - List list = montaRelatorioRDIXML(connection, inicio, fim, empresaId, ufs, sql.toString()); - rdis.addAll(calcularRelatorioRDIXML(list, isReceitaTerceiros)); - } - - return agrupaRdi(rdis); - } - - private List agrupaRdi(List list) { - List aux = new ArrayList(); - - FiscalRdi rdi = null; - for (FiscalRdi detail : list) { - - FiscalRdi atual = new FiscalRdi(detail.getEstado(), detail.getTipoViagem(), detail.getTipoReceita()); - if (!aux.contains(atual)) { - rdi = new FiscalRdi(detail.getEstado(), detail.getTipoViagem(), detail.getTipoReceita()); - aux.add(rdi); - } - - int index = aux.indexOf(atual); - FiscalRdi agr = aux.get(index); - montarParametros(agr, detail); - aux.set(index, agr); - } - - List validacion = new ArrayList(); - for (FiscalRdi detail : aux) { - - RdiValidacion rv = new RdiValidacion(detail.getEstado()); - if (!validacion.contains(rv)) { - rv = new RdiValidacion(detail.getEstado()); - validacion.add(rv); - } - - int indice = validacion.indexOf(rv); - RdiValidacion rvAux = validacion.get(indice); - - if (detail.getTipoReceita().equals("REC") && detail.getTipoViagem().equals("IM")) - rvAux.setTemIMRec(true); - - if (detail.getTipoReceita().equals("DEV") && detail.getTipoViagem().equals("IM")) - rvAux.setTemIMDev(true); - - if (detail.getTipoReceita().equals("REC") && detail.getTipoViagem().equals("IE")) - rvAux.setTemIERec(true); - - if (detail.getTipoReceita().equals("DEV") && detail.getTipoViagem().equals("IE")) - rvAux.setTemIEDev(true); - - validacion.set(indice, rvAux); - } - - for (RdiValidacion val : validacion) { - - if (!val.isTemIMRec()) { - FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IM", "REC"); - aux.add(montarParametros(rdiAux, new FiscalRdi())); - } - - if (!val.isTemIMDev()) { - FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IM", "DEV"); - aux.add(montarParametros(rdiAux, new FiscalRdi())); - } - - if (!val.isTemIERec()) { - FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IE", "REC"); - aux.add(montarParametros(rdiAux, new FiscalRdi())); - } - - if (!val.isTemIEDev()) { - FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IE", "DEV"); - aux.add(montarParametros(rdiAux, new FiscalRdi())); - } - } - - Collections.sort(aux); - return aux; - } - - private FiscalRdi montarParametros(FiscalRdi agr, FiscalRdi detail) { - agr.setQuantBilhetes(MoneyHelper.somar(agr.getQuantBilhetes(), detail.getTarifa() == null ? BigDecimal.ZERO : BigDecimal.ONE)); - agr.setTarifa(agr.getTarifa().add(detail.getTarifa() == null ? BigDecimal.ZERO : detail.getTarifa())); - agr.setSeguro(MoneyHelper.somar(agr.getSeguro(), detail.getSeguro())); - agr.setTxEmbarque(MoneyHelper.somar(agr.getTxEmbarque(), detail.getTxEmbarque())); - agr.setPedagio(MoneyHelper.somar(agr.getPedagio(), detail.getPedagio())); - agr.setPassagem(MoneyHelper.somar(agr.getPassagem(), detail.getPassagem())); - agr.setIsentos(MoneyHelper.somar(agr.getIsentos(), detail.getIsentos())); - agr.setOutros(MoneyHelper.somar(agr.getOutros(), detail.getOutros())); - agr.setRbc(detail.getRbc() == null ? BigDecimal.ZERO : detail.getRbc()); - agr.setBaseCalculo(MoneyHelper.somar(agr.getBaseCalculo(), detail.getBaseCalculo())); - agr.setAliquota(detail.getAliquota() == null ? BigDecimal.ZERO : detail.getAliquota()); - agr.setIcms(MoneyHelper.somar(agr.getIcms(), detail.getIcms())); - agr.setCp(detail.getCp() == null ? BigDecimal.ZERO : detail.getCp()); - - BigDecimal credPres = agr.getIcms().multiply(agr.getCp()).divide(new BigDecimal("100")); - BigDecimal icmsRec = agr.getIcms().subtract(credPres); - - agr.setCredPres(credPres); - agr.setIcmsRec(icmsRec); - - return agr; - } - - private List calcularRelatorioRDINoXML(List list, boolean isReceitaTerceiros) { - - List rdis = new ArrayList(); - - /* - * Bilhetes emitidos dentro do mes for cancelados apenas informar o cancelamento; Bilhetes emitidos em um mês e cancelados em outro mês, este deve ir apenas no relatório de devolução; - */ - LinkedHashMap mapAux = new LinkedHashMap(); - for (DetalhadoFiscal det : list) { - if ("REC".equals(det.getTipoReceita())) { - if (mapAux.containsKey(det.getChbpe())) { - if (ExportacaoBPEVo.isBpeCancelado(det.getCodstatus())) { - // det.setTipoReceita("DEV"); - // mapAux.put(det.getChbpe(), det); - mapAux.remove(det.getChbpe()); - } - } else { - if (!ExportacaoBPEVo.isBpeCancelado(det.getCodstatus())) { - det.setTipoReceita("REC"); - mapAux.put(det.getChbpe(), det); - } - } - } else { - mapAux.put(det.getChbpe(), det); - } - } - - BigDecimal aliquotaAnt = null; - for (Map.Entry pair : mapAux.entrySet()) { - DetalhadoFiscal det = pair.getValue(); - - boolean isEstadual = det.isInterEstadual(); - String tipoViagem = isEstadual ? "IE" : "IM"; - - String vBC = null; - String pICMS = null; - String vICMS = null; - String pRedBC = null; - - if (StringUtils.isNotBlank(det.getPicms00())) { - vBC = det.getVbc00(); - pICMS = det.getPicms00(); - vICMS = det.getVicms00(); - } else if (StringUtils.isNotBlank(det.getPicms20())) { - vBC = det.getVbc20(); - pICMS = det.getPicms20(); - vICMS = det.getVicms20(); - pRedBC = det.getpRedBC(); - } - - String vDesconto = det.getVdesconto(); - String vPgto = det.getVpgto(); - BigDecimal passagem = new BigDecimal(vPgto == null ? "0.0" : vPgto); - - BigDecimal tarifa = new BigDecimal(det.getVcomp01() == null ? "0.0" : det.getVcomp01()); - tarifa = MoneyHelper.subtrair(tarifa, new BigDecimal(vDesconto == null ? "0.0" : vDesconto)); - - BigDecimal isentos = BigDecimal.ZERO; - - BigDecimal pedagio = isReceitaTerceiros ? new BigDecimal(det.getVcomp02() == null ? "0.0" : det.getVcomp02()) : BigDecimal.ZERO; - BigDecimal pedagioIsento = isEstadual && !det.getIndPedagioEstdual() ? pedagio : BigDecimal.ZERO; - if (pedagioIsento.compareTo(BigDecimal.ZERO) == 0) - pedagioIsento = !isEstadual && !det.getIndPedagioMunicipal() ? pedagio : BigDecimal.ZERO; - - BigDecimal taxaEmbarque = isReceitaTerceiros ? new BigDecimal(det.getVcomp03() == null ? "0.0" : det.getVcomp03()) : BigDecimal.ZERO; - BigDecimal taxaEmbarqueIsento = isEstadual && !det.getIndTxembarqueEstadual() ? taxaEmbarque : BigDecimal.ZERO; - if (taxaEmbarqueIsento.compareTo(BigDecimal.ZERO) == 0) - taxaEmbarqueIsento = !isEstadual && !det.getIndTxembarqueMunicipal() ? taxaEmbarque : BigDecimal.ZERO; - - BigDecimal seguro = isReceitaTerceiros ? new BigDecimal(det.getVcomp04() == null ? "0.0" : det.getVcomp04()) : BigDecimal.ZERO; - BigDecimal seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; - if (seguroIsento.compareTo(BigDecimal.ZERO) == 0) - seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; - - isentos = MoneyHelper.somar(isentos, pedagioIsento, taxaEmbarqueIsento, seguroIsento); - - BigDecimal aliquota = new BigDecimal(pICMS == null ? "0.0" : pICMS); - - aliquota = (aliquota.intValue() == 0 ? (aliquotaAnt == null ? aliquota : aliquotaAnt) : aliquota); - if (aliquota != null && aliquota.intValue() > 0) - aliquotaAnt = aliquota; - - BigDecimal icms = new BigDecimal(vICMS == null ? "0.0" : vICMS); - - BigDecimal cp = null; - if (isEstadual) { - cp = det.getPorcRedEstadual() == null ? BigDecimal.ZERO : det.getPorcRedEstadual(); - } else { - cp = det.getPorcRedMunicipal() == null ? BigDecimal.ZERO : det.getPorcRedMunicipal(); - } - - BigDecimal credPres = MoneyHelper.dividir(MoneyHelper.multiplicar(icms, cp), new BigDecimal("100")); - BigDecimal icmsRec = MoneyHelper.subtrair(icms, credPres); - BigDecimal vRedBC = new BigDecimal(pRedBC == null ? "0.0" : pRedBC); - - BigDecimal baseCalculo = new BigDecimal(vBC == null ? "0.0" : vBC); - BigDecimal outros = isentos.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : MoneyHelper.subtrair(passagem, MoneyHelper.subtrair(isentos, baseCalculo)); - if (pRedBC != null) { - outros = MoneyHelper.subtrair(passagem, baseCalculo); - outros = MoneyHelper.subtrair(outros, isentos); - } - - rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), tarifa, - seguro, taxaEmbarque, pedagio, passagem, isentos, outros, vRedBC, - baseCalculo, aliquota, icms, cp, credPres, icmsRec)); - } - - return rdis; - } - - private List montaRelatorioRDINoXML(Connection connection, Date inicio, Date fim, Integer empresaId, String ufs, String sql) { - - log.info("Inicio da consulta busca RelatorioRDI BPe: " + new Date()); - - List list = new ArrayList(); - try { - - log.info("Consulta RDI Bpe: " + sql); - - NamedParameterStatement ps = new NamedParameterStatement(connection, sql); - ps.setLong("EMPRESA_ID", Long.valueOf(empresaId)); - - ps.setString("DATE_INICIO", DateUtil.getStringDate(inicio, DATE_FORMAT_DMY) + " 00:00:00"); - ps.setString("DATE_FIM", DateUtil.getStringDate(fim, DATE_FORMAT_DMY) + " 23:59:59"); - ps.getStatement().setFetchSize(99999); - - ResultSet rs = ps.executeQuery(); - while (rs.next()) { - - DetalhadoFiscal df = new DetalhadoFiscal(); - - df.setCajaId(rs.getLong("cajaId")); - df.setTipoReceita(rs.getString("tipoReceita")); - df.setNumoperacion(rs.getString("numoperacion")); - df.setEstadoId(rs.getInt("estadoId")); - df.setFechorVenta(rs.getDate("fechorVenta")); - df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); - df.setIcmsIntermunicipal(rs.getBigDecimal("icmsIntermunicipal")); - df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); - df.setRedBaseCalcIcms(rs.getBigDecimal("redBaseCalcIcms")); - df.setPorcRedMunicipal(rs.getBigDecimal("porcRedMunicipal")); - df.setPorcRedEstadual(rs.getBigDecimal("porcRedEstadual")); - df.setTributacaoImportacao(rs.getBigDecimal("tributacaoImportacao")); - df.setIndTarifaMunicipal(rs.getBoolean("indtarifamunicipal")); - df.setIndSeguroMunicipal(rs.getBoolean("indseguromunicipal")); - df.setIndTxembarqueMunicipal(rs.getBoolean("indtxembarquemunicipal")); - df.setIndPedagioMunicipal(rs.getBoolean("indpedagiomunicipal")); - df.setIndTarifaEstadual(rs.getBoolean("indtarifaestadual")); - df.setIndSeguroEstadual(rs.getBoolean("indseguroestadual")); - df.setIndTxembarqueEstadual(rs.getBoolean("indtxembarqueestadual")); - df.setIndPedagioEstdual(rs.getBoolean("indpedagioestdual")); - df.setIsenta(rs.getBoolean("isenta")); - df.setTarifa(rs.getBigDecimal("tarifa")); - df.setTaxaEmbarque(rs.getBigDecimal("taxaEmbarque")); - df.setPedagio(rs.getBigDecimal("pedagio")); - df.setSeguro(rs.getBigDecimal("seguro")); - df.setOutros(rs.getBigDecimal("outros")); - df.setDatamov(rs.getString("datamov")); - df.setChbpe(rs.getString("chbpe")); - df.setCodstatus(rs.getString("codstatus")); - df.setCmunini(rs.getString("cmunini")); - df.setCmunfim(rs.getString("cmunfim")); - df.setUfini(rs.getString("ufini")); - df.setUffim(rs.getString("uffim")); - df.setNbp(rs.getString("nbp")); - df.setDhemb(rs.getString("dhemb")); - df.setCst00(rs.getString("cst00")); - df.setCst20(rs.getString("cst20")); - df.setCst45(rs.getString("cst45")); - df.setCst90(rs.getString("cst90")); - df.setCstoutrauf(rs.getString("cstoutrauf")); - df.setCstsn(rs.getString("cstsn")); - df.setVbc00(rs.getString("vbc00")); - df.setPicms00(rs.getString("picms00")); - df.setVicms00(rs.getString("vicms00")); - df.setVbc20(rs.getString("vbc20")); - df.setPicms20(rs.getString("picms20")); - df.setVicms20(rs.getString("vicms20")); - df.setVbp(rs.getString("vbp")); - df.setVdesconto(rs.getString("vdesconto")); - df.setVpgto(rs.getString("vpgto")); - df.setTpcomp01(rs.getString("tpcomp01")); - df.setTpcomp02(rs.getString("tpcomp02")); - df.setTpcomp03(rs.getString("tpcomp03")); - df.setTpcomp04(rs.getString("tpcomp04")); - df.setTpcomp05(rs.getString("tpcomp05")); - df.setTpcomp06(rs.getString("tpcomp06")); - df.setTpcomp99(rs.getString("tpcomp99")); - df.setVcomp01(rs.getString("vcomp01")); - df.setVcomp02(rs.getString("vcomp02")); - df.setVcomp03(rs.getString("vcomp03")); - df.setVcomp04(rs.getString("vcomp04")); - df.setVcomp05(rs.getString("vcomp05")); - df.setVcomp06(rs.getString("vcomp06")); - df.setVcomp99(rs.getString("vcomp99")); - df.setpRedBC(rs.getString("pRedBC")); - - String municipioOrigem = df.getCmunini(); - String estadoOrigem = (StringUtils.isNotBlank(df.getUfini()) ? df.getUfini() : rs.getString("estadoOrigem")); - String estadoDestino = df.getUffim(); - - boolean isInterEstadual = !estadoOrigem.equals(estadoDestino); - df.setEstadoOrigem(estadoOrigem); - df.setEstadoDestino(estadoDestino); - df.setMunicipioOrigem(municipioOrigem); - df.setInterEstadual(isInterEstadual); - - list.add(df); - } - - rs.close(); - ps.close(); - - } catch (SQLException e) { - log.error("", e); - } - - log.info("Fim da consulta busca RelatorioRDI BPe: " + new Date()); - - return list; - } - - private String sqlRelatorioRDIVendidosNoXML(String ufs) { - - StringBuilder sql = new StringBuilder(); - sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); - sql.append(" c.boleto_id as cajaId, "); - sql.append(" 'REC' as tipoReceita, "); - sql.append(" to_number(c.num_bpe) as num_bpe, "); - sql.append(" to_number(c.numfoliosistema) as numfoliosistema, "); - sql.append(" c.numoperacion as numoperacion, "); - sql.append(" trunc(c.feccreacion) as fechorVenta, "); - sql.append(" e.estado_id as estadoId, "); - sql.append(" e.cveestado as estadoOrigem, "); - sql.append(" ei.icms as icmsInterestadual, "); - sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" 0 as isenta, "); - sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); - sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); - sql.append(" ei.porcredestadual as porcRedEstadual, "); - sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); - sql.append(" ei.indseguromunicipal as indseguromunicipal, "); - sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); - sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); - sql.append(" ei.indtarifaestadual as indtarifaestadual, "); - sql.append(" ei.indseguroestadual as indseguroestadual, "); - sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); - sql.append(" ei.indpedagioestdual as indpedagioestdual, "); - sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); - sql.append(" coalesce(c.preciopagado, 0) as tarifa, "); - sql.append(" coalesce(c.importetaxaembarque, 0) as taxaEmbarque, "); - sql.append(" coalesce(c.importepedagio, 0) as pedagio, "); - sql.append(" coalesce(c.importeseguro, 0) as seguro, "); - sql.append(" coalesce(c.importeoutros, 0) as outros, "); - sql.append(" to_char(trunc(c.feccreacion), 'yyyymmdd') as datamov, "); - sql.append(" bpe.chbpe, "); - sql.append(" bpe.codstat as codstatus, "); - sql.append(" bpe.tipoevento, "); - sql.append(" bpe.cmunini, "); - sql.append(" bpe.cmunfim, "); - sql.append(" bpe.ufini, "); - sql.append(" bpe.uffim, "); - sql.append(" bpe.nbp, "); - sql.append(" bpe.dhemb, "); - sql.append(" bpe.cst00, "); - sql.append(" bpe.cst20, "); - sql.append(" bpe.cst45, "); - sql.append(" bpe.cst90, "); - sql.append(" bpe.cstoutrauf, "); - sql.append(" bpe.cstsn, "); - sql.append(" bpe.vbc00, "); - sql.append(" bpe.picms00, "); - sql.append(" bpe.vicms00, "); - sql.append(" bpe.vbc20, "); - sql.append(" bpe.picms20, "); - sql.append(" bpe.vicms20, "); - sql.append(" bpe.vbp, "); - sql.append(" bpe.vdesconto, "); - sql.append(" bpe.vpgto, "); - sql.append(" bpe.tpcomp01, "); - sql.append(" bpe.tpcomp02, "); - sql.append(" bpe.tpcomp03, "); - sql.append(" bpe.tpcomp04, "); - sql.append(" bpe.tpcomp05, "); - sql.append(" bpe.tpcomp06, "); - sql.append(" bpe.tpcomp99, "); - sql.append(" bpe.vcomp01, "); - sql.append(" bpe.vcomp02, "); - sql.append(" bpe.vcomp03, "); - sql.append(" bpe.vcomp04, "); - sql.append(" bpe.vcomp05, "); - sql.append(" bpe.vcomp06, "); - sql.append(" bpe.vcomp99, "); - sql.append(" bpe.pRedBC "); - sql.append("from boleto c "); - sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); - sql.append(" and bpe.activo = (case when TO_CHAR(c.feccreacion, 'yyyymmdd') <> "); - sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') then 0 else 1 end) "); - sql.append(" join estado e on e.codibge = bpe.uf "); - sql.append(" join marca ma on c.marca_id = ma.marca_id "); - sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); - sql.append(" join ruta r on r.ruta_id = c.ruta_id "); - sql.append(" left join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id and ei.activo = 1 "); - sql.append("where c.activo = 1 and e.activo = 1 and ei.activo = 1 "); - sql.append(" and bpe.tipoamb = 1 and ep.activo = 1 "); - sql.append(" and bpe.codstat in ('-1','100','101','102','135','150') "); - sql.append(" and (bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); - sql.append(" and c.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and c.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and ep.empresa_id = :EMPRESA_ID "); - sql.append(" and e.cveestado in ( ").append(ufs).append(" ) "); - sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); - sql.append("order by numfoliosistema, num_bpe, datamov, tipoevento desc "); - return sql.toString(); - - } - - private String sqlRelatorioRDICanceladosSubstituidosNoXML(String ufs) { - - StringBuilder sql = new StringBuilder(); - sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); - sql.append(" bori.boleto_id as cajaId, "); - sql.append(" 'DEV' as tipoReceita, "); - sql.append(" to_number(bori.num_bpe) as num_bpe, "); - sql.append(" to_number(bori.numfoliosistema) as numfoliosistema, "); - sql.append(" bori.numoperacion as numoperacion, "); - sql.append(" trunc(bori.feccreacion) as fechorVenta, "); - sql.append(" est_bpe.estado_id as estadoId, "); - sql.append(" est_bpe.cveestado as estadoOrigem, "); - sql.append(" ei.icms as icmsInterestadual, "); - sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" 0 as isenta, "); - sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); - sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); - sql.append(" ei.porcredestadual as porcRedEstadual, "); - sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); - sql.append(" ei.indseguromunicipal as indseguromunicipal, "); - sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); - sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); - sql.append(" ei.indtarifaestadual as indtarifaestadual, "); - sql.append(" ei.indseguroestadual as indseguroestadual, "); - sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); - sql.append(" ei.indpedagioestdual as indpedagioestdual, "); - sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); - sql.append(" coalesce(bori.preciopagado, 0) as tarifa, "); - sql.append(" coalesce(bori.importetaxaembarque, 0) as taxaEmbarque, "); - sql.append(" coalesce(bori.importepedagio, 0) as pedagio, "); - sql.append(" coalesce(bori.importeseguro, 0) as seguro, "); - sql.append(" coalesce(bori.importeoutros, 0) as outros, "); - sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); - sql.append(" bpeori.chbpe, "); - sql.append(" bpe.codstat as codstatus, "); - sql.append(" case when bpe.ufini is not null then bpe.cmunini else bpeori.cmunini end as cmunini, "); - sql.append(" case when bpe.ufini is not null then bpe.cmunfim else bpeori.cmunfim end as cmunfim, "); - sql.append(" case when bpe.ufini is not null then bpe.ufini else bpeori.ufini end as ufini, "); - sql.append(" case when bpe.ufini is not null then bpe.uffim else bpeori.uffim end as uffim, "); - sql.append(" case when bpe.ufini is not null then bpe.nbp else bpeori.nbp end as nbp, "); - sql.append(" case when bpe.ufini is not null then bpe.dhemb else bpeori.dhemb end as dhemb, "); - sql.append(" case when bpe.ufini is not null then bpe.cst00 else bpeori.cst00 end as cst00, "); - sql.append(" case when bpe.ufini is not null then bpe.cst20 else bpeori.cst20 end as cst20, "); - sql.append(" case when bpe.ufini is not null then bpe.cst45 else bpeori.cst45 end as cst45, "); - sql.append(" case when bpe.ufini is not null then bpe.cst90 else bpeori.cst90 end as cst90, "); - sql.append(" case when bpe.ufini is not null then bpe.cstoutrauf else bpeori.cstoutrauf end as cstoutrauf, "); - sql.append(" case when bpe.ufini is not null then bpe.cstsn else bpeori.cstsn end as cstsn, "); - sql.append(" case when bpe.ufini is not null then bpe.vbc00 else bpeori.vbc00 end as vbc00, "); - sql.append(" case when bpe.ufini is not null then bpe.picms00 else bpeori.picms00 end as picms00, "); - sql.append(" case when bpe.ufini is not null then bpe.vicms00 else bpeori.vicms00 end as vicms00, "); - sql.append(" case when bpe.ufini is not null then bpe.vbc20 else bpeori.vbc20 end as vbc20, "); - sql.append(" case when bpe.ufini is not null then bpe.picms20 else bpeori.picms20 end as picms20, "); - sql.append(" case when bpe.ufini is not null then bpe.vicms20 else bpeori.vicms20 end as vicms20, "); - sql.append(" case when bpe.ufini is not null then bpe.vbp else bpeori.vbp end as vbp, "); - sql.append(" case when bpe.ufini is not null then bpe.vdesconto else bpeori.vdesconto end as vdesconto, "); - sql.append(" case when bpe.ufini is not null then bpe.vpgto else bpeori.vpgto end as vpgto, "); - sql.append(" case when bpe.ufini is not null then bpe.tpcomp01 else bpeori.tpcomp01 end as tpcomp01, "); - sql.append(" case when bpe.ufini is not null then bpe.tpcomp02 else bpeori.tpcomp02 end as tpcomp02, "); - sql.append(" case when bpe.ufini is not null then bpe.tpcomp03 else bpeori.tpcomp03 end as tpcomp03, "); - sql.append(" case when bpe.ufini is not null then bpe.tpcomp04 else bpeori.tpcomp04 end as tpcomp04, "); - sql.append(" case when bpe.ufini is not null then bpe.tpcomp05 else bpeori.tpcomp05 end as tpcomp05, "); - sql.append(" case when bpe.ufini is not null then bpe.tpcomp06 else bpeori.tpcomp06 end as tpcomp06, "); - sql.append(" case when bpe.ufini is not null then bpe.tpcomp99 else bpeori.tpcomp99 end as tpcomp99, "); - sql.append(" case when bpe.ufini is not null then bpe.vcomp01 else bpeori.vcomp01 end as vcomp01, "); - sql.append(" case when bpe.ufini is not null then bpe.vcomp02 else bpeori.vcomp02 end as vcomp02, "); - sql.append(" case when bpe.ufini is not null then bpe.vcomp03 else bpeori.vcomp03 end as vcomp03, "); - sql.append(" case when bpe.ufini is not null then bpe.vcomp04 else bpeori.vcomp04 end as vcomp04, "); - sql.append(" case when bpe.ufini is not null then bpe.vcomp05 else bpeori.vcomp05 end as vcomp05, "); - sql.append(" case when bpe.ufini is not null then bpe.vcomp06 else bpeori.vcomp06 end as vcomp06, "); - sql.append(" case when bpe.ufini is not null then bpe.vcomp99 else bpeori.vcomp99 end as vcomp99, "); - sql.append(" case when bpe.ufini is not null then bpe.predbc else bpeori.predbc end as predbc "); - sql.append("from boleto bori "); - sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); - sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); - sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); - sql.append(" and bpe.activo = (case when TO_CHAR(bori.feccreacion, 'yyyymmdd') <> "); - sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') then 0 else 1 end) "); - sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); - sql.append(" left join bpe bpeori on bpeori.chbpe = bpe.chbpe_substituicao and bpeori.activo = 1 "); - sql.append(" left join boleto b on b.boleto_id = bpeori.boleto_id "); - sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = b.puntoventa_id "); - sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id and ie.estado_id = est_bpe.estado_id and ie.activo = 1 "); - sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id and ei.estado_id = est_bpe.estado_id and ei.activo = 1 "); - sql.append(" left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); - sql.append(" left join estado esaidf on esaidf.estado_id = aidf.estado_id "); - sql.append(" left join boleto bant on bant.boleto_id = (case when bpeori.tipoevento is not null then coalesce(b.boletoanterior_id, b.boletooriginal_id) else null end) "); - sql.append(" left join bpe bpeant on bpeant.boleto_id = bant.boleto_id and bpeant.activo = 1 "); - sql.append(" left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(bant.puntoventa_id, bori.puntoventa_id,b.ptovtaventa_id) "); - sql.append("where ( (bpe.codstat in ('-1','100','101','102','135','150') and bpe.chbpe_substituicao is not null) "); - sql.append(" or (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) ) "); - sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); - sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento not in ('110115','110116') or bpeori.tipoevento is null) "); - sql.append(" and bori.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and bori.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); - sql.append(" and e.empresa_id = :EMPRESA_ID "); - sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); - return sql.toString(); - - } - - private String sqlRelatorioRDICanceladosNoXML(String ufs) { - - StringBuilder sql = new StringBuilder(); - sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); - sql.append(" b.boleto_id as cajaId, "); - sql.append(" 'DEV' as tipoReceita, "); - sql.append(" to_number(b.num_bpe) as num_bpe, "); - sql.append(" to_number(b.numfoliosistema) as numfoliosistema, "); - sql.append(" b.numoperacion as numoperacion, "); - sql.append(" trunc(bori.feccreacion) as fechorVenta, "); - sql.append(" est_bpe.estado_id as estadoId, "); - sql.append(" est_bpe.cveestado as estadoOrigem, "); - sql.append(" ei.icms as icmsInterestadual, "); - sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" 0 as isenta, "); - sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); - sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); - sql.append(" ei.porcredestadual as porcRedEstadual, "); - sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); - sql.append(" ei.indseguromunicipal as indseguromunicipal, "); - sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); - sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); - sql.append(" ei.indtarifaestadual as indtarifaestadual, "); - sql.append(" ei.indseguroestadual as indseguroestadual, "); - sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); - sql.append(" ei.indpedagioestdual as indpedagioestdual, "); - sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); - sql.append(" coalesce(b.preciopagado, 0) as tarifa, "); - sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); - sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); - sql.append(" coalesce(b.importeseguro, 0) as seguro, "); - sql.append(" coalesce(b.importeoutros, 0) as outros, "); - sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); - sql.append(" bpe.chbpe, "); - sql.append(" bpe.codstat as codstatus, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cmunini else bpe.cmunini end as cmunini, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cmunfim else bpe.cmunfim end as cmunfim, "); - sql.append(" case when bpeori.ufini is not null then bpeori.ufini else bpe.ufini end as ufini, "); - sql.append(" case when bpeori.ufini is not null then bpeori.uffim else bpe.uffim end as uffim, "); - sql.append(" case when bpeori.ufini is not null then bpeori.nbp else bpe.nbp end as nbp, "); - sql.append(" case when bpeori.ufini is not null then bpeori.dhemb else bpe.dhemb end as dhemb, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cst00 else bpe.cst00 end as cst00, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cst20 else bpe.cst20 end as cst20, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cst45 else bpe.cst45 end as cst45, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cst90 else bpe.cst90 end as cst90, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cstoutrauf else bpe.cstoutrauf end as cstoutrauf, "); - sql.append(" case when bpeori.ufini is not null then bpeori.cstsn else bpe.cstsn end as cstsn, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vbc00 else bpe.vbc00 end as vbc00, "); - sql.append(" case when bpeori.ufini is not null then bpeori.picms00 else bpe.picms00 end as picms00, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vicms00 else bpe.vicms00 end as vicms00, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vbc20 else bpe.vbc20 end as vbc20, "); - sql.append(" case when bpeori.ufini is not null then bpeori.picms20 else bpe.picms20 end as picms20, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vicms20 else bpe.vicms20 end as vicms20, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vbp else bpe.vbp end as vbp, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vdesconto else bpe.vdesconto end as vdesconto, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vpgto else bpe.vpgto end as vpgto, "); - sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp01 else bpe.tpcomp01 end as tpcomp01, "); - sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp02 else bpe.tpcomp02 end as tpcomp02, "); - sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp03 else bpe.tpcomp03 end as tpcomp03, "); - sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp04 else bpe.tpcomp04 end as tpcomp04, "); - sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp05 else bpe.tpcomp05 end as tpcomp05, "); - sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp06 else bpe.tpcomp06 end as tpcomp06, "); - sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp99 else bpe.tpcomp99 end as tpcomp99, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vcomp01 else bpe.vcomp01 end as vcomp01, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vcomp02 else bpe.vcomp02 end as vcomp02, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vcomp03 else bpe.vcomp03 end as vcomp03, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vcomp04 else bpe.vcomp04 end as vcomp04, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vcomp05 else bpe.vcomp05 end as vcomp05, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vcomp06 else bpe.vcomp06 end as vcomp06, "); - sql.append(" case when bpeori.ufini is not null then bpeori.vcomp99 else bpe.vcomp99 end as vcomp99, "); - sql.append(" case when bpeori.ufini is not null then bpeori.predbc else bpe.predbc end as predbc "); - sql.append("from boleto bori "); - sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); - sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); - sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); - sql.append(" and bpe.activo = (case when TO_CHAR(bori.feccreacion, 'yyyymmdd') <> "); - sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') then 0 else 1 end) "); - sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); - sql.append(" left join boleto b on b.boleto_id = coalesce(bori.boletoanterior_id, bori.boletooriginal_id) "); - sql.append(" left join bpe bpeori on b.boleto_id = bpeori.boleto_id and bpeori.activo = 1 "); - sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = bori.puntoventa_id "); - sql.append("join inscricao_estadual ie on e.empresa_id = ie.empresa_id and ie.estado_id = est_bpe.estado_id and ie.activo = 1 "); - sql.append("join empresa_imposto ei on ei.empresa_id = e.empresa_id and ei.estado_id = est_bpe.estado_id and ei.activo = 1 "); - sql.append("left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); - sql.append("left join estado esaidf on esaidf.estado_id = aidf.estado_id "); - sql.append("left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(b.ptovtaventa_id, bori.puntoventa_id) "); - sql.append("where "); - sql.append(" (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) "); - sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); - sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento not in ('110115','110116') or bpeori.tipoevento is null) "); - sql.append(" and bori.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and bori.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); - sql.append(" and e.empresa_id = :EMPRESA_ID "); - sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); - - sql.append("order by numfoliosistema, num_bpe, datamov "); - - System.out.println(sql.toString()); - return sql.toString(); - } - - @Deprecated - private List calcularRelatorioRDIXML(List list, boolean isReceitaTerceiros) { - - List rdis = new ArrayList(); - - BigDecimal aliquotaAnt = null; - for (DetalhadoFiscal det : list) { - - String xml = det.getXml(); - - BigDecimal tarifa = BigDecimal.ZERO; - BigDecimal taxaEmbarque = BigDecimal.ZERO; - BigDecimal pedagio = BigDecimal.ZERO; - BigDecimal seguro = BigDecimal.ZERO; - BigDecimal passagem = BigDecimal.ZERO; - BigDecimal isentos = BigDecimal.ZERO; - - boolean isEstadual = det.isInterEstadual(); - String tipoViagem = isEstadual ? "IE" : "IM"; - - TBPe tbpe = null; - if (StringUtils.isNotBlank(xml)) - tbpe = BPeUtil.convertXmlToBpe(xml); - - String vBC = null; - String pICMS = null; - String vICMS = null; - String pRedBC = null; - - if (StringUtils.isNotBlank(xml)) { - if (tbpe.getInfBPe().getImp().getICMS().getICMS00() != null) { - vBC = tbpe.getInfBPe().getImp().getICMS().getICMS00().getVBC(); - pICMS = tbpe.getInfBPe().getImp().getICMS().getICMS00().getPICMS(); - vICMS = tbpe.getInfBPe().getImp().getICMS().getICMS00().getVICMS(); - } else if (tbpe.getInfBPe().getImp().getICMS().getICMS20() != null) { - vBC = tbpe.getInfBPe().getImp().getICMS().getICMS20().getVBC(); - pICMS = tbpe.getInfBPe().getImp().getICMS().getICMS20().getPICMS(); - vICMS = tbpe.getInfBPe().getImp().getICMS().getICMS20().getVICMS(); - pRedBC = tbpe.getInfBPe().getImp().getICMS().getICMS20().getPRedBC(); - } - - if (tbpe.getInfBPe().getInfValorBPe() != null) { - - String vPgto = tbpe.getInfBPe().getInfValorBPe().getVPgto(); - passagem = new BigDecimal(vPgto == null ? "0.0" : vPgto); - - for (TBPe.InfBPe.InfValorBPe.Comp comp : tbpe.getInfBPe().getInfValorBPe().getComp()) { - if (comp.getTpComp().equals(TipoComp.TARIFA)) { - String vDesconto = tbpe.getInfBPe().getInfValorBPe().getVDesconto(); - tarifa = new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()); - tarifa = tarifa.subtract(new BigDecimal(vDesconto == null ? "0.0" : vDesconto)); - } - - if (comp.getTpComp().equals(TipoComp.PEDAGIO)) { - pedagio = isReceitaTerceiros ? new BigDecimal(det.getVcomp02() == null ? "0.0" : det.getVcomp02()) : BigDecimal.ZERO; - BigDecimal pedagioIsento = isEstadual && !det.getIndPedagioEstdual() ? pedagio : BigDecimal.ZERO; - if (pedagioIsento.compareTo(BigDecimal.ZERO) == 0) - pedagioIsento = !isEstadual && !det.getIndPedagioMunicipal() ? pedagio : BigDecimal.ZERO; - - isentos = isentos.add(pedagioIsento); - } - - if (comp.getTpComp().equals(TipoComp.TAXA_EMBARQUE)) { - taxaEmbarque = isReceitaTerceiros ? new BigDecimal(det.getVcomp03() == null ? "0.0" : det.getVcomp03()) : BigDecimal.ZERO; - BigDecimal taxaEmbarqueIsento = isEstadual && !det.getIndTxembarqueEstadual() ? taxaEmbarque : BigDecimal.ZERO; - if (taxaEmbarqueIsento.compareTo(BigDecimal.ZERO) == 0) - taxaEmbarqueIsento = !isEstadual && !det.getIndTxembarqueMunicipal() ? taxaEmbarque : BigDecimal.ZERO; - - isentos = isentos.add(taxaEmbarqueIsento); - } - - if (comp.getTpComp().equals(TipoComp.SEGURO)) { - seguro = isReceitaTerceiros ? new BigDecimal(det.getVcomp04() == null ? "0.0" : det.getVcomp04()) : BigDecimal.ZERO; - BigDecimal seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; - if (seguroIsento.compareTo(BigDecimal.ZERO) == 0) - seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; - - isentos = isentos.add(seguroIsento); - } - } - } - } - - BigDecimal baseCalculo = new BigDecimal(vBC == null ? "0.0" : vBC); - - BigDecimal aliquota = new BigDecimal(pICMS == null ? "0.0" : pICMS); - aliquota = (aliquota.intValue() == 0 ? (aliquotaAnt == null ? aliquota : aliquotaAnt) : aliquota); - if (aliquota != null && aliquota.intValue() > 0) - aliquotaAnt = aliquota; - - BigDecimal icms = new BigDecimal(vICMS == null ? "0.0" : vICMS); - - BigDecimal cp = null; - if (isEstadual) { - cp = det.getPorcRedEstadual() == null ? BigDecimal.ZERO : det.getPorcRedEstadual(); - } else { - cp = det.getPorcRedMunicipal() == null ? BigDecimal.ZERO : det.getPorcRedMunicipal(); - } - - BigDecimal credPres = icms.multiply(cp.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); - BigDecimal icmsRec = icms.subtract(credPres); - BigDecimal vRedBC = det.getRedBaseCalcIcms(); - - BigDecimal outros = isentos.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : passagem.subtract(isentos).subtract(baseCalculo); - if (pRedBC != null) { - outros = passagem.subtract(baseCalculo); - outros = outros.subtract(isentos); - } - - rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), tarifa, - seguro, taxaEmbarque, pedagio, passagem, isentos, outros, vRedBC, - baseCalculo, aliquota, icms, cp, credPres, icmsRec)); - } - - return rdis; - } - - @Deprecated - private List montaRelatorioRDIXML(Connection connection, Date inicio, Date fim, Integer empresaId, String ufs, String sql) { - - List list = new ArrayList(); - try { - - NamedParameterStatement ps = new NamedParameterStatement(connection, sql); - ps.setLong("EMPRESA_ID", Long.valueOf(empresaId)); - - ps.setTimestamp("DATE_INICIO", new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); - ps.setTimestamp("DATE_FIM", new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); - - ResultSet rs = ps.executeQuery(); - while (rs.next()) { - - String xml_bpe = rs.getNString("xml_bpe"); - String xml_bpe_2 = rs.getNString("xml_bpe_2"); - String xml_bpe_3 = rs.getNString("xml_bpe_3"); - String xml = StringUtils.join(new String[] { xml_bpe, xml_bpe_2, xml_bpe_3 }); - - TBPe tbpe = null; - if (StringUtils.isNotBlank(xml)) - tbpe = BPeUtil.convertXmlToBpe(xml); - - DetalhadoFiscal df = new DetalhadoFiscal(); - df.setXml(xml); - - String municipioOrigem = StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getCMunIni() : rs.getString("municipioOrigem"); - String estadoOrigem = (StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getUFIni().value() : rs.getString("estadoOrigem")); - String estadoDestino = (StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getUFFim().value() : rs.getString("estadoDestino")); - - boolean isInterEstadual = !estadoOrigem.equals(estadoDestino); - df.setEstadoOrigem(estadoOrigem); - df.setEstadoDestino(estadoDestino); - df.setMunicipioOrigem(municipioOrigem); - df.setInterEstadual(isInterEstadual); - df.setCajaId(rs.getLong("cajaId")); - df.setTipoReceita(rs.getString("tipoReceita")); - df.setNumoperacion(rs.getString("numoperacion")); - df.setEstadoId(rs.getInt("estadoId")); - df.setFechorVenta(rs.getDate("fechorVenta")); - df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); - df.setIcmsIntermunicipal(rs.getBigDecimal("icmsIntermunicipal")); - df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); - df.setRedBaseCalcIcms(rs.getBigDecimal("redBaseCalcIcms")); - df.setPorcRedMunicipal(rs.getBigDecimal("porcRedMunicipal")); - df.setPorcRedEstadual(rs.getBigDecimal("porcRedEstadual")); - df.setTributacaoImportacao(rs.getBigDecimal("tributacaoImportacao")); - df.setIndTarifaMunicipal(rs.getBoolean("indtarifamunicipal")); - df.setIndSeguroMunicipal(rs.getBoolean("indseguromunicipal")); - df.setIndTxembarqueMunicipal(rs.getBoolean("indtxembarquemunicipal")); - df.setIndPedagioMunicipal(rs.getBoolean("indpedagiomunicipal")); - df.setIndTarifaEstadual(rs.getBoolean("indtarifaestadual")); - df.setIndSeguroEstadual(rs.getBoolean("indseguroestadual")); - df.setIndTxembarqueEstadual(rs.getBoolean("indtxembarqueestadual")); - df.setIndPedagioEstdual(rs.getBoolean("indpedagioestdual")); - df.setIsenta(rs.getBoolean("isenta")); - df.setTarifa(rs.getBigDecimal("tarifa")); - df.setTaxaEmbarque(rs.getBigDecimal("taxaEmbarque")); - df.setPedagio(rs.getBigDecimal("pedagio")); - df.setSeguro(rs.getBigDecimal("seguro")); - df.setOutros(rs.getBigDecimal("outros")); - df.setDatamov(rs.getString("datamov")); - list.add(df); - } - - rs.close(); - ps.close(); - - } catch (SQLException e) { - log.error("", e); - } - - return list; - } - - @Deprecated - private String sqlRelatorioRDIVendidosXML(String ufs) { - - StringBuilder sql = new StringBuilder(); - sql.append("select "); - sql.append(" c.boleto_id as cajaId, "); - sql.append(" 'REC' as tipoReceita, "); - sql.append(" c.numoperacion as numoperacion, "); - sql.append(" trunc(c.feccreacion) as fechorVenta, "); - sql.append(" e.estado_id as estadoId, "); - sql.append(" ei.icms as icmsInterestadual, "); - sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" e.cveestado as estadoOrigem, "); - sql.append(" ed.cveestado as estadoDestino, "); - sql.append(" co.codibge as municipioOrigem, "); - sql.append(" case when (e.cveestado = ed.cveestado) then 0 else 1 end as isInterEstadual, "); - sql.append(" 0 as isenta, "); - sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); - sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); - sql.append(" ei.porcredestadual as porcRedEstadual, "); - sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); - sql.append(" ei.indseguromunicipal as indseguromunicipal, "); - sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); - sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); - sql.append(" ei.indtarifaestadual as indtarifaestadual, "); - sql.append(" ei.indseguroestadual as indseguroestadual, "); - sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); - sql.append(" ei.indpedagioestdual as indpedagioestdual, "); - sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); - sql.append(" coalesce(c.preciopagado, 0) as tarifa, "); - sql.append(" coalesce(c.importetaxaembarque, 0) as taxaEmbarque, "); - sql.append(" coalesce(c.importepedagio, 0) as pedagio, "); - sql.append(" coalesce(c.importeseguro, 0) as seguro, "); - sql.append(" coalesce(c.importeoutros, 0) as outros, "); - sql.append(" to_char(trunc(c.feccreacion), 'yyyymmdd') as datamov, "); - sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000) as xml_bpe, "); - sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 3001) as xml_bpe_2, "); - sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 6001) as xml_bpe_3 "); - sql.append("from boleto c "); - sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); - sql.append(" and bpe.activo = (case when c.motivocancelacion_id = 17 and c.boletooriginal_id is null then 0 else 1 end) "); - sql.append(" left join bpe bpecan on bpecan.chbpe = bpe.chbpe and bpecan.codstat in ('101','135') and bpe.codstat = '100' "); - sql.append(" and (bpecan.tipoevento = '110111' or bpecan.tipoevento is null) and bpecan.activo = 1 "); - sql.append(" join estado e on e.codibge = bpe.uf "); - sql.append(" join marca ma on c.marca_id = ma.marca_id "); - sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); - sql.append(" join ruta r on r.ruta_id = c.ruta_id "); - sql.append(" left join alias_servico ase on ase.origen_id = c.origen_id "); - sql.append(" and ase.destino_id = c.destino_id and ase.ruta_id = c.ruta_id and ase.activo = 1 and ase.corrida_id is null and ase.activo = 1 "); - sql.append(" inner join parada o on coalesce(ase.aliasorigen_id, c.origen_id) = o.parada_id "); - sql.append(" inner join ciudad co on o.ciudad_id = co.ciudad_id "); - sql.append(" inner join estado eo on eo.estado_id = co.estado_id "); - sql.append(" inner join parada d on coalesce(ase.aliasdestino_id, c.destino_id) = d.parada_id "); - sql.append(" inner join ciudad cd on d.ciudad_id = cd.ciudad_id "); - sql.append(" inner join estado ed on ed.estado_id = cd.estado_id "); - sql.append(" left join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id and ei.activo = 1 "); - sql.append("where c.activo = 1 and bpe.tipoamb = 1 and bpe.codstat in ('-1','100','102','150') "); - sql.append(" and (bpe.fecmodif < (case when (to_char(bpe.fecmodif, 'mm/yyyy') <> to_char(bpecan.fecmodif, 'mm/yyyy') ) "); - sql.append(" then bpecan.fecmodif else bpe.fecmodif end) or bpecan.fecmodif is null) "); - sql.append(" and c.feccreacion >= :DATE_INICIO "); - sql.append(" and c.feccreacion <= :DATE_FIM "); - sql.append(" and ep.empresa_id = :EMPRESA_ID "); - sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); - sql.append(" and e.cveestado in ( ").append(ufs).append(" ) "); - - return sql.toString(); - } - - @Deprecated - private String sqlRelatorioRDICanceladosXML(String ufs) { - - StringBuilder sql = new StringBuilder(); - sql.append("select "); - sql.append(" b.boleto_id as cajaId, "); - sql.append(" 'DEV' as tipoReceita, "); - sql.append(" b.numoperacion as numoperacion, "); - sql.append(" trunc(bori.feccreacion) as fechorVenta, "); - sql.append(" est_bpe.estado_id as estadoId, "); - sql.append(" ei.icms as icmsInterestadual, "); - sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" est_bpe.cveestado as estadoOrigem, "); - sql.append(" eds.cveestado as estadoDestino, "); - sql.append(" co.codibge as municipioOrigem, "); - sql.append(" case when (est_bpe.cveestado = eds.cveestado) then 0 else 1 end as isInterEstadual, "); - sql.append(" 0 as isenta, "); - sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); - sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); - sql.append(" ei.porcredestadual as porcRedEstadual, "); - sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); - sql.append(" ei.indseguromunicipal as indseguromunicipal, "); - sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); - sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); - sql.append(" ei.indtarifaestadual as indtarifaestadual, "); - sql.append(" ei.indseguroestadual as indseguroestadual, "); - sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); - sql.append(" ei.indpedagioestdual as indpedagioestdual, "); - sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); - sql.append(" coalesce(b.preciopagado, 0) as tarifa, "); - sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); - sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); - sql.append(" coalesce(b.importeseguro, 0) as seguro, "); - sql.append(" coalesce(b.importeoutros, 0) as outros, "); - sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); - sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000) as xml_bpe, "); - sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 3001) as xml_bpe_2, "); - sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 6001) as xml_bpe_3 "); - sql.append("from boleto bori "); - sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); - sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); - sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); - sql.append(" and bpe.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); - sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); - sql.append(" left join bpe bpeori on bpeori.chbpe = bpe.chbpe_substituicao "); - sql.append(" and bpeori.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); - sql.append(" left join boleto b on b.boleto_id = bpeori.boleto_id "); - sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = b.puntoventa_id "); - sql.append(" inner join parada ori on (b.origen_id = ori.parada_id ) "); - sql.append(" inner join parada des on (b.destino_id = des.parada_id ) "); - sql.append(" inner join ciudad co on (co.ciudad_id = ori.ciudad_id ) "); - sql.append(" inner join ciudad cd on (cd.ciudad_id = des.ciudad_id ) "); - sql.append(" inner join estado est on est.estado_id = co.estado_id "); - sql.append(" left join alias_servico s on s.origen_id = b.origen_id "); - sql.append(" and s.destino_id = b.destino_id and (s.corrida_id = b.corrida_id or s.corrida_id is null) "); - sql.append(" and s.ruta_id = b.ruta_id "); - sql.append(" left join parada pos on pos.parada_id = s.aliasorigen_id "); - sql.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id "); - sql.append(" left join estado eos on eos.estado_id = cos.estado_id "); - sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id "); - sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); - sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); - sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); - sql.append(" and ie.estado_id = coalesce(eos.estado_id, est.estado_id) and ie.activo = 1 "); - sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id "); - sql.append(" and ei.estado_id = coalesce(eos.estado_id, est.estado_id) and ei.activo = 1 "); - sql.append(" left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); - sql.append(" left join estado esaidf on esaidf.estado_id = aidf.estado_id "); - sql.append(" left join boleto bant on bant.boleto_id = (case when bpeori.tipoevento is not null then coalesce(b.boletoanterior_id, b.boletooriginal_id) else null end) "); - sql.append(" left join bpe bpeant on bpeant.boleto_id = bant.boleto_id "); - sql.append(" left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(bant.puntoventa_id, bori.puntoventa_id,b.ptovtaventa_id) "); - sql.append("where ( (bpe.codstat in ('-1','100','101','102','135','150') and bpe.chbpe_substituicao is not null) "); - sql.append(" or (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) ) "); - sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento <> '110115' or bpe.tipoevento is null) "); - sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento <> '110115' or bpeori.tipoevento is null) "); - sql.append(" and bori.feccreacion >= :DATE_INICIO "); - sql.append(" and bori.feccreacion <= :DATE_FIM "); - sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); - sql.append(" and e.empresa_id = :EMPRESA_ID "); - sql.append(" "); - sql.append(" union all "); - sql.append(" "); - sql.append("select "); - sql.append(" b.boleto_id as cajaId, "); - sql.append(" 'DEV' as tipoReceita, "); - sql.append(" b.numoperacion as numoperacion, "); - sql.append(" trunc(bori.feccreacion) as fechorVenta, "); - sql.append(" est_bpe.estado_id as estadoId, "); - sql.append(" ei.icms as icmsInterestadual, "); - sql.append(" ei.icmsim as icmsIntermunicipal, "); - sql.append(" est_bpe.cveestado as estadoOrigem, "); - sql.append(" eds.cveestado as estadoDestino, "); - sql.append(" co.codibge as municipioOrigem, "); - sql.append(" case when (est_bpe.cveestado = eds.cveestado) then 0 else 1 end as isInterEstadual, "); - sql.append(" 0 as isenta, "); - sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); - sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); - sql.append(" ei.porcredestadual as porcRedEstadual, "); - sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); - sql.append(" ei.indseguromunicipal as indseguromunicipal, "); - sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); - sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); - sql.append(" ei.indtarifaestadual as indtarifaestadual, "); - sql.append(" ei.indseguroestadual as indseguroestadual, "); - sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); - sql.append(" ei.indpedagioestdual as indpedagioestdual, "); - sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); - sql.append(" coalesce(b.preciopagado, 0) as tarifa, "); - sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); - sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); - sql.append(" coalesce(b.importeseguro, 0) as seguro, "); - sql.append(" coalesce(b.importeoutros, 0) as outros, "); - sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); - sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000) as xml_bpe, "); - sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 3001) as xml_bpe_2, "); - sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 6001) as xml_bpe_3 "); - sql.append("from boleto bori "); - sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); - sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); - sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); - sql.append(" and bpe.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); - sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); - sql.append(" left join boleto b on b.boleto_id = (case when bori.motivocancelacion_id = 99 then bori.boletoanterior_id else bori.boletooriginal_id end) "); - sql.append(" left join bpe bpeori on b.boleto_id = bpeori.boleto_id "); - sql.append(" and bpeori.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); - sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = bori.puntoventa_id "); - sql.append(" inner join parada ori on (b.origen_id = ori.parada_id ) "); - sql.append(" inner join parada des on (b.destino_id = des.parada_id ) "); - sql.append(" inner join ciudad co on (co.ciudad_id = ori.ciudad_id ) "); - sql.append(" inner join ciudad cd on (cd.ciudad_id = des.ciudad_id ) "); - sql.append(" inner join estado est on est.estado_id = co.estado_id "); - sql.append("left join alias_servico s on s.origen_id = b.origen_id "); - sql.append(" and s.destino_id = b.destino_id and (s.corrida_id = b.corrida_id or s.corrida_id is null) "); - sql.append(" and s.ruta_id = b.ruta_id and s.activo = 1 "); - sql.append("left join parada pos on pos.parada_id = s.aliasorigen_id "); - sql.append("left join ciudad cos on cos.ciudad_id = pos.ciudad_id "); - sql.append("left join estado eos on eos.estado_id = cos.estado_id "); - sql.append("left join parada pds on pds.parada_id = s.aliasdestino_id "); - sql.append("left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); - sql.append("left join estado eds on eds.estado_id = cds.estado_id "); - sql.append("join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); - sql.append(" and ie.estado_id = coalesce(eos.estado_id, est.estado_id) and ie.activo = 1 "); - sql.append("join empresa_imposto ei on ei.empresa_id = e.empresa_id "); - sql.append(" and ei.estado_id = coalesce(eos.estado_id, est.estado_id) and ei.activo = 1 "); - sql.append("left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); - sql.append("left join estado esaidf on esaidf.estado_id = aidf.estado_id "); - sql.append("left join boleto bant on bant.boleto_id = (case when bpeori.tipoevento is not null then coalesce(b.boletoanterior_id, b.boletooriginal_id) else null end) "); - sql.append("left join bpe bpeant on bpeant.boleto_id = bant.boleto_id "); - sql.append(" and bpeant.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); - sql.append("left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(bant.puntoventa_id, bori.puntoventa_id,b.ptovtaventa_id) "); - sql.append("where "); - sql.append(" (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) "); - sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento <> '110115' or bpe.tipoevento is null) "); - sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento <> '110115' or bpeori.tipoevento is null) "); - sql.append(" and bori.feccreacion >= :DATE_INICIO "); - sql.append(" and bori.feccreacion <= :DATE_FIM "); - sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); - sql.append(" and e.empresa_id = :EMPRESA_ID "); - - sql.append("order by estadoId, isInterEstadual "); - - return sql.toString(); - } - - @Override - public List buscarBPeRejeitadosContingencia(Integer empresaId, String numBpe, String chbpe, Date dtVendaInicio, Date dtVendaFim, List estados, List codigosRejeicoes) { - StringBuilder sQuery = new StringBuilder(); - sQuery.append("select bpe.bpe_id bpeId, bpe.codstat, bpe.chbpe, b.num_bpe numBpe, b.numserie_bpe numserieBpe, e.cveestado uf, bpe.motivo, ") - .append("bpe.errocontingencia, b.fechorventa, em.nombempresa ") - .append("from bpe bpe ") - .append("join boleto b on b.boleto_id = bpe.boleto_id ") - .append("join marca m on m.marca_id = b.marca_id ") - .append("left join estado e on e.codibge = bpe.uf ") - .append("join empresa em on em.empresa_id = m.empresa_id ") - .append("where bpe.activo = 1 ") - .append("and b.activo = 1 ") - .append("and bpe.codstat in ('-10','-20') "); - - if(empresaId != null) { - sQuery.append("and m.empresa_id = :empresaId "); - } - if(StringUtils.isNotBlank(numBpe)) { - sQuery.append("and b.num_bpe = :numBpe "); - } - if(StringUtils.isNotBlank(chbpe)) { - sQuery.append("and bpe.chbpe = :chbpe "); - } - if(dtVendaInicio != null && dtVendaFim != null) { - sQuery.append("and b.fechorventa between to_date(:dtVendaInicio,'dd/mm/yyyy hh24:mi') and to_date(:dtVendaFim,'dd/mm/yyyy hh24:mi') "); - } - if(estados != null && !estados.isEmpty()) { - sQuery.append("and e.estado_id in (:estados) "); - } - if(codigosRejeicoes != null && !codigosRejeicoes.isEmpty()) { - sQuery.append("and substr(bpe.errocontingencia,1,3) in (:codigosRejeicoes) "); - } - - Query qr = getSession().createSQLQuery(sQuery.toString()) - .addScalar("bpeId", IntegerType.INSTANCE) - .addScalar("codstat", StringType.INSTANCE) - .addScalar("chbpe", StringType.INSTANCE) - .addScalar("numBpe", StringType.INSTANCE) - .addScalar("numserieBpe", StringType.INSTANCE) - .addScalar("uf", StringType.INSTANCE) - .addScalar("motivo", StringType.INSTANCE) - .addScalar("errocontingencia", StringType.INSTANCE) - .addScalar("fechorventa", TimestampType.INSTANCE) - .addScalar("nombempresa", StringType.INSTANCE) - .setResultTransformer(new AliasToBeanResultTransformer(BPeVO.class)); - if(empresaId != null) { - qr.setParameter("empresaId", empresaId); - } - if(StringUtils.isNotBlank(numBpe)) { - qr.setParameter("numBpe", numBpe); - } - if(StringUtils.isNotBlank(chbpe)) { - qr.setParameter("chbpe", chbpe); - } - if(dtVendaInicio != null && dtVendaFim != null) { - qr.setParameter("dtVendaInicio", DateUtil.getStringDate(DateUtil.inicioFecha(dtVendaInicio), "dd/MM/yyyy HH:mm")); - qr.setParameter("dtVendaFim", DateUtil.getStringDate(DateUtil.fimFecha(dtVendaFim), "dd/MM/yyyy HH:mm")); - } - if(estados != null && !estados.isEmpty()) { - qr.setParameterList("estados", estados); - } - if(codigosRejeicoes != null && !codigosRejeicoes.isEmpty()) { - qr.setParameterList("codigosRejeicoes", codigosRejeicoes); - } - - return qr.list(); - } - - @Override - public void definirBPeRejeitadoSefazReenvio(Integer bpeId, String codstat) throws BusinessException { - String codstatUpdate = null; - if("-10".equals(codstat)) { - codstatUpdate = "-1"; - } else if("-20".equals(codstat)) { - codstatUpdate = "-2"; - } - - if(codstatUpdate == null || bpeId == null) { - throw new BusinessException("Não foi possível atualizar o BPe selecionado"); - } - - try { - Query qr = getSession().createSQLQuery("update bpe set codstat = :codstatUpdate, xmlregular = null, fecmodif = :dataAtual, usuario_id = :usuarioId where bpe_id = :bpeId"); - qr.setParameter("codstatUpdate", codstatUpdate); - qr.setParameter("bpeId", bpeId); - qr.setParameter("dataAtual", new Date()); - qr.setParameter("usuarioId", UsuarioLogado.getUsuarioLogado().getUsuarioId()); - qr.executeUpdate(); - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new BusinessException(e.getMessage(), e); - } - } - - @Override - public List buscarBPeVendaEEventosAutorizados(Integer empresaId, Date dtVendaInicio, Date dtVendaFim, Integer estadoId) { - StringBuilder sQuery = new StringBuilder(); - sQuery.append("select bpe.chbpe, bpe.tipoevento, b.num_bpe numBpe, b.numserie_bpe numserieBpe, b.fechorventa, ") - .append("case when bpe.xmlcontingencia is not null and bpe.indcontingencia = 1 then bpe.xmlcontingencia else bpe.xmlregular end xmlEnvio, ") - .append("bpe.xmlresposta xmlResposta ") - .append("from bpe bpe ") - .append("join boleto b on b.boleto_id = bpe.boleto_id ") - .append("join marca m on m.marca_id = b.marca_id ") - .append("left join estado e on e.codibge = bpe.uf ") - .append("where bpe.activo = 1 ") - .append("and bpe.tipoamb = :tipoamb ") - .append("and bpe.codstat in ('100','101','102','135','150') "); - - if(empresaId != null) { - sQuery.append("and m.empresa_id = :empresaId "); - } - if(dtVendaInicio != null && dtVendaFim != null) { - sQuery.append("and b.fechorventa between to_date(:dtVendaInicio,'dd/mm/yyyy hh24:mi') and to_date(:dtVendaFim,'dd/mm/yyyy hh24:mi') "); - } - if(estadoId != null) { - sQuery.append("and e.estado_id = :estadoId "); - } - - Query qr = getSession().createSQLQuery(sQuery.toString()) - .addScalar("chbpe", StringType.INSTANCE) - .addScalar("tipoevento", StringType.INSTANCE) - .addScalar("chbpe", StringType.INSTANCE) - .addScalar("numBpe", StringType.INSTANCE) - .addScalar("numserieBpe", StringType.INSTANCE) - .addScalar("xmlEnvio", StringType.INSTANCE) - .addScalar("xmlResposta", StringType.INSTANCE) - .addScalar("fechorventa", TimestampType.INSTANCE) - .setResultTransformer(new AliasToBeanResultTransformer(BPeVO.class)); - - qr.setParameter("tipoamb", getAmbiente()); - if(empresaId != null) { - qr.setParameter("empresaId", empresaId); - } - if(dtVendaInicio != null && dtVendaFim != null) { - qr.setParameter("dtVendaInicio", DateUtil.getStringDate(DateUtil.inicioFecha(dtVendaInicio), "dd/MM/yyyy HH:mm")); - qr.setParameter("dtVendaFim", DateUtil.getStringDate(DateUtil.fimFecha(dtVendaFim), "dd/MM/yyyy HH:mm")); - } - if(estadoId != null) { - qr.setParameter("estadoId", estadoId); - } - - return qr.list(); - } - - public String getAmbiente() { - ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); - Constante contante = constanteService.buscarPorNomeConstante("BPE_AMBIENTE"); - String valorConstante = contante == null ? null : contante.getValorconstante(); - if(valorConstante != null) { - return valorConstante; - } - return "1"; - } - +package com.rjconsultores.ventaboletos.dao.hibernate; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.hibernate.Query; +import org.hibernate.SessionFactory; +import org.hibernate.transform.AliasToBeanResultTransformer; +import org.hibernate.type.IntegerType; +import org.hibernate.type.StringType; +import org.hibernate.type.TimestampType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.orm.hibernate3.support.HibernateDaoSupport; +import org.springframework.stereotype.Repository; + +import com.rjconsultores.ventaboletos.dao.BpeDAO; +import com.rjconsultores.ventaboletos.entidad.Constante; +import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.ConstanteService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.ExportacaoBPEBase; +import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.ExportacaoBPEVo; +import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.ExportacaoBPEVo.TipoComp; +import com.rjconsultores.ventaboletos.utilerias.exportacao.bpe.xml.BPeUtil; +import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.DetalhadoFiscal; +import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.FiscalRdi; +import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.RdiValidacion; +import com.rjconsultores.ventaboletos.vo.bpe.BPeVO; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +import br.inf.portalfiscal.bpe.TBPe; + +@Repository("bpeDAO") +public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { + private static Logger log = Logger.getLogger(BpeHibernateDAO.class); + + private static final String DATE_FORMAT_DMY = "dd/MM/yyyy"; + + @Autowired + public BpeHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @SuppressWarnings("deprecation") + @Override + public ExportacaoBPEVo buscarRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean consultaOtimizada, String codContPrevidencia) { + + log.info("Inicio da consulta buscarRegistroExportacaoBpe: " + new Date()); + + boolean isNoXml = isNoXml() && consultaOtimizada; + List registros = consultaRegistroExportacaoBpe(connection, inicio, fim, empresaId, cveestado, isNoXml); + + /* + * Bilhetes emitidos dentro do mes for cancelados apenas informar o cancelamento; Bilhetes emitidos em um mês e cancelados em outro mês, este deve ir apenas no relatório de devolução; + */ + LinkedHashMap mapAux = new LinkedHashMap(); + for (ExportacaoBPEBase expBPe : registros) { + expBPe.setIndContribuicaoPrevidenciaria(codContPrevidencia); + if (mapAux.containsKey(expBPe.getChbpe())) { + if (ExportacaoBPEVo.isBpeCancelado(expBPe.getCodstatus()) && !ExportacaoBPEVo.validaBPeCorridaAgrupada(expBPe)) + mapAux.put(expBPe.getChbpe(), expBPe); + } else { + if (!ExportacaoBPEVo.isBpeCancelado(expBPe.getCodstatus()) && !ExportacaoBPEVo.validaBPeCorridaAgrupada(expBPe)) + mapAux.put(expBPe.getChbpe(), expBPe); + } + } + + List listaRegistroBaseBPE = new ArrayList(); + + for (Map.Entry pair : mapAux.entrySet()) { + + if (isNoXml) { + listaRegistroBaseBPE.add(ExportacaoBPEVo.gerarListas(pair.getValue())); + } else { + listaRegistroBaseBPE.add(ExportacaoBPEVo.gerarListasXML(pair.getValue())); + } + } + + ExportacaoBPEVo resp = new ExportacaoBPEVo(); + resp.setListaRegistroBaseBPE(listaRegistroBaseBPE); + + log.info(" !!!! --- Fim preocesso da ExportacaoBpe: " + new Date()); + + return resp; + } + + private List consultaRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean isNoXml) { + List registros = new ArrayList(); + + String sql = null; + if (isNoXml) { + sql = queryNoXml(); + } else { + sql = queryXml(); + } + + try { + log.info("Consulta Exportacao Bpe: " + sql); + + PreparedStatement ps = connection.prepareStatement(sql); + ps.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_DMY) + " 00:00:00"); + ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_DMY) + " 23:59:59"); + ps.setLong(3, Long.valueOf(empresaId)); + ps.setString(4, cveestado); + + ps.setFetchSize(999); + ResultSet rs = ps.executeQuery(); + + while (rs.next()) { + BigDecimal valortributado = BigDecimal.ZERO; + BigDecimal valortotal = BigDecimal.ZERO; + + if (rs.getBigDecimal("valortributado") != null) { + valortributado = rs.getBigDecimal("valortributado"); + } + + if (rs.getBigDecimal("valortotal") != null) { + valortotal = rs.getBigDecimal("valortotal"); + } + + ExportacaoBPEBase registro = new ExportacaoBPEBase(); + registro.setBoletoId(rs.getLong("boleto_id")); + registro.setNumfoliosistema(rs.getString("numfoliosistema")); + registro.setvDesconto(rs.getBigDecimal("v_desconto")); + registro.setChbpe(rs.getString("chbpe")); + registro.setChbpeSub(rs.getString("chbpe_sub")); + registro.setDhrecbto(rs.getString("dhrecbto")); + registro.setDhEmisao(rs.getString("dh_emisao")); + registro.setTpBpe(rs.getString("tp_bpe")); + registro.setRetorno(rs.getString("retorno")); + registro.setNprot(rs.getString("nprot")); + registro.setNumBpe(rs.getString("num_bpe")); + registro.setNumSerieBpe(rs.getString("numserie_bpe")); + registro.setCodEstabelecimento(rs.getString("cod_estabelecimento")); + registro.setRedBaseCalcEstadual(rs.getBigDecimal("red_base_calc_estadual")); + registro.setRedBaseCalcMunicipal(rs.getBigDecimal("red_base_calc_municipal")); + registro.setPorcRedMunicipal(rs.getBigDecimal("porc_red_municipal")); + registro.setPorcRedEstadual(rs.getBigDecimal("porc_red_estadual")); + registro.setTributacaoImportacao(rs.getBigDecimal("tributacao_importacao")); + registro.setCodstatus(rs.getString("codstatus")); + registro.setTipoevento(rs.getString("tipoevento")); + registro.setCodigoContabilEstadual(rs.getString("codigocontabil_estadual")); + registro.setCodigocontabilMunicipal(rs.getString("codigocontabil_municipal")); + registro.setCrt(rs.getInt("crt")); + registro.setIndPedagioMunicipal(rs.getInt("indpedagiomunicipal") == 1); + registro.setIndSeguroMunicipal(rs.getInt("indseguromunicipal") == 1); + registro.setIndTarifaMunicipal(rs.getInt("indtarifamunicipal") == 1); + registro.setIndTxEmbarqueMunicipal(rs.getInt("indtxembarquemunicipal") == 1); + registro.setIndPedadioEstdual(rs.getInt("indpedagioestdual") == 1); + registro.setIndSeguroEstadual(rs.getInt("indseguroestadual") == 1); + registro.setIndTarifaEstadual(rs.getInt("indtarifaestadual") == 1); + registro.setIndTxEmbarqueEstadual(rs.getInt("indtxembarqueestadual") == 1); + registro.setDhrecbtoBPe(rs.getString("dhrecbto_bpe")); + registro.setActivoBPe(rs.getInt("activo_bpe") == 1); + registro.setMotivoCancelacionId(rs.getInt("motivocancelacion_id")); + registro.setValortributado(valortributado); + registro.setValortotal(valortotal); + + if (isNoXml) { + registro.setCmunini(rs.getString("cmunini")); + registro.setCmunfim(rs.getString("cmunfim")); + registro.setUfini(rs.getString("ufini")); + registro.setUffim(rs.getString("uffim")); + registro.setNbp(rs.getString("nbp")); + registro.setDhemb(rs.getString("dhemb")); + registro.setCst00(rs.getString("cst00")); + registro.setCst20(rs.getString("cst20")); + registro.setCst45(rs.getString("cst45")); + registro.setCst90(rs.getString("cst90")); + registro.setCstoutrauf(rs.getString("cstoutrauf")); + registro.setCstsn(rs.getString("cstsn")); + registro.setVbc00(rs.getString("vbc00")); + registro.setPicms00(rs.getString("picms00")); + registro.setVicms00(rs.getString("vicms00")); + registro.setVbc20(rs.getString("vbc20")); + registro.setPicms20(rs.getString("picms20")); + registro.setVicms20(rs.getString("vicms20")); + registro.setVbp(rs.getString("vbp")); + registro.setVdesconto(rs.getString("vdesconto")); + registro.setVpgto(rs.getString("vpgto")); + registro.setTpcomp01(rs.getString("tpcomp01")); + registro.setTpcomp02(rs.getString("tpcomp02")); + registro.setTpcomp03(rs.getString("tpcomp03")); + registro.setTpcomp04(rs.getString("tpcomp04")); + registro.setTpcomp05(rs.getString("tpcomp05")); + registro.setTpcomp06(rs.getString("tpcomp06")); + registro.setTpcomp99(rs.getString("tpcomp99")); + registro.setVcomp01(rs.getString("vcomp01")); + registro.setVcomp02(rs.getString("vcomp02")); + registro.setVcomp03(rs.getString("vcomp03")); + registro.setVcomp04(rs.getString("vcomp04")); + registro.setVcomp05(rs.getString("vcomp05")); + registro.setVcomp06(rs.getString("vcomp06")); + registro.setVcomp99(rs.getString("vcomp99")); + registro.setpRedBC(rs.getString("pRedBC")); + } else { + String xml_bpe = rs.getNString("xml_bpe"); + String xml_bpe_2 = rs.getNString("xml_bpe_2"); + String xml_bpe_3 = rs.getNString("xml_bpe_3"); + registro.setXml(StringUtils.join(new String[] { xml_bpe, xml_bpe_2, xml_bpe_3 })); + + } + + registros.add(registro); + } + + rs.close(); + ps.close(); + + } catch (Exception e) { + log.error(e.getMessage(), e); + } + + return registros; + } + + private boolean isNoXml() { + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + Constante contante = constanteService.buscarPorNomeConstante("IMPORT_BPE_NOXML"); + String valorConstante = contante == null ? null : contante.getValorconstante(); + + if (StringUtils.isBlank(valorConstante)) + return false; + else + return true; + } + + /** + * Pega aquery da exportação do BPe + * + * Para utilizar este modelo o cliente deve estar com a versão que contemple o mantis 15032 + * + * Deve ser inserido a constante IMPORT_BPE_NOXML, o file .sql esta no mantis 15005 + * + * @return nova query da exportação do BPe. + */ + private String queryNoXml() { + StringBuilder sql = new StringBuilder(); + sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); + sql.append(" c.boleto_id, "); + sql.append(" coalesce(c.num_bpe, c.numfoliosistema) as num_bpe, "); + sql.append(" c.numfoliosistema as numfoliosistema, "); + sql.append(" coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0) as valortotal, "); + sql.append(" bpe.codstat as codstatus, "); + sql.append(" bpe.tipoevento as tipoevento, "); + sql.append(" bpe.desconto as v_desconto, "); + sql.append(" bpe.chbpe, "); + sql.append(" coalesce(bpe.chbpe_substituicao, ' ') as chbpe_sub, "); + sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') as dhrecbto_bpe, "); + sql.append(" to_char(c.feccreacion, 'yyyymmdd') as dh_emisao, "); + sql.append(" to_char(c.fechorviaje, 'yyyymmdd') as dhrecbto, "); + sql.append(" coalesce(bpe.tiposubstituicao, '0') as tp_bpe, "); + sql.append(" bpe.retorno_id as retorno, "); + sql.append(" bpe.nprot, "); + sql.append(" coalesce(c.numserie_bpe, '1') as numserie_bpe, "); + sql.append(" c.categoria_id, "); + /** + * Mantis 18267 + */ + sql.append(" ei.codestabelecimento as cod_estabelecimento, "); + sql.append(" ep.crtbpe as crt, "); + sql.append(" ((case when coalesce(r.indtribtarifa,0) = 1 then c.preciopagado else 0 end) + (case when coalesce(r.indtribtaxaembarque,0) = 1 then c.importetaxaembarque else 0 end) + (case when coalesce(r.indtribpedagio,0) = 1 then c.importepedagio else 0 end)) as valortributado, "); + sql.append(" ei.porcredbaseicms as red_base_calc_estadual, "); + sql.append(" ei.porcredbaseicmsim as red_base_calc_municipal, "); + sql.append(" ei.porcredmunicipal as porc_red_municipal, "); + sql.append(" ei.porcredestadual as porc_red_estadual, "); + sql.append(" ei.tributacaoimportacao as tributacao_importacao, "); + sql.append(" ei.codigocontabilestadual as codigocontabil_estadual, "); + sql.append(" ei.codigocontabilmunicipal as codigocontabil_municipal, "); + sql.append(" coalesce(ei.indtarifamunicipal,0) as indtarifamunicipal, "); + sql.append(" coalesce(ei.indseguromunicipal,0) as indseguromunicipal, "); + sql.append(" coalesce(ei.indtxembarquemunicipal,0) as indtxembarquemunicipal, "); + sql.append(" coalesce(ei.indpedagiomunicipal,0) as indpedagiomunicipal, "); + sql.append(" coalesce(ei.indtarifaestadual,0) as indtarifaestadual,"); + sql.append(" coalesce(ei.indseguroestadual,0) as indseguroestadual, "); + sql.append(" coalesce(ei.indtxembarqueestadual,0) as indtxembarqueestadual, "); + sql.append(" coalesce(ei.indpedagioestdual,0) as indpedagioestdual, "); + sql.append(" bpe.cmunini, "); + sql.append(" bpe.cmunfim, "); + sql.append(" bpe.ufini, "); + sql.append(" bpe.uffim, "); + sql.append(" bpe.nbp, "); + sql.append(" bpe.dhemb, "); + sql.append(" bpe.cst00, "); + sql.append(" bpe.cst20, "); + sql.append(" bpe.cst45, "); + sql.append(" bpe.cst90, "); + sql.append(" bpe.cstoutrauf, "); + sql.append(" bpe.cstsn, "); + sql.append(" bpe.vbc00, "); + sql.append(" bpe.picms00, "); + sql.append(" bpe.vicms00, "); + sql.append(" bpe.vbc20, "); + sql.append(" bpe.picms20, "); + sql.append(" bpe.vicms20, "); + sql.append(" bpe.vbp, "); + sql.append(" bpe.vdesconto, "); + sql.append(" bpe.vpgto, "); + sql.append(" bpe.tpcomp01, "); + sql.append(" bpe.tpcomp02, "); + sql.append(" bpe.tpcomp03, "); + sql.append(" bpe.tpcomp04, "); + sql.append(" bpe.tpcomp05, "); + sql.append(" bpe.tpcomp06, "); + sql.append(" bpe.tpcomp99, "); + sql.append(" bpe.vcomp01, "); + sql.append(" bpe.vcomp02, "); + sql.append(" bpe.vcomp03, "); + sql.append(" bpe.vcomp04, "); + sql.append(" bpe.vcomp05, "); + sql.append(" bpe.vcomp06, "); + sql.append(" bpe.vcomp99, "); + sql.append(" bpe.pRedBC, "); + sql.append(" bpe.activo as activo_bpe, "); + sql.append(" c.motivocancelacion_id "); + sql.append("from boleto c "); + sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); + sql.append(" join estado e on e.codibge = bpe.uf "); + sql.append(" join marca ma on c.marca_id = ma.marca_id "); + sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); + sql.append(" join ruta r on r.ruta_id = c.ruta_id "); + sql.append(" inner join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id "); + sql.append("where c.activo = 1 and e.activo = 1 and ei.activo = 1 "); + sql.append(" and bpe.tipoamb = 1 and ep.activo = 1 "); + sql.append(" and bpe.codstat in ('-1','100','101','102','135','150') "); + sql.append(" and (bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); + sql.append(" and c.feccreacion >= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and c.feccreacion <= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and ep.empresa_id = ? "); + sql.append(" and e.cveestado = ? "); + // sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); + sql.append("order by to_number(c.numfoliosistema), to_number(num_bpe), dh_emisao, tipoevento desc "); + return sql.toString(); + } + + /** + * Este modelo de consulta que faz a busca do xml da tabela BPe deve ser evitado, por motivos de queda na performance da consulta e do processamento da conversão do xml. + * + * Porem so devera ser utlizado novo modelo de exportação apos o cliente esta com a versão que contemple o mantis 15032 + * + * @deprecated use {@link queryNoXml()} instead. + */ + @Deprecated + private String queryXml() { + StringBuilder sql = new StringBuilder(); + sql.append("select "); + sql.append(" c.boleto_id, "); + sql.append(" coalesce(c.num_bpe, c.numfoliosistema) as num_bpe, "); + sql.append(" c.numfoliosistema as numfoliosistema, "); + sql.append(" coalesce(c.preciopagado,0) + coalesce(c.importetaxaembarque,0) + coalesce(c.importeseguro,0) + coalesce(c.importepedagio,0) + coalesce(c.importeoutros,0) as valortotal, "); + sql.append(" bpe.codstat as codstatus, "); + sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000) as xml_bpe, "); + sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 3001) as xml_bpe_2, "); + sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 6001) as xml_bpe_3, "); + sql.append(" bpe.tipoevento as tipoevento, "); + sql.append(" bpe.desconto as v_desconto, "); + sql.append(" bpe.chbpe, "); + sql.append(" coalesce(bpe.chbpe_substituicao, ' ') as chbpe_sub, "); + sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') as dhrecbto_bpe, "); + sql.append(" to_char(c.feccreacion, 'yyyymmdd') as dh_emisao, "); + sql.append(" to_char(c.fechorviaje, 'yyyymmdd') as dhrecbto, "); + sql.append(" coalesce(bpe.tiposubstituicao, '0') as tp_bpe, "); + sql.append(" bpe.retorno_id as retorno, "); + sql.append(" bpe.nprot, "); + sql.append(" coalesce(c.numserie_bpe, '1') as numserie_bpe, "); + sql.append(" c.categoria_id, "); + /** + * Mantis 18267 + */ + sql.append(" ei.codestabelecimento as cod_estabelecimento, "); + sql.append(" ep.crtbpe as crt, "); + sql.append(" ((case when coalesce(r.indtribtarifa,0) = 1 then c.preciopagado else 0 end) + (case when coalesce(r.indtribtaxaembarque,0) = 1 then c.importetaxaembarque else 0 end) + (case when coalesce(r.indtribpedagio,0) = 1 then c.importepedagio else 0 end)) as valortributado, "); + sql.append(" ei.porcredbaseicms as red_base_calc_estadual, "); + sql.append(" ei.porcredbaseicmsim as red_base_calc_municipal, "); + sql.append(" ei.porcredmunicipal as porc_red_municipal, "); + sql.append(" ei.porcredestadual as porc_red_estadual, "); + sql.append(" ei.tributacaoimportacao as tributacao_importacao, "); + sql.append(" ei.codigocontabilestadual as codigocontabil_estadual, "); + sql.append(" ei.codigocontabilmunicipal as codigocontabil_municipal, "); + sql.append(" coalesce(ei.indtarifamunicipal,0) as indtarifamunicipal, "); + sql.append(" coalesce(ei.indseguromunicipal,0) as indseguromunicipal, "); + sql.append(" coalesce(ei.indtxembarquemunicipal,0) as indtxembarquemunicipal, "); + sql.append(" coalesce(ei.indpedagiomunicipal,0) as indpedagiomunicipal, "); + sql.append(" coalesce(ei.indtarifaestadual,0) as indtarifaestadual,"); + sql.append(" coalesce(ei.indseguroestadual,0) as indseguroestadual, "); + sql.append(" coalesce(ei.indtxembarqueestadual,0) as indtxembarqueestadual, "); + sql.append(" coalesce(ei.indpedagioestdual,0) as indpedagioestdual, "); + sql.append(" bpe.activo as activo_bpe, "); + sql.append(" c.motivocancelacion_id "); + sql.append("from boleto c "); + sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); + sql.append(" join estado e on e.codibge = bpe.uf "); + sql.append(" join marca ma on c.marca_id = ma.marca_id "); + sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); + sql.append(" join ruta r on r.ruta_id = c.ruta_id "); + sql.append(" left join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id "); + sql.append("where c.activo = 1 and e.activo = 1 and ei.activo = 1 "); + sql.append(" and bpe.tipoamb = 1 and ep.activo = 1 "); + sql.append(" and bpe.codstat in ('-1','100','101','102','135','150') "); + sql.append(" and (bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); + sql.append(" and c.feccreacion >= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and c.feccreacion <= to_date(?,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and ep.empresa_id = ? "); + sql.append(" and e.cveestado = ? "); + sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); + sql.append("order by to_number(c.numfoliosistema), to_number(num_bpe), dh_emisao, tipoevento desc "); + return sql.toString(); + } + + @Override + public String buscarXmlBPE(Connection connection, String chBpe) { + + String xmlBpe = null; + StringBuilder sql = new StringBuilder(); + sql.append(" select distinct "); + sql.append(" DBMS_LOB.substr(bpe.xmlregular, 3000) as xml_bpe, "); + sql.append(" DBMS_LOB.substr(bpe.xmlregular, 3000, 3001) as xml_bpe_2, "); + sql.append(" DBMS_LOB.substr(bpe.xmlregular, 3000, 6001) as xml_bpe_3 "); + sql.append(" from bpe bpe "); + sql.append(" where bpe.activo = 1 "); + sql.append(" and bpe.tipoamb = 1 "); + sql.append(" and bpe.codstat in ('100','150') "); + sql.append(" and bpe.chbpe = ? "); + + try { + PreparedStatement ps = connection.prepareStatement(sql.toString()); + ps.setString(1, chBpe); + + ResultSet rs = ps.executeQuery(); + + while (rs.next()) { + String xml_bpe = rs.getNString("xml_bpe"); + String xml_bpe_2 = rs.getNString("xml_bpe_2"); + String xml_bpe_3 = rs.getNString("xml_bpe_3"); + xmlBpe = StringUtils.join(new String[] { xml_bpe, xml_bpe_2, xml_bpe_3 }); + } + + rs.close(); + ps.close(); + + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return xmlBpe; + } + + @Override + public List buscarBpeRDI(Connection connection, Date inicio, Date fim, Integer empresaId, List estados, boolean isReceitaTerceiros, boolean consultaOtimizada) { + + String ufs = null; + for (Estado estado : estados) { + if (ufs == null) + ufs = "'" + estado.getCveestado() + "'"; + else + ufs = ufs + ",'" + estado.getCveestado() + "'"; + } + + List rdis = new ArrayList(); + + boolean isNoXML = isNoXml() && consultaOtimizada; + + if (isNoXML) { + StringBuilder sqlVendidos = new StringBuilder(); + sqlVendidos.append(sqlRelatorioRDIVendidosNoXML(ufs)); + + List listVendidos = montaRelatorioRDINoXML(connection, inicio, fim, empresaId, ufs, sqlVendidos.toString()); + List rdiVendidos = calcularRelatorioRDINoXML(listVendidos, isReceitaTerceiros); + rdis.addAll(rdiVendidos); + + StringBuilder sql = new StringBuilder(); + sql.append(sqlRelatorioRDICanceladosSubstituidosNoXML(ufs)); + sql.append(" UNION ALL "); + sql.append(sqlRelatorioRDICanceladosNoXML(ufs)); + + List listCancelados = montaRelatorioRDINoXML(connection, inicio, fim, empresaId, ufs, sql.toString()); + List rdiCancelados = calcularRelatorioRDINoXML(listCancelados, isReceitaTerceiros); + rdis.addAll(rdiCancelados); + + Collections.sort(rdis, new Comparator() { + @Override + public int compare(FiscalRdi m1, FiscalRdi m2) { + return m1.getEstado().compareTo(m2.getEstado()); + } + }); + } else { + + StringBuilder sql = new StringBuilder(); + sql.append(sqlRelatorioRDIVendidosXML(ufs)); + sql.append(" union all "); + sql.append(sqlRelatorioRDICanceladosXML(ufs)); + + List list = montaRelatorioRDIXML(connection, inicio, fim, empresaId, ufs, sql.toString()); + rdis.addAll(calcularRelatorioRDIXML(list, isReceitaTerceiros)); + } + + return agrupaRdi(rdis); + } + + private List agrupaRdi(List list) { + List aux = new ArrayList(); + + FiscalRdi rdi = null; + for (FiscalRdi detail : list) { + + FiscalRdi atual = new FiscalRdi(detail.getEstado(), detail.getTipoViagem(), detail.getTipoReceita()); + if (!aux.contains(atual)) { + rdi = new FiscalRdi(detail.getEstado(), detail.getTipoViagem(), detail.getTipoReceita()); + aux.add(rdi); + } + + int index = aux.indexOf(atual); + FiscalRdi agr = aux.get(index); + montarParametros(agr, detail); + aux.set(index, agr); + } + + List validacion = new ArrayList(); + for (FiscalRdi detail : aux) { + + RdiValidacion rv = new RdiValidacion(detail.getEstado()); + if (!validacion.contains(rv)) { + rv = new RdiValidacion(detail.getEstado()); + validacion.add(rv); + } + + int indice = validacion.indexOf(rv); + RdiValidacion rvAux = validacion.get(indice); + + if (detail.getTipoReceita().equals("REC") && detail.getTipoViagem().equals("IM")) + rvAux.setTemIMRec(true); + + if (detail.getTipoReceita().equals("DEV") && detail.getTipoViagem().equals("IM")) + rvAux.setTemIMDev(true); + + if (detail.getTipoReceita().equals("REC") && detail.getTipoViagem().equals("IE")) + rvAux.setTemIERec(true); + + if (detail.getTipoReceita().equals("DEV") && detail.getTipoViagem().equals("IE")) + rvAux.setTemIEDev(true); + + validacion.set(indice, rvAux); + } + + for (RdiValidacion val : validacion) { + + if (!val.isTemIMRec()) { + FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IM", "REC"); + aux.add(montarParametros(rdiAux, new FiscalRdi())); + } + + if (!val.isTemIMDev()) { + FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IM", "DEV"); + aux.add(montarParametros(rdiAux, new FiscalRdi())); + } + + if (!val.isTemIERec()) { + FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IE", "REC"); + aux.add(montarParametros(rdiAux, new FiscalRdi())); + } + + if (!val.isTemIEDev()) { + FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IE", "DEV"); + aux.add(montarParametros(rdiAux, new FiscalRdi())); + } + } + + Collections.sort(aux); + return aux; + } + + private FiscalRdi montarParametros(FiscalRdi agr, FiscalRdi detail) { + agr.setQuantBilhetes(MoneyHelper.somar(agr.getQuantBilhetes(), detail.getTarifa() == null ? BigDecimal.ZERO : BigDecimal.ONE)); + agr.setTarifa(agr.getTarifa().add(detail.getTarifa() == null ? BigDecimal.ZERO : detail.getTarifa())); + agr.setSeguro(MoneyHelper.somar(agr.getSeguro(), detail.getSeguro())); + agr.setTxEmbarque(MoneyHelper.somar(agr.getTxEmbarque(), detail.getTxEmbarque())); + agr.setPedagio(MoneyHelper.somar(agr.getPedagio(), detail.getPedagio())); + agr.setPassagem(MoneyHelper.somar(agr.getPassagem(), detail.getPassagem())); + agr.setIsentos(MoneyHelper.somar(agr.getIsentos(), detail.getIsentos())); + agr.setOutros(MoneyHelper.somar(agr.getOutros(), detail.getOutros())); + agr.setRbc(detail.getRbc() == null ? BigDecimal.ZERO : detail.getRbc()); + agr.setBaseCalculo(MoneyHelper.somar(agr.getBaseCalculo(), detail.getBaseCalculo())); + agr.setAliquota(detail.getAliquota() == null ? BigDecimal.ZERO : detail.getAliquota()); + agr.setIcms(MoneyHelper.somar(agr.getIcms(), detail.getIcms())); + agr.setCp(detail.getCp() == null ? BigDecimal.ZERO : detail.getCp()); + + BigDecimal credPres = agr.getIcms().multiply(agr.getCp()).divide(new BigDecimal("100")); + BigDecimal icmsRec = agr.getIcms().subtract(credPres); + + agr.setCredPres(credPres); + agr.setIcmsRec(icmsRec); + + return agr; + } + + private List calcularRelatorioRDINoXML(List list, boolean isReceitaTerceiros) { + + List rdis = new ArrayList(); + + /* + * Bilhetes emitidos dentro do mes for cancelados apenas informar o cancelamento; Bilhetes emitidos em um mês e cancelados em outro mês, este deve ir apenas no relatório de devolução; + */ + LinkedHashMap mapAux = new LinkedHashMap(); + for (DetalhadoFiscal det : list) { + if ("REC".equals(det.getTipoReceita())) { + if (mapAux.containsKey(det.getChbpe())) { + if (ExportacaoBPEVo.isBpeCancelado(det.getCodstatus())) { + // det.setTipoReceita("DEV"); + // mapAux.put(det.getChbpe(), det); + mapAux.remove(det.getChbpe()); + } + } else { + if (!ExportacaoBPEVo.isBpeCancelado(det.getCodstatus())) { + det.setTipoReceita("REC"); + mapAux.put(det.getChbpe(), det); + } + } + } else { + mapAux.put(det.getChbpe(), det); + } + } + + BigDecimal aliquotaAnt = null; + for (Map.Entry pair : mapAux.entrySet()) { + DetalhadoFiscal det = pair.getValue(); + + boolean isEstadual = det.isInterEstadual(); + String tipoViagem = isEstadual ? "IE" : "IM"; + + String vBC = null; + String pICMS = null; + String vICMS = null; + String pRedBC = null; + + if (StringUtils.isNotBlank(det.getPicms00())) { + vBC = det.getVbc00(); + pICMS = det.getPicms00(); + vICMS = det.getVicms00(); + } else if (StringUtils.isNotBlank(det.getPicms20())) { + vBC = det.getVbc20(); + pICMS = det.getPicms20(); + vICMS = det.getVicms20(); + pRedBC = det.getpRedBC(); + } + + String vDesconto = det.getVdesconto(); + String vPgto = det.getVpgto(); + BigDecimal passagem = new BigDecimal(vPgto == null ? "0.0" : vPgto); + + BigDecimal tarifa = new BigDecimal(det.getVcomp01() == null ? "0.0" : det.getVcomp01()); + tarifa = MoneyHelper.subtrair(tarifa, new BigDecimal(vDesconto == null ? "0.0" : vDesconto)); + + BigDecimal isentos = BigDecimal.ZERO; + + BigDecimal pedagio = isReceitaTerceiros ? new BigDecimal(det.getVcomp02() == null ? "0.0" : det.getVcomp02()) : BigDecimal.ZERO; + BigDecimal pedagioIsento = isEstadual && !det.getIndPedagioEstdual() ? pedagio : BigDecimal.ZERO; + if (pedagioIsento.compareTo(BigDecimal.ZERO) == 0) + pedagioIsento = !isEstadual && !det.getIndPedagioMunicipal() ? pedagio : BigDecimal.ZERO; + + BigDecimal taxaEmbarque = isReceitaTerceiros ? new BigDecimal(det.getVcomp03() == null ? "0.0" : det.getVcomp03()) : BigDecimal.ZERO; + BigDecimal taxaEmbarqueIsento = isEstadual && !det.getIndTxembarqueEstadual() ? taxaEmbarque : BigDecimal.ZERO; + if (taxaEmbarqueIsento.compareTo(BigDecimal.ZERO) == 0) + taxaEmbarqueIsento = !isEstadual && !det.getIndTxembarqueMunicipal() ? taxaEmbarque : BigDecimal.ZERO; + + BigDecimal seguro = isReceitaTerceiros ? new BigDecimal(det.getVcomp04() == null ? "0.0" : det.getVcomp04()) : BigDecimal.ZERO; + BigDecimal seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; + if (seguroIsento.compareTo(BigDecimal.ZERO) == 0) + seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; + + isentos = MoneyHelper.somar(isentos, pedagioIsento, taxaEmbarqueIsento, seguroIsento); + + BigDecimal aliquota = new BigDecimal(pICMS == null ? "0.0" : pICMS); + + aliquota = (aliquota.intValue() == 0 ? (aliquotaAnt == null ? aliquota : aliquotaAnt) : aliquota); + if (aliquota != null && aliquota.intValue() > 0) + aliquotaAnt = aliquota; + + BigDecimal icms = new BigDecimal(vICMS == null ? "0.0" : vICMS); + + BigDecimal cp = null; + if (isEstadual) { + cp = det.getPorcRedEstadual() == null ? BigDecimal.ZERO : det.getPorcRedEstadual(); + } else { + cp = det.getPorcRedMunicipal() == null ? BigDecimal.ZERO : det.getPorcRedMunicipal(); + } + + BigDecimal credPres = MoneyHelper.dividir(MoneyHelper.multiplicar(icms, cp), new BigDecimal("100")); + BigDecimal icmsRec = MoneyHelper.subtrair(icms, credPres); + BigDecimal vRedBC = new BigDecimal(pRedBC == null ? "0.0" : pRedBC); + + BigDecimal baseCalculo = new BigDecimal(vBC == null ? "0.0" : vBC); + BigDecimal outros = isentos.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : MoneyHelper.subtrair(passagem, MoneyHelper.subtrair(isentos, baseCalculo)); + if (pRedBC != null) { + outros = MoneyHelper.subtrair(passagem, baseCalculo); + outros = MoneyHelper.subtrair(outros, isentos); + } + + rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), tarifa, + seguro, taxaEmbarque, pedagio, passagem, isentos, outros, vRedBC, + baseCalculo, aliquota, icms, cp, credPres, icmsRec)); + } + + return rdis; + } + + private List montaRelatorioRDINoXML(Connection connection, Date inicio, Date fim, Integer empresaId, String ufs, String sql) { + + log.info("Inicio da consulta busca RelatorioRDI BPe: " + new Date()); + + List list = new ArrayList(); + try { + + log.info("Consulta RDI Bpe: " + sql); + + NamedParameterStatement ps = new NamedParameterStatement(connection, sql); + ps.setLong("EMPRESA_ID", Long.valueOf(empresaId)); + + ps.setString("DATE_INICIO", DateUtil.getStringDate(inicio, DATE_FORMAT_DMY) + " 00:00:00"); + ps.setString("DATE_FIM", DateUtil.getStringDate(fim, DATE_FORMAT_DMY) + " 23:59:59"); + ps.getStatement().setFetchSize(99999); + + ResultSet rs = ps.executeQuery(); + while (rs.next()) { + + DetalhadoFiscal df = new DetalhadoFiscal(); + + df.setCajaId(rs.getLong("cajaId")); + df.setTipoReceita(rs.getString("tipoReceita")); + df.setNumoperacion(rs.getString("numoperacion")); + df.setEstadoId(rs.getInt("estadoId")); + df.setFechorVenta(rs.getDate("fechorVenta")); + df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); + df.setIcmsIntermunicipal(rs.getBigDecimal("icmsIntermunicipal")); + df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); + df.setRedBaseCalcIcms(rs.getBigDecimal("redBaseCalcIcms")); + df.setPorcRedMunicipal(rs.getBigDecimal("porcRedMunicipal")); + df.setPorcRedEstadual(rs.getBigDecimal("porcRedEstadual")); + df.setTributacaoImportacao(rs.getBigDecimal("tributacaoImportacao")); + df.setIndTarifaMunicipal(rs.getBoolean("indtarifamunicipal")); + df.setIndSeguroMunicipal(rs.getBoolean("indseguromunicipal")); + df.setIndTxembarqueMunicipal(rs.getBoolean("indtxembarquemunicipal")); + df.setIndPedagioMunicipal(rs.getBoolean("indpedagiomunicipal")); + df.setIndTarifaEstadual(rs.getBoolean("indtarifaestadual")); + df.setIndSeguroEstadual(rs.getBoolean("indseguroestadual")); + df.setIndTxembarqueEstadual(rs.getBoolean("indtxembarqueestadual")); + df.setIndPedagioEstdual(rs.getBoolean("indpedagioestdual")); + df.setIsenta(rs.getBoolean("isenta")); + df.setTarifa(rs.getBigDecimal("tarifa")); + df.setTaxaEmbarque(rs.getBigDecimal("taxaEmbarque")); + df.setPedagio(rs.getBigDecimal("pedagio")); + df.setSeguro(rs.getBigDecimal("seguro")); + df.setOutros(rs.getBigDecimal("outros")); + df.setDatamov(rs.getString("datamov")); + df.setChbpe(rs.getString("chbpe")); + df.setCodstatus(rs.getString("codstatus")); + df.setCmunini(rs.getString("cmunini")); + df.setCmunfim(rs.getString("cmunfim")); + df.setUfini(rs.getString("ufini")); + df.setUffim(rs.getString("uffim")); + df.setNbp(rs.getString("nbp")); + df.setDhemb(rs.getString("dhemb")); + df.setCst00(rs.getString("cst00")); + df.setCst20(rs.getString("cst20")); + df.setCst45(rs.getString("cst45")); + df.setCst90(rs.getString("cst90")); + df.setCstoutrauf(rs.getString("cstoutrauf")); + df.setCstsn(rs.getString("cstsn")); + df.setVbc00(rs.getString("vbc00")); + df.setPicms00(rs.getString("picms00")); + df.setVicms00(rs.getString("vicms00")); + df.setVbc20(rs.getString("vbc20")); + df.setPicms20(rs.getString("picms20")); + df.setVicms20(rs.getString("vicms20")); + df.setVbp(rs.getString("vbp")); + df.setVdesconto(rs.getString("vdesconto")); + df.setVpgto(rs.getString("vpgto")); + df.setTpcomp01(rs.getString("tpcomp01")); + df.setTpcomp02(rs.getString("tpcomp02")); + df.setTpcomp03(rs.getString("tpcomp03")); + df.setTpcomp04(rs.getString("tpcomp04")); + df.setTpcomp05(rs.getString("tpcomp05")); + df.setTpcomp06(rs.getString("tpcomp06")); + df.setTpcomp99(rs.getString("tpcomp99")); + df.setVcomp01(rs.getString("vcomp01")); + df.setVcomp02(rs.getString("vcomp02")); + df.setVcomp03(rs.getString("vcomp03")); + df.setVcomp04(rs.getString("vcomp04")); + df.setVcomp05(rs.getString("vcomp05")); + df.setVcomp06(rs.getString("vcomp06")); + df.setVcomp99(rs.getString("vcomp99")); + df.setpRedBC(rs.getString("pRedBC")); + + String municipioOrigem = df.getCmunini(); + String estadoOrigem = (StringUtils.isNotBlank(df.getUfini()) ? df.getUfini() : rs.getString("estadoOrigem")); + String estadoDestino = df.getUffim(); + + boolean isInterEstadual = !estadoOrigem.equals(estadoDestino); + df.setEstadoOrigem(estadoOrigem); + df.setEstadoDestino(estadoDestino); + df.setMunicipioOrigem(municipioOrigem); + df.setInterEstadual(isInterEstadual); + + list.add(df); + } + + rs.close(); + ps.close(); + + } catch (SQLException e) { + log.error("", e); + } + + log.info("Fim da consulta busca RelatorioRDI BPe: " + new Date()); + + return list; + } + + private String sqlRelatorioRDIVendidosNoXML(String ufs) { + + StringBuilder sql = new StringBuilder(); + sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); + sql.append(" c.boleto_id as cajaId, "); + sql.append(" 'REC' as tipoReceita, "); + sql.append(" to_number(c.num_bpe) as num_bpe, "); + sql.append(" to_number(c.numfoliosistema) as numfoliosistema, "); + sql.append(" c.numoperacion as numoperacion, "); + sql.append(" trunc(c.feccreacion) as fechorVenta, "); + sql.append(" e.estado_id as estadoId, "); + sql.append(" e.cveestado as estadoOrigem, "); + sql.append(" ei.icms as icmsInterestadual, "); + sql.append(" ei.icmsim as icmsIntermunicipal, "); + sql.append(" 0 as isenta, "); + sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); + sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); + sql.append(" ei.porcredestadual as porcRedEstadual, "); + sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); + sql.append(" ei.indseguromunicipal as indseguromunicipal, "); + sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); + sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); + sql.append(" ei.indtarifaestadual as indtarifaestadual, "); + sql.append(" ei.indseguroestadual as indseguroestadual, "); + sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); + sql.append(" ei.indpedagioestdual as indpedagioestdual, "); + sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); + sql.append(" coalesce(c.preciopagado, 0) as tarifa, "); + sql.append(" coalesce(c.importetaxaembarque, 0) as taxaEmbarque, "); + sql.append(" coalesce(c.importepedagio, 0) as pedagio, "); + sql.append(" coalesce(c.importeseguro, 0) as seguro, "); + sql.append(" coalesce(c.importeoutros, 0) as outros, "); + sql.append(" to_char(trunc(c.feccreacion), 'yyyymmdd') as datamov, "); + sql.append(" bpe.chbpe, "); + sql.append(" bpe.codstat as codstatus, "); + sql.append(" bpe.tipoevento, "); + sql.append(" bpe.cmunini, "); + sql.append(" bpe.cmunfim, "); + sql.append(" bpe.ufini, "); + sql.append(" bpe.uffim, "); + sql.append(" bpe.nbp, "); + sql.append(" bpe.dhemb, "); + sql.append(" bpe.cst00, "); + sql.append(" bpe.cst20, "); + sql.append(" bpe.cst45, "); + sql.append(" bpe.cst90, "); + sql.append(" bpe.cstoutrauf, "); + sql.append(" bpe.cstsn, "); + sql.append(" bpe.vbc00, "); + sql.append(" bpe.picms00, "); + sql.append(" bpe.vicms00, "); + sql.append(" bpe.vbc20, "); + sql.append(" bpe.picms20, "); + sql.append(" bpe.vicms20, "); + sql.append(" bpe.vbp, "); + sql.append(" bpe.vdesconto, "); + sql.append(" bpe.vpgto, "); + sql.append(" bpe.tpcomp01, "); + sql.append(" bpe.tpcomp02, "); + sql.append(" bpe.tpcomp03, "); + sql.append(" bpe.tpcomp04, "); + sql.append(" bpe.tpcomp05, "); + sql.append(" bpe.tpcomp06, "); + sql.append(" bpe.tpcomp99, "); + sql.append(" bpe.vcomp01, "); + sql.append(" bpe.vcomp02, "); + sql.append(" bpe.vcomp03, "); + sql.append(" bpe.vcomp04, "); + sql.append(" bpe.vcomp05, "); + sql.append(" bpe.vcomp06, "); + sql.append(" bpe.vcomp99, "); + sql.append(" bpe.pRedBC "); + sql.append("from boleto c "); + sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); + sql.append(" and bpe.activo = (case when TO_CHAR(c.feccreacion, 'yyyymmdd') <> "); + sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') then 0 else 1 end) "); + sql.append(" join estado e on e.codibge = bpe.uf "); + sql.append(" join marca ma on c.marca_id = ma.marca_id "); + sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); + sql.append(" join ruta r on r.ruta_id = c.ruta_id "); + sql.append(" left join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id and ei.activo = 1 "); + sql.append("where c.activo = 1 and e.activo = 1 and ei.activo = 1 "); + sql.append(" and bpe.tipoamb = 1 and ep.activo = 1 "); + sql.append(" and bpe.codstat in ('-1','100','101','102','135','150') "); + sql.append(" and (bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); + sql.append(" and c.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and c.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and ep.empresa_id = :EMPRESA_ID "); + sql.append(" and e.cveestado in ( ").append(ufs).append(" ) "); + sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); + sql.append("order by numfoliosistema, num_bpe, datamov, tipoevento desc "); + return sql.toString(); + + } + + private String sqlRelatorioRDICanceladosSubstituidosNoXML(String ufs) { + + StringBuilder sql = new StringBuilder(); + sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); + sql.append(" bori.boleto_id as cajaId, "); + sql.append(" 'DEV' as tipoReceita, "); + sql.append(" to_number(bori.num_bpe) as num_bpe, "); + sql.append(" to_number(bori.numfoliosistema) as numfoliosistema, "); + sql.append(" bori.numoperacion as numoperacion, "); + sql.append(" trunc(bori.feccreacion) as fechorVenta, "); + sql.append(" est_bpe.estado_id as estadoId, "); + sql.append(" est_bpe.cveestado as estadoOrigem, "); + sql.append(" ei.icms as icmsInterestadual, "); + sql.append(" ei.icmsim as icmsIntermunicipal, "); + sql.append(" 0 as isenta, "); + sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); + sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); + sql.append(" ei.porcredestadual as porcRedEstadual, "); + sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); + sql.append(" ei.indseguromunicipal as indseguromunicipal, "); + sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); + sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); + sql.append(" ei.indtarifaestadual as indtarifaestadual, "); + sql.append(" ei.indseguroestadual as indseguroestadual, "); + sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); + sql.append(" ei.indpedagioestdual as indpedagioestdual, "); + sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); + sql.append(" coalesce(bori.preciopagado, 0) as tarifa, "); + sql.append(" coalesce(bori.importetaxaembarque, 0) as taxaEmbarque, "); + sql.append(" coalesce(bori.importepedagio, 0) as pedagio, "); + sql.append(" coalesce(bori.importeseguro, 0) as seguro, "); + sql.append(" coalesce(bori.importeoutros, 0) as outros, "); + sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); + sql.append(" bpeori.chbpe, "); + sql.append(" bpe.codstat as codstatus, "); + sql.append(" case when bpe.ufini is not null then bpe.cmunini else bpeori.cmunini end as cmunini, "); + sql.append(" case when bpe.ufini is not null then bpe.cmunfim else bpeori.cmunfim end as cmunfim, "); + sql.append(" case when bpe.ufini is not null then bpe.ufini else bpeori.ufini end as ufini, "); + sql.append(" case when bpe.ufini is not null then bpe.uffim else bpeori.uffim end as uffim, "); + sql.append(" case when bpe.ufini is not null then bpe.nbp else bpeori.nbp end as nbp, "); + sql.append(" case when bpe.ufini is not null then bpe.dhemb else bpeori.dhemb end as dhemb, "); + sql.append(" case when bpe.ufini is not null then bpe.cst00 else bpeori.cst00 end as cst00, "); + sql.append(" case when bpe.ufini is not null then bpe.cst20 else bpeori.cst20 end as cst20, "); + sql.append(" case when bpe.ufini is not null then bpe.cst45 else bpeori.cst45 end as cst45, "); + sql.append(" case when bpe.ufini is not null then bpe.cst90 else bpeori.cst90 end as cst90, "); + sql.append(" case when bpe.ufini is not null then bpe.cstoutrauf else bpeori.cstoutrauf end as cstoutrauf, "); + sql.append(" case when bpe.ufini is not null then bpe.cstsn else bpeori.cstsn end as cstsn, "); + sql.append(" case when bpe.ufini is not null then bpe.vbc00 else bpeori.vbc00 end as vbc00, "); + sql.append(" case when bpe.ufini is not null then bpe.picms00 else bpeori.picms00 end as picms00, "); + sql.append(" case when bpe.ufini is not null then bpe.vicms00 else bpeori.vicms00 end as vicms00, "); + sql.append(" case when bpe.ufini is not null then bpe.vbc20 else bpeori.vbc20 end as vbc20, "); + sql.append(" case when bpe.ufini is not null then bpe.picms20 else bpeori.picms20 end as picms20, "); + sql.append(" case when bpe.ufini is not null then bpe.vicms20 else bpeori.vicms20 end as vicms20, "); + sql.append(" case when bpe.ufini is not null then bpe.vbp else bpeori.vbp end as vbp, "); + sql.append(" case when bpe.ufini is not null then bpe.vdesconto else bpeori.vdesconto end as vdesconto, "); + sql.append(" case when bpe.ufini is not null then bpe.vpgto else bpeori.vpgto end as vpgto, "); + sql.append(" case when bpe.ufini is not null then bpe.tpcomp01 else bpeori.tpcomp01 end as tpcomp01, "); + sql.append(" case when bpe.ufini is not null then bpe.tpcomp02 else bpeori.tpcomp02 end as tpcomp02, "); + sql.append(" case when bpe.ufini is not null then bpe.tpcomp03 else bpeori.tpcomp03 end as tpcomp03, "); + sql.append(" case when bpe.ufini is not null then bpe.tpcomp04 else bpeori.tpcomp04 end as tpcomp04, "); + sql.append(" case when bpe.ufini is not null then bpe.tpcomp05 else bpeori.tpcomp05 end as tpcomp05, "); + sql.append(" case when bpe.ufini is not null then bpe.tpcomp06 else bpeori.tpcomp06 end as tpcomp06, "); + sql.append(" case when bpe.ufini is not null then bpe.tpcomp99 else bpeori.tpcomp99 end as tpcomp99, "); + sql.append(" case when bpe.ufini is not null then bpe.vcomp01 else bpeori.vcomp01 end as vcomp01, "); + sql.append(" case when bpe.ufini is not null then bpe.vcomp02 else bpeori.vcomp02 end as vcomp02, "); + sql.append(" case when bpe.ufini is not null then bpe.vcomp03 else bpeori.vcomp03 end as vcomp03, "); + sql.append(" case when bpe.ufini is not null then bpe.vcomp04 else bpeori.vcomp04 end as vcomp04, "); + sql.append(" case when bpe.ufini is not null then bpe.vcomp05 else bpeori.vcomp05 end as vcomp05, "); + sql.append(" case when bpe.ufini is not null then bpe.vcomp06 else bpeori.vcomp06 end as vcomp06, "); + sql.append(" case when bpe.ufini is not null then bpe.vcomp99 else bpeori.vcomp99 end as vcomp99, "); + sql.append(" case when bpe.ufini is not null then bpe.predbc else bpeori.predbc end as predbc "); + sql.append("from boleto bori "); + sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); + sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); + sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); + sql.append(" and bpe.activo = (case when TO_CHAR(bori.feccreacion, 'yyyymmdd') <> "); + sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') then 0 else 1 end) "); + sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); + sql.append(" left join bpe bpeori on bpeori.chbpe = bpe.chbpe_substituicao and bpeori.activo = 1 "); + sql.append(" left join boleto b on b.boleto_id = bpeori.boleto_id "); + sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = b.puntoventa_id "); + sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id and ie.estado_id = est_bpe.estado_id and ie.activo = 1 "); + sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id and ei.estado_id = est_bpe.estado_id and ei.activo = 1 "); + sql.append(" left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); + sql.append(" left join estado esaidf on esaidf.estado_id = aidf.estado_id "); + sql.append(" left join boleto bant on bant.boleto_id = (case when bpeori.tipoevento is not null then coalesce(b.boletoanterior_id, b.boletooriginal_id) else null end) "); + sql.append(" left join bpe bpeant on bpeant.boleto_id = bant.boleto_id and bpeant.activo = 1 "); + sql.append(" left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(bant.puntoventa_id, bori.puntoventa_id,b.ptovtaventa_id) "); + sql.append("where ( (bpe.codstat in ('-1','100','101','102','135','150') and bpe.chbpe_substituicao is not null) "); + sql.append(" or (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) ) "); + sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); + sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento not in ('110115','110116') or bpeori.tipoevento is null) "); + sql.append(" and bori.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and bori.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); + sql.append(" and e.empresa_id = :EMPRESA_ID "); + sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); + return sql.toString(); + + } + + private String sqlRelatorioRDICanceladosNoXML(String ufs) { + + StringBuilder sql = new StringBuilder(); + sql.append("select /*+INDEX(BPE IDX__BPE_BOLETO)*/ "); + sql.append(" b.boleto_id as cajaId, "); + sql.append(" 'DEV' as tipoReceita, "); + sql.append(" to_number(b.num_bpe) as num_bpe, "); + sql.append(" to_number(b.numfoliosistema) as numfoliosistema, "); + sql.append(" b.numoperacion as numoperacion, "); + sql.append(" trunc(bori.feccreacion) as fechorVenta, "); + sql.append(" est_bpe.estado_id as estadoId, "); + sql.append(" est_bpe.cveestado as estadoOrigem, "); + sql.append(" ei.icms as icmsInterestadual, "); + sql.append(" ei.icmsim as icmsIntermunicipal, "); + sql.append(" 0 as isenta, "); + sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); + sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); + sql.append(" ei.porcredestadual as porcRedEstadual, "); + sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); + sql.append(" ei.indseguromunicipal as indseguromunicipal, "); + sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); + sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); + sql.append(" ei.indtarifaestadual as indtarifaestadual, "); + sql.append(" ei.indseguroestadual as indseguroestadual, "); + sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); + sql.append(" ei.indpedagioestdual as indpedagioestdual, "); + sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); + sql.append(" coalesce(b.preciopagado, 0) as tarifa, "); + sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); + sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); + sql.append(" coalesce(b.importeseguro, 0) as seguro, "); + sql.append(" coalesce(b.importeoutros, 0) as outros, "); + sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); + sql.append(" bpe.chbpe, "); + sql.append(" bpe.codstat as codstatus, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cmunini else bpe.cmunini end as cmunini, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cmunfim else bpe.cmunfim end as cmunfim, "); + sql.append(" case when bpeori.ufini is not null then bpeori.ufini else bpe.ufini end as ufini, "); + sql.append(" case when bpeori.ufini is not null then bpeori.uffim else bpe.uffim end as uffim, "); + sql.append(" case when bpeori.ufini is not null then bpeori.nbp else bpe.nbp end as nbp, "); + sql.append(" case when bpeori.ufini is not null then bpeori.dhemb else bpe.dhemb end as dhemb, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cst00 else bpe.cst00 end as cst00, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cst20 else bpe.cst20 end as cst20, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cst45 else bpe.cst45 end as cst45, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cst90 else bpe.cst90 end as cst90, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cstoutrauf else bpe.cstoutrauf end as cstoutrauf, "); + sql.append(" case when bpeori.ufini is not null then bpeori.cstsn else bpe.cstsn end as cstsn, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vbc00 else bpe.vbc00 end as vbc00, "); + sql.append(" case when bpeori.ufini is not null then bpeori.picms00 else bpe.picms00 end as picms00, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vicms00 else bpe.vicms00 end as vicms00, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vbc20 else bpe.vbc20 end as vbc20, "); + sql.append(" case when bpeori.ufini is not null then bpeori.picms20 else bpe.picms20 end as picms20, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vicms20 else bpe.vicms20 end as vicms20, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vbp else bpe.vbp end as vbp, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vdesconto else bpe.vdesconto end as vdesconto, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vpgto else bpe.vpgto end as vpgto, "); + sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp01 else bpe.tpcomp01 end as tpcomp01, "); + sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp02 else bpe.tpcomp02 end as tpcomp02, "); + sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp03 else bpe.tpcomp03 end as tpcomp03, "); + sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp04 else bpe.tpcomp04 end as tpcomp04, "); + sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp05 else bpe.tpcomp05 end as tpcomp05, "); + sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp06 else bpe.tpcomp06 end as tpcomp06, "); + sql.append(" case when bpeori.ufini is not null then bpeori.tpcomp99 else bpe.tpcomp99 end as tpcomp99, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vcomp01 else bpe.vcomp01 end as vcomp01, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vcomp02 else bpe.vcomp02 end as vcomp02, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vcomp03 else bpe.vcomp03 end as vcomp03, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vcomp04 else bpe.vcomp04 end as vcomp04, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vcomp05 else bpe.vcomp05 end as vcomp05, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vcomp06 else bpe.vcomp06 end as vcomp06, "); + sql.append(" case when bpeori.ufini is not null then bpeori.vcomp99 else bpe.vcomp99 end as vcomp99, "); + sql.append(" case when bpeori.ufini is not null then bpeori.predbc else bpe.predbc end as predbc "); + sql.append("from boleto bori "); + sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); + sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); + sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); + sql.append(" and bpe.activo = (case when TO_CHAR(bori.feccreacion, 'yyyymmdd') <> "); + sql.append(" to_char(to_date(substr(bpe.dhrecbto,0,10), 'YYYY-MM-DD'), 'yyyymmdd') then 0 else 1 end) "); + sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); + sql.append(" left join boleto b on b.boleto_id = coalesce(bori.boletoanterior_id, bori.boletooriginal_id) "); + sql.append(" left join bpe bpeori on b.boleto_id = bpeori.boleto_id and bpeori.activo = 1 "); + sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = bori.puntoventa_id "); + sql.append("join inscricao_estadual ie on e.empresa_id = ie.empresa_id and ie.estado_id = est_bpe.estado_id and ie.activo = 1 "); + sql.append("join empresa_imposto ei on ei.empresa_id = e.empresa_id and ei.estado_id = est_bpe.estado_id and ei.activo = 1 "); + sql.append("left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); + sql.append("left join estado esaidf on esaidf.estado_id = aidf.estado_id "); + sql.append("left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(b.ptovtaventa_id, bori.puntoventa_id) "); + sql.append("where "); + sql.append(" (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) "); + sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento not in ('110115','110116') or bpe.tipoevento is null) "); + sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento not in ('110115','110116') or bpeori.tipoevento is null) "); + sql.append(" and bori.feccreacion >= to_date(:DATE_INICIO,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and bori.feccreacion <= to_date(:DATE_FIM,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); + sql.append(" and e.empresa_id = :EMPRESA_ID "); + sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); + + sql.append("order by numfoliosistema, num_bpe, datamov "); + + System.out.println(sql.toString()); + return sql.toString(); + } + + @Deprecated + private List calcularRelatorioRDIXML(List list, boolean isReceitaTerceiros) { + + List rdis = new ArrayList(); + + BigDecimal aliquotaAnt = null; + for (DetalhadoFiscal det : list) { + + String xml = det.getXml(); + + BigDecimal tarifa = BigDecimal.ZERO; + BigDecimal taxaEmbarque = BigDecimal.ZERO; + BigDecimal pedagio = BigDecimal.ZERO; + BigDecimal seguro = BigDecimal.ZERO; + BigDecimal passagem = BigDecimal.ZERO; + BigDecimal isentos = BigDecimal.ZERO; + + boolean isEstadual = det.isInterEstadual(); + String tipoViagem = isEstadual ? "IE" : "IM"; + + TBPe tbpe = null; + if (StringUtils.isNotBlank(xml)) + tbpe = BPeUtil.convertXmlToBpe(xml); + + String vBC = null; + String pICMS = null; + String vICMS = null; + String pRedBC = null; + + if (StringUtils.isNotBlank(xml)) { + if (tbpe.getInfBPe().getImp().getICMS().getICMS00() != null) { + vBC = tbpe.getInfBPe().getImp().getICMS().getICMS00().getVBC(); + pICMS = tbpe.getInfBPe().getImp().getICMS().getICMS00().getPICMS(); + vICMS = tbpe.getInfBPe().getImp().getICMS().getICMS00().getVICMS(); + } else if (tbpe.getInfBPe().getImp().getICMS().getICMS20() != null) { + vBC = tbpe.getInfBPe().getImp().getICMS().getICMS20().getVBC(); + pICMS = tbpe.getInfBPe().getImp().getICMS().getICMS20().getPICMS(); + vICMS = tbpe.getInfBPe().getImp().getICMS().getICMS20().getVICMS(); + pRedBC = tbpe.getInfBPe().getImp().getICMS().getICMS20().getPRedBC(); + } + + if (tbpe.getInfBPe().getInfValorBPe() != null) { + + String vPgto = tbpe.getInfBPe().getInfValorBPe().getVPgto(); + passagem = new BigDecimal(vPgto == null ? "0.0" : vPgto); + + for (TBPe.InfBPe.InfValorBPe.Comp comp : tbpe.getInfBPe().getInfValorBPe().getComp()) { + if (comp.getTpComp().equals(TipoComp.TARIFA)) { + String vDesconto = tbpe.getInfBPe().getInfValorBPe().getVDesconto(); + tarifa = new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()); + tarifa = tarifa.subtract(new BigDecimal(vDesconto == null ? "0.0" : vDesconto)); + } + + if (comp.getTpComp().equals(TipoComp.PEDAGIO)) { + pedagio = isReceitaTerceiros ? new BigDecimal(det.getVcomp02() == null ? "0.0" : det.getVcomp02()) : BigDecimal.ZERO; + BigDecimal pedagioIsento = isEstadual && !det.getIndPedagioEstdual() ? pedagio : BigDecimal.ZERO; + if (pedagioIsento.compareTo(BigDecimal.ZERO) == 0) + pedagioIsento = !isEstadual && !det.getIndPedagioMunicipal() ? pedagio : BigDecimal.ZERO; + + isentos = isentos.add(pedagioIsento); + } + + if (comp.getTpComp().equals(TipoComp.TAXA_EMBARQUE)) { + taxaEmbarque = isReceitaTerceiros ? new BigDecimal(det.getVcomp03() == null ? "0.0" : det.getVcomp03()) : BigDecimal.ZERO; + BigDecimal taxaEmbarqueIsento = isEstadual && !det.getIndTxembarqueEstadual() ? taxaEmbarque : BigDecimal.ZERO; + if (taxaEmbarqueIsento.compareTo(BigDecimal.ZERO) == 0) + taxaEmbarqueIsento = !isEstadual && !det.getIndTxembarqueMunicipal() ? taxaEmbarque : BigDecimal.ZERO; + + isentos = isentos.add(taxaEmbarqueIsento); + } + + if (comp.getTpComp().equals(TipoComp.SEGURO)) { + seguro = isReceitaTerceiros ? new BigDecimal(det.getVcomp04() == null ? "0.0" : det.getVcomp04()) : BigDecimal.ZERO; + BigDecimal seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; + if (seguroIsento.compareTo(BigDecimal.ZERO) == 0) + seguroIsento = isEstadual && !det.getIndSeguroEstadual() ? seguro : BigDecimal.ZERO; + + isentos = isentos.add(seguroIsento); + } + } + } + } + + BigDecimal baseCalculo = new BigDecimal(vBC == null ? "0.0" : vBC); + + BigDecimal aliquota = new BigDecimal(pICMS == null ? "0.0" : pICMS); + aliquota = (aliquota.intValue() == 0 ? (aliquotaAnt == null ? aliquota : aliquotaAnt) : aliquota); + if (aliquota != null && aliquota.intValue() > 0) + aliquotaAnt = aliquota; + + BigDecimal icms = new BigDecimal(vICMS == null ? "0.0" : vICMS); + + BigDecimal cp = null; + if (isEstadual) { + cp = det.getPorcRedEstadual() == null ? BigDecimal.ZERO : det.getPorcRedEstadual(); + } else { + cp = det.getPorcRedMunicipal() == null ? BigDecimal.ZERO : det.getPorcRedMunicipal(); + } + + BigDecimal credPres = icms.multiply(cp.divide(BigDecimal.TEN.multiply(BigDecimal.TEN))); + BigDecimal icmsRec = icms.subtract(credPres); + BigDecimal vRedBC = det.getRedBaseCalcIcms(); + + BigDecimal outros = isentos.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : passagem.subtract(isentos).subtract(baseCalculo); + if (pRedBC != null) { + outros = passagem.subtract(baseCalculo); + outros = outros.subtract(isentos); + } + + rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), tarifa, + seguro, taxaEmbarque, pedagio, passagem, isentos, outros, vRedBC, + baseCalculo, aliquota, icms, cp, credPres, icmsRec)); + } + + return rdis; + } + + @Deprecated + private List montaRelatorioRDIXML(Connection connection, Date inicio, Date fim, Integer empresaId, String ufs, String sql) { + + List list = new ArrayList(); + try { + + NamedParameterStatement ps = new NamedParameterStatement(connection, sql); + ps.setLong("EMPRESA_ID", Long.valueOf(empresaId)); + + ps.setTimestamp("DATE_INICIO", new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); + ps.setTimestamp("DATE_FIM", new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); + + ResultSet rs = ps.executeQuery(); + while (rs.next()) { + + String xml_bpe = rs.getNString("xml_bpe"); + String xml_bpe_2 = rs.getNString("xml_bpe_2"); + String xml_bpe_3 = rs.getNString("xml_bpe_3"); + String xml = StringUtils.join(new String[] { xml_bpe, xml_bpe_2, xml_bpe_3 }); + + TBPe tbpe = null; + if (StringUtils.isNotBlank(xml)) + tbpe = BPeUtil.convertXmlToBpe(xml); + + DetalhadoFiscal df = new DetalhadoFiscal(); + df.setXml(xml); + + String municipioOrigem = StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getCMunIni() : rs.getString("municipioOrigem"); + String estadoOrigem = (StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getUFIni().value() : rs.getString("estadoOrigem")); + String estadoDestino = (StringUtils.isNotBlank(xml) ? tbpe.getInfBPe().getIde().getUFFim().value() : rs.getString("estadoDestino")); + + boolean isInterEstadual = !estadoOrigem.equals(estadoDestino); + df.setEstadoOrigem(estadoOrigem); + df.setEstadoDestino(estadoDestino); + df.setMunicipioOrigem(municipioOrigem); + df.setInterEstadual(isInterEstadual); + df.setCajaId(rs.getLong("cajaId")); + df.setTipoReceita(rs.getString("tipoReceita")); + df.setNumoperacion(rs.getString("numoperacion")); + df.setEstadoId(rs.getInt("estadoId")); + df.setFechorVenta(rs.getDate("fechorVenta")); + df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); + df.setIcmsIntermunicipal(rs.getBigDecimal("icmsIntermunicipal")); + df.setIcmsInterestadual(rs.getBigDecimal("icmsInterestadual")); + df.setRedBaseCalcIcms(rs.getBigDecimal("redBaseCalcIcms")); + df.setPorcRedMunicipal(rs.getBigDecimal("porcRedMunicipal")); + df.setPorcRedEstadual(rs.getBigDecimal("porcRedEstadual")); + df.setTributacaoImportacao(rs.getBigDecimal("tributacaoImportacao")); + df.setIndTarifaMunicipal(rs.getBoolean("indtarifamunicipal")); + df.setIndSeguroMunicipal(rs.getBoolean("indseguromunicipal")); + df.setIndTxembarqueMunicipal(rs.getBoolean("indtxembarquemunicipal")); + df.setIndPedagioMunicipal(rs.getBoolean("indpedagiomunicipal")); + df.setIndTarifaEstadual(rs.getBoolean("indtarifaestadual")); + df.setIndSeguroEstadual(rs.getBoolean("indseguroestadual")); + df.setIndTxembarqueEstadual(rs.getBoolean("indtxembarqueestadual")); + df.setIndPedagioEstdual(rs.getBoolean("indpedagioestdual")); + df.setIsenta(rs.getBoolean("isenta")); + df.setTarifa(rs.getBigDecimal("tarifa")); + df.setTaxaEmbarque(rs.getBigDecimal("taxaEmbarque")); + df.setPedagio(rs.getBigDecimal("pedagio")); + df.setSeguro(rs.getBigDecimal("seguro")); + df.setOutros(rs.getBigDecimal("outros")); + df.setDatamov(rs.getString("datamov")); + list.add(df); + } + + rs.close(); + ps.close(); + + } catch (SQLException e) { + log.error("", e); + } + + return list; + } + + @Deprecated + private String sqlRelatorioRDIVendidosXML(String ufs) { + + StringBuilder sql = new StringBuilder(); + sql.append("select "); + sql.append(" c.boleto_id as cajaId, "); + sql.append(" 'REC' as tipoReceita, "); + sql.append(" c.numoperacion as numoperacion, "); + sql.append(" trunc(c.feccreacion) as fechorVenta, "); + sql.append(" e.estado_id as estadoId, "); + sql.append(" ei.icms as icmsInterestadual, "); + sql.append(" ei.icmsim as icmsIntermunicipal, "); + sql.append(" e.cveestado as estadoOrigem, "); + sql.append(" ed.cveestado as estadoDestino, "); + sql.append(" co.codibge as municipioOrigem, "); + sql.append(" case when (e.cveestado = ed.cveestado) then 0 else 1 end as isInterEstadual, "); + sql.append(" 0 as isenta, "); + sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); + sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); + sql.append(" ei.porcredestadual as porcRedEstadual, "); + sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); + sql.append(" ei.indseguromunicipal as indseguromunicipal, "); + sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); + sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); + sql.append(" ei.indtarifaestadual as indtarifaestadual, "); + sql.append(" ei.indseguroestadual as indseguroestadual, "); + sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); + sql.append(" ei.indpedagioestdual as indpedagioestdual, "); + sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); + sql.append(" coalesce(c.preciopagado, 0) as tarifa, "); + sql.append(" coalesce(c.importetaxaembarque, 0) as taxaEmbarque, "); + sql.append(" coalesce(c.importepedagio, 0) as pedagio, "); + sql.append(" coalesce(c.importeseguro, 0) as seguro, "); + sql.append(" coalesce(c.importeoutros, 0) as outros, "); + sql.append(" to_char(trunc(c.feccreacion), 'yyyymmdd') as datamov, "); + sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000) as xml_bpe, "); + sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 3001) as xml_bpe_2, "); + sql.append(" DBMS_LOB.substr(coalesce(bpe.xmlregular, bpe.xmlcontingencia), 3000, 6001) as xml_bpe_3 "); + sql.append("from boleto c "); + sql.append(" join bpe bpe on c.boleto_id = bpe.boleto_id "); + sql.append(" and bpe.activo = (case when c.motivocancelacion_id = 17 and c.boletooriginal_id is null then 0 else 1 end) "); + sql.append(" left join bpe bpecan on bpecan.chbpe = bpe.chbpe and bpecan.codstat in ('101','135') and bpe.codstat = '100' "); + sql.append(" and (bpecan.tipoevento = '110111' or bpecan.tipoevento is null) and bpecan.activo = 1 "); + sql.append(" join estado e on e.codibge = bpe.uf "); + sql.append(" join marca ma on c.marca_id = ma.marca_id "); + sql.append(" join empresa ep on ma.empresa_id = ep.empresa_id "); + sql.append(" join ruta r on r.ruta_id = c.ruta_id "); + sql.append(" left join alias_servico ase on ase.origen_id = c.origen_id "); + sql.append(" and ase.destino_id = c.destino_id and ase.ruta_id = c.ruta_id and ase.activo = 1 and ase.corrida_id is null and ase.activo = 1 "); + sql.append(" inner join parada o on coalesce(ase.aliasorigen_id, c.origen_id) = o.parada_id "); + sql.append(" inner join ciudad co on o.ciudad_id = co.ciudad_id "); + sql.append(" inner join estado eo on eo.estado_id = co.estado_id "); + sql.append(" inner join parada d on coalesce(ase.aliasdestino_id, c.destino_id) = d.parada_id "); + sql.append(" inner join ciudad cd on d.ciudad_id = cd.ciudad_id "); + sql.append(" inner join estado ed on ed.estado_id = cd.estado_id "); + sql.append(" left join empresa_imposto ei on ei.empresa_id = ep.empresa_id and ei.estado_id = e.estado_id and ei.activo = 1 "); + sql.append("where c.activo = 1 and bpe.tipoamb = 1 and bpe.codstat in ('-1','100','102','150') "); + sql.append(" and (bpe.fecmodif < (case when (to_char(bpe.fecmodif, 'mm/yyyy') <> to_char(bpecan.fecmodif, 'mm/yyyy') ) "); + sql.append(" then bpecan.fecmodif else bpe.fecmodif end) or bpecan.fecmodif is null) "); + sql.append(" and c.feccreacion >= :DATE_INICIO "); + sql.append(" and c.feccreacion <= :DATE_FIM "); + sql.append(" and ep.empresa_id = :EMPRESA_ID "); + sql.append(" and (bpe.xmlregular is not null or bpe.xmlcontingencia is not null) "); + sql.append(" and e.cveestado in ( ").append(ufs).append(" ) "); + + return sql.toString(); + } + + @Deprecated + private String sqlRelatorioRDICanceladosXML(String ufs) { + + StringBuilder sql = new StringBuilder(); + sql.append("select "); + sql.append(" b.boleto_id as cajaId, "); + sql.append(" 'DEV' as tipoReceita, "); + sql.append(" b.numoperacion as numoperacion, "); + sql.append(" trunc(bori.feccreacion) as fechorVenta, "); + sql.append(" est_bpe.estado_id as estadoId, "); + sql.append(" ei.icms as icmsInterestadual, "); + sql.append(" ei.icmsim as icmsIntermunicipal, "); + sql.append(" est_bpe.cveestado as estadoOrigem, "); + sql.append(" eds.cveestado as estadoDestino, "); + sql.append(" co.codibge as municipioOrigem, "); + sql.append(" case when (est_bpe.cveestado = eds.cveestado) then 0 else 1 end as isInterEstadual, "); + sql.append(" 0 as isenta, "); + sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); + sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); + sql.append(" ei.porcredestadual as porcRedEstadual, "); + sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); + sql.append(" ei.indseguromunicipal as indseguromunicipal, "); + sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); + sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); + sql.append(" ei.indtarifaestadual as indtarifaestadual, "); + sql.append(" ei.indseguroestadual as indseguroestadual, "); + sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); + sql.append(" ei.indpedagioestdual as indpedagioestdual, "); + sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); + sql.append(" coalesce(b.preciopagado, 0) as tarifa, "); + sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); + sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); + sql.append(" coalesce(b.importeseguro, 0) as seguro, "); + sql.append(" coalesce(b.importeoutros, 0) as outros, "); + sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); + sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000) as xml_bpe, "); + sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 3001) as xml_bpe_2, "); + sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 6001) as xml_bpe_3 "); + sql.append("from boleto bori "); + sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); + sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); + sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); + sql.append(" and bpe.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); + sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); + sql.append(" left join bpe bpeori on bpeori.chbpe = bpe.chbpe_substituicao "); + sql.append(" and bpeori.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); + sql.append(" left join boleto b on b.boleto_id = bpeori.boleto_id "); + sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = b.puntoventa_id "); + sql.append(" inner join parada ori on (b.origen_id = ori.parada_id ) "); + sql.append(" inner join parada des on (b.destino_id = des.parada_id ) "); + sql.append(" inner join ciudad co on (co.ciudad_id = ori.ciudad_id ) "); + sql.append(" inner join ciudad cd on (cd.ciudad_id = des.ciudad_id ) "); + sql.append(" inner join estado est on est.estado_id = co.estado_id "); + sql.append(" left join alias_servico s on s.origen_id = b.origen_id "); + sql.append(" and s.destino_id = b.destino_id and (s.corrida_id = b.corrida_id or s.corrida_id is null) "); + sql.append(" and s.ruta_id = b.ruta_id "); + sql.append(" left join parada pos on pos.parada_id = s.aliasorigen_id "); + sql.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id "); + sql.append(" left join estado eos on eos.estado_id = cos.estado_id "); + sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id "); + sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); + sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); + sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); + sql.append(" and ie.estado_id = coalesce(eos.estado_id, est.estado_id) and ie.activo = 1 "); + sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id "); + sql.append(" and ei.estado_id = coalesce(eos.estado_id, est.estado_id) and ei.activo = 1 "); + sql.append(" left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); + sql.append(" left join estado esaidf on esaidf.estado_id = aidf.estado_id "); + sql.append(" left join boleto bant on bant.boleto_id = (case when bpeori.tipoevento is not null then coalesce(b.boletoanterior_id, b.boletooriginal_id) else null end) "); + sql.append(" left join bpe bpeant on bpeant.boleto_id = bant.boleto_id "); + sql.append(" left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(bant.puntoventa_id, bori.puntoventa_id,b.ptovtaventa_id) "); + sql.append("where ( (bpe.codstat in ('-1','100','101','102','135','150') and bpe.chbpe_substituicao is not null) "); + sql.append(" or (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) ) "); + sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento <> '110115' or bpe.tipoevento is null) "); + sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento <> '110115' or bpeori.tipoevento is null) "); + sql.append(" and bori.feccreacion >= :DATE_INICIO "); + sql.append(" and bori.feccreacion <= :DATE_FIM "); + sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); + sql.append(" and e.empresa_id = :EMPRESA_ID "); + sql.append(" "); + sql.append(" union all "); + sql.append(" "); + sql.append("select "); + sql.append(" b.boleto_id as cajaId, "); + sql.append(" 'DEV' as tipoReceita, "); + sql.append(" b.numoperacion as numoperacion, "); + sql.append(" trunc(bori.feccreacion) as fechorVenta, "); + sql.append(" est_bpe.estado_id as estadoId, "); + sql.append(" ei.icms as icmsInterestadual, "); + sql.append(" ei.icmsim as icmsIntermunicipal, "); + sql.append(" est_bpe.cveestado as estadoOrigem, "); + sql.append(" eds.cveestado as estadoDestino, "); + sql.append(" co.codibge as municipioOrigem, "); + sql.append(" case when (est_bpe.cveestado = eds.cveestado) then 0 else 1 end as isInterEstadual, "); + sql.append(" 0 as isenta, "); + sql.append(" ei.porcredbaseicms as redBaseCalcIcms, "); + sql.append(" ei.porcredmunicipal as porcRedMunicipal, "); + sql.append(" ei.porcredestadual as porcRedEstadual, "); + sql.append(" ei.indtarifamunicipal as indtarifamunicipal, "); + sql.append(" ei.indseguromunicipal as indseguromunicipal, "); + sql.append(" ei.indtxembarquemunicipal as indtxembarquemunicipal, "); + sql.append(" ei.indpedagiomunicipal as indpedagiomunicipal, "); + sql.append(" ei.indtarifaestadual as indtarifaestadual, "); + sql.append(" ei.indseguroestadual as indseguroestadual, "); + sql.append(" ei.indtxembarqueestadual as indtxembarqueestadual, "); + sql.append(" ei.indpedagioestdual as indpedagioestdual, "); + sql.append(" ei.tributacaoImportacao as tributacaoImportacao, "); + sql.append(" coalesce(b.preciopagado, 0) as tarifa, "); + sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); + sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); + sql.append(" coalesce(b.importeseguro, 0) as seguro, "); + sql.append(" coalesce(b.importeoutros, 0) as outros, "); + sql.append(" to_char(trunc(bori.feccreacion), 'yyyymmdd') as datamov, "); + sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000) as xml_bpe, "); + sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 3001) as xml_bpe_2, "); + sql.append(" dbms_lob.substr((case when bpeori.tipoevento is not null then bpeant.xmlregular else bpeori.xmlregular end), 3000, 6001) as xml_bpe_3 "); + sql.append("from boleto bori "); + sql.append(" inner join marca m on m.marca_id = bori.marca_id and m.activo = 1 "); + sql.append(" inner join empresa e on e.empresa_id = m.empresa_id "); + sql.append(" inner join bpe bpe on bpe.boleto_id = bori.boleto_id "); + sql.append(" and bpe.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); + sql.append(" inner join estado est_bpe on bpe.uf = est_bpe.codibge "); + sql.append(" left join boleto b on b.boleto_id = (case when bori.motivocancelacion_id = 99 then bori.boletoanterior_id else bori.boletooriginal_id end) "); + sql.append(" left join bpe bpeori on b.boleto_id = bpeori.boleto_id "); + sql.append(" and bpeori.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); + sql.append(" inner join punto_venta ptv on ptv.puntoventa_id = bori.puntoventa_id "); + sql.append(" inner join parada ori on (b.origen_id = ori.parada_id ) "); + sql.append(" inner join parada des on (b.destino_id = des.parada_id ) "); + sql.append(" inner join ciudad co on (co.ciudad_id = ori.ciudad_id ) "); + sql.append(" inner join ciudad cd on (cd.ciudad_id = des.ciudad_id ) "); + sql.append(" inner join estado est on est.estado_id = co.estado_id "); + sql.append("left join alias_servico s on s.origen_id = b.origen_id "); + sql.append(" and s.destino_id = b.destino_id and (s.corrida_id = b.corrida_id or s.corrida_id is null) "); + sql.append(" and s.ruta_id = b.ruta_id and s.activo = 1 "); + sql.append("left join parada pos on pos.parada_id = s.aliasorigen_id "); + sql.append("left join ciudad cos on cos.ciudad_id = pos.ciudad_id "); + sql.append("left join estado eos on eos.estado_id = cos.estado_id "); + sql.append("left join parada pds on pds.parada_id = s.aliasdestino_id "); + sql.append("left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); + sql.append("left join estado eds on eds.estado_id = cds.estado_id "); + sql.append("join inscricao_estadual ie on e.empresa_id = ie.empresa_id "); + sql.append(" and ie.estado_id = coalesce(eos.estado_id, est.estado_id) and ie.activo = 1 "); + sql.append("join empresa_imposto ei on ei.empresa_id = e.empresa_id "); + sql.append(" and ei.estado_id = coalesce(eos.estado_id, est.estado_id) and ei.activo = 1 "); + sql.append("left join aidf aidf on aidf.aidf_id = b.aidf_id and b.tipoventa_id = 3 "); + sql.append("left join estado esaidf on esaidf.estado_id = aidf.estado_id "); + sql.append("left join boleto bant on bant.boleto_id = (case when bpeori.tipoevento is not null then coalesce(b.boletoanterior_id, b.boletooriginal_id) else null end) "); + sql.append("left join bpe bpeant on bpeant.boleto_id = bant.boleto_id "); + sql.append(" and bpeant.activo = (case when bori.motivocancelacion_id = 17 and bori.boletooriginal_id is null then 0 else 1 end) "); + sql.append("left join punto_venta ptvo on ptvo.puntoventa_id = coalesce(bant.puntoventa_id, bori.puntoventa_id,b.ptovtaventa_id) "); + sql.append("where "); + sql.append(" (bpe.codstat in ('101','135') and to_char(b.feccreacion, 'mm/yyyy') < to_char(bori.feccreacion, 'mm/yyyy')) "); + sql.append(" and (bpe.codstat in ('-1','100','101','102','135','150') and bpe.tipoevento <> '110115' or bpe.tipoevento is null) "); + sql.append(" and (bpeori.codstat in ('-1','100','101','102','135','150') and bpeori.tipoevento <> '110115' or bpeori.tipoevento is null) "); + sql.append(" and bori.feccreacion >= :DATE_INICIO "); + sql.append(" and bori.feccreacion <= :DATE_FIM "); + sql.append(" and est_bpe.cveestado in ( ").append(ufs).append(" ) "); + sql.append(" and e.empresa_id = :EMPRESA_ID "); + + sql.append("order by estadoId, isInterEstadual "); + + return sql.toString(); + } + + @Override + public List buscarBPeRejeitadosContingencia(Integer empresaId, String numBpe, String chbpe, Date dtVendaInicio, Date dtVendaFim, List estados, List codigosRejeicoes) { + StringBuilder sQuery = new StringBuilder(); + sQuery.append("select bpe.bpe_id bpeId, bpe.codstat, bpe.chbpe, b.num_bpe numBpe, b.numserie_bpe numserieBpe, e.cveestado uf, bpe.motivo, ") + .append("bpe.errocontingencia, b.fechorventa, em.nombempresa ") + .append("from bpe bpe ") + .append("join boleto b on b.boleto_id = bpe.boleto_id ") + .append("join marca m on m.marca_id = b.marca_id ") + .append("left join estado e on e.codibge = bpe.uf ") + .append("join empresa em on em.empresa_id = m.empresa_id ") + .append("where bpe.activo = 1 ") + .append("and b.activo = 1 ") + .append("and bpe.codstat in ('-10','-20') "); + + if(empresaId != null) { + sQuery.append("and m.empresa_id = :empresaId "); + } + if(StringUtils.isNotBlank(numBpe)) { + sQuery.append("and b.num_bpe = :numBpe "); + } + if(StringUtils.isNotBlank(chbpe)) { + sQuery.append("and bpe.chbpe = :chbpe "); + } + if(dtVendaInicio != null && dtVendaFim != null) { + sQuery.append("and b.fechorventa between to_date(:dtVendaInicio,'dd/mm/yyyy hh24:mi') and to_date(:dtVendaFim,'dd/mm/yyyy hh24:mi') "); + } + if(estados != null && !estados.isEmpty()) { + sQuery.append("and e.estado_id in (:estados) "); + } + if(codigosRejeicoes != null && !codigosRejeicoes.isEmpty()) { + sQuery.append("and substr(bpe.errocontingencia,1,3) in (:codigosRejeicoes) "); + } + + Query qr = getSession().createSQLQuery(sQuery.toString()) + .addScalar("bpeId", IntegerType.INSTANCE) + .addScalar("codstat", StringType.INSTANCE) + .addScalar("chbpe", StringType.INSTANCE) + .addScalar("numBpe", StringType.INSTANCE) + .addScalar("numserieBpe", StringType.INSTANCE) + .addScalar("uf", StringType.INSTANCE) + .addScalar("motivo", StringType.INSTANCE) + .addScalar("errocontingencia", StringType.INSTANCE) + .addScalar("fechorventa", TimestampType.INSTANCE) + .addScalar("nombempresa", StringType.INSTANCE) + .setResultTransformer(new AliasToBeanResultTransformer(BPeVO.class)); + if(empresaId != null) { + qr.setParameter("empresaId", empresaId); + } + if(StringUtils.isNotBlank(numBpe)) { + qr.setParameter("numBpe", numBpe); + } + if(StringUtils.isNotBlank(chbpe)) { + qr.setParameter("chbpe", chbpe); + } + if(dtVendaInicio != null && dtVendaFim != null) { + qr.setParameter("dtVendaInicio", DateUtil.getStringDate(DateUtil.inicioFecha(dtVendaInicio), "dd/MM/yyyy HH:mm")); + qr.setParameter("dtVendaFim", DateUtil.getStringDate(DateUtil.fimFecha(dtVendaFim), "dd/MM/yyyy HH:mm")); + } + if(estados != null && !estados.isEmpty()) { + qr.setParameterList("estados", estados); + } + if(codigosRejeicoes != null && !codigosRejeicoes.isEmpty()) { + qr.setParameterList("codigosRejeicoes", codigosRejeicoes); + } + + return qr.list(); + } + + @Override + public void definirBPeRejeitadoSefazReenvio(Integer bpeId, String codstat) throws BusinessException { + String codstatUpdate = null; + if("-10".equals(codstat)) { + codstatUpdate = "-1"; + } else if("-20".equals(codstat)) { + codstatUpdate = "-2"; + } + + if(codstatUpdate == null || bpeId == null) { + throw new BusinessException("NÃO foi possível atualizar o BPe selecionado"); + } + + try { + Query qr = getSession().createSQLQuery("update bpe set codstat = :codstatUpdate, xmlregular = null, fecmodif = :dataAtual, usuario_id = :usuarioId where bpe_id = :bpeId"); + qr.setParameter("codstatUpdate", codstatUpdate); + qr.setParameter("bpeId", bpeId); + qr.setParameter("dataAtual", new Date()); + qr.setParameter("usuarioId", UsuarioLogado.getUsuarioLogado().getUsuarioId()); + qr.executeUpdate(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new BusinessException(e.getMessage(), e); + } + } + + @Override + public List buscarBPeVendaEEventosAutorizados(Integer empresaId, Date dtVendaInicio, Date dtVendaFim, Integer estadoId) { + StringBuilder sQuery = new StringBuilder(); + sQuery.append("select bpe.chbpe, bpe.tipoevento, b.num_bpe numBpe, b.numserie_bpe numserieBpe, b.fechorventa, ") + .append("case when bpe.xmlcontingencia is not null and bpe.indcontingencia = 1 then bpe.xmlcontingencia else bpe.xmlregular end xmlEnvio, ") + .append("bpe.xmlresposta xmlResposta ") + .append("from bpe bpe ") + .append("join boleto b on b.boleto_id = bpe.boleto_id ") + .append("join marca m on m.marca_id = b.marca_id ") + .append("left join estado e on e.codibge = bpe.uf ") + .append("where bpe.activo = 1 ") + .append("and bpe.tipoamb = :tipoamb ") + .append("and bpe.codstat in ('100','101','102','135','150') "); + + if(empresaId != null) { + sQuery.append("and m.empresa_id = :empresaId "); + } + if(dtVendaInicio != null && dtVendaFim != null) { + sQuery.append("and b.fechorventa between to_date(:dtVendaInicio,'dd/mm/yyyy hh24:mi') and to_date(:dtVendaFim,'dd/mm/yyyy hh24:mi') "); + } + if(estadoId != null) { + sQuery.append("and e.estado_id = :estadoId "); + } + + Query qr = getSession().createSQLQuery(sQuery.toString()) + .addScalar("chbpe", StringType.INSTANCE) + .addScalar("tipoevento", StringType.INSTANCE) + .addScalar("chbpe", StringType.INSTANCE) + .addScalar("numBpe", StringType.INSTANCE) + .addScalar("numserieBpe", StringType.INSTANCE) + .addScalar("xmlEnvio", StringType.INSTANCE) + .addScalar("xmlResposta", StringType.INSTANCE) + .addScalar("fechorventa", TimestampType.INSTANCE) + .setResultTransformer(new AliasToBeanResultTransformer(BPeVO.class)); + + qr.setParameter("tipoamb", getAmbiente()); + if(empresaId != null) { + qr.setParameter("empresaId", empresaId); + } + if(dtVendaInicio != null && dtVendaFim != null) { + qr.setParameter("dtVendaInicio", DateUtil.getStringDate(DateUtil.inicioFecha(dtVendaInicio), "dd/MM/yyyy HH:mm")); + qr.setParameter("dtVendaFim", DateUtil.getStringDate(DateUtil.fimFecha(dtVendaFim), "dd/MM/yyyy HH:mm")); + } + if(estadoId != null) { + qr.setParameter("estadoId", estadoId); + } + + return qr.list(); + } + + public String getAmbiente() { + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + Constante contante = constanteService.buscarPorNomeConstante("BPE_AMBIENTE"); + String valorConstante = contante == null ? null : contante.getValorconstante(); + if(valorConstante != null) { + return valorConstante; + } + return "1"; + } + } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java index 1a32f94b2..a39e222cc 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java @@ -670,7 +670,7 @@ public class CajaHibernateDAO extends GenericHibernateDAO implemen sql.append("inner join punto_venta pv on pv.puntoventa_id = c.puntoventa_id "); sql.append("where c.activo = 1 "); sql.append("and c.indreimpresion = 0 "); - sql.append("and fp.formapago_id in (2, 3) "); // Débito e Crédito + sql.append("and fp.formapago_id in (2, 3) "); // Débito e Crédito sql.append("and ct.fecoperacion between to_date('" + formatadorData.format(dataIncial) + " 00:00', 'dd/mm/yyyy hh24:mi') and to_date('" + formatadorData.format(dataFinal) + " 23:59', 'dd/mm/yyyy hh24:mi') "); if (empresa!=null) { diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java index c24382849..e96920d61 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java @@ -178,7 +178,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO lsObj = buscarCasetasPeajeWithinTramo(ruta,listCasetaPeaje); - log.info("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******"); + log.info("****** QTD COMBINAÇÕES DE TRECHOS x QTD PEDAGIOS POR TRECHO: "+lsObj.size()+" ******"); if(isOrgaoNull){ orgao = orgaoConcedenteService.obtenerID(ruta.getOrgaoConcedente().getOrgaoConcedenteId()); @@ -470,7 +470,7 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO retorno = (List)query.list(); - //Caso não encontre categoria desconto com indnaoaplica deve se aplicar caso exista + //Caso não encontre categoria desconto com indnaoaplica deve se aplicar caso exista if(retorno ==null || retorno.isEmpty()) { return true; } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java index 6fd756b6a..8b51d0211 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java @@ -356,7 +356,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO)c.list(); // Mantis 16258 - // Query acima continha muitos joins fetchs desnecessários a partir de EMPRESA, que foram criados de forma não explícita. - // Assim a query retornava um número de registros além do real e não conseguia converter para a lista de DispositivoEmbarcadaHistorico + // Query acima continha muitos joins fetchs desnecessários a partir de EMPRESA, que foram criados de forma não explícita. + // Assim a query retornava um número de registros além do real e não conseguia converter para a lista de DispositivoEmbarcadaHistorico final String hql = "select dh from DispositivoEmbarcadaHistorico dh join fetch dh.dispositivoEmbarcada de where de.dispositivoEmbarcadaId = :dispositivoEmbarcadaId order by dh.dispositivoEmbarcadaHistId"; Query query = getSession().createQuery(hql); query.setParameter("dispositivoEmbarcadaId", dispositivoId); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EmbarcadaDispOperadorHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmbarcadaDispOperadorHibernateDAO.java index 2900054cb..22de9f537 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EmbarcadaDispOperadorHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmbarcadaDispOperadorHibernateDAO.java @@ -70,7 +70,7 @@ public class EmbarcadaDispOperadorHibernateDAO extends GenericHibernateDAO + * @author Bruno H. G. Gouvea * */ @Repository("empresaImpostoDAO") diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java index c59e46021..747372a0b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java @@ -127,7 +127,7 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO(); boletoAgr = null; contBolto = 0; @@ -3558,7 +3558,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO if (numPuntoVenta == null) { impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), - brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", null, null, folio); + brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", null, null, folio); numPuntoVenta = brp.getNumPuntoVenta(); data = brp.getFechorVenta(); @@ -3567,7 +3567,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO list.add(impRmd); impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), - brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", null, null, folio); + brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", null, null, folio); numPuntoVenta = brp.getNumPuntoVenta(); data = brp.getFechorVenta(); } @@ -3604,7 +3604,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO if (serie == null) { impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), - dataMovimento, rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoImpressora(), folio); + dataMovimento, rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoImpressora(), folio); serie = brp.getEcf(); datamov = brp.getDatamov(); @@ -3613,7 +3613,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO list.add(impRmd); impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), - dataMovimento, rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoImpressora(), folio); + dataMovimento, rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoImpressora(), folio); serie = brp.getEcf(); datamov = brp.getDatamov(); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/GenericHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/GenericHibernateDAO.java index a2a235a8c..5e24a1b59 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/GenericHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/GenericHibernateDAO.java @@ -36,7 +36,7 @@ public class GenericHibernateDAO extends HibernateDa this.persistentClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; } - // Classe que será persistida. + // Classe que será persistida. private Class persistentClass; public Class getPersistentClass() { @@ -143,7 +143,7 @@ public class GenericHibernateDAO extends HibernateDa * Metodo adicionado para retornar em o tempo de execucao * de cada metodo chamado, sendo chamado nas implementacoes * e printado via log.debug, para que possa ser analizado - * qualquer eventual demora na execução + * qualquer eventual demora na execução * */ public String printInfo(String method, long start) { long milliseconds = System.currentTimeMillis() - start; diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/GrupoRutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/GrupoRutaHibernateDAO.java index 284ae66f7..e4fcc83b3 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/GrupoRutaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/GrupoRutaHibernateDAO.java @@ -16,7 +16,7 @@ import com.rjconsultores.ventaboletos.entidad.GrupoRuta; /** * - * @author Bruno H. G. Gouvêa + * @author Bruno H. G. Gouvea * */ @Repository("grupoRutaDAO") diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/MonitoramentoCRZHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/MonitoramentoCRZHibernateDAO.java index a505e7d69..67465cedb 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/MonitoramentoCRZHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/MonitoramentoCRZHibernateDAO.java @@ -132,7 +132,7 @@ implements MonitoramentoCRZDAO { if (rset.next()){ crz2 = rset.getInt("CRZ"); Date aux = dataRegistro; - if (crz - crz2 > 1){ // crz é maior que crz2 pois esta ordenado decrescente + if (crz - crz2 > 1){ // crz é maior que crz2 pois esta ordenado decrescente for (int i = crz -1; i > crz2; i--){ Calendar c = Calendar.getInstance(); c.setTime(aux); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java index 4e4400ba0..0ad9ce91a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java @@ -400,7 +400,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO impleme return qry.list(); } - public List buscaRutasFromOrgao(OrgaoConcedente orgao) { // busca rutas e ped�gios + public List buscaRutasFromOrgao(OrgaoConcedente orgao) { // busca rutas e pedágios StringBuffer hql = new StringBuffer(); hql.append("select distinct r FROM Ruta r left join r.rutaSecuenciaList rSeqList "); hql.append(" left join rSeqList.lsRutaCase casRutaList "); @@ -342,7 +342,7 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme } try { - // Pode cair na exception caso ja possua tarifa criada para o tramo, e nao � necessaria criar novamente + // Pode cair na exception caso ja possua tarifa criada para o tramo, e nao é necessaria criar novamente qryList = new ArrayList(); qry = new StringBuilder(" update TARIFA set TRAMO_ID = :nuevoTramo, "); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java index 8cc5abe36..ab98efcf6 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaSecuenciaHibernateDAO.java @@ -93,7 +93,7 @@ public class RutaSecuenciaHibernateDAO extends GenericHibernateDAO> dados = querySQL.list(); @@ -197,11 +197,11 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO getListClienteFidelidadActivos() { List lsActivos = new ArrayList(); diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java b/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java index 48b8fa56f..990de9416 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ConexionRutaCtrl.java @@ -147,7 +147,7 @@ public class ConexionRutaCtrl implements Serializable { } } } - throw new RuntimeException("ConexionRutaCtrl não identificada"); + throw new RuntimeException("ConexionRutaCtrl não identificada"); } public Ruta getRutaOrigen() { diff --git a/src/com/rjconsultores/ventaboletos/entidad/ContaMD.java b/src/com/rjconsultores/ventaboletos/entidad/ContaMD.java index c1604ec54..d9ce119ad 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ContaMD.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ContaMD.java @@ -164,7 +164,7 @@ public class ContaMD implements Serializable { return ""; } - return tipo.equals("C") ? "Crédito" : "Débito"; + return tipo.equals("C") ? "Crédito" : "Débito"; } public String getStatusDesc() { diff --git a/src/com/rjconsultores/ventaboletos/entidad/CtrlFechamentoCaixa.java b/src/com/rjconsultores/ventaboletos/entidad/CtrlFechamentoCaixa.java index 20e66949d..fa78aa02f 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/CtrlFechamentoCaixa.java +++ b/src/com/rjconsultores/ventaboletos/entidad/CtrlFechamentoCaixa.java @@ -19,7 +19,7 @@ import javax.persistence.TemporalType; import com.rjconsultores.ventaboletos.enums.CtrlFechamentoCaixaStatus; /** - * Classe que controla a rotina de retenção de comissão após o fechamento do caixa + * Classe que controla a rotina de retenção de comissão após o fechamento do caixa * * @author wilian * @since 29/11/2018 diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java index 0a4ce87c3..c60cc4c1a 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java +++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java @@ -256,14 +256,14 @@ public class EsquemaCorrida implements Serializable, Auditavel { private String indNaoImprimeBpe; public enum GerarFeriado { - // Declaração dos enum + // Declaração dos enum GERARSEMPRE("GERAR SEMPRE", "S"), - GERARQUANDOFERIADO("GERAR SÓ QUANDO FOR FERIADO", "F"), + GERARQUANDOFERIADO("GERAR SÓ QUANDO FOR FERIADO", "F"), - GERARQUANDONAOFERIADO("GERAR QUANDO NÃO FOR FERIADO", "N"); + GERARQUANDONAOFERIADO("GERAR QUANDO NÂO FOR FERIADO", "N"); - // Definição das constantes + // Definição das constantes public final String valor; public final String descricao; @@ -745,7 +745,7 @@ public class EsquemaCorrida implements Serializable, Auditavel { @Override public String getTextoInclusaoExclusao() { - return String.format("ID [%s] - Número Serviço [%s]", getEsquemacorridaId(), getNumCorrida()); + return String.format("ID [%s] - Número serviço [%s]", getEsquemacorridaId(), getNumCorrida()); } public Integer getNumCorridaPisoExtra2() { diff --git a/src/com/rjconsultores/ventaboletos/entidad/GP_Pricing.java b/src/com/rjconsultores/ventaboletos/entidad/GP_Pricing.java index 5296bcb52..5e10ed69b 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/GP_Pricing.java +++ b/src/com/rjconsultores/ventaboletos/entidad/GP_Pricing.java @@ -172,14 +172,14 @@ public class GP_Pricing implements Serializable, Cloneable { private Boolean indDomEstadiaminima; public enum GerarFeriado { - // Declaração dos enum + // Declaração dos enum GERARSEMPRE("GERAR SEMPRE", "S"), - GERARQUANDOFERIADO("GERAR SÓ QUANDO FOR FERIADO", "F"), + GERARQUANDOFERIADO("GERAR SÓ QUANDO FOR FERIADO", "F"), - GERARQUANDONAOFERIADO("GERAR QUANDO NÃO FOR FERIADO", "N"); + GERARQUANDONAOFERIADO("GERAR QUANDO NÃO FOR FERIADO", "N"); - // Definição das constantes + // Definição das constantes public final String valor; public final String descricao; diff --git a/src/com/rjconsultores/ventaboletos/entidad/GP_PricingDia.java b/src/com/rjconsultores/ventaboletos/entidad/GP_PricingDia.java index eb24b36d4..e7c31ef93 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/GP_PricingDia.java +++ b/src/com/rjconsultores/ventaboletos/entidad/GP_PricingDia.java @@ -51,12 +51,12 @@ public class GP_PricingDia implements Serializable, Cloneable { @Column(name = "HORARIOINICIO") @Temporal(TemporalType.TIMESTAMP) - // Fue cambido de TIME para TIMESTAMP porque cuando está time el año que se salva el 1900 y no 1970. + // Fue cambido de TIME para TIMESTAMP porque cuando está time el ao que se salva el 1900 y no 1970. private Date horarioinicio; @Column(name = "HORARIOFIN") @Temporal(TemporalType.TIMESTAMP) - // Fue cambido de TIME para TIMESTAMP porque cuando está time el año que se salva el 1900 y no 1970. + // Fue cambido de TIME para TIMESTAMP porque cuando está time el ao que se salva el 1900 y no 1970. private Date horariofin; @Column(name = "FECMODIF") diff --git a/src/com/rjconsultores/ventaboletos/entidad/GrupoRuta.java b/src/com/rjconsultores/ventaboletos/entidad/GrupoRuta.java index 4b9e0dd45..fbef4f6a7 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/GrupoRuta.java +++ b/src/com/rjconsultores/ventaboletos/entidad/GrupoRuta.java @@ -20,7 +20,7 @@ import javax.persistence.TemporalType; /** * - * @author Bruno H. G. Gouvêa + * @author Bruno H. G. Gouvea * */ @Entity diff --git a/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java b/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java index 169870b19..004335732 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java +++ b/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java @@ -227,8 +227,8 @@ public class LogConferencia implements Serializable { /** * Tipos de movimentos
- * 0 - Débito
- * 1 - Crédito
+ * 0 - Débito
+ * 1 - Crédito
* 2 - Informativo
*/ public Short isIndcredito() { diff --git a/src/com/rjconsultores/ventaboletos/entidad/ParadaSecuenciaCombinacaoLinha.java b/src/com/rjconsultores/ventaboletos/entidad/ParadaSecuenciaCombinacaoLinha.java index 120148d98..ba4731715 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ParadaSecuenciaCombinacaoLinha.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ParadaSecuenciaCombinacaoLinha.java @@ -4,7 +4,7 @@ import java.util.List; /** * - * @author Eduardo Classe responsável pela geração das linhas automaticamente identificando origem e destino + * @author Eduardo Classe responsável pela geração das linhas automaticamente identificando origem e destino */ public class ParadaSecuenciaCombinacaoLinha { diff --git a/src/com/rjconsultores/ventaboletos/entidad/PricingDia.java b/src/com/rjconsultores/ventaboletos/entidad/PricingDia.java index d6016cee6..063f159ce 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PricingDia.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PricingDia.java @@ -52,11 +52,11 @@ public class PricingDia implements Serializable { private Boolean inddomingo; @Column(name = "HORARIOINICIO") @Temporal(TemporalType.TIMESTAMP) - // Fue cambido de TIME para TIMESTAMP porque cuando está time el año que se salva el 1900 y no 1970. + // Fue cambido de TIME para TIMESTAMP porque cuando está time el ao que se salva el 1900 y no 1970. private Date horarioinicio; @Column(name = "HORARIOFIN") @Temporal(TemporalType.TIMESTAMP) - // Fue cambido de TIME para TIMESTAMP porque cuando está time el año que se salva el 1900 y no 1970. + // Fue cambido de TIME para TIMESTAMP porque cuando está time el ao que se salva el 1900 y no 1970. private Date horariofin; @Column(name = "FECMODIF") @Temporal(TemporalType.TIMESTAMP) diff --git a/src/com/rjconsultores/ventaboletos/entidad/PtovtaAgencia.java b/src/com/rjconsultores/ventaboletos/entidad/PtovtaAgencia.java index 13ab899fd..b76258f42 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PtovtaAgencia.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PtovtaAgencia.java @@ -87,14 +87,14 @@ public class PtovtaAgencia implements Serializable { public enum enumTipoConta { - // Declara��o dos enum + // Declaração dos enum CONTACORRENTE ("CONTA CORRENTE C/C", "CC"), POUPANCA ("POUPANCA", "P"); - // Defini��o das constantes + // Definição das constantes public final String valor; public final String descricao; @@ -114,14 +114,14 @@ public class PtovtaAgencia implements Serializable { } public enum enumTipoPessoa { - // Declara��o dos enum - PESSOAFISICA ("PESSOA F�SICA", "F"), + // Declaração dos enum + PESSOAFISICA ("PESSOA FÃSICA", "F"), - PESSOAJURIDICA ("PESSOA JUR�DICA", "J"); + PESSOAJURIDICA ("PESSOA JURÃDICA", "J"); - // Defini��o das constantes + // Definição das constantes public final String valor; public final String descricao; diff --git a/src/com/rjconsultores/ventaboletos/entidad/PtovtaCatInd.java b/src/com/rjconsultores/ventaboletos/entidad/PtovtaCatInd.java index 7a3b661d3..832a59fe2 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PtovtaCatInd.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PtovtaCatInd.java @@ -160,8 +160,8 @@ public class PtovtaCatInd implements Serializable, Auditavel { @Override public String getTextoInclusaoExclusao() { - String totalbus = Boolean.TRUE.equals(getIndTotalBus()) ? "Totalbus : Sim" : "Totalbus : Não"; - String embarcada = Boolean.TRUE.equals(getIndEmbarcada()) ? "Embarcada : Sim" : "Embarcada : Não"; + String totalbus = Boolean.TRUE.equals(getIndTotalBus()) ? "Totalbus : Sim" : "Totalbus : Não"; + String embarcada = Boolean.TRUE.equals(getIndEmbarcada()) ? "Embarcada : Sim" : "Embarcada : Não"; return String.format("ID [%s]", getCategoria().getDesccategoria()+ "-"+totalbus+ "-"+embarcada); } diff --git a/src/com/rjconsultores/ventaboletos/entidad/PtovtaComissao.java b/src/com/rjconsultores/ventaboletos/entidad/PtovtaComissao.java index 1fc509def..e2ca18efe 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PtovtaComissao.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PtovtaComissao.java @@ -188,12 +188,12 @@ public class PtovtaComissao implements Serializable, Auditavel { } public enum Receita { - // Declaração dos enum + // Declaração dos enum RECEITABRUTA("RECEITA BRUTA", "RB"), - RECEITALIQUIDA("RECEITA LÍQUIDA ", "RL"); + RECEITALIQUIDA("RECEITA LÃQUIDA ", "RL"); - // Definição das constantes + // Definição das constantes public final String valor; public final String descricao; diff --git a/src/com/rjconsultores/ventaboletos/entidad/PtovtaDiversos.java b/src/com/rjconsultores/ventaboletos/entidad/PtovtaDiversos.java index 0c4a280cf..f47d4e0c3 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PtovtaDiversos.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PtovtaDiversos.java @@ -96,7 +96,7 @@ public class PtovtaDiversos implements Serializable { } public enum gerarEnum { - // Declaração dos enum + // Declaração dos enum POSICAOFORAEIXO ("FORA DO EIXO DA LINHA", "FEL"), @@ -104,7 +104,7 @@ public class PtovtaDiversos implements Serializable { - // Definição das constantes + // Definição das constantes public final String valor; public final String descricao; diff --git a/src/com/rjconsultores/ventaboletos/entidad/PtovtaEstoque.java b/src/com/rjconsultores/ventaboletos/entidad/PtovtaEstoque.java index ba7243f68..2bac037e2 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PtovtaEstoque.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PtovtaEstoque.java @@ -85,14 +85,14 @@ public class PtovtaEstoque implements Serializable, Auditavel{ public enum gerarEnum { - // Declaração dos enum + // Declaração dos enum SIM ("SIM", "1"), NAO ("NAO", "0"); - // Definição das constantes + // Definição das constantes public final String valor; public final String descricao; diff --git a/src/com/rjconsultores/ventaboletos/entidad/ReservaEspecialCliente.java b/src/com/rjconsultores/ventaboletos/entidad/ReservaEspecialCliente.java index 67028ce89..7c931e7c2 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ReservaEspecialCliente.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ReservaEspecialCliente.java @@ -49,13 +49,13 @@ public class ReservaEspecialCliente { @ManyToOne private Parada destino; - //Data Final Vigência + //Data Final Vigência @Basic(optional = false) @Column(name = "FECINICIO") @Temporal(TemporalType.TIMESTAMP) private Date fecinicio; - //Data Final Vigência + //Data Final Vigência @Basic(optional = false) @Column(name = "FECFINAL") @Temporal(TemporalType.TIMESTAMP) diff --git a/src/com/rjconsultores/ventaboletos/enums/EAmbienteContingencia.java b/src/com/rjconsultores/ventaboletos/enums/EAmbienteContingencia.java index e7c99e8ab..116ee7b44 100644 --- a/src/com/rjconsultores/ventaboletos/enums/EAmbienteContingencia.java +++ b/src/com/rjconsultores/ventaboletos/enums/EAmbienteContingencia.java @@ -2,8 +2,8 @@ package com.rjconsultores.ventaboletos.enums; public enum EAmbienteContingencia { - PRODUCAO(1, "Produção"), - HOMOLOGACAO(2, "Homologação"); + PRODUCAO(1, "Produção"), + HOMOLOGACAO(2, "Homologação"); private Integer id; private String descricao; @@ -27,6 +27,6 @@ public enum EAmbienteContingencia { return ambiente; } } - throw new IllegalArgumentException("Ambiente contigência não definido"); + throw new IllegalArgumentException("Ambiente contigência não definido"); } } diff --git a/src/com/rjconsultores/ventaboletos/enums/EStatusContingencia.java b/src/com/rjconsultores/ventaboletos/enums/EStatusContingencia.java index d2b4d0a56..85e48d27f 100644 --- a/src/com/rjconsultores/ventaboletos/enums/EStatusContingencia.java +++ b/src/com/rjconsultores/ventaboletos/enums/EStatusContingencia.java @@ -3,7 +3,7 @@ package com.rjconsultores.ventaboletos.enums; public enum EStatusContingencia { NORMAL(1, "Normal"), - CONTINGENCIA(2, "Contingência"); + CONTINGENCIA(2, "Contingência"); private Integer id; private String descricao; @@ -27,6 +27,6 @@ public enum EStatusContingencia { return status; } } - throw new IllegalArgumentException("Status contigência não definido"); + throw new IllegalArgumentException("Status contigência não definido"); } } diff --git a/src/com/rjconsultores/ventaboletos/enums/EnumTipoVenda.java b/src/com/rjconsultores/ventaboletos/enums/EnumTipoVenda.java index 9adbdf30d..aded71922 100644 --- a/src/com/rjconsultores/ventaboletos/enums/EnumTipoVenda.java +++ b/src/com/rjconsultores/ventaboletos/enums/EnumTipoVenda.java @@ -57,9 +57,9 @@ public enum EnumTipoVenda { TPV_TRANSFERENCIA_CUPON_MONEDERO(71, true), TPV_VENTA_RESERVACION_OXXO(72, true), TPV_VENTA_EXTRAVIADO(73, true), - TPV_CAMBIO_VIAJE(81, true),// é a transferência de passagens + TPV_CAMBIO_VIAJE(81, true),// é a transferência de passagens /** - * Confirmação de Venda em Aberto => 82 + * Confirmação de Venda em Aberto => 82 */ TPV_CONFIRMA_ABIERTO(82, true), TPV_VENDA_PACOTE(83, true), @@ -88,6 +88,6 @@ public enum EnumTipoVenda { return tipoVenda; } } - throw new IllegalArgumentException("Tipo de venda não encontrada."); + throw new IllegalArgumentException("Tipo de venda não encontrada."); } } diff --git a/src/com/rjconsultores/ventaboletos/enums/FolioSistemaEnum.java b/src/com/rjconsultores/ventaboletos/enums/FolioSistemaEnum.java index 73f28239b..833d69473 100644 --- a/src/com/rjconsultores/ventaboletos/enums/FolioSistemaEnum.java +++ b/src/com/rjconsultores/ventaboletos/enums/FolioSistemaEnum.java @@ -21,7 +21,7 @@ public enum FolioSistemaEnum { return folio; } } - throw new IllegalArgumentException("Folio Sistema não encontrado."); + throw new IllegalArgumentException("Folio Sistema não encontrado."); } public String getNome() { diff --git a/src/com/rjconsultores/ventaboletos/enums/LocalEnderecoApanhe.java b/src/com/rjconsultores/ventaboletos/enums/LocalEnderecoApanhe.java index e8f4996e4..97b68a6d1 100644 --- a/src/com/rjconsultores/ventaboletos/enums/LocalEnderecoApanhe.java +++ b/src/com/rjconsultores/ventaboletos/enums/LocalEnderecoApanhe.java @@ -5,7 +5,7 @@ public enum LocalEnderecoApanhe { APANHE_EM_CASA(0,"Apanhe em Casa"), HOTEL(1,"Hotel"), NENHUM(2,"Nenhum"), - REGIAO_METROPOLITANA(3,"Região Metropolitana"); + REGIAO_METROPOLITANA(3,"Região Metropolitana"); private Integer valor; private String descricao; diff --git a/src/com/rjconsultores/ventaboletos/enums/RelatorioMovimentacaoBilheteStatusEnum.java b/src/com/rjconsultores/ventaboletos/enums/RelatorioMovimentacaoBilheteStatusEnum.java index 9a0ae110c..58925982b 100644 --- a/src/com/rjconsultores/ventaboletos/enums/RelatorioMovimentacaoBilheteStatusEnum.java +++ b/src/com/rjconsultores/ventaboletos/enums/RelatorioMovimentacaoBilheteStatusEnum.java @@ -7,7 +7,7 @@ import java.util.List; public enum RelatorioMovimentacaoBilheteStatusEnum { - VENDIDO("Vendido", "VENDIDO"), CANCELADO("Cancelado", "CANCELADO"), DEVOLVIDO("Devolvido", "DEVOLVIDO"), CANCELADO_EMERGENCIAL("Cancelado emergencial", "CANCEC. EMERG"), TROCA("Troca", "TROCA", "TROCA PASSAGEM"), TRANSFERENCIA("Transferência", "TRANSFERIDO", "TRANSFERÊNCIA"), REATIVACAO("Reativação", "CHECKIN REATIVADO", "REATIVADO"), TROCA_TITULARIDADE("Troca de Titularidade", "TITULARIDADE TROCADA", "TROCA TITULARIDADE"), TROCA_POLTRONA("Troca de Poltrona", "POLTRONA ALTERADA", "TROCA POLTRONA"), NO_SHOW("No-Show", "NO-SHOW"), CHECK_IN("Check-in", "CHECK-IN"), ENTREGA("Entrega", "ENTREGUE"), RESERVA("Reserva", "RESERVA", "CONFIRMA RESERVA", "LIBERA RESERVA"); + VENDIDO("Vendido", "VENDIDO"), CANCELADO("Cancelado", "CANCELADO"), DEVOLVIDO("Devolvido", "DEVOLVIDO"), CANCELADO_EMERGENCIAL("Cancelado emergencial", "CANCEC. EMERG"), TROCA("Troca", "TROCA", "TROCA PASSAGEM"), TRANSFERENCIA("Transferência", "TRANSFERIDO", "TRANSFERÊNCIA"), REATIVACAO("Reativação", "CHECKIN REATIVADO", "REATIVADO"), TROCA_TITULARIDADE("Troca de Titularidade", "TITULARIDADE TROCADA", "TROCA TITULARIDADE"), TROCA_POLTRONA("Troca de Poltrona", "POLTRONA ALTERADA", "TROCA POLTRONA"), NO_SHOW("No-Show", "NO-SHOW"), CHECK_IN("Check-in", "CHECK-IN"), ENTREGA("Entrega", "ENTREGUE"), RESERVA("Reserva", "RESERVA", "CONFIRMA RESERVA", "LIBERA RESERVA"); private String descricaoTela; private String statusRelatorio; diff --git a/src/com/rjconsultores/ventaboletos/enums/SistemaEnum.java b/src/com/rjconsultores/ventaboletos/enums/SistemaEnum.java index bd5eec30a..d6b87b99e 100644 --- a/src/com/rjconsultores/ventaboletos/enums/SistemaEnum.java +++ b/src/com/rjconsultores/ventaboletos/enums/SistemaEnum.java @@ -4,7 +4,7 @@ public enum SistemaEnum { VENDA_CLIENTE(1, "Venda Cliente"), VENDA_SERVIDOR(2, "Venda Servidor"), - ADM(3, "Administração"); + ADM(3, "Administração"); private Integer valor; private String descricao; diff --git a/src/com/rjconsultores/ventaboletos/enums/SituacaoNotaCreditoVendaPacote.java b/src/com/rjconsultores/ventaboletos/enums/SituacaoNotaCreditoVendaPacote.java index 31776bf9b..99464c9d7 100644 --- a/src/com/rjconsultores/ventaboletos/enums/SituacaoNotaCreditoVendaPacote.java +++ b/src/com/rjconsultores/ventaboletos/enums/SituacaoNotaCreditoVendaPacote.java @@ -2,7 +2,7 @@ package com.rjconsultores.ventaboletos.enums; public enum SituacaoNotaCreditoVendaPacote { - DISPONIVEL(0,"Disponível"), + DISPONIVEL(0,"Disponível"), UTILIZADA(1,"Utilizada"); private Integer value; diff --git a/src/com/rjconsultores/ventaboletos/enums/TipoBloqueioDispositivoEmbarcadaEnum.java b/src/com/rjconsultores/ventaboletos/enums/TipoBloqueioDispositivoEmbarcadaEnum.java index 881711087..2c5c7c9d7 100644 --- a/src/com/rjconsultores/ventaboletos/enums/TipoBloqueioDispositivoEmbarcadaEnum.java +++ b/src/com/rjconsultores/ventaboletos/enums/TipoBloqueioDispositivoEmbarcadaEnum.java @@ -2,7 +2,7 @@ package com.rjconsultores.ventaboletos.enums; public enum TipoBloqueioDispositivoEmbarcadaEnum { - DISPOSITIVO_BLOQUEADO(1, "BLOQUEADO"), DISPOSITIVO_MANUTENCAO(2, "MANUTENÇÃO"), DISPOSITIVO_BAIXADO(3, "BAIXADO"); + DISPOSITIVO_BLOQUEADO(1, "BLOQUEADO"), DISPOSITIVO_MANUTENCAO(2, "MANUTENÇÃO"), DISPOSITIVO_BAIXADO(3, "BAIXADO"); private Integer valor; private String descricao; diff --git a/src/com/rjconsultores/ventaboletos/enums/TipoDescontoBPe.java b/src/com/rjconsultores/ventaboletos/enums/TipoDescontoBPe.java index 930dfa56e..5b6b2c5dc 100644 --- a/src/com/rjconsultores/ventaboletos/enums/TipoDescontoBPe.java +++ b/src/com/rjconsultores/ventaboletos/enums/TipoDescontoBPe.java @@ -4,10 +4,10 @@ public enum TipoDescontoBPe { TARIFA_PROMOCIONAL("01","Tarifa promocional"), IDOSO("02", "Idoso"), - CRIANCA("03", "Criança"), + CRIANCA("03", "Criança"), DEFICIENTE("04", "Deficiente"), ESTUDANTE("05", "Estudante"), - ANIMAL_DOMESTICO("06", "Animal Doméstico"), + ANIMAL_DOMESTICO("06", "Animal Doméstico"), ACORDO_COLETIVO("07", "Acordo Coletivo"), PROFISSIONAL_EM_DESLOCAMENTO("08", "Profissional em Deslocamento"), PROFISSIONAL_DA_EMPRESA("09", "Profissional da Empresa"), diff --git a/src/com/rjconsultores/ventaboletos/enums/TipoDescontoMonitrip.java b/src/com/rjconsultores/ventaboletos/enums/TipoDescontoMonitrip.java index cbea1b461..8947fd21c 100644 --- a/src/com/rjconsultores/ventaboletos/enums/TipoDescontoMonitrip.java +++ b/src/com/rjconsultores/ventaboletos/enums/TipoDescontoMonitrip.java @@ -2,16 +2,16 @@ package com.rjconsultores.ventaboletos.enums; public enum TipoDescontoMonitrip { - NORMAL(1,"Tarifa Normal – sem desconto"), + NORMAL(1,"Tarifa Normal - sem desconto"), TARIFA_PROMOCIONAL(2, "Tarifa Promocional"), IDOSO_100(5, "Bilhete de Viagem do Idoso 100%"), IDOSO_50(6, "Bilhete de Viagem do Idoso 50%"), - AUT_VIAGEM_LIVRE(7, "Autorização de Viagem - Passe Livre"), + AUT_VIAGEM_LIVRE(7, "Autorização de Viagem - Passe Livre"), AUDITORES_AGENTES(8, "Passe Livre Auditores e Agentes do Trabalho"), - GRATUIDADE_CRIANCA(9, "Gratuidade de Criança"), + GRATUIDADE_CRIANCA(9, "Gratuidade de Criança"), JOVEM_BAIXA_RENDA_100(10, "Gratuidade Jovem de Baixa Renda 100%"), JOVEM_BAIXA_RENDA_50(11, "Gratuidade Jovem de Baixa Renda 50%"), - AUT_VIAGEM_ACOMP(12, "Autorização de Viagem - Passe Livre Acompanhante"); + AUT_VIAGEM_ACOMP(12, "Autorização de Viagem - Passe Livre Acompanhante"); private Integer valor; private String descricao; diff --git a/src/com/rjconsultores/ventaboletos/enums/TipoIdentificacionDoc.java b/src/com/rjconsultores/ventaboletos/enums/TipoIdentificacionDoc.java index d3d8eddd6..1384e5904 100644 --- a/src/com/rjconsultores/ventaboletos/enums/TipoIdentificacionDoc.java +++ b/src/com/rjconsultores/ventaboletos/enums/TipoIdentificacionDoc.java @@ -226,7 +226,7 @@ public enum TipoIdentificacionDoc { public static boolean isPASPTValido(String numDoc) { String paspt = numDoc.replaceAll("[^\\d]", ""); - //O passaporte não aceita menos de 4 numeros ou somente letras + //O passaporte não aceita menos de 4 numeros ou somente letras if (!StringUtils.isBlank(paspt) && paspt.length() < 4) { return false; } else if (StringUtils.isBlank(paspt) && !StringUtils.isBlank(numDoc)) { diff --git a/src/com/rjconsultores/ventaboletos/enums/TipoImpressoraRelatorio.java b/src/com/rjconsultores/ventaboletos/enums/TipoImpressoraRelatorio.java index faa37ba74..b94112ce0 100644 --- a/src/com/rjconsultores/ventaboletos/enums/TipoImpressoraRelatorio.java +++ b/src/com/rjconsultores/ventaboletos/enums/TipoImpressoraRelatorio.java @@ -3,7 +3,7 @@ package com.rjconsultores.ventaboletos.enums; public enum TipoImpressoraRelatorio { A4(1, "Tipo Impressora A4"), - TERMICA(2, "Tipo Impressora Térmica"); + TERMICA(2, "Tipo Impressora Térmica"); private Integer id; private String descricao; @@ -27,6 +27,6 @@ public enum TipoImpressoraRelatorio { return tpImpressora; } } - throw new IllegalArgumentException("Tipo de impressora relatório não encontrado."); + throw new IllegalArgumentException("Tipo de impressora relatório não encontrado."); } } diff --git a/src/com/rjconsultores/ventaboletos/enums/TipoPessoa.java b/src/com/rjconsultores/ventaboletos/enums/TipoPessoa.java index 95f12ca8a..86774ebfe 100644 --- a/src/com/rjconsultores/ventaboletos/enums/TipoPessoa.java +++ b/src/com/rjconsultores/ventaboletos/enums/TipoPessoa.java @@ -2,8 +2,8 @@ package com.rjconsultores.ventaboletos.enums; public enum TipoPessoa { - FISICA(0,"Pessoa Física"), - JURIDICA(1, "Pessoa Jurídica"); + FISICA(0,"Pessoa Física"), + JURIDICA(1, "Pessoa Jurídica"); private Integer valor; private String descricao; diff --git a/src/com/rjconsultores/ventaboletos/enums/auditoria/EnumAuditAction.java b/src/com/rjconsultores/ventaboletos/enums/auditoria/EnumAuditAction.java index cfed2b721..6fa31b2fb 100644 --- a/src/com/rjconsultores/ventaboletos/enums/auditoria/EnumAuditAction.java +++ b/src/com/rjconsultores/ventaboletos/enums/auditoria/EnumAuditAction.java @@ -1,7 +1,7 @@ package com.rjconsultores.ventaboletos.enums.auditoria; public enum EnumAuditAction { - TODOS(-1, "Todos"), CRIACAO(1,"Criação de Registro"), ALTERACAO(2, "Alteração de registro"), EXCLUSAO(3, "Exclusão de Registro"); + TODOS(-1, "Todos"), CRIACAO(1,"Criação de Registro"), ALTERACAO(2, "alteração de registro"), EXCLUSAO(3, "Exclusão de Registro"); private String descricao; private Integer id; diff --git a/src/com/rjconsultores/ventaboletos/enums/comissao/StatusLogConferencia.java b/src/com/rjconsultores/ventaboletos/enums/comissao/StatusLogConferencia.java index 08ef9627c..447ea7cac 100644 --- a/src/com/rjconsultores/ventaboletos/enums/comissao/StatusLogConferencia.java +++ b/src/com/rjconsultores/ventaboletos/enums/comissao/StatusLogConferencia.java @@ -3,7 +3,7 @@ package com.rjconsultores.ventaboletos.enums.comissao; public enum StatusLogConferencia { CONFERIDO(0,"CONFERIDO"), - PENDENCIA(1,"PENDÊNCIA"); + PENDENCIA(1,"PENDÊNCIA"); private String descricao; private Integer value; diff --git a/src/com/rjconsultores/ventaboletos/exception/BusinessException.java b/src/com/rjconsultores/ventaboletos/exception/BusinessException.java index 23f92c7d4..c429a98ad 100644 --- a/src/com/rjconsultores/ventaboletos/exception/BusinessException.java +++ b/src/com/rjconsultores/ventaboletos/exception/BusinessException.java @@ -13,7 +13,7 @@ public class BusinessException extends Exception { /** * * @param message - * - La clave del archivo de traducción + * - La clave del archivo de traduccion */ public BusinessException(String message) { super(Labels.getLabel(message) == null ? message :Labels.getLabel(message)); @@ -21,7 +21,7 @@ public class BusinessException extends Exception { /** * - * @param message- La clave del archivo de traducción + * @param message- La clave del archivo de traduccion * @param oMsg - Los parametros de la mensage */ public BusinessException(String message,Object oMsg) { diff --git a/src/com/rjconsultores/ventaboletos/exception/BusinessRuntimeException.java b/src/com/rjconsultores/ventaboletos/exception/BusinessRuntimeException.java index 2d9b0417e..b437ee3a7 100644 --- a/src/com/rjconsultores/ventaboletos/exception/BusinessRuntimeException.java +++ b/src/com/rjconsultores/ventaboletos/exception/BusinessRuntimeException.java @@ -13,7 +13,7 @@ public class BusinessRuntimeException extends RuntimeException { /** * * @param message - * - La clave del archivo de traducción + * - La clave del archivo de traduccion */ public BusinessRuntimeException(String message) { super(Labels.getLabel(message) == null ? message :Labels.getLabel(message)); @@ -21,7 +21,7 @@ public class BusinessRuntimeException extends RuntimeException { /** * - * @param message- La clave del archivo de traducción + * @param message- La clave del archivo de traduccion * @param oMsg - Los parametros de la mensage */ public BusinessRuntimeException(String message,Object oMsg) { diff --git a/src/com/rjconsultores/ventaboletos/exception/ComissaoException.java b/src/com/rjconsultores/ventaboletos/exception/ComissaoException.java index b4e9a1411..ae335c391 100644 --- a/src/com/rjconsultores/ventaboletos/exception/ComissaoException.java +++ b/src/com/rjconsultores/ventaboletos/exception/ComissaoException.java @@ -11,7 +11,7 @@ public class ComissaoException extends Exception { /** * * @param message - * - La clave del archivo de traducción + * - La clave del archivo de traduccion */ public ComissaoException(String message) { super(Labels.getLabel(message)); @@ -20,7 +20,7 @@ public class ComissaoException extends Exception { /** * * @param message- - * La clave del archivo de traducción + * La clave del archivo de traduccion * @param oMsg * - Los parametros de la mensage */ diff --git a/src/com/rjconsultores/ventaboletos/exception/IntegracionException.java b/src/com/rjconsultores/ventaboletos/exception/IntegracionException.java index 854f2b491..39a820de1 100644 --- a/src/com/rjconsultores/ventaboletos/exception/IntegracionException.java +++ b/src/com/rjconsultores/ventaboletos/exception/IntegracionException.java @@ -12,7 +12,7 @@ public class IntegracionException extends Exception { /** * * @param message - * - La clave del archivo de traducción + * - La clave del archivo de traduccion */ public IntegracionException(String message) { super(message); @@ -21,7 +21,7 @@ public class IntegracionException extends Exception { /** * * @param message - * - La clave del archivo de traducción + * - La clave del archivo de traduccion * @param oMsg * - Los parametros de la mensage */ diff --git a/src/com/rjconsultores/ventaboletos/exception/ValidacionCampoException.java b/src/com/rjconsultores/ventaboletos/exception/ValidacionCampoException.java index 814f46172..5b0aa73c7 100644 --- a/src/com/rjconsultores/ventaboletos/exception/ValidacionCampoException.java +++ b/src/com/rjconsultores/ventaboletos/exception/ValidacionCampoException.java @@ -13,7 +13,7 @@ public class ValidacionCampoException extends Exception { /** * * @param message - * - La clave del archivo de traducción + * - La clave del archivo de traduccion */ public ValidacionCampoException(String message) { super(Labels.getLabel(message)); @@ -22,7 +22,7 @@ public class ValidacionCampoException extends Exception { /** * * @param message - * - La clave del archivo de traducción + * - La clave del archivo de traduccion * @param oMsg * - Los parametros de la mensage */ diff --git a/src/com/rjconsultores/ventaboletos/rest/ContingenciaClienteRest.java b/src/com/rjconsultores/ventaboletos/rest/ContingenciaClienteRest.java index e653722f0..19edc76cd 100644 --- a/src/com/rjconsultores/ventaboletos/rest/ContingenciaClienteRest.java +++ b/src/com/rjconsultores/ventaboletos/rest/ContingenciaClienteRest.java @@ -89,7 +89,7 @@ public class ContingenciaClienteRest { if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK && response.getStatusLine().getStatusCode() != HttpStatus.SC_CREATED) { - throw new IllegalStateException("Ocorreu um erro na requisição." + response.getStatusLine() !=null ? response.getStatusLine().getReasonPhrase() : ""); + throw new IllegalStateException("Ocorreu um erro na requisição." + response.getStatusLine() !=null ? response.getStatusLine().getReasonPhrase() : ""); } return getRetornoJSON(response); diff --git a/src/com/rjconsultores/ventaboletos/rest/IntegracaoSapRest.java b/src/com/rjconsultores/ventaboletos/rest/IntegracaoSapRest.java index 13caae3e9..b30ef6f5b 100644 --- a/src/com/rjconsultores/ventaboletos/rest/IntegracaoSapRest.java +++ b/src/com/rjconsultores/ventaboletos/rest/IntegracaoSapRest.java @@ -37,14 +37,14 @@ public class IntegracaoSapRest { if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK && response.getStatusLine().getStatusCode() != HttpStatus.SC_CREATED) { - throw new Exception("Ocorreu um erro na requisição." + response.getStatusLine() !=null ? response.getStatusLine().getReasonPhrase() : ""); + throw new Exception("Ocorreu um erro na requisição." + response.getStatusLine() !=null ? response.getStatusLine().getReasonPhrase() : ""); } return getRetornoJSON(response); } catch (RuntimeException e) { - throw new RuntimeException("Erro na conversão do JSON na integração SAP", e); + throw new RuntimeException("Erro na conversão do JSON na integração SAP", e); } catch (Exception e) { - log.error("Erro no envio/retorno da requisicao para integração SAP", e); + log.error("Erro no envio/retorno da requisicao para integração SAP", e); e.printStackTrace(); } return null; @@ -63,7 +63,7 @@ public class IntegracaoSapRest { } return null; }catch(Exception e) { - log.error("Erro no JSON integração SAP: "+rest); + log.error("Erro no JSON integração SAP: "+rest); e.printStackTrace(); throw new RuntimeException(e); } diff --git a/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java b/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java index cf7459233..3dc3d0d74 100644 --- a/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java +++ b/src/com/rjconsultores/ventaboletos/service/CalculoComissaoService.java @@ -21,7 +21,7 @@ public interface CalculoComissaoService { /** * Relatorio Analitico da comissao * @param empresaId - * @param competencia - Informe o competencia se o calculo da comissão for por mês + * @param competencia - Informe o competencia se o calculo da comissão for por mês * @param dataInicial - Informe a data inicial se o calculo da comissao for por periodo * @param dataFinal - Informe a data final se o calculo da comissao for por periodo * @param usuarioId @@ -48,7 +48,7 @@ public interface CalculoComissaoService { public RegistroCalculo realizarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo, Boolean isRetencaoDiaria, Integer usuarioId, Boolean isRefazerCalculo) throws ComissaoException, BusinessException; /** - * Relatorio de comissão por data inicial e data final + * Relatorio de comissão por data inicial e data final * @param puntoVentaId * @param empresaId * @param usuarioId @@ -63,7 +63,7 @@ public interface CalculoComissaoService { public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Integer usuarioId, Boolean isRetencaoDiaria, Boolean isRefazerCalculo, Date dataInicial, Date dataFinal) throws ComissaoException, BusinessException; /** - * Registra a comissão por periodo + * Registra a comissão por periodo * @param puntoVenta * @param empresa * @param ignorarComissaoGerada @@ -77,7 +77,7 @@ public interface CalculoComissaoService { public void registrarCalculoComissaoPeriodo(PuntoVenta puntoVenta, Empresa empresa, boolean ignorarComissaoGerada, Integer usuarioId, Boolean isRetencaoDiaria, Boolean isRefazerCalculo, Date dataInicial, Date dataFinal) throws ComissaoException; /** - * Registra a comissão por periodo para todos os pontos de venda + * Registra a comissão por periodo para todos os pontos de venda * @param puntoVenta * @param empresa * @param ignorarComissaoGerada @@ -112,7 +112,7 @@ public interface CalculoComissaoService { public void cancelarCalculoComissaoPeriodo(Integer empresaId, Date dataInicial, Date dataFinal) throws ComissaoException, BusinessException; /** - * Recupera o historico de comissão por periodo + * Recupera o historico de comissão por periodo * @param puntoVentaId * @param empresaId * @param dataInicial diff --git a/src/com/rjconsultores/ventaboletos/service/ConexionService.java b/src/com/rjconsultores/ventaboletos/service/ConexionService.java index 3d1d8d1a1..3c8d383a6 100644 --- a/src/com/rjconsultores/ventaboletos/service/ConexionService.java +++ b/src/com/rjconsultores/ventaboletos/service/ConexionService.java @@ -8,7 +8,7 @@ import com.rjconsultores.ventaboletos.vo.conexion.ConexionVO; public interface ConexionService { /** - * Gera as conexões possíveis para os tramos do sistema + * Gera as conexões possíveis para os tramos do sistema * */ public void gerarConexiones(); diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaService.java b/src/com/rjconsultores/ventaboletos/service/CorridaService.java index 34b8f0ccd..73c36622f 100644 --- a/src/com/rjconsultores/ventaboletos/service/CorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/CorridaService.java @@ -43,7 +43,7 @@ public interface CorridaService extends GenericService { public List buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs); /** - * Regresa la fecha final para el período de generación automatica de corridas. + * Regresa la fecha final para el período de generacion automatica de corridas. * * * @return diff --git a/src/com/rjconsultores/ventaboletos/service/CustomService.java b/src/com/rjconsultores/ventaboletos/service/CustomService.java index 7a478c78e..93b5781c6 100644 --- a/src/com/rjconsultores/ventaboletos/service/CustomService.java +++ b/src/com/rjconsultores/ventaboletos/service/CustomService.java @@ -18,7 +18,7 @@ public interface CustomService extends GenericService { public Custom buscar(String chave); /** - * Carrega para o banco os parâmetros do arquivo properties. + * Carrega para o banco os parâmetros do arquivo properties. * Mantis #20284 * @param sistema * @param arquivo diff --git a/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java b/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java index 7d80e235b..484e41aba 100644 --- a/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java +++ b/src/com/rjconsultores/ventaboletos/service/EsquemaAsientoService.java @@ -24,7 +24,7 @@ public interface EsquemaAsientoService { public EsquemaAsiento obtenerPorCorridaeAsiento(EsquemaCorrida esquemaCorrida, String asiento); /*** - * Hace la configuración de bloqueo de asientos de acuerdo la origen informada.
+ * Hace la configuracion de bloqueo de asientos de acuerdo la origen informada.
* * * @@ -36,7 +36,7 @@ public interface EsquemaAsientoService { public void bloqueoAsientoExclusivo(EsquemaCorrida esquemaCorrida, String asiento, Parada origen, Parada destino, Integer tiempoLiberacion) throws BusinessException; /** - * Hace la configuración de ocupación de bloqueo de asientos de acuerdo con el tramo informado (origen - destino).
+ * Hace la configuracion de ocupacion de bloqueo de asientos de acuerdo con el tramo informado (origen - destino).
* * @param asiento * - Indica los asientos. Ej.: 1,2,3,4 o 1-4, diff --git a/src/com/rjconsultores/ventaboletos/service/ExcepcionRedondoService.java b/src/com/rjconsultores/ventaboletos/service/ExcepcionRedondoService.java index de2a15542..9628e61c9 100644 --- a/src/com/rjconsultores/ventaboletos/service/ExcepcionRedondoService.java +++ b/src/com/rjconsultores/ventaboletos/service/ExcepcionRedondoService.java @@ -24,7 +24,7 @@ public interface ExcepcionRedondoService{ * Suscribe o actualiza la exception * @param entidad * @return - * @throws BusinessException - Si genera una exception si hay un error de validación + * @throws BusinessException - Si genera una exception si hay un error de validaciOn */ public ExcepcionRedondo suscribirActualizar(ExcepcionRedondo entidad) throws BusinessException; diff --git a/src/com/rjconsultores/ventaboletos/service/GrupoRutaService.java b/src/com/rjconsultores/ventaboletos/service/GrupoRutaService.java index af3ff2ebc..08ac708cc 100644 --- a/src/com/rjconsultores/ventaboletos/service/GrupoRutaService.java +++ b/src/com/rjconsultores/ventaboletos/service/GrupoRutaService.java @@ -10,7 +10,7 @@ import com.rjconsultores.ventaboletos.entidad.GrupoRuta; /** * - * @author Bruno H. G. Gouvêa + * @author Bruno H. G. Gouvea * */ public interface GrupoRutaService extends GenericService { diff --git a/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java b/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java index 99335d0fe..f9a31c3a5 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaCombinacionService.java @@ -68,7 +68,7 @@ public interface RutaCombinacionService extends GenericService pesquisaTarifaOficialObj(List lsAddRmvMonedas, List lsAddRmvMarcas, List lsAddRmvClaseServico, ArrayList arrayList, List lsAddRmvEmpresas, List lsAddRmvRutas, ArrayList arrayList0, List lsAddRmvVigenciaTarifa); /** - * Indica se existe alguma combinação ativa com o tramo informado + * Indica se existe alguma combinação ativa com o tramo informado * @param tramo * @return */ diff --git a/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java b/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java index 2a4b64daf..63c9c7e2a 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaSecuenciaService.java @@ -22,7 +22,7 @@ public interface RutaSecuenciaService extends GenericService obtenerNumRutaSecuenciaPorCorridaOrigemDestinoId(EsquemaCorrida esquemaCorrida, Integer origem, Integer destino); /** - * Devolver los números de secuencia ocupada de ruta en la raza, el origen y el destino. + * Devolver los números de secuencia ocupada de ruta en la raza, el origen y el destino. * * @param esquemaCorrida * @param asiento diff --git a/src/com/rjconsultores/ventaboletos/service/RutaService.java b/src/com/rjconsultores/ventaboletos/service/RutaService.java index ccb4286e2..0a35c0ec4 100644 --- a/src/com/rjconsultores/ventaboletos/service/RutaService.java +++ b/src/com/rjconsultores/ventaboletos/service/RutaService.java @@ -63,7 +63,7 @@ public interface RutaService { public boolean paradaExisteEnLaRuta(Parada parada, Ruta ruta); /** - * Hace la actualización de la ruta. + * Hace la actualizacion de la ruta. * * Si el parametro lsParadasSequencia no es null, quieres decir que hube cambio en la secuencia y la nueva secuencia es la que esta en lsParadasSequencia.
* @@ -101,12 +101,12 @@ public interface RutaService { public Integer getNumSecuenciaDestino(Integer rutaId, Integer destinoId); /** - * Método verifica na listagem de sequencias quais precisam ser geradas + * método verifica na listagem de sequencias quais precisam ser geradas * @author Eduardo Dicarte * @param ruta Ruta Ruta * @param lsParadasSequencia Sequencias - * @param sequenciasInformadas Novas sequencias que foram inseridas pelo usuário - * @return Retorna a coleção de sequencias que precisam ser geradas + * @param sequenciasInformadas Novas sequencias que foram inseridas pelo usuário + * @return Retorna a coleção de sequencias que precisam ser geradas */ public List verificarSeqRutaNaoGerada(Ruta ruta, List lsParadasSequencia); diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java index 7fae1a852..25b26d0f8 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java @@ -20,17 +20,17 @@ import com.rjconsultores.ventaboletos.exception.BusinessException; public interface TarifaOficialService { /** - * Gera as tarifas de acordo o cálculo do coeficiente tarifário.
+ * Gera as tarifas de acordo o cálculo do coeficiente tarifário.
* - * Fórmula: (KM * Coeficiente Tarifório) + * Fórmula: (KM * Coeficiente Tarifário) * - * Se o parametro ruta não for informado, será gerado tarifas para todas as + * Se o parametro ruta não for informado, será gerado tarifas para todas as * rutas.
* - * Se o parametro orgaoConcedenteId não for informado, será gerado tarifas para todos os - * órgãos.
+ * Se o parametro orgaoConcedenteId não for informado, será gerado tarifas para todos os + * órgãos.
* - * Obs.: Essa operação apenas gera tarifas que ainda não esão geradas
+ * Obs.: Essa operação apenas gera tarifas que ainda não estão geradas
* * @param rutaId * @param orgaoConcedenteId @@ -40,16 +40,16 @@ public interface TarifaOficialService { /** - * Atualiza as tarifas de acordo o cálculo do coeficiente tarifário.
+ * Atualiza as tarifas de acordo o cálculo do coeficiente tarifário.
* - * Fórmula: (KM * Coeficiente Tarifário) + * Fórmula: (KM * Coeficiente Tarifário) * - * Se o parametro ruta não for informado, seró atualizado as tarifas para + * Se o parametro ruta não for informado, será atualizado as tarifas para * todas as rutas.
* * - * Se o parametro orgaoConcedenteId não for informado, seró atualizado as tarifas para - * todos as órgãos.
+ * Se o parametro orgaoConcedenteId não for informado, será atualizado as tarifas para + * todos as órgãos.
* * @param rutaId * @param orgaoConcedenteId @@ -59,7 +59,7 @@ public interface TarifaOficialService { /** - * Gera o calculo de preço utilizando calculo por coeficiente ou pela kilometragem da ARTESP + * Gera o calculo de preço utilizando calculo por coeficiente ou pela kilometragem da ARTESP * * * @param rudaId @@ -72,7 +72,7 @@ public interface TarifaOficialService { /** * Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.
* - * Se a tarifa não existe, ela é inserida. Se existe, a tarifa e os componentes do preços são atualizados
+ * Se a tarifa não existe, ela é inserida. Se existe, a tarifa e os componentes do preços são atualizados
* * @param vigenciaTarifa */ @@ -81,18 +81,18 @@ public interface TarifaOficialService { /** * Atualiza a taxa de embarque da entidade TarifaOficial.
* - * Para o cálculo, é usado a seguinte lógica:
+ * Para o cálculo, é usado a seguinte lógica:
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por kilometragem
* - Atualiza de acordo a tabela TAXA_EMBARQUE por kilometragem
* - Atualiza de acordo a tabela TAXA_EMBARQUE_PARADA por valor fixo
* - * A sequencia acima indica a ordem de atualização da taxa de embarque.
+ * A sequencia acima indica a ordem de atualização da taxa de embarque.
* - * A taxa de embarque mais restritiva fica por último (TAXA_EMBARQUE_PARADA por valor fixo) + * A taxa de embarque mais restritiva fica por último (TAXA_EMBARQUE_PARADA por valor fixo) * - * @param rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada - * @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado - * @param gerarTabelaZerada - Indica se uma tabela zerada será gerada. Isso para a possibilidade de gerar apenas a taxa de embarque sem preço + * @param rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada + * @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado + * @param gerarTabelaZerada - Indica se uma tabela zerada será gerada. Isso para a possibilidade de gerar apenas a taxa de embarque sem preço * @param empresaId - Empresa para ser filtrada * @throws BusinessException */ @@ -101,16 +101,16 @@ public interface TarifaOficialService { /** * Atualiza o seguro de acordo a kilometragem do trecho * - * @param rutaId - Se informado, será filtrado pela ruta - * @param orgaoId -Se informado, será filtrado pelo orgão + * @param rutaId - Se informado, será filtrado pela ruta + * @param orgaoId -Se informado, será filtrado pelo orgão */ public void atualizarSeguroPorKm(Integer rutaId,Integer orgaoId, TipoSeguro tipoSeguro) throws BusinessException; /** * Atualiza o seguro de acordo o valor da tarifa * - * @param rutaId - Se informado, seró filtrado pela ruta - * @param orgaoId -Se informado, será filtrado pelo orgão + * @param rutaId - Se informado, será filtrado pela ruta + * @param orgaoId -Se informado, será filtrado pelo orgão * */ public void atualizarSeguroPorTarifa(Integer rutaId, Integer orgaoId) throws BusinessException; @@ -119,15 +119,15 @@ public interface TarifaOficialService { /** * Executa tanto o {@link #atualizarSeguroPorKm(Integer, Integer)} quanto {@link #atualizarSeguroPorTarifa(Integer, Integer)} * - * @param rutaId- Se informado, seró filtrado pela ruta - * @param orgaoId-Se informado, será filtrado pelo orgão + * @param rutaId- Se informado, será filtrado pela ruta + * @param orgaoId-Se informado, será filtrado pelo orgão * @throws BusinessException */ public void atualizarSeguro(List lsRuta, Integer orgaoId, TipoSeguro tipoSeguro) throws BusinessException; /** * See {@link TarifaOficialDAO#aplicarArredondamentoTarifa(Integer, Integer)} - * @param orgaoConcedenteId -Se informado, será filtrado pelo orgão + * @param orgaoConcedenteId -Se informado, será filtrado pelo orgão */ public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId, Boolean taxaEmbarque); diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaService.java b/src/com/rjconsultores/ventaboletos/service/TarifaService.java index fcd15562f..45871767e 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaService.java @@ -32,9 +32,9 @@ public interface TarifaService extends GenericService { Categoria categoria, TipoPuntoVenta tipoPuntoVenta); /** - * Método usado para checar se uma tarifa já está cadastrada no sistema. + * método usado para checar se uma tarifa já está cadastrada no sistema. * - * Uma tarifa é considerada única de acordo a marca, tramo, moneda, claseServicio, vigenciaTarifa, ruta e orgaoConcedente + * Uma tarifa é considerada única de acordo a marca, tramo, moneda, claseServicio, vigenciaTarifa, ruta e orgaoConcedente * * @param marca * @param tramo diff --git a/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java b/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java index 83353dc28..c0ff47ef3 100644 --- a/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java +++ b/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java @@ -19,7 +19,7 @@ import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoCo */ public interface TramoRutaService { /** - * Grava la nueva configuración de la ruta con los tramos. + * Grava la nueva configuracion de la ruta con los tramos. * * Si no existen los tramos, ellos son generados. * @@ -45,7 +45,7 @@ public interface TramoRutaService { public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO); /** - * Gera combinação na tela de Rutas + * Gera combinação na tela de Rutas * @param rutaTramoVO * @return */ @@ -54,7 +54,7 @@ public interface TramoRutaService { /** * Gera tramos para uma ruta existente * @param rutaTramoVO - * @param ruta Ruta para qual serão criados os tramos + * @param ruta Ruta para qual serão criados os tramos * @throws BusinessException */ public void generarTramosRutaExistente(RutaTramoVO rutaTramoVO, Ruta ruta) throws BusinessException; diff --git a/src/com/rjconsultores/ventaboletos/service/TramoService.java b/src/com/rjconsultores/ventaboletos/service/TramoService.java index b96735b88..508070588 100644 --- a/src/com/rjconsultores/ventaboletos/service/TramoService.java +++ b/src/com/rjconsultores/ventaboletos/service/TramoService.java @@ -67,7 +67,7 @@ public interface TramoService { public List getLsOrgaoTramoByTramo(Tramo tramo); /** - * Gerar a descrição automática do tramo + * Gerar a descrição automática do tramo * * @param origen * @param destino diff --git a/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java b/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java index 1da68c4de..36df23855 100644 --- a/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java +++ b/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java @@ -26,7 +26,7 @@ public interface TramoServicioService extends GenericService buscarPorTramoServico(Tramo tramo, ClaseServicio clase); /** - * Hace la búsqueda del tramo servicio activo de acuerdo los parametros. + * Hace la busqueda del tramo servicio activo de acuerdo los parametros. * * @param origen * @param destino diff --git a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java index 38b9f0120..df5241199 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java @@ -56,7 +56,7 @@ public class AidfServiceImpl implements AidfService { Aidf aidf = aidfDAO.suscribir(entidad); /* - * Mantis #9124 Desativado devido a lentidão ao criar o AbastoCentrol e AbastoHisto. if (aidf != null) movimentacionBilhetesService.realizaAdquisicionBilhetes(aidf); + * Mantis #9124 Desativado devido a lentidão ao criar o AbastoCentrol e AbastoHisto. if (aidf != null) movimentacionBilhetesService.realizaAdquisicionBilhetes(aidf); */ return aidf; @@ -103,7 +103,7 @@ public class AidfServiceImpl implements AidfService { List list = obtenerAidfFromSerieDocfiscal(entidad.getSerie(), entidad.getDocfiscal().replaceAll("[^a-zA-Z0-9]+", ""), conn); for (AidfVo aidf : list) { - // desconsiderar o próprio ID, caso contrário o erro de validação sempre acontece qdo o registro é editado. + // desconsiderar o próprio ID, caso contrário o erro de validação sempre acontece qdo o registro é editado. if ((entidad.getAidfId() == null) || (aidf.getAidfId().compareTo(entidad.getAidfId()) != 0)) { if (aidf.getDocfiscal().trim().equals(entidad.getDocfiscal().replaceAll("[^a-zA-Z0-9]+", "").trim())) { if (aidf.getSerie().trim().equals(entidad.getSerie().trim())) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/AutorizaFolioServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/AutorizaFolioServiceImpl.java index 0e39e9998..b65d0c6ee 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/AutorizaFolioServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/AutorizaFolioServiceImpl.java @@ -1,286 +1,286 @@ -package com.rjconsultores.ventaboletos.service.impl; - -import java.util.Calendar; -import java.util.Date; -import java.util.List; - -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.math.NumberUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.rjconsultores.ventaboletos.entidad.AbastoBoleto; -import com.rjconsultores.ventaboletos.entidad.Aidf; -import com.rjconsultores.ventaboletos.entidad.Articulo; -import com.rjconsultores.ventaboletos.entidad.Clasificacion; -import com.rjconsultores.ventaboletos.entidad.DetAbastoBoleto; -import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.entidad.Estacion; -import com.rjconsultores.ventaboletos.entidad.EstacionImpresora; -import com.rjconsultores.ventaboletos.entidad.FolioPreimpreso; -import com.rjconsultores.ventaboletos.entidad.PuntoVenta; -import com.rjconsultores.ventaboletos.entidad.RequisicionBoleto; -import com.rjconsultores.ventaboletos.entidad.TipoMovimentacion; -import com.rjconsultores.ventaboletos.service.AbastoBoletoService; -import com.rjconsultores.ventaboletos.service.ArticuloService; -import com.rjconsultores.ventaboletos.service.AutorizaFolioService; -import com.rjconsultores.ventaboletos.service.DetAbastoBoletoService; -import com.rjconsultores.ventaboletos.service.FolioPreimpresoService; -import com.rjconsultores.ventaboletos.service.RequisicionBoletoService; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; - -@Service("autorizaFolioService") -public class AutorizaFolioServiceImpl implements AutorizaFolioService { - // Numero max de folios por estacion - public static final Integer MAX_CANT_FOLIOS = Integer.MAX_VALUE; - public static final Integer INICIO_FOLIO = 1; - - @Autowired - private ArticuloService articuloService; - @Autowired - private RequisicionBoletoService requisicionBoletoService; - @Autowired - private AbastoBoletoService abastoBoletoService; - @Autowired - private DetAbastoBoletoService detAbastoBoletoService; - @Autowired - private FolioPreimpresoService folioPreimpresoService; - - @Override - public void devolverFoliosAutomaticosImpressoraFiscal(final EstacionImpresora ei) { - - Empresa empresa = ei.getEmpresa(); - FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(ei.getEstacion(), empresa); - - if (folio != null) { - List lsDetAbasto = detAbastoBoletoService.buscabDetAbastoBoletoAutomatico(ei.getEstacion(), folio.getNumeserie()); - if (!lsDetAbasto.isEmpty()) { - - DetAbastoBoleto dab = lsDetAbasto.get(0); - - abastoBoletoService.borrar(dab.getAbastoBoleto()); - detAbastoBoletoService.borrar(dab); - folioPreimpresoService.borrar(folio); - } - } - } - - @Override - public Boolean noChequeFolioPreimpresos(Aidf aidf, Estacion origem, Estacion destino, String numfolioinicial, String numfoliofinal, String numseriepreimpresa, - Empresa empresaUsuario, TipoMovimentacion tipoMovimentacion) { - - if (TipoMovimentacion.TIPO_ENVIO == tipoMovimentacion.getTipomovimentacionId() || - TipoMovimentacion.TIPO_TRANSFERENCIA == tipoMovimentacion.getTipomovimentacionId()) { - - FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(destino, empresaUsuario); - - RequisicionBoleto requisicionBoleto = geraRequisicionBoleto(aidf, destino, empresaUsuario); - AbastoBoleto abastoBoleto = geraAbastoBoleto(requisicionBoleto); - DetAbastoBoleto detAbastoBoleto = geraDetAbastoBoleto(abastoBoleto, numfolioinicial, numfoliofinal, numseriepreimpresa); - actualizaStatusRequisicion(requisicionBoleto); - - if (folio == null) { - FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto, numfolioinicial); - - if (folioPreimpreso.getFoliopreimpresoId() == null) - return Boolean.FALSE; - - } else { - actualizaFolioPreimpreso(folio, numseriepreimpresa, numfolioinicial); - } - } - - if (TipoMovimentacion.TIPO_TRANSFERENCIA == tipoMovimentacion.getTipomovimentacionId() || - TipoMovimentacion.TIPO_VOLVER == tipoMovimentacion.getTipomovimentacionId() || - TipoMovimentacion.TIPO_PERDIDO == tipoMovimentacion.getTipomovimentacionId()) - - detAbastoBoletoService.desabilitaDetAbastos(origem, numfolioinicial, numfoliofinal, numseriepreimpresa); - - return Boolean.TRUE; - - } - - private RequisicionBoleto geraRequisicionBoleto(Aidf aidf, Estacion estacion, Empresa empresa) { - - Articulo articulo = articuloService.obtenerID(aidf.getAidfTipo().getAidftipoId()); - Clasificacion clasificacion = articulo.getClasificacion(); - - PuntoVenta puntoVenta = estacion.getPuntoVenta(); - - RequisicionBoleto requisicionBoleto = new RequisicionBoleto(); - requisicionBoleto.setArticulo(articulo); - requisicionBoleto.setCantfajilla(1L); - requisicionBoleto.setClasificacion(clasificacion); - requisicionBoleto.setEstacion(estacion); - requisicionBoleto.setPuntoVenta(puntoVenta); - requisicionBoleto.setStatusenvio(Boolean.TRUE); - requisicionBoleto.setEmpresa(empresa); - - return requisicionBoletoService.suscribir(requisicionBoleto); - } - - private DetAbastoBoleto geraDetAbastoBoleto(AbastoBoleto abastoBoleto, String numfolioinicial, String numfoliofinal, String numseriepreimpresa) { - - Integer statusoperacion = 1; - Long nummovimiento = detAbastoBoletoService.getSecuencia(); - - DetAbastoBoleto detAbastoBoleto = new DetAbastoBoleto(); - detAbastoBoleto.setAbastoBoleto(abastoBoleto); - detAbastoBoleto.setNummovimiento(nummovimiento); - detAbastoBoleto.setNumseriepreimpresa(numseriepreimpresa.trim()); - detAbastoBoleto.setNumfolioinicial(numfolioinicial.trim()); - detAbastoBoleto.setNumfoliofinal(numfoliofinal.trim()); - detAbastoBoleto.setStatusfirma(Boolean.TRUE); - detAbastoBoleto.setStatusoperacion(statusoperacion); - detAbastoBoleto.setStatusenvio(Boolean.TRUE); - - return detAbastoBoletoService.suscribir(detAbastoBoleto); - } - - private void actualizaStatusRequisicion(RequisicionBoleto requisicionBoleto) { - requisicionBoleto.setStatusenvio(Boolean.FALSE); - requisicionBoletoService.actualizacion(requisicionBoleto); - } - - private FolioPreimpreso geraFolioPreimpreso(DetAbastoBoleto detAbastoBoleto, String numfoliopreimpreso) { - - AbastoBoleto abastoBoleto = detAbastoBoleto.getAbastoBoleto(); - - FolioPreimpreso folioPreimpreso = new FolioPreimpreso(); - folioPreimpreso.setEmpresa(abastoBoleto.getEmpresa()); - folioPreimpreso.setEstacion(abastoBoleto.getEstacion()); - folioPreimpreso.setFoliopreimpreso(numfoliopreimpreso); - folioPreimpreso.setNodoId(1); - folioPreimpreso.setNumeserie(detAbastoBoleto.getNumseriepreimpresa()); - folioPreimpreso.setPuntoVenta(abastoBoleto.getPuntoventa()); - folioPreimpreso.setIndreplica(NumberUtils.LONG_ZERO); - - return folioPreimpresoService.suscribir(folioPreimpreso); - } - - private FolioPreimpreso actualizaFolioPreimpreso(FolioPreimpreso folioPreimpreso, String serieFoliopreimpreso, String numfoliopreimpreso) { - - folioPreimpreso.setFoliopreimpreso(numfoliopreimpreso); - folioPreimpreso.setNumeserie(serieFoliopreimpreso); - - return folioPreimpresoService.actualizacion(folioPreimpreso); - } - - @Override - public String noChequeFolioPreimpresos(EstacionImpresora estacionImpresora, boolean isImpressoraFiscal) { - - Empresa empresa = estacionImpresora.getEmpresa(); - FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(estacionImpresora.getEstacion(), empresa); - - // condição para qd o folio foi gerado indevidamente pelo cliente de venda. - // antes de a rotina abaixo ter sido executada se o numserie é 0, é um folio inválido - if ((folio != null) && (folio.getNumeserie().equals("0"))) { - folioPreimpresoService.borrar(folio); - folio = null; - } - - if ((folio != null) && isImpressoraFiscal) { - return "estacionServiceImpl.msg.noChequeFolioPreimpresos"; - } - - if (folio == null && estacionImpresora.getEstacionCentral() == null) { - RequisicionBoleto requisicionBoleto = geraRequisicionBoleto(estacionImpresora.getEstacion(), empresa); - AbastoBoleto abastoBoleto = geraAbastoBoleto(requisicionBoleto); - DetAbastoBoleto detAbastoBoleto = geraDetAbastoBoleto(abastoBoleto); - actualizaStatusRequisicion(requisicionBoleto); - - FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto); - if (folioPreimpreso.getFoliopreimpresoId() == null) { - return "MSG.Error"; - } - } - - return StringUtils.EMPTY; - } - - private RequisicionBoleto geraRequisicionBoleto(Estacion estacion, Empresa empresa) { - - Articulo articulo = articuloService.obtenerID(Articulo.TIPO_VENDA); - Clasificacion clasificacion = articulo.getClasificacion(); - - PuntoVenta puntoVenta = estacion.getPuntoVenta(); - - RequisicionBoleto requisicionBoleto = new RequisicionBoleto(); - requisicionBoleto.setArticulo(articulo); - requisicionBoleto.setCantfajilla(1L); - requisicionBoleto.setClasificacion(clasificacion); - requisicionBoleto.setEstacion(estacion); - requisicionBoleto.setPuntoVenta(puntoVenta); - requisicionBoleto.setStatusenvio(Boolean.TRUE); - requisicionBoleto.setEmpresa(empresa); - - return requisicionBoletoService.suscribir(requisicionBoleto); - } - - private AbastoBoleto geraAbastoBoleto(RequisicionBoleto requisicionBoleto) { - - Date fechaHrReq = requisicionBoleto.getFecmodif(); - - Date now = Calendar.getInstance().getTime(); - - Long numRequisicion = Long.parseLong(requisicionBoleto.getRequisicionboletoId().toString()); - - AbastoBoleto abastoboleto = new AbastoBoleto(); - abastoboleto.setNumservidor(1); - abastoboleto.setNumrequisicion(numRequisicion); - abastoboleto.setCantfajilla(requisicionBoleto.getCantfajilla()); - abastoboleto.setEstacion(requisicionBoleto.getEstacion()); - abastoboleto.setArticulo(requisicionBoleto.getArticulo()); - abastoboleto.setClasificacion(requisicionBoleto.getClasificacion()); - abastoboleto.setPuntoventa(requisicionBoleto.getPuntoVenta()); - abastoboleto.setPuntoventacentral(requisicionBoleto.getPuntoVenta()); - abastoboleto.setEmpresa(requisicionBoleto.getEmpresa()); - abastoboleto.setFechorreq(fechaHrReq); - abastoboleto.setStatusfirma(2); - abastoboleto.setStatusEnvio(1); - abastoboleto.setUsuarioreqId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - abastoboleto.setFechorfirma(now); - abastoboleto.setFechorgeneracion(now); - abastoboleto.setUsuariogeneracionId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - - return abastoBoletoService.suscribir(abastoboleto); - } - - private DetAbastoBoleto geraDetAbastoBoleto(AbastoBoleto abastoBoleto) { - - Long nummovimiento = detAbastoBoletoService.getSecuencia(); - - Integer statusoperacion = 1; - String numseriepreimpresa = nummovimiento.toString() + abastoBoleto.getEmpresa().getEmpresaId().toString(); - String numfolioinicial = INICIO_FOLIO.toString(); - String numfoliofinal = MAX_CANT_FOLIOS.toString(); - - DetAbastoBoleto detAbastoBoleto = new DetAbastoBoleto(); - detAbastoBoleto.setAbastoBoleto(abastoBoleto); - detAbastoBoleto.setNummovimiento(nummovimiento); - detAbastoBoleto.setNumseriepreimpresa(numseriepreimpresa.trim()); - detAbastoBoleto.setNumfolioinicial(numfolioinicial.trim()); - detAbastoBoleto.setNumfoliofinal(numfoliofinal.trim()); - detAbastoBoleto.setStatusfirma(Boolean.TRUE); - detAbastoBoleto.setStatusoperacion(statusoperacion); - detAbastoBoleto.setStatusenvio(Boolean.TRUE); - - return detAbastoBoletoService.suscribir(detAbastoBoleto); - } - - private FolioPreimpreso geraFolioPreimpreso(DetAbastoBoleto detAbastoBoleto) { - - AbastoBoleto abastoBoleto = detAbastoBoleto.getAbastoBoleto(); - - FolioPreimpreso folioPreimpreso = new FolioPreimpreso(); - folioPreimpreso.setEmpresa(abastoBoleto.getEmpresa()); - folioPreimpreso.setEstacion(abastoBoleto.getEstacion()); - folioPreimpreso.setFoliopreimpreso(INICIO_FOLIO.toString()); - folioPreimpreso.setNodoId(1); - folioPreimpreso.setNumeserie(detAbastoBoleto.getNumseriepreimpresa()); - folioPreimpreso.setPuntoVenta(abastoBoleto.getPuntoventa()); - folioPreimpreso.setIndreplica(NumberUtils.LONG_ZERO); - - return folioPreimpresoService.suscribir(folioPreimpreso); - } -} +package com.rjconsultores.ventaboletos.service.impl; + +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.math.NumberUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.rjconsultores.ventaboletos.entidad.AbastoBoleto; +import com.rjconsultores.ventaboletos.entidad.Aidf; +import com.rjconsultores.ventaboletos.entidad.Articulo; +import com.rjconsultores.ventaboletos.entidad.Clasificacion; +import com.rjconsultores.ventaboletos.entidad.DetAbastoBoleto; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estacion; +import com.rjconsultores.ventaboletos.entidad.EstacionImpresora; +import com.rjconsultores.ventaboletos.entidad.FolioPreimpreso; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.RequisicionBoleto; +import com.rjconsultores.ventaboletos.entidad.TipoMovimentacion; +import com.rjconsultores.ventaboletos.service.AbastoBoletoService; +import com.rjconsultores.ventaboletos.service.ArticuloService; +import com.rjconsultores.ventaboletos.service.AutorizaFolioService; +import com.rjconsultores.ventaboletos.service.DetAbastoBoletoService; +import com.rjconsultores.ventaboletos.service.FolioPreimpresoService; +import com.rjconsultores.ventaboletos.service.RequisicionBoletoService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("autorizaFolioService") +public class AutorizaFolioServiceImpl implements AutorizaFolioService { + // Numero max de folios por estacion + public static final Integer MAX_CANT_FOLIOS = Integer.MAX_VALUE; + public static final Integer INICIO_FOLIO = 1; + + @Autowired + private ArticuloService articuloService; + @Autowired + private RequisicionBoletoService requisicionBoletoService; + @Autowired + private AbastoBoletoService abastoBoletoService; + @Autowired + private DetAbastoBoletoService detAbastoBoletoService; + @Autowired + private FolioPreimpresoService folioPreimpresoService; + + @Override + public void devolverFoliosAutomaticosImpressoraFiscal(final EstacionImpresora ei) { + + Empresa empresa = ei.getEmpresa(); + FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(ei.getEstacion(), empresa); + + if (folio != null) { + List lsDetAbasto = detAbastoBoletoService.buscabDetAbastoBoletoAutomatico(ei.getEstacion(), folio.getNumeserie()); + if (!lsDetAbasto.isEmpty()) { + + DetAbastoBoleto dab = lsDetAbasto.get(0); + + abastoBoletoService.borrar(dab.getAbastoBoleto()); + detAbastoBoletoService.borrar(dab); + folioPreimpresoService.borrar(folio); + } + } + } + + @Override + public Boolean noChequeFolioPreimpresos(Aidf aidf, Estacion origem, Estacion destino, String numfolioinicial, String numfoliofinal, String numseriepreimpresa, + Empresa empresaUsuario, TipoMovimentacion tipoMovimentacion) { + + if (TipoMovimentacion.TIPO_ENVIO == tipoMovimentacion.getTipomovimentacionId() || + TipoMovimentacion.TIPO_TRANSFERENCIA == tipoMovimentacion.getTipomovimentacionId()) { + + FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(destino, empresaUsuario); + + RequisicionBoleto requisicionBoleto = geraRequisicionBoleto(aidf, destino, empresaUsuario); + AbastoBoleto abastoBoleto = geraAbastoBoleto(requisicionBoleto); + DetAbastoBoleto detAbastoBoleto = geraDetAbastoBoleto(abastoBoleto, numfolioinicial, numfoliofinal, numseriepreimpresa); + actualizaStatusRequisicion(requisicionBoleto); + + if (folio == null) { + FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto, numfolioinicial); + + if (folioPreimpreso.getFoliopreimpresoId() == null) + return Boolean.FALSE; + + } else { + actualizaFolioPreimpreso(folio, numseriepreimpresa, numfolioinicial); + } + } + + if (TipoMovimentacion.TIPO_TRANSFERENCIA == tipoMovimentacion.getTipomovimentacionId() || + TipoMovimentacion.TIPO_VOLVER == tipoMovimentacion.getTipomovimentacionId() || + TipoMovimentacion.TIPO_PERDIDO == tipoMovimentacion.getTipomovimentacionId()) + + detAbastoBoletoService.desabilitaDetAbastos(origem, numfolioinicial, numfoliofinal, numseriepreimpresa); + + return Boolean.TRUE; + + } + + private RequisicionBoleto geraRequisicionBoleto(Aidf aidf, Estacion estacion, Empresa empresa) { + + Articulo articulo = articuloService.obtenerID(aidf.getAidfTipo().getAidftipoId()); + Clasificacion clasificacion = articulo.getClasificacion(); + + PuntoVenta puntoVenta = estacion.getPuntoVenta(); + + RequisicionBoleto requisicionBoleto = new RequisicionBoleto(); + requisicionBoleto.setArticulo(articulo); + requisicionBoleto.setCantfajilla(1L); + requisicionBoleto.setClasificacion(clasificacion); + requisicionBoleto.setEstacion(estacion); + requisicionBoleto.setPuntoVenta(puntoVenta); + requisicionBoleto.setStatusenvio(Boolean.TRUE); + requisicionBoleto.setEmpresa(empresa); + + return requisicionBoletoService.suscribir(requisicionBoleto); + } + + private DetAbastoBoleto geraDetAbastoBoleto(AbastoBoleto abastoBoleto, String numfolioinicial, String numfoliofinal, String numseriepreimpresa) { + + Integer statusoperacion = 1; + Long nummovimiento = detAbastoBoletoService.getSecuencia(); + + DetAbastoBoleto detAbastoBoleto = new DetAbastoBoleto(); + detAbastoBoleto.setAbastoBoleto(abastoBoleto); + detAbastoBoleto.setNummovimiento(nummovimiento); + detAbastoBoleto.setNumseriepreimpresa(numseriepreimpresa.trim()); + detAbastoBoleto.setNumfolioinicial(numfolioinicial.trim()); + detAbastoBoleto.setNumfoliofinal(numfoliofinal.trim()); + detAbastoBoleto.setStatusfirma(Boolean.TRUE); + detAbastoBoleto.setStatusoperacion(statusoperacion); + detAbastoBoleto.setStatusenvio(Boolean.TRUE); + + return detAbastoBoletoService.suscribir(detAbastoBoleto); + } + + private void actualizaStatusRequisicion(RequisicionBoleto requisicionBoleto) { + requisicionBoleto.setStatusenvio(Boolean.FALSE); + requisicionBoletoService.actualizacion(requisicionBoleto); + } + + private FolioPreimpreso geraFolioPreimpreso(DetAbastoBoleto detAbastoBoleto, String numfoliopreimpreso) { + + AbastoBoleto abastoBoleto = detAbastoBoleto.getAbastoBoleto(); + + FolioPreimpreso folioPreimpreso = new FolioPreimpreso(); + folioPreimpreso.setEmpresa(abastoBoleto.getEmpresa()); + folioPreimpreso.setEstacion(abastoBoleto.getEstacion()); + folioPreimpreso.setFoliopreimpreso(numfoliopreimpreso); + folioPreimpreso.setNodoId(1); + folioPreimpreso.setNumeserie(detAbastoBoleto.getNumseriepreimpresa()); + folioPreimpreso.setPuntoVenta(abastoBoleto.getPuntoventa()); + folioPreimpreso.setIndreplica(NumberUtils.LONG_ZERO); + + return folioPreimpresoService.suscribir(folioPreimpreso); + } + + private FolioPreimpreso actualizaFolioPreimpreso(FolioPreimpreso folioPreimpreso, String serieFoliopreimpreso, String numfoliopreimpreso) { + + folioPreimpreso.setFoliopreimpreso(numfoliopreimpreso); + folioPreimpreso.setNumeserie(serieFoliopreimpreso); + + return folioPreimpresoService.actualizacion(folioPreimpreso); + } + + @Override + public String noChequeFolioPreimpresos(EstacionImpresora estacionImpresora, boolean isImpressoraFiscal) { + + Empresa empresa = estacionImpresora.getEmpresa(); + FolioPreimpreso folio = folioPreimpresoService.buscaFolioPreImpressoEstacionImpresora(estacionImpresora.getEstacion(), empresa); + + // condição para qd o folio foi gerado indevidamente pelo cliente de venda. + // antes de a rotina abaixo ter sido executada se o numserie é 0, é um folio inválido + if ((folio != null) && (folio.getNumeserie().equals("0"))) { + folioPreimpresoService.borrar(folio); + folio = null; + } + + if ((folio != null) && isImpressoraFiscal) { + return "estacionServiceImpl.msg.noChequeFolioPreimpresos"; + } + + if (folio == null && estacionImpresora.getEstacionCentral() == null) { + RequisicionBoleto requisicionBoleto = geraRequisicionBoleto(estacionImpresora.getEstacion(), empresa); + AbastoBoleto abastoBoleto = geraAbastoBoleto(requisicionBoleto); + DetAbastoBoleto detAbastoBoleto = geraDetAbastoBoleto(abastoBoleto); + actualizaStatusRequisicion(requisicionBoleto); + + FolioPreimpreso folioPreimpreso = geraFolioPreimpreso(detAbastoBoleto); + if (folioPreimpreso.getFoliopreimpresoId() == null) { + return "MSG.Error"; + } + } + + return StringUtils.EMPTY; + } + + private RequisicionBoleto geraRequisicionBoleto(Estacion estacion, Empresa empresa) { + + Articulo articulo = articuloService.obtenerID(Articulo.TIPO_VENDA); + Clasificacion clasificacion = articulo.getClasificacion(); + + PuntoVenta puntoVenta = estacion.getPuntoVenta(); + + RequisicionBoleto requisicionBoleto = new RequisicionBoleto(); + requisicionBoleto.setArticulo(articulo); + requisicionBoleto.setCantfajilla(1L); + requisicionBoleto.setClasificacion(clasificacion); + requisicionBoleto.setEstacion(estacion); + requisicionBoleto.setPuntoVenta(puntoVenta); + requisicionBoleto.setStatusenvio(Boolean.TRUE); + requisicionBoleto.setEmpresa(empresa); + + return requisicionBoletoService.suscribir(requisicionBoleto); + } + + private AbastoBoleto geraAbastoBoleto(RequisicionBoleto requisicionBoleto) { + + Date fechaHrReq = requisicionBoleto.getFecmodif(); + + Date now = Calendar.getInstance().getTime(); + + Long numRequisicion = Long.parseLong(requisicionBoleto.getRequisicionboletoId().toString()); + + AbastoBoleto abastoboleto = new AbastoBoleto(); + abastoboleto.setNumservidor(1); + abastoboleto.setNumrequisicion(numRequisicion); + abastoboleto.setCantfajilla(requisicionBoleto.getCantfajilla()); + abastoboleto.setEstacion(requisicionBoleto.getEstacion()); + abastoboleto.setArticulo(requisicionBoleto.getArticulo()); + abastoboleto.setClasificacion(requisicionBoleto.getClasificacion()); + abastoboleto.setPuntoventa(requisicionBoleto.getPuntoVenta()); + abastoboleto.setPuntoventacentral(requisicionBoleto.getPuntoVenta()); + abastoboleto.setEmpresa(requisicionBoleto.getEmpresa()); + abastoboleto.setFechorreq(fechaHrReq); + abastoboleto.setStatusfirma(2); + abastoboleto.setStatusEnvio(1); + abastoboleto.setUsuarioreqId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + abastoboleto.setFechorfirma(now); + abastoboleto.setFechorgeneracion(now); + abastoboleto.setUsuariogeneracionId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + return abastoBoletoService.suscribir(abastoboleto); + } + + private DetAbastoBoleto geraDetAbastoBoleto(AbastoBoleto abastoBoleto) { + + Long nummovimiento = detAbastoBoletoService.getSecuencia(); + + Integer statusoperacion = 1; + String numseriepreimpresa = nummovimiento.toString() + abastoBoleto.getEmpresa().getEmpresaId().toString(); + String numfolioinicial = INICIO_FOLIO.toString(); + String numfoliofinal = MAX_CANT_FOLIOS.toString(); + + DetAbastoBoleto detAbastoBoleto = new DetAbastoBoleto(); + detAbastoBoleto.setAbastoBoleto(abastoBoleto); + detAbastoBoleto.setNummovimiento(nummovimiento); + detAbastoBoleto.setNumseriepreimpresa(numseriepreimpresa.trim()); + detAbastoBoleto.setNumfolioinicial(numfolioinicial.trim()); + detAbastoBoleto.setNumfoliofinal(numfoliofinal.trim()); + detAbastoBoleto.setStatusfirma(Boolean.TRUE); + detAbastoBoleto.setStatusoperacion(statusoperacion); + detAbastoBoleto.setStatusenvio(Boolean.TRUE); + + return detAbastoBoletoService.suscribir(detAbastoBoleto); + } + + private FolioPreimpreso geraFolioPreimpreso(DetAbastoBoleto detAbastoBoleto) { + + AbastoBoleto abastoBoleto = detAbastoBoleto.getAbastoBoleto(); + + FolioPreimpreso folioPreimpreso = new FolioPreimpreso(); + folioPreimpreso.setEmpresa(abastoBoleto.getEmpresa()); + folioPreimpreso.setEstacion(abastoBoleto.getEstacion()); + folioPreimpreso.setFoliopreimpreso(INICIO_FOLIO.toString()); + folioPreimpreso.setNodoId(1); + folioPreimpreso.setNumeserie(detAbastoBoleto.getNumseriepreimpresa()); + folioPreimpreso.setPuntoVenta(abastoBoleto.getPuntoventa()); + folioPreimpreso.setIndreplica(NumberUtils.LONG_ZERO); + + return folioPreimpresoService.suscribir(folioPreimpreso); + } +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java index d936c5edc..04f02757b 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/BoletoServiceImpl.java @@ -123,8 +123,8 @@ public class BoletoServiceImpl implements BoletoService { } /** - * Verifica e atualiza valores tarifa, pedágio, seguro e taxa de embarque. - * Sendo que o seguro e taxa de embarque somente serão setados caso no ponto de venda marcado como vende default. + * Verifica e atualiza valores tarifa, pedágio, seguro e taxa de embarque. + * Sendo que o seguro e taxa de embarque somente serão setados caso no ponto de venda marcado como vende default. * @param tarifa * @param empresaCorridaId * @param valorSeguro @@ -174,7 +174,7 @@ public class BoletoServiceImpl implements BoletoService { } /** - * Foemata boleto Id com 15 dígitos conforme Totalbus + * Foemata boleto Id com 15 dígitos conforme Totalbus * @param boletoSeq * @return */ diff --git a/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java index 8c9d98eb6..cf0891165 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java @@ -55,7 +55,7 @@ public class BpeServiceImpl implements BpeService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -78,7 +78,7 @@ public class BpeServiceImpl implements BpeService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } @@ -98,7 +98,7 @@ public class BpeServiceImpl implements BpeService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index 94b9dbd11..20f52447c 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -280,7 +280,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { private BigDecimal calculoComisssaoBPR(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal bpr, BigDecimal gap, boolean isBilheteGap, ComissaoLogVO comissaoLog) { - // Comissão BPR = Receita Comissão * (% Com BPR) + // comissão BPR = Receita comissão * (% Com BPR) BigDecimal recbpr = BigDecimal.ZERO; BigDecimal receitaBPR = MoneyHelper.somar(bpr, gap, 2); @@ -291,7 +291,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { percentualComissao = ptovtaComissao.getPassagemBaixa() != null ? ptovtaComissao.getPassagemBaixa() : BigDecimal.ZERO; } - log.info(String.format(":: Percentual Comissão: %s ::", percentualComissao)); + log.info(String.format(":: Percentual comissão: %s ::", percentualComissao)); if(isBilheteGap && ModeloComissaoImpressaoPosterior.COMPARTILHADA.equals(ptovtaComissao.getModeloComissaoImpressaoPosterior())) { if (isAltaTemporada) { @@ -299,7 +299,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } else { percentualComissao = ptovtaComissao.getValorVendaGapComp() != null ? ptovtaComissao.getValorVendaGapComp() : BigDecimal.ZERO; } - log.info(String.format(":: Comissao Compartilhada Configurada para Bilhetes Imp. Post. - Percentual Comissão Alterado para: %s ::", percentualComissao)); + log.info(String.format(":: Comissao Compartilhada Configurada para Bilhetes Imp. Post. - Percentual comissão Alterado para: %s ::", percentualComissao)); } comissaoLog.setPorcComissao(percentualComissao); @@ -311,7 +311,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { private BigDecimal calculoEntregaPassagem(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal gapImpressa, BigDecimal internet, int contImpressa) { - // EntregaPassagem (Internet/Venda Impressão Posterior/Outros) + // EntregaPassagem (Internet/Venda impressão Posterior/Outros) BigDecimal entregaPassagem = BigDecimal.ZERO; BigDecimal receitaEntrega = MoneyHelper.somar(gapImpressa, internet, 2); @@ -347,7 +347,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { private BigDecimal calculoExcessoBagagem(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal excBag, ComissaoLogVO comissaoLog) { - // Comissão Excesso = Receita Excesso Bagagem * (% Com. Exc. Bag) + // comissão Excesso = Receita Excesso Bagagem * (% Com. Exc. Bag) BigDecimal excessoBagagem = BigDecimal.ZERO; if (isAltaTemporada) { comissaoLog.setPorcComissao(ptovtaComissao.getExcessoAlta()); @@ -362,7 +362,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { private BigDecimal calculoSeguroObrigatorio(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal seguroObrigatorio) { - // Comissão Seg. Obrigatorio = Receita Seguro Obrigatorio * (% Com. Seg. Pol) + // comissão Seg. Obrigatorio = Receita Seguro Obrigatorio * (% Com. Seg. Pol) BigDecimal recSeguroObrigatorio = BigDecimal.ZERO; if (isAltaTemporada) { recSeguroObrigatorio = MoneyHelper.multiplicar(seguroObrigatorio, ptovtaComissao.getSeguroobrigatorioAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroobrigatorioAlta(), CEM, 4) : BigDecimal.ZERO, 4); @@ -374,7 +374,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { private BigDecimal calculoSeguroOpcional(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal segOpcional, ComissaoLogVO comissaoLog) { - // Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) + // comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) BigDecimal recsegOpcional = BigDecimal.ZERO; if (isAltaTemporada) { comissaoLog.setPorcComissao(ptovtaComissao.getSeguroAlta()); @@ -388,7 +388,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { private BigDecimal calculoOutros(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal outros, ComissaoLogVO comissaoLog) { - // Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) + // comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) BigDecimal recoutros = BigDecimal.ZERO; if (isAltaTemporada) { comissaoLog.setPorcComissao(ptovtaComissao.getOutrosAlta()); @@ -480,7 +480,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { try { PtovtaComissao ptovtaComissao = ptovtaComissaoService.buscarPuntaVentaEmpresa(puntoVentaId, empresaId); if (ptovtaComissao != null && (ptovtaComissao.getIndretercomissao() == null || !ptovtaComissao.getIndretercomissao())) { - //Abate no valor da comissão bpr as saídas de caixa + //Abate no valor da comissão bpr as saídas de caixa boolean consideraBilhetesDevolvidosEmOutraAgencia = (ptovtaComissao.getIndbilhetesdevcanorigem() == null)?false:ptovtaComissao.getIndbilhetesdevcanorigem(); List receitas = null; @@ -586,7 +586,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { rc.setLsDescontos((List) respDescontos.get("LISTA_DESCONTOS")); /** - * Bonificação Metas - Meta = Eh o valor estipulado de receita dentro do periodo que a agencia deve alcançar. - Bonificação = Eh uma porcentagem paga encima da comissao, por alcançar a meta. + * Bonificação Metas - Meta = Eh o valor estipulado de receita dentro do periodo que a agencia deve alcançar. - Bonificação = Eh uma porcentagem paga encima da comissao, por alcançar a meta. */ BigDecimal comissaoBonificaoMetas = BigDecimal.ZERO; rc.setComissaoBonificaoMetas(comissaoBonificaoMetas); @@ -605,7 +605,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } rc.setRetidoISS(issRetido); - // Comissão à pagar = Comissão BPR + Comissão Excesso Bagagem + Comissão Seg. Opcional + Bonificação Metas + Internet(EntregaPassagem) + // comissão é pagar = comissão BPR + comissão Excesso Bagagem + comissão Seg. Opcional + Bonificação Metas + Internet(EntregaPassagem) BigDecimal comissaoPagar = BigDecimal.ZERO; comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoBPR); comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoExcessoBagagem); @@ -740,13 +740,13 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { isReceitaLiquida = true; } - /* Calculando comissão para os boletos */ + /* Calculando comissão para os boletos */ for (BoletoComissao rcc : list) { /* * Mantis #12391 - * Verifica se a agencia paga comissão para bilhete de ordem de servico, - * caso não faça pagamento, o bilhete é ignorado */ + * Verifica se a agencia paga comissão para bilhete de ordem de servico, + * caso não faça pagamento, o bilhete é ignorado */ if(!isPagaComissaoBilheteOrdemServico && isBilheteOrdemServico(rcc)) { continue; } @@ -758,7 +758,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { boolean isEntregaPassagem = statusBoleto.equals(IndStatusBoleto.E) && (rcc.getMotivoCancelacionId() == null); /* - * Exclui os bilhetes que não foram entregues na agencia da comissão que está sendo calculada + * Exclui os bilhetes que não foram entregues na agencia da comissão que está sendo calculada */ if(isEntregaPassagem && !ptovtaComissao.getPuntoventaId().getPuntoventaId().equals(rcc.getPuntoVentaId())) { continue; @@ -828,7 +828,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } if (isSaidaCaixa){ - // Totais de Devolução / Cancelamento + // Totais de devolução / Cancelamento if (BooleanUtils.toBoolean(ptovtaComissao.getTarifaDev())) { receitaDevItem = MoneyHelper.somar(receitaDevItem, rcc.getValorpagado()); } @@ -949,10 +949,10 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { if (isSaidaCaixa) { receitaSeguroObrigatorio = MoneyHelper.somar( receitaSeguroObrigatorio , receitaSeguroObrigatorioDevItem.negate(), 4 ); - // Devolução Receita + // devolução Receita if (isBilheteDevolucao(rcc, isDevolucaoComissaoTransferenciaGeraCaja)) { - // Devolução Receita GAP + // devolução Receita GAP if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue()) || rcc.getTipoVenta().equals(Constantes.TPV_CALL_CENTER.intValue()) || rcc.getTipoVenta().equals(Constantes.TPV_POR_INTERNET.intValue())) { // Impresso Venta de otro punto venta @@ -963,8 +963,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { /* * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, - * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde - * foi feita a operação esteja desmarcado + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado * Mantis #11015 */ if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { @@ -981,8 +981,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { /* * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, - * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde - * foi feita a operação esteja desmarcado + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado * Mantis #11015 */ if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { @@ -1004,8 +1004,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { /* * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, - * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde - * foi feita a operação esteja desmarcado + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado * Mantis #11015 */ if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { @@ -1020,8 +1020,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { /* * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, - * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde - * foi feita a operação esteja desmarcado + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado * Mantis #11015 */ if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { @@ -1032,9 +1032,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } /* - * Calcula a comissão caso o bilhete seja do proprio ponto de venda, - * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde - * foi feita a operação esteja desmarcado + * Calcula a comissão caso o bilhete seja do proprio ponto de venda, + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado * Mantis #11015 */ if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { @@ -1103,7 +1103,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { */ } - /* Calculando comissão para os eventos extras */ + /* Calculando comissão para os eventos extras */ List listEventosFinanceiros = verificaEventoFinanceiroProDia(eventosFinanceirosVOs, dataRegistro); for (EventosFinanceirosVO eventosFinanceiros : listEventosFinanceiros) { ComissaoLogVO comissaoLog = new ComissaoLogVO(); @@ -1158,7 +1158,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { cr.setGapImpressa(gapImpressa); cr.setContImpressa(contImpressa); - // Receita Comissão = Receita BPR + Receita GAP + Internet - Cancelados - Cancelados GAP - Devoluções - Devoluções GAP + // Receita comissão = Receita BPR + Receita GAP + Internet - Cancelados - Cancelados GAP - Devoluções - Devoluções GAP receitaComissao = MoneyHelper.somar(receitaComissao,receitaBPR); receitaComissao = MoneyHelper.somar(receitaComissao,receitaGAP); receitaComissao = MoneyHelper.somar(receitaComissao,internet); @@ -1214,7 +1214,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } /** - * Verifica se o bilhete possui forma de pagamento Orden de Serviço + * Verifica se o bilhete possui forma de pagamento Orden de serviço * Mantis #12391 * @param rcc * @return @@ -1271,8 +1271,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } /* - * Caso parametro de não exibir as agencias com comissão zerada esteja ativado - * o registro de calculo não deverá ser adicionado + * Caso parametro de não exibir as agencias com comissão zerada esteja ativado + * o registro de calculo não deverá ser adicionado * Mantis #12260 */ totalizarRegistroCalculo(registroCalculo, indExibeComissaoZeradaAgencia); @@ -1342,7 +1342,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { try { cancelarCalculoComissao(puntoVenta.getPuntoventaId(), empresaId, periodo); } catch (ComissaoException e) { - /* Ignora a comissa quando o cancelamento é feito para todas as agencias */ + /* Ignora a comissa quando o cancelamento é feito para todas as agencias */ } catch (Exception e) { throw e; } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java index ea60c7115..27a9f42c9 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java @@ -1,1004 +1,1004 @@ -package com.rjconsultores.ventaboletos.service.impl; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.zkoss.util.resource.Labels; - -import com.rjconsultores.ventaboletos.constantes.Constantes; -import com.rjconsultores.ventaboletos.dao.ConferenciaComissaoDAO; -import com.rjconsultores.ventaboletos.dao.EmpresaDAO; -import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO; -import com.rjconsultores.ventaboletos.entidad.ComEmpConferencia; -import com.rjconsultores.ventaboletos.entidad.Conferencia; -import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.entidad.LogConferencia; -import com.rjconsultores.ventaboletos.entidad.PuntoVenta; -import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO; -import com.rjconsultores.ventaboletos.enums.IndStatusBoleto; -import com.rjconsultores.ventaboletos.enums.comissao.BoletoStatusComissao; -import com.rjconsultores.ventaboletos.exception.BusinessException; -import com.rjconsultores.ventaboletos.service.ConferenciaComissaoService; -import com.rjconsultores.ventaboletos.service.ConstanteService; -import com.rjconsultores.ventaboletos.service.EmpresaService; -import com.rjconsultores.ventaboletos.service.PuntoVentaService; -import com.rjconsultores.ventaboletos.utilerias.DateUtil; -import com.rjconsultores.ventaboletos.utilerias.LocaleUtil; -import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; -import com.rjconsultores.ventaboletos.utilerias.SendMail; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; -import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao; -import com.rjconsultores.ventaboletos.vo.comissao.ConferenciaComissaoVO; -import com.rjconsultores.ventaboletos.vo.comissao.DiaConferenciaComissaoVO; -import com.rjconsultores.ventaboletos.vo.comissao.EtiquetaMalote; -import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO; -import com.rjconsultores.ventaboletos.vo.comissao.FormaPagoEventosFinanceirosVO; -import com.rjconsultores.ventaboletos.vo.comissao.FormapagoVO; -import com.rjconsultores.ventaboletos.vo.comissao.LogConferenciaVO; -import com.rjconsultores.ventaboletos.vo.comissao.OcdVO; -import com.rjconsultores.ventaboletos.vo.comissao.ResumoComissao; - -@Service("conferenciaComissaoService") -public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoService { - - private static final String SMTP_HOST = "SMTP_HOST"; - private static final String SMTP_USER = "SMTP_USER"; - private static final String SMTP_EMAIL = "SMTP_EMAIL"; - private static final String SMTP_PORT = "SMTP_PORT"; - private static final String SMTP_PASS = "SMTP_PASS"; - - private static Logger log = Logger.getLogger(ConferenciaComissaoService.class); - - @Autowired - private ConferenciaComissaoDAO conferenciaComissaoDAO; - - @Autowired - private EmpresaDAO empresaDAO; - - @Autowired - private PuntoVentaDAO puntoVentaDAO; - - @Autowired - ConstanteService constanteService; - @Autowired - private EmpresaService empresaService; - @Autowired - private PuntoVentaService puntoVentaService; - - @Override - public List obtenerTodos() { - return conferenciaComissaoDAO.obtenerTodos(); - } - - @Override - public Conferencia obtenerID(Long id) { - return conferenciaComissaoDAO.obtenerID(id); - } - - @Override - public Conferencia suscribir(Conferencia entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); - return conferenciaComissaoDAO.suscribir(entidad); - } - - @Override - public Conferencia actualizacion(Conferencia entidad) { - return conferenciaComissaoDAO.actualizacion(entidad); - } - - @Override - public void borrar(Conferencia entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.FALSE); - conferenciaComissaoDAO.borrar(entidad); - } - - @Override - public List carregarConferenciaComissao(String competencia, Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento, boolean isDesconsideraPtVendaFechados) throws BusinessException { - return conferenciaComissaoDAO.carregarConferenciaComissao(competencia, empresa, puntoVenta, dataMovimento, isDesconsideraPtVendaFechados); - } - - @Override - public List carregarConferenciaComissao(Date dataInicial, Date dataFinal, Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento, boolean isDesconsideraPtVendaFechados) throws BusinessException { - return conferenciaComissaoDAO.carregarConferenciaComissao(dataInicial, dataFinal, empresa, puntoVenta, dataMovimento, isDesconsideraPtVendaFechados); - } - - @Override - public Conferencia confirmarChegadaMalote(Conferencia conferencia) throws BusinessException { - conferencia.setDatamalote(new Date()); - if (conferencia.getUsuarioId() == null || conferencia.getUsuarioId() < 1) { - conferencia.setUsuarioMaloteId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } - return conferenciaComissaoDAO.confirmarChegadaMalote(conferencia); - } - - @Override - public Conferencia suscribirOrActualizacion(Conferencia entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); - return conferenciaComissaoDAO.suscribirOrActualizacion(entidad); - } - - @Override - public Conferencia encerrarMovimentoDiario(Conferencia conferencia) throws BusinessException { - if (conferencia.getUsuarioId() == null || conferencia.getUsuarioId() < 1) { - conferencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - } - conferencia.setFecmodif(Calendar.getInstance().getTime()); - return conferenciaComissaoDAO.encerrarMovimentoDiario(conferencia); - } - - @Override - public List carregarEventosFinanceiros(Conferencia conferencia) throws BusinessException { - return conferenciaComissaoDAO.carregarEventosFinanceiros(conferencia); - } - - @Override - public List carregarLogConferencia(Conferencia conferencia) throws BusinessException { - return conferenciaComissaoDAO.carregarLogConferencia(conferencia); - } - - @Override - public LogConferencia suscribirLogConferencia(LogConferencia logConferencia) throws BusinessException { - return conferenciaComissaoDAO.suscribirLogConferencia(logConferencia); - } - - @Override - public void borrarLogConferencia(LogConferencia logConferencia) throws BusinessException { - conferenciaComissaoDAO.borrarLogConferencia(logConferencia); - } - - @Override - public LogConferencia obtenerLogConferenciaID(Long logconferenciaId) { - return conferenciaComissaoDAO.obtenerLogConferenciaID(logconferenciaId); - } - - @Override - public List carregarBilhetesComissao(List boletoComissaos, List conferencias, BoletoStatusComissao boletoStatusComissao, boolean carregarDadosFaltantes) throws BusinessException { - - List retorno = new ArrayList(); - Boolean retornar = false; - - for (Conferencia c : conferencias) { - - if (retornar) { - return retorno; - } - - if (boletoComissaos == null || boletoComissaos.isEmpty()) { - boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(c, false, false); - } - - if (boletoStatusComissao == null) { - retorno.addAll(boletoComissaos); - boletoComissaos = null; - continue; - } - - Empresa empresa = empresaDAO.obtenerID(c.getEmpresa().getEmpresaId()); - ComEmpConferencia comEmpConferencia = null; - if (empresa.getComEmpConferencias() != null && !empresa.getComEmpConferencias().isEmpty()) { - comEmpConferencia = empresa.getComEmpConferencias().iterator().next(); - } - retornar = true; - switch (boletoStatusComissao) { - case BOLETOS_VENDIDOS: - retorno.addAll(carregarBilhetesVendidos(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); - break; - case BOLETO_MANUAL: - retorno.addAll(carregarBilhetesManuais(boletoComissaos, comEmpConferencia)); - break; - case BOLETO_CANCELADO: - retorno.addAll(carregarBilhetesCancelados(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); - break; - case BOLETO_DEVOLVIDO: - retorno.addAll(carregarBilhetesDevolvidos(boletoComissaos, StringUtils.isNotBlank(c.getNumfoliosistema()), comEmpConferencia, carregarDadosFaltantes)); - break; - case GAP_VENDIDOS: - retorno.addAll(carregarBilhetesGapsVendidos(boletoComissaos, comEmpConferencia)); - break; - case GAP_CANCELADO: - retorno.addAll(carregarBilhetesGapCancelados(boletoComissaos, comEmpConferencia)); - break; - case GAP_DEVOLVIDO: - retorno.addAll(carregarBilhetesGapDevolvidos(boletoComissaos, comEmpConferencia)); - break; - default: - break; - } - return retorno; - } - - return retorno; - } - - @Override - public List carregarBilhetesComissao(List boletoComissaos, Conferencia conferencia, BoletoStatusComissao boletoStatusComissao, boolean carregarDadosFaltantes) throws BusinessException { - if (boletoComissaos == null) { - boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(conferencia, false, false); - } - - if (boletoStatusComissao == null) { - return boletoComissaos; - } - - Empresa empresa = empresaDAO.obtenerID(conferencia.getEmpresa().getEmpresaId()); - ComEmpConferencia comEmpConferencia = null; - if (empresa.getComEmpConferencias() != null && !empresa.getComEmpConferencias().isEmpty()) { - comEmpConferencia = empresa.getComEmpConferencias().iterator().next(); - } - - List retorno = new ArrayList(); - switch (boletoStatusComissao) { - case BOLETOS_VENDIDOS: - retorno.addAll(carregarBilhetesVendidos(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); - break; - case BOLETO_MANUAL: - retorno.addAll(carregarBilhetesManuais(boletoComissaos, comEmpConferencia)); - break; - case BOLETO_CANCELADO: - retorno.addAll(carregarBilhetesCancelados(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); - break; - case BOLETO_DEVOLVIDO: - retorno.addAll(carregarBilhetesDevolvidos(boletoComissaos, StringUtils.isNotBlank(conferencia.getNumfoliosistema()), comEmpConferencia, carregarDadosFaltantes)); - break; - case GAP_VENDIDOS: - retorno.addAll(carregarBilhetesGapsVendidos(boletoComissaos, comEmpConferencia)); - break; - case GAP_CANCELADO: - retorno.addAll(carregarBilhetesGapCancelados(boletoComissaos, comEmpConferencia)); - break; - case GAP_DEVOLVIDO: - retorno.addAll(carregarBilhetesGapDevolvidos(boletoComissaos, comEmpConferencia)); - break; - default: - break; - } - return retorno; - } - - private Set carregarBilhetesManuais(List boletoComissaos, ComEmpConferencia comEmpConferencia) { - Set boletos = new HashSet(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (boletoComissao.isAbaBilheteManual()) { - - if (comEmpConferencia != null) { - boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetemanual()); - } - - boletos.add(boletoComissao); - } - } - return boletos; - } - - private Set carregarBilhetesVendidos(List boletoComissaos, ComEmpConferencia comEmpConferencia, boolean carregarDadosFaltantes) { - Set boletos = new HashSet(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (boletoComissao.isAbaBilheteVendido() || carregarDadosFaltantes) { - - if (comEmpConferencia != null) { - boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetevendido()); - } - if (boletoComissao.isQuitacaoOCD()) { - continue; - } - boletos.add(boletoComissao); - - } - } - return boletos; - } - - private Set carregarBilhetesCancelados(List boletoComissaos, ComEmpConferencia comEmpConferencia, boolean carregarDadosFaltantes) { - Set boletos = new HashSet(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (boletoComissao.isAbaBilheteCancelado() || carregarDadosFaltantes) { - - if (comEmpConferencia != null) { - boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetecancelado()); - } - - boletos.add(boletoComissao); - - } - } - return boletos; - } - - private Set carregarBilhetesDevolvidos(List boletoComissaos, boolean pesquisa, ComEmpConferencia comEmpConferencia, boolean carregarDadosFaltantes) { - Set boletos = new HashSet(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (boletoComissao.isAbaBilheteDevolvido() || carregarDadosFaltantes) { - - boletoComissao.setExigeConferenciaDevolvido(boletoComissao.getIndcarboletosdevolvidosconf() != null && !boletoComissao.getIndcarboletosdevolvidosconf()); - - if (comEmpConferencia != null) { - boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetedevolvido()); - } - - if (pesquisa || - ((boletoComissao.getIndcarboletosdevolvidosconf() != null && boletoComissao.getIndcarboletosdevolvidosconf()) || boletoComissao.getLogconferenciaId() != null)) { - boletos.add(boletoComissao); - } - - } - } - return boletos; - } - - private Set carregarBilhetesGapsVendidos(List boletoComissaos, ComEmpConferencia comEmpConferencia) { - Set boletos = new HashSet(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (boletoComissao.isAbaGapVendido()) { - - if (comEmpConferencia != null) { - boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndgapvendido()); - } - - boletos.add(boletoComissao); - - } - } - return boletos; - } - - private Set carregarBilhetesGapCancelados(List boletoComissaos, ComEmpConferencia comEmpConferencia) { - Set boletos = new HashSet(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (boletoComissao.isAbaGapCancelado()) { - - if (comEmpConferencia != null) { - boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndgapcancelado()); - } - - boletos.add(boletoComissao); - } - } - return boletos; - } - - private Set carregarBilhetesGapDevolvidos(List boletoComissaos, ComEmpConferencia comEmpConferencia) { - Set boletos = new HashSet(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (boletoComissao.isAbaGapDevolvido()) { - - if (comEmpConferencia != null) { - boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndgapdevolvido()); - } - - boletos.add(boletoComissao); - - } - } - return boletos; - } - - @Override - public List carregarOcds(Conferencia conferencia) throws BusinessException { - return conferenciaComissaoDAO.carregarOcds(conferencia); - } - - @Override - public Conferencia reabrirMovimentoDiario(Conferencia conferencia) throws BusinessException { - conferencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - conferencia.setFecmodif(Calendar.getInstance().getTime()); - return conferenciaComissaoDAO.reabrirMovimentoDiario(conferencia); - } - - @Override - public Conferencia obtenerConferenciaDataMovimento(Date datamovimento, Integer puntoventaId, Integer empresaId) throws BusinessException { - return conferenciaComissaoDAO.obtenerConferenciaDataMovimento(datamovimento, puntoventaId, empresaId); - } - - @Override - public boolean isBilhetesSemConferencia(List lsBoletoComissao) throws BusinessException { - for (BoletoComissao boletoComissao : lsBoletoComissao) { - if ((boletoComissao.isExigeConferencia() || boletoComissao.isExigeConferenciaAba() || boletoComissao.isExigeConferenciaBoletoDevolvido()) && - (!boletoComissao.isConferido() && boletoComissao.getLogconferenciaId() == null)) { - return true; - } - } - return false; - } - - @Override - public boolean isEventosFinanceirosSemConferencia(List lsEventosFinanceiros) throws BusinessException { - for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { - if ((eventosFinanceiros.isExigeConferencia() || eventosFinanceiros.getExigeConferenciaAba()) && - (!eventosFinanceiros.isConferido() && (eventosFinanceiros.getLogconferenciaId() == null || eventosFinanceiros.getLogconferenciaId() == 0))) { - return true; - } - } - return false; - } - - @Override - public BigDecimal totalizarBoletoComissao(List lsBoletoComissao, IndStatusBoleto... statusBilhete) throws BusinessException { - List lStatusBilhete = null; - if (statusBilhete != null && statusBilhete.length > 0) { - lStatusBilhete = Arrays.asList(statusBilhete); - } - - BigDecimal total = BigDecimal.ZERO; - if (lsBoletoComissao != null) { - for (BoletoComissao boletoComissao : lsBoletoComissao) { - if (boletoComissao.isNotSomarBilhete()) { - continue; - } - - if ((lStatusBilhete == null || lStatusBilhete.contains(boletoComissao.getIndstatusboletoEnum())) && - !boletoComissao.isVendaBilheteConfirmaAberto(boletoComissao.getTipoVenta())) { - // log.info(boletoComissao.toString()); - total = total.add(boletoComissao.getTotal()); - } - } - } - return total; - } - - @Override - public Map totalizarBoletoComissaoDevolvidosTrocaOcd(List lsBoletoComissao) throws BusinessException { - BigDecimal totalDevolvidos = BigDecimal.ZERO; - BigDecimal totalTroca = BigDecimal.ZERO; - BigDecimal totalOcd = BigDecimal.ZERO; - if (lsBoletoComissao != null) { - for (BoletoComissao boletoComissao : lsBoletoComissao) { - if (boletoComissao.isNotSomarBilhete()) { - continue; - } - if (boletoComissao.isOcd()) { - totalOcd = totalOcd.add(boletoComissao.getTotal()); - } else if (boletoComissao.isMotivocancelacionDevolvido()) { - totalDevolvidos = totalDevolvidos.add(boletoComissao.getTotal()); - } else if (boletoComissao.isMotivocancelacionTrocado()) { - totalTroca = totalTroca.add(boletoComissao.getTotal()); - } - } - } - Map maps = new HashMap(); - maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO, totalDevolvidos); - maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO_OCD, totalOcd); - maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO_TROCADO, totalTroca); - return maps; - } - - @Override - public BigDecimal totalizarEventosFinanceiros(List lsEventosFinanceiros) throws BusinessException { - BigDecimal total = BigDecimal.ZERO; - if (lsEventosFinanceiros != null) { - for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { - /* total = total.add(eventosFinanceiros.getImpingreso()); */ - if (eventosFinanceiros.isCredito()) { - total = MoneyHelper.somar(total, eventosFinanceiros.getImpingreso()); - } else if (eventosFinanceiros.isDebito()) { - total = MoneyHelper.subtrair(total, eventosFinanceiros.getImpingreso().abs()); - } - } - } - return total; - } - - @Override - public OcdVO totalizarOcd(List lsOcd) throws BusinessException { - OcdVO total = new OcdVO(); - total.setValorPagar(BigDecimal.ZERO); - total.setPenalizacion(BigDecimal.ZERO); - - if (lsOcd != null) { - for (OcdVO ocd : lsOcd) { - total.setValorPagar(total.getValorPagar().add(ocd.getValorPagar())); - } - } - return total; - } - - @Override - public ResumoComissao gerarResumo(Conferencia conferencia, List boletoComissaos, List lsEventosFinanceiros, BigDecimal totalBilhetesManual, BigDecimal totalBilhetesVendidos, - BigDecimal totalBilhetesCancelados, BigDecimal totalBilhetesDevolvidos, BigDecimal totalBilhetesGap, BigDecimal totalBilhetesGapCancelados, - BigDecimal totalBilhetesGapDevolvidos, BigDecimal totalCreditosEventoFinanceiros, BigDecimal totalDebitosEventoFinanceiros, OcdVO totalOcd, - BigDecimal totalBilhetesTrocados, BigDecimal totalBilhetesGapTrocados) throws BusinessException { - ResumoComissao resumoComissao = new ResumoComissao(); - resumoComissao.setTotalDevolvidos(totalBilhetesDevolvidos.add(totalBilhetesGapDevolvidos)); - resumoComissao.setTotalCancelados(totalBilhetesCancelados.add(totalBilhetesGapCancelados)); - resumoComissao.setTotalVendas(totalBilhetesVendidos.add(totalBilhetesManual).add(totalBilhetesGap)); - resumoComissao.setTotalReceitas(totalCreditosEventoFinanceiros); - resumoComissao.setTotalDespesas(totalDebitosEventoFinanceiros); - resumoComissao.setTotalTroca(totalBilhetesTrocados.add(totalBilhetesGapTrocados)); - resumoComissao.setTotalOcd(totalOcd); - - carregarTotalFormapago(resumoComissao, boletoComissaos, lsEventosFinanceiros); - carregarTotalDeposito(conferencia, resumoComissao, boletoComissaos, lsEventosFinanceiros); - - resumoComissao.setListNumSerieECF(puntoVentaDAO.quantidadeECFPorPuntoVenta(conferencia)); - - return resumoComissao; - } - - /** - * Calcula o total de deposito - * @param conferencia - * @param resumoComissao - * @param boletoComissaos - * @param lsEventosFinanceiros - * @return - */ - private void carregarTotalDeposito(Conferencia conferencia, ResumoComissao resumoComissao, List boletoComissaos, List lsEventosFinanceiros) { - List formaspagosDeposito = new ArrayList(Arrays.asList(Constantes.FORMA_PAGO_DINHEIRO.intValue())); - if(conferencia != null && conferenciaComissaoDAO.isConfMovFPTrocaVlrDeposito(conferencia.getEmpresa())) { - formaspagosDeposito.add(Constantes.FORMA_PAGO_TROCA_PASSAGEM.intValue()); - } - - BigDecimal totalDeposito = BigDecimal.ZERO; - - for (BoletoComissao boletoComissao : boletoComissaos) { - if (!boletoComissao.isNotSomarBilhete()) { - for (FormapagoVO formapago : boletoComissao.getFormapagos()) { - if (formaspagosDeposito.contains(formapago.getFormapagoId())) { - // subtraindo as quitacoes de ocd - if (boletoComissao.isMotivocancelacionQuitacaoOcd()) { - totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); - // somando as vendas - } else if (boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual()) { - totalDeposito = MoneyHelper.somar(totalDeposito, formapago.getImporte()); - // subtraindo os cancelamentos - } else if (boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) { - totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); - // subtraindo as trocas e devolucoes - } else if (boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido()) { - if (boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido()) { - totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); - } - } - } - } - } - } - - // calculando os movimentos financeiros - for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { - for (FormaPagoEventosFinanceirosVO formaPagamento : eventosFinanceiros.getFormapagos()) { - if (formaspagosDeposito.contains(formaPagamento.getFormapagoId())) { - if (eventosFinanceiros.isCredito()) { - totalDeposito = MoneyHelper.somar(totalDeposito, formaPagamento.getImporte()); - } else if (eventosFinanceiros.isDebito()) { - totalDeposito = MoneyHelper.subtrair(totalDeposito, formaPagamento.getImporte().abs()); - } - } - } - } - - resumoComissao.setValorDeposito(totalDeposito); - - } - - /** - * Totaliza os valores conforme o forma pago, apenas do bilhetes que geraram registros em caixa
- * (+) Abas: Bilhetes Manual, Bilhetes, Gap Venda
- * (-) Abas: Bilhetes Cancelados, Bilhetes Devolvidos, Gap Cancelados, Gap Devolvidos
- * - * @param resumoComissao - * @param boletoComissaos - * @param lsEventosFinanceiros - */ - private void carregarTotalFormapago(ResumoComissao resumoComissao, List boletoComissaos, List lsEventosFinanceiros) { - List totalFormapagos = new ArrayList(); - for (BoletoComissao boletoComissao : boletoComissaos) { - if (!boletoComissao.isNotSomarBilhete()) { - for (FormapagoVO formapagoBoleto : boletoComissao.getFormapagos()) { - FormapagoVO formapago; - if (totalFormapagos.contains(formapagoBoleto)) { - formapago = totalFormapagos.get(totalFormapagos.indexOf(formapagoBoleto)); - } else { - formapago = new FormapagoVO(formapagoBoleto.getFormapagoId(), formapagoBoleto.getDescpago(), null, BigDecimal.ZERO); - totalFormapagos.add(formapago); - } - - // subtraindo as quitacoes de ocd - if (boletoComissao.isMotivocancelacionQuitacaoOcd()) { - formapago.subtract(formapagoBoleto.getImporte()); - // somando as vendas - } else if (boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual() || (boletoComissao.isVendaBilheteTransferencia(boletoComissao.getTipoVenta()) && formapago.getFormapagoId() == 1)) { - formapago.add(formapagoBoleto.getImporte()); - // subtraindo os cancelamentos - } else if (boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) { - formapago.subtract(formapagoBoleto.getImporte()); - // subtraindo as trocas e devolucoes - } else if (boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido() || boletoComissao.isMotivocancelacionTransferido()) { - if (boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido() || boletoComissao.isMotivocancelacionQuitacaoOcd() || (boletoComissao.isVendaBilheteTransferencia(boletoComissao.getTipoVenta()) && formapago.getFormapagoId() == 1)) { - formapago.subtract(formapagoBoleto.getImporte()); - } - } - } - } - } - - for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { - for(FormaPagoEventosFinanceirosVO formaPagoEventosFinanceirosVO: eventosFinanceiros.getFormapagos()) { - FormapagoVO formapagoEventoFinanceiro = new FormapagoVO(formaPagoEventosFinanceirosVO.getFormapagoId(), formaPagoEventosFinanceirosVO.getDescpago(), null, BigDecimal.ZERO); - if (totalFormapagos.contains(formapagoEventoFinanceiro)) { - formapagoEventoFinanceiro = totalFormapagos.get(totalFormapagos.indexOf(formapagoEventoFinanceiro)); - } else { - totalFormapagos.add(formapagoEventoFinanceiro); - } - - if (eventosFinanceiros.isCredito()) { - formapagoEventoFinanceiro.add(formaPagoEventosFinanceirosVO.getImporte()); - } else if (eventosFinanceiros.isDebito()) { - formapagoEventoFinanceiro.subtract(formaPagoEventosFinanceirosVO.getImporte().abs()); - } - } - } - - resumoComissao.setTotalFormapago(totalFormapagos); - } - - @Override - public EtiquetaMalote decodificarEtiquetaMalote(String codigoBarras) throws BusinessException { - try { - EtiquetaMalote etiquetaMalote = new EtiquetaMalote(); - log.debug("Empresa: " + codigoBarras.substring(0, 4)); - etiquetaMalote.setEmpresaId(Integer.valueOf(codigoBarras.substring(0, 4))); - log.debug("Punto Venta: " + codigoBarras.substring(4, 9)); - etiquetaMalote.setPuntoventaId(Integer.valueOf(codigoBarras.substring(4, 9))); - log.debug("Numero Malote: " + codigoBarras.substring(9, 19)); - etiquetaMalote.setNumeroMalote(codigoBarras.substring(9, 19)); - log.debug("Data inicial: " + codigoBarras.substring(19, 27)); - etiquetaMalote.setDataInicial(DateUtil.getDateFromString(codigoBarras.substring(19, 27), "ddMMyyyy")); - log.debug("Data final: " + codigoBarras.substring(27, 35)); - etiquetaMalote.setDataFinal(DateUtil.getDateFromString(codigoBarras.substring(27, 35), "ddMMyyyy")); - - Empresa empresa = empresaDAO.obtenerID(etiquetaMalote.getEmpresaId()); - if (empresa == null) { - throw new BusinessException("recebimentoMaloteController.msg.erro.empresaNaoLocalizada"); - } - etiquetaMalote.setNombempresa(empresa.getNombempresa()); - PuntoVenta puntoVenta = puntoVentaDAO.obtenerID(etiquetaMalote.getPuntoventaId()); - if (puntoVenta == null) { - throw new BusinessException("recebimentoMaloteController.msg.erro.puntoVentaNaoLocalizado"); - } - etiquetaMalote.setNombpuntoventa(puntoVenta.getNombpuntoventa()); - - return etiquetaMalote; - } catch (BusinessException e) { - log.error(e.getMessage(), e); - throw e; - } catch (Exception e) { - log.error(e.getMessage(), e); - } - - return null; - } - - @Override - public void confirmarChegadaMalote(EtiquetaMalote etiquetaMalote) throws BusinessException { - try { - Calendar cDataInicial = Calendar.getInstance(LocaleUtil.getLocale()); - cDataInicial.setTime(DateUtil.normalizar(etiquetaMalote.getDataInicial())); - - Calendar cDataFinal = Calendar.getInstance(LocaleUtil.getLocale()); - cDataFinal.setTime(DateUtil.normalizar(etiquetaMalote.getDataFinal())); - - Empresa empresa = empresaDAO.obtenerID(etiquetaMalote.getEmpresaId()); - PuntoVenta puntoVenta = puntoVentaDAO.obtenerID(etiquetaMalote.getPuntoventaId()); - - while (cDataInicial.compareTo(cDataFinal) <= 0) { - Conferencia conferencia = obtenerConferenciaDataMovimento(cDataInicial.getTime(), etiquetaMalote.getPuntoventaId(), etiquetaMalote.getEmpresaId()); - if (conferencia == null) { - conferencia = new Conferencia(); - conferencia.setDatamovimento(cDataInicial.getTime()); - conferencia.setEmpresa(empresa); - conferencia.setPuntoVenta(puntoVenta); - - conferencia = suscribirOrActualizacion(conferencia); - } - cDataInicial.add(Calendar.DAY_OF_MONTH, 1); - - if (conferencia != null && conferencia.getIndmaloterecebido()) { - continue; - } - confirmarChegadaMalote(conferencia); - - } - - } catch (BusinessException e) { - log.error(e.getMessage(), e); - throw e; - } catch (Exception e) { - log.error(e.getMessage(), e); - } - } - - @Override - public boolean isConferenciaCompetenciaEncerrada(String competencia, Empresa empresa, PuntoVenta puntoVenta, boolean isDesconsideraPtVendaFechados) throws BusinessException { - return conferenciaComissaoDAO.isConferenciaCompetenciaEncerrada(competencia, empresa, puntoVenta, isDesconsideraPtVendaFechados); - } - - @Override - public boolean isOcdSemConferencia(List lsOcd) throws BusinessException { - for (OcdVO ocd : lsOcd) { - if (ocd.isExigeConferenciaAba() && (!ocd.isConferido() && ocd.getLogconferenciaId() == null)) { - return true; - } - } - return false; - } - - @Override - public DiaConferenciaComissaoVO carregarConferenciaRegistrada(Date datamovimento, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException { - return conferenciaComissaoDAO.carregarConferenciaRegistrada(datamovimento, empresa, puntoVenta); - } - - @Override - public List quantidadeECFPorPuntoVenta(Conferencia conferencia) { - return puntoVentaDAO.quantidadeECFPorPuntoVenta(conferencia); - } - - @Override - public void enviarEmailIrregularidadeECF(String email, String msg, String assunto) throws Exception { - SendMail sendMail = new SendMail(); - String host = constanteService.buscarPorNomeConstante(SMTP_HOST).getValorconstante(); - String user = constanteService.buscarPorNomeConstante(SMTP_USER).getValorconstante(); - String emailFrom = constanteService.buscarPorNomeConstante(SMTP_EMAIL).getValorconstante(); - String port = constanteService.buscarPorNomeConstante(SMTP_PORT).getValorconstante(); - String password = constanteService.buscarPorNomeConstante(SMTP_PASS).getValorconstante(); - - verificarDadosEmail(Arrays.asList(host, user, emailFrom, port, password)); - - sendMail.setSmtpHost(host); - sendMail.setSmtpUser(user); - sendMail.setSmtpPassword(password); - sendMail.setSmtpPort(port); - sendMail.setEmailFrom(emailFrom); - sendMail.setEmailTo(email); - sendMail.setSubject(assunto); - sendMail.setText(msg); - sendMail.send(); - } - - private void verificarDadosEmail(List asList) throws Exception { - for (String s : asList) { - if (s == null || s.isEmpty()) { - throw new Exception(Labels.getLabel("informeIrregularidadeController.mail.configuracoes")); - } - } - } - - @Override - @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) - public void generacionAutomaticaConferencia() { - List lsPuntoVenta; - List lsConferenciaComissao; - Conferencia conferencia; - // Perocorrer todas as empresas cadastradas - List lsEmpresa = empresaService.obtenerTodos(); - for (Empresa empresa : lsEmpresa) { - lsPuntoVenta = puntoVentaService.buscaPuntoVentaEmpresaSemECF(empresa); - for (PuntoVentaVO puntoVentaVO : lsPuntoVenta) { - try { - PuntoVenta puntoVenta = new PuntoVenta(puntoVentaVO.getPuntoventaId(), puntoVentaVO.getNombpuntoventa()); - // Busca o Movimento para o dia de ontem, caso não exista aborta para este ponto de venda - lsConferenciaComissao = carregarConferenciaComissao(null, empresa, puntoVenta, DateUtil.getYesterdayDate(), false); - if ((CollectionUtils.isEmpty(lsConferenciaComissao)) || (!CollectionUtils.isEmpty(lsConferenciaComissao.get(0).getDias()) && lsConferenciaComissao.get(0).getDias().size() < 1)) { - log.info("Não há conferência para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); - continue; - } - - // Confirma chegada do malote - conferencia = obtenerConferenciaDataMovimento(DateUtil.getYesterdayDate(), puntoVentaVO.getPuntoventaId(), empresa.getEmpresaId()); - if (conferencia == null) { - conferencia = new Conferencia(); - conferencia.setActivo(Boolean.TRUE); - conferencia.setFecmodif(new Date()); - conferencia.setUsuarioId(1); - conferencia.setEmpresa(empresa); - conferencia.setPuntoVenta(new PuntoVenta(puntoVentaVO.getPuntoventaId())); - conferencia.setDatamovimento(DateUtil.getYesterdayDate()); - } else { - // Se existe a conferência com status conferido para esta empresa e ponto de venda no dia de ontem, aborta. - if (Boolean.TRUE == conferencia.getIndconferido()) { - log.info("Já existe conferência com status conferido para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); - continue; - } - } - - // Valida se existe alguma pendência que impede o fechamento. - if (!validaConferencia(conferencia)) { - log.info("Não há bilhetes para conferir ou será necessário realizar Conferência Manual para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); - continue; - } - - // Confirma chegada do malote - conferencia = confirmarChegadaMalote(conferencia); - log.info("Realizado confirmação de chegada do malote para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); - - // Encerra Movimento - encerrarMovimentoDiario(conferencia); - log.info("Conferência de Movimento para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString() + "realizada com sucesso."); - } catch (BusinessException e) { - log.error("Erro ao buscar/validar conferência para o dia " + DateUtil.getYesterdayDateString(), e); - continue; - } - } - } - } - - private boolean validaConferencia(Conferencia conferencia) { - try { - - List boletosComissaos = carregarBilhetesComissao(null, conferencia, null, false); - if (boletosComissaos == null || CollectionUtils.isEmpty(boletosComissaos)) { - return false; - } - - if (!validaBilhetesManual(boletosComissaos, conferencia)) { - return false; - } - - if (!validaBilhetesVendidos(boletosComissaos, conferencia)) { - return false; - } - - if (!validaBilhetesCancelados(boletosComissaos, conferencia)) { - return false; - } - - if (!validaBilhetesDevolvidos(boletosComissaos, conferencia)) { - return false; - } - - if (!validaBilhetesGap(boletosComissaos, conferencia)) { - return false; - } - - if (!validaBilhetesGapCancelados(boletosComissaos, conferencia)) { - return false; - } - - if (!validaBilhetesGapDevolvidos(boletosComissaos, conferencia)) { - return false; - } - - if (!validaEventosFinanceiros(boletosComissaos, conferencia)) { - return false; - } - - if (!validaOcds(conferencia)) { - return false; - } - return true; - } catch (BusinessException e) { - log.error(e.getMessage(), e); - return false; - } - } - - private boolean validaBilhetesManual(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsBilhetesManual = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETO_MANUAL, false); - if (!CollectionUtils.isEmpty(lsBilhetesManual) && isBilhetesSemConferencia(lsBilhetesManual)) { - return false; - } else { - return true; - } - } - - private boolean validaBilhetesVendidos(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsBilhetes = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETOS_VENDIDOS, false); - if (!CollectionUtils.isEmpty(lsBilhetes) && isBilhetesSemConferencia(lsBilhetes)) { - - return false; - } else { - return true; - } - } - - private boolean validaBilhetesCancelados(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsBilhetesCancelados = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETO_CANCELADO, false); - if (!CollectionUtils.isEmpty(lsBilhetesCancelados) && isBilhetesSemConferencia(lsBilhetesCancelados)) { - return false; - } else { - return true; - } - } - - private boolean validaBilhetesDevolvidos(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsBilhetesDevolvidos = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETO_DEVOLVIDO, false); - if (!CollectionUtils.isEmpty(lsBilhetesDevolvidos) && isBilhetesSemConferencia(lsBilhetesDevolvidos)) { - return false; - } else { - return true; - } - } - - private boolean validaBilhetesGap(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsBilhetesGap = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.GAP_VENDIDOS, false); - if (!CollectionUtils.isEmpty(lsBilhetesGap) && isBilhetesSemConferencia(lsBilhetesGap)) { - return false; - } else { - return true; - } - } - - private boolean validaBilhetesGapCancelados(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsBilhetesGapCancelados = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.GAP_CANCELADO, false); - if (!CollectionUtils.isEmpty(lsBilhetesGapCancelados) && isBilhetesSemConferencia(lsBilhetesGapCancelados)) { - return false; - } else { - return true; - } - } - - private boolean validaBilhetesGapDevolvidos(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsBilhetesGapDevolvidos = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.GAP_DEVOLVIDO, false); - if (!CollectionUtils.isEmpty(lsBilhetesGapDevolvidos) && isBilhetesSemConferencia(lsBilhetesGapDevolvidos)) { - return false; - } else { - return true; - } - } - - private boolean validaEventosFinanceiros(List boletosComissaos, Conferencia conferencia) throws BusinessException { - List lsEventosFinanceiros = carregarEventosFinanceiros(conferencia); - if (!CollectionUtils.isEmpty(lsEventosFinanceiros) && isEventosFinanceirosSemConferencia(lsEventosFinanceiros)) { - return false; - } else { - return true; - } - } - - private boolean validaOcds(Conferencia conferencia) throws BusinessException { - List lsOcds = carregarOcds(conferencia); - if (!CollectionUtils.isEmpty(lsOcds) && isOcdSemConferencia(lsOcds)) { - return false; - } else { - return true; - } - } - - @Override - public Conferencia cancelarChegadaMalote(Conferencia conferencia) { - return conferenciaComissaoDAO.cancelarChegadaMalote(conferencia); - } - - @Override - public boolean isConferidoVenta(BoletoComissao boletoComissao) { - return conferenciaComissaoDAO.isConferidoVenta(boletoComissao); - } - - @Override - public void borrarLogConferenciaTransacaoId(Long transacaoId) throws BusinessException { - conferenciaComissaoDAO.borrarLogConferenciaTransacaoId(transacaoId); - } - - @Override - public boolean isConferenciaCompetenciaEncerrada(Date dataInicial, Date dataFinal, Empresa empresa, PuntoVenta puntoVenta, boolean isDesconsideraPtVendaFechados) throws BusinessException { - return conferenciaComissaoDAO.isConferenciaCompetenciaEncerrada(dataInicial, dataFinal, empresa, puntoVenta, isDesconsideraPtVendaFechados); - } - - @Override - public BigDecimal getComissaoPuntoVenta(Integer puntoventaId, Integer empresaId, Date dataInicial, Date dataFinal) throws BusinessException { - return conferenciaComissaoDAO.getComissaoPuntoVenta(puntoventaId, empresaId, dataInicial, dataFinal); - } - - - -} +package com.rjconsultores.ventaboletos.service.impl; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.dao.ConferenciaComissaoDAO; +import com.rjconsultores.ventaboletos.dao.EmpresaDAO; +import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO; +import com.rjconsultores.ventaboletos.entidad.ComEmpConferencia; +import com.rjconsultores.ventaboletos.entidad.Conferencia; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.LogConferencia; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO; +import com.rjconsultores.ventaboletos.enums.IndStatusBoleto; +import com.rjconsultores.ventaboletos.enums.comissao.BoletoStatusComissao; +import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.ConferenciaComissaoService; +import com.rjconsultores.ventaboletos.service.ConstanteService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.PuntoVentaService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.LocaleUtil; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.utilerias.SendMail; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao; +import com.rjconsultores.ventaboletos.vo.comissao.ConferenciaComissaoVO; +import com.rjconsultores.ventaboletos.vo.comissao.DiaConferenciaComissaoVO; +import com.rjconsultores.ventaboletos.vo.comissao.EtiquetaMalote; +import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO; +import com.rjconsultores.ventaboletos.vo.comissao.FormaPagoEventosFinanceirosVO; +import com.rjconsultores.ventaboletos.vo.comissao.FormapagoVO; +import com.rjconsultores.ventaboletos.vo.comissao.LogConferenciaVO; +import com.rjconsultores.ventaboletos.vo.comissao.OcdVO; +import com.rjconsultores.ventaboletos.vo.comissao.ResumoComissao; + +@Service("conferenciaComissaoService") +public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoService { + + private static final String SMTP_HOST = "SMTP_HOST"; + private static final String SMTP_USER = "SMTP_USER"; + private static final String SMTP_EMAIL = "SMTP_EMAIL"; + private static final String SMTP_PORT = "SMTP_PORT"; + private static final String SMTP_PASS = "SMTP_PASS"; + + private static Logger log = Logger.getLogger(ConferenciaComissaoService.class); + + @Autowired + private ConferenciaComissaoDAO conferenciaComissaoDAO; + + @Autowired + private EmpresaDAO empresaDAO; + + @Autowired + private PuntoVentaDAO puntoVentaDAO; + + @Autowired + ConstanteService constanteService; + @Autowired + private EmpresaService empresaService; + @Autowired + private PuntoVentaService puntoVentaService; + + @Override + public List obtenerTodos() { + return conferenciaComissaoDAO.obtenerTodos(); + } + + @Override + public Conferencia obtenerID(Long id) { + return conferenciaComissaoDAO.obtenerID(id); + } + + @Override + public Conferencia suscribir(Conferencia entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return conferenciaComissaoDAO.suscribir(entidad); + } + + @Override + public Conferencia actualizacion(Conferencia entidad) { + return conferenciaComissaoDAO.actualizacion(entidad); + } + + @Override + public void borrar(Conferencia entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + conferenciaComissaoDAO.borrar(entidad); + } + + @Override + public List carregarConferenciaComissao(String competencia, Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento, boolean isDesconsideraPtVendaFechados) throws BusinessException { + return conferenciaComissaoDAO.carregarConferenciaComissao(competencia, empresa, puntoVenta, dataMovimento, isDesconsideraPtVendaFechados); + } + + @Override + public List carregarConferenciaComissao(Date dataInicial, Date dataFinal, Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento, boolean isDesconsideraPtVendaFechados) throws BusinessException { + return conferenciaComissaoDAO.carregarConferenciaComissao(dataInicial, dataFinal, empresa, puntoVenta, dataMovimento, isDesconsideraPtVendaFechados); + } + + @Override + public Conferencia confirmarChegadaMalote(Conferencia conferencia) throws BusinessException { + conferencia.setDatamalote(new Date()); + if (conferencia.getUsuarioId() == null || conferencia.getUsuarioId() < 1) { + conferencia.setUsuarioMaloteId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } + return conferenciaComissaoDAO.confirmarChegadaMalote(conferencia); + } + + @Override + public Conferencia suscribirOrActualizacion(Conferencia entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return conferenciaComissaoDAO.suscribirOrActualizacion(entidad); + } + + @Override + public Conferencia encerrarMovimentoDiario(Conferencia conferencia) throws BusinessException { + if (conferencia.getUsuarioId() == null || conferencia.getUsuarioId() < 1) { + conferencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + } + conferencia.setFecmodif(Calendar.getInstance().getTime()); + return conferenciaComissaoDAO.encerrarMovimentoDiario(conferencia); + } + + @Override + public List carregarEventosFinanceiros(Conferencia conferencia) throws BusinessException { + return conferenciaComissaoDAO.carregarEventosFinanceiros(conferencia); + } + + @Override + public List carregarLogConferencia(Conferencia conferencia) throws BusinessException { + return conferenciaComissaoDAO.carregarLogConferencia(conferencia); + } + + @Override + public LogConferencia suscribirLogConferencia(LogConferencia logConferencia) throws BusinessException { + return conferenciaComissaoDAO.suscribirLogConferencia(logConferencia); + } + + @Override + public void borrarLogConferencia(LogConferencia logConferencia) throws BusinessException { + conferenciaComissaoDAO.borrarLogConferencia(logConferencia); + } + + @Override + public LogConferencia obtenerLogConferenciaID(Long logconferenciaId) { + return conferenciaComissaoDAO.obtenerLogConferenciaID(logconferenciaId); + } + + @Override + public List carregarBilhetesComissao(List boletoComissaos, List conferencias, BoletoStatusComissao boletoStatusComissao, boolean carregarDadosFaltantes) throws BusinessException { + + List retorno = new ArrayList(); + Boolean retornar = false; + + for (Conferencia c : conferencias) { + + if (retornar) { + return retorno; + } + + if (boletoComissaos == null || boletoComissaos.isEmpty()) { + boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(c, false, false); + } + + if (boletoStatusComissao == null) { + retorno.addAll(boletoComissaos); + boletoComissaos = null; + continue; + } + + Empresa empresa = empresaDAO.obtenerID(c.getEmpresa().getEmpresaId()); + ComEmpConferencia comEmpConferencia = null; + if (empresa.getComEmpConferencias() != null && !empresa.getComEmpConferencias().isEmpty()) { + comEmpConferencia = empresa.getComEmpConferencias().iterator().next(); + } + retornar = true; + switch (boletoStatusComissao) { + case BOLETOS_VENDIDOS: + retorno.addAll(carregarBilhetesVendidos(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); + break; + case BOLETO_MANUAL: + retorno.addAll(carregarBilhetesManuais(boletoComissaos, comEmpConferencia)); + break; + case BOLETO_CANCELADO: + retorno.addAll(carregarBilhetesCancelados(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); + break; + case BOLETO_DEVOLVIDO: + retorno.addAll(carregarBilhetesDevolvidos(boletoComissaos, StringUtils.isNotBlank(c.getNumfoliosistema()), comEmpConferencia, carregarDadosFaltantes)); + break; + case GAP_VENDIDOS: + retorno.addAll(carregarBilhetesGapsVendidos(boletoComissaos, comEmpConferencia)); + break; + case GAP_CANCELADO: + retorno.addAll(carregarBilhetesGapCancelados(boletoComissaos, comEmpConferencia)); + break; + case GAP_DEVOLVIDO: + retorno.addAll(carregarBilhetesGapDevolvidos(boletoComissaos, comEmpConferencia)); + break; + default: + break; + } + return retorno; + } + + return retorno; + } + + @Override + public List carregarBilhetesComissao(List boletoComissaos, Conferencia conferencia, BoletoStatusComissao boletoStatusComissao, boolean carregarDadosFaltantes) throws BusinessException { + if (boletoComissaos == null) { + boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(conferencia, false, false); + } + + if (boletoStatusComissao == null) { + return boletoComissaos; + } + + Empresa empresa = empresaDAO.obtenerID(conferencia.getEmpresa().getEmpresaId()); + ComEmpConferencia comEmpConferencia = null; + if (empresa.getComEmpConferencias() != null && !empresa.getComEmpConferencias().isEmpty()) { + comEmpConferencia = empresa.getComEmpConferencias().iterator().next(); + } + + List retorno = new ArrayList(); + switch (boletoStatusComissao) { + case BOLETOS_VENDIDOS: + retorno.addAll(carregarBilhetesVendidos(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); + break; + case BOLETO_MANUAL: + retorno.addAll(carregarBilhetesManuais(boletoComissaos, comEmpConferencia)); + break; + case BOLETO_CANCELADO: + retorno.addAll(carregarBilhetesCancelados(boletoComissaos, comEmpConferencia, carregarDadosFaltantes)); + break; + case BOLETO_DEVOLVIDO: + retorno.addAll(carregarBilhetesDevolvidos(boletoComissaos, StringUtils.isNotBlank(conferencia.getNumfoliosistema()), comEmpConferencia, carregarDadosFaltantes)); + break; + case GAP_VENDIDOS: + retorno.addAll(carregarBilhetesGapsVendidos(boletoComissaos, comEmpConferencia)); + break; + case GAP_CANCELADO: + retorno.addAll(carregarBilhetesGapCancelados(boletoComissaos, comEmpConferencia)); + break; + case GAP_DEVOLVIDO: + retorno.addAll(carregarBilhetesGapDevolvidos(boletoComissaos, comEmpConferencia)); + break; + default: + break; + } + return retorno; + } + + private Set carregarBilhetesManuais(List boletoComissaos, ComEmpConferencia comEmpConferencia) { + Set boletos = new HashSet(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (boletoComissao.isAbaBilheteManual()) { + + if (comEmpConferencia != null) { + boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetemanual()); + } + + boletos.add(boletoComissao); + } + } + return boletos; + } + + private Set carregarBilhetesVendidos(List boletoComissaos, ComEmpConferencia comEmpConferencia, boolean carregarDadosFaltantes) { + Set boletos = new HashSet(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (boletoComissao.isAbaBilheteVendido() || carregarDadosFaltantes) { + + if (comEmpConferencia != null) { + boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetevendido()); + } + if (boletoComissao.isQuitacaoOCD()) { + continue; + } + boletos.add(boletoComissao); + + } + } + return boletos; + } + + private Set carregarBilhetesCancelados(List boletoComissaos, ComEmpConferencia comEmpConferencia, boolean carregarDadosFaltantes) { + Set boletos = new HashSet(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (boletoComissao.isAbaBilheteCancelado() || carregarDadosFaltantes) { + + if (comEmpConferencia != null) { + boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetecancelado()); + } + + boletos.add(boletoComissao); + + } + } + return boletos; + } + + private Set carregarBilhetesDevolvidos(List boletoComissaos, boolean pesquisa, ComEmpConferencia comEmpConferencia, boolean carregarDadosFaltantes) { + Set boletos = new HashSet(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (boletoComissao.isAbaBilheteDevolvido() || carregarDadosFaltantes) { + + boletoComissao.setExigeConferenciaDevolvido(boletoComissao.getIndcarboletosdevolvidosconf() != null && !boletoComissao.getIndcarboletosdevolvidosconf()); + + if (comEmpConferencia != null) { + boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndbilhetedevolvido()); + } + + if (pesquisa || + ((boletoComissao.getIndcarboletosdevolvidosconf() != null && boletoComissao.getIndcarboletosdevolvidosconf()) || boletoComissao.getLogconferenciaId() != null)) { + boletos.add(boletoComissao); + } + + } + } + return boletos; + } + + private Set carregarBilhetesGapsVendidos(List boletoComissaos, ComEmpConferencia comEmpConferencia) { + Set boletos = new HashSet(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (boletoComissao.isAbaGapVendido()) { + + if (comEmpConferencia != null) { + boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndgapvendido()); + } + + boletos.add(boletoComissao); + + } + } + return boletos; + } + + private Set carregarBilhetesGapCancelados(List boletoComissaos, ComEmpConferencia comEmpConferencia) { + Set boletos = new HashSet(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (boletoComissao.isAbaGapCancelado()) { + + if (comEmpConferencia != null) { + boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndgapcancelado()); + } + + boletos.add(boletoComissao); + } + } + return boletos; + } + + private Set carregarBilhetesGapDevolvidos(List boletoComissaos, ComEmpConferencia comEmpConferencia) { + Set boletos = new HashSet(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (boletoComissao.isAbaGapDevolvido()) { + + if (comEmpConferencia != null) { + boletoComissao.setExigeConferenciaAba(comEmpConferencia.getIndgapdevolvido()); + } + + boletos.add(boletoComissao); + + } + } + return boletos; + } + + @Override + public List carregarOcds(Conferencia conferencia) throws BusinessException { + return conferenciaComissaoDAO.carregarOcds(conferencia); + } + + @Override + public Conferencia reabrirMovimentoDiario(Conferencia conferencia) throws BusinessException { + conferencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + conferencia.setFecmodif(Calendar.getInstance().getTime()); + return conferenciaComissaoDAO.reabrirMovimentoDiario(conferencia); + } + + @Override + public Conferencia obtenerConferenciaDataMovimento(Date datamovimento, Integer puntoventaId, Integer empresaId) throws BusinessException { + return conferenciaComissaoDAO.obtenerConferenciaDataMovimento(datamovimento, puntoventaId, empresaId); + } + + @Override + public boolean isBilhetesSemConferencia(List lsBoletoComissao) throws BusinessException { + for (BoletoComissao boletoComissao : lsBoletoComissao) { + if ((boletoComissao.isExigeConferencia() || boletoComissao.isExigeConferenciaAba() || boletoComissao.isExigeConferenciaBoletoDevolvido()) && + (!boletoComissao.isConferido() && boletoComissao.getLogconferenciaId() == null)) { + return true; + } + } + return false; + } + + @Override + public boolean isEventosFinanceirosSemConferencia(List lsEventosFinanceiros) throws BusinessException { + for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { + if ((eventosFinanceiros.isExigeConferencia() || eventosFinanceiros.getExigeConferenciaAba()) && + (!eventosFinanceiros.isConferido() && (eventosFinanceiros.getLogconferenciaId() == null || eventosFinanceiros.getLogconferenciaId() == 0))) { + return true; + } + } + return false; + } + + @Override + public BigDecimal totalizarBoletoComissao(List lsBoletoComissao, IndStatusBoleto... statusBilhete) throws BusinessException { + List lStatusBilhete = null; + if (statusBilhete != null && statusBilhete.length > 0) { + lStatusBilhete = Arrays.asList(statusBilhete); + } + + BigDecimal total = BigDecimal.ZERO; + if (lsBoletoComissao != null) { + for (BoletoComissao boletoComissao : lsBoletoComissao) { + if (boletoComissao.isNotSomarBilhete()) { + continue; + } + + if ((lStatusBilhete == null || lStatusBilhete.contains(boletoComissao.getIndstatusboletoEnum())) && + !boletoComissao.isVendaBilheteConfirmaAberto(boletoComissao.getTipoVenta())) { + // log.info(boletoComissao.toString()); + total = total.add(boletoComissao.getTotal()); + } + } + } + return total; + } + + @Override + public Map totalizarBoletoComissaoDevolvidosTrocaOcd(List lsBoletoComissao) throws BusinessException { + BigDecimal totalDevolvidos = BigDecimal.ZERO; + BigDecimal totalTroca = BigDecimal.ZERO; + BigDecimal totalOcd = BigDecimal.ZERO; + if (lsBoletoComissao != null) { + for (BoletoComissao boletoComissao : lsBoletoComissao) { + if (boletoComissao.isNotSomarBilhete()) { + continue; + } + if (boletoComissao.isOcd()) { + totalOcd = totalOcd.add(boletoComissao.getTotal()); + } else if (boletoComissao.isMotivocancelacionDevolvido()) { + totalDevolvidos = totalDevolvidos.add(boletoComissao.getTotal()); + } else if (boletoComissao.isMotivocancelacionTrocado()) { + totalTroca = totalTroca.add(boletoComissao.getTotal()); + } + } + } + Map maps = new HashMap(); + maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO, totalDevolvidos); + maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO_OCD, totalOcd); + maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO_TROCADO, totalTroca); + return maps; + } + + @Override + public BigDecimal totalizarEventosFinanceiros(List lsEventosFinanceiros) throws BusinessException { + BigDecimal total = BigDecimal.ZERO; + if (lsEventosFinanceiros != null) { + for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { + /* total = total.add(eventosFinanceiros.getImpingreso()); */ + if (eventosFinanceiros.isCredito()) { + total = MoneyHelper.somar(total, eventosFinanceiros.getImpingreso()); + } else if (eventosFinanceiros.isDebito()) { + total = MoneyHelper.subtrair(total, eventosFinanceiros.getImpingreso().abs()); + } + } + } + return total; + } + + @Override + public OcdVO totalizarOcd(List lsOcd) throws BusinessException { + OcdVO total = new OcdVO(); + total.setValorPagar(BigDecimal.ZERO); + total.setPenalizacion(BigDecimal.ZERO); + + if (lsOcd != null) { + for (OcdVO ocd : lsOcd) { + total.setValorPagar(total.getValorPagar().add(ocd.getValorPagar())); + } + } + return total; + } + + @Override + public ResumoComissao gerarResumo(Conferencia conferencia, List boletoComissaos, List lsEventosFinanceiros, BigDecimal totalBilhetesManual, BigDecimal totalBilhetesVendidos, + BigDecimal totalBilhetesCancelados, BigDecimal totalBilhetesDevolvidos, BigDecimal totalBilhetesGap, BigDecimal totalBilhetesGapCancelados, + BigDecimal totalBilhetesGapDevolvidos, BigDecimal totalCreditosEventoFinanceiros, BigDecimal totalDebitosEventoFinanceiros, OcdVO totalOcd, + BigDecimal totalBilhetesTrocados, BigDecimal totalBilhetesGapTrocados) throws BusinessException { + ResumoComissao resumoComissao = new ResumoComissao(); + resumoComissao.setTotalDevolvidos(totalBilhetesDevolvidos.add(totalBilhetesGapDevolvidos)); + resumoComissao.setTotalCancelados(totalBilhetesCancelados.add(totalBilhetesGapCancelados)); + resumoComissao.setTotalVendas(totalBilhetesVendidos.add(totalBilhetesManual).add(totalBilhetesGap)); + resumoComissao.setTotalReceitas(totalCreditosEventoFinanceiros); + resumoComissao.setTotalDespesas(totalDebitosEventoFinanceiros); + resumoComissao.setTotalTroca(totalBilhetesTrocados.add(totalBilhetesGapTrocados)); + resumoComissao.setTotalOcd(totalOcd); + + carregarTotalFormapago(resumoComissao, boletoComissaos, lsEventosFinanceiros); + carregarTotalDeposito(conferencia, resumoComissao, boletoComissaos, lsEventosFinanceiros); + + resumoComissao.setListNumSerieECF(puntoVentaDAO.quantidadeECFPorPuntoVenta(conferencia)); + + return resumoComissao; + } + + /** + * Calcula o total de deposito + * @param conferencia + * @param resumoComissao + * @param boletoComissaos + * @param lsEventosFinanceiros + * @return + */ + private void carregarTotalDeposito(Conferencia conferencia, ResumoComissao resumoComissao, List boletoComissaos, List lsEventosFinanceiros) { + List formaspagosDeposito = new ArrayList(Arrays.asList(Constantes.FORMA_PAGO_DINHEIRO.intValue())); + if(conferencia != null && conferenciaComissaoDAO.isConfMovFPTrocaVlrDeposito(conferencia.getEmpresa())) { + formaspagosDeposito.add(Constantes.FORMA_PAGO_TROCA_PASSAGEM.intValue()); + } + + BigDecimal totalDeposito = BigDecimal.ZERO; + + for (BoletoComissao boletoComissao : boletoComissaos) { + if (!boletoComissao.isNotSomarBilhete()) { + for (FormapagoVO formapago : boletoComissao.getFormapagos()) { + if (formaspagosDeposito.contains(formapago.getFormapagoId())) { + // subtraindo as quitacoes de ocd + if (boletoComissao.isMotivocancelacionQuitacaoOcd()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); + // somando as vendas + } else if (boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual()) { + totalDeposito = MoneyHelper.somar(totalDeposito, formapago.getImporte()); + // subtraindo os cancelamentos + } else if (boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); + // subtraindo as trocas e devolucoes + } else if (boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido()) { + if (boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); + } + } + } + } + } + } + + // calculando os movimentos financeiros + for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { + for (FormaPagoEventosFinanceirosVO formaPagamento : eventosFinanceiros.getFormapagos()) { + if (formaspagosDeposito.contains(formaPagamento.getFormapagoId())) { + if (eventosFinanceiros.isCredito()) { + totalDeposito = MoneyHelper.somar(totalDeposito, formaPagamento.getImporte()); + } else if (eventosFinanceiros.isDebito()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, formaPagamento.getImporte().abs()); + } + } + } + } + + resumoComissao.setValorDeposito(totalDeposito); + + } + + /** + * Totaliza os valores conforme o forma pago, apenas do bilhetes que geraram registros em caixa
+ * (+) Abas: Bilhetes Manual, Bilhetes, Gap Venda
+ * (-) Abas: Bilhetes Cancelados, Bilhetes Devolvidos, Gap Cancelados, Gap Devolvidos
+ * + * @param resumoComissao + * @param boletoComissaos + * @param lsEventosFinanceiros + */ + private void carregarTotalFormapago(ResumoComissao resumoComissao, List boletoComissaos, List lsEventosFinanceiros) { + List totalFormapagos = new ArrayList(); + for (BoletoComissao boletoComissao : boletoComissaos) { + if (!boletoComissao.isNotSomarBilhete()) { + for (FormapagoVO formapagoBoleto : boletoComissao.getFormapagos()) { + FormapagoVO formapago; + if (totalFormapagos.contains(formapagoBoleto)) { + formapago = totalFormapagos.get(totalFormapagos.indexOf(formapagoBoleto)); + } else { + formapago = new FormapagoVO(formapagoBoleto.getFormapagoId(), formapagoBoleto.getDescpago(), null, BigDecimal.ZERO); + totalFormapagos.add(formapago); + } + + // subtraindo as quitacoes de ocd + if (boletoComissao.isMotivocancelacionQuitacaoOcd()) { + formapago.subtract(formapagoBoleto.getImporte()); + // somando as vendas + } else if (boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual() || (boletoComissao.isVendaBilheteTransferencia(boletoComissao.getTipoVenta()) && formapago.getFormapagoId() == 1)) { + formapago.add(formapagoBoleto.getImporte()); + // subtraindo os cancelamentos + } else if (boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) { + formapago.subtract(formapagoBoleto.getImporte()); + // subtraindo as trocas e devolucoes + } else if (boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido() || boletoComissao.isMotivocancelacionTransferido()) { + if (boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido() || boletoComissao.isMotivocancelacionQuitacaoOcd() || (boletoComissao.isVendaBilheteTransferencia(boletoComissao.getTipoVenta()) && formapago.getFormapagoId() == 1)) { + formapago.subtract(formapagoBoleto.getImporte()); + } + } + } + } + } + + for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { + for(FormaPagoEventosFinanceirosVO formaPagoEventosFinanceirosVO: eventosFinanceiros.getFormapagos()) { + FormapagoVO formapagoEventoFinanceiro = new FormapagoVO(formaPagoEventosFinanceirosVO.getFormapagoId(), formaPagoEventosFinanceirosVO.getDescpago(), null, BigDecimal.ZERO); + if (totalFormapagos.contains(formapagoEventoFinanceiro)) { + formapagoEventoFinanceiro = totalFormapagos.get(totalFormapagos.indexOf(formapagoEventoFinanceiro)); + } else { + totalFormapagos.add(formapagoEventoFinanceiro); + } + + if (eventosFinanceiros.isCredito()) { + formapagoEventoFinanceiro.add(formaPagoEventosFinanceirosVO.getImporte()); + } else if (eventosFinanceiros.isDebito()) { + formapagoEventoFinanceiro.subtract(formaPagoEventosFinanceirosVO.getImporte().abs()); + } + } + } + + resumoComissao.setTotalFormapago(totalFormapagos); + } + + @Override + public EtiquetaMalote decodificarEtiquetaMalote(String codigoBarras) throws BusinessException { + try { + EtiquetaMalote etiquetaMalote = new EtiquetaMalote(); + log.debug("Empresa: " + codigoBarras.substring(0, 4)); + etiquetaMalote.setEmpresaId(Integer.valueOf(codigoBarras.substring(0, 4))); + log.debug("Punto Venta: " + codigoBarras.substring(4, 9)); + etiquetaMalote.setPuntoventaId(Integer.valueOf(codigoBarras.substring(4, 9))); + log.debug("Numero Malote: " + codigoBarras.substring(9, 19)); + etiquetaMalote.setNumeroMalote(codigoBarras.substring(9, 19)); + log.debug("Data inicial: " + codigoBarras.substring(19, 27)); + etiquetaMalote.setDataInicial(DateUtil.getDateFromString(codigoBarras.substring(19, 27), "ddMMyyyy")); + log.debug("Data final: " + codigoBarras.substring(27, 35)); + etiquetaMalote.setDataFinal(DateUtil.getDateFromString(codigoBarras.substring(27, 35), "ddMMyyyy")); + + Empresa empresa = empresaDAO.obtenerID(etiquetaMalote.getEmpresaId()); + if (empresa == null) { + throw new BusinessException("recebimentoMaloteController.msg.erro.empresaNaoLocalizada"); + } + etiquetaMalote.setNombempresa(empresa.getNombempresa()); + PuntoVenta puntoVenta = puntoVentaDAO.obtenerID(etiquetaMalote.getPuntoventaId()); + if (puntoVenta == null) { + throw new BusinessException("recebimentoMaloteController.msg.erro.puntoVentaNaoLocalizado"); + } + etiquetaMalote.setNombpuntoventa(puntoVenta.getNombpuntoventa()); + + return etiquetaMalote; + } catch (BusinessException e) { + log.error(e.getMessage(), e); + throw e; + } catch (Exception e) { + log.error(e.getMessage(), e); + } + + return null; + } + + @Override + public void confirmarChegadaMalote(EtiquetaMalote etiquetaMalote) throws BusinessException { + try { + Calendar cDataInicial = Calendar.getInstance(LocaleUtil.getLocale()); + cDataInicial.setTime(DateUtil.normalizar(etiquetaMalote.getDataInicial())); + + Calendar cDataFinal = Calendar.getInstance(LocaleUtil.getLocale()); + cDataFinal.setTime(DateUtil.normalizar(etiquetaMalote.getDataFinal())); + + Empresa empresa = empresaDAO.obtenerID(etiquetaMalote.getEmpresaId()); + PuntoVenta puntoVenta = puntoVentaDAO.obtenerID(etiquetaMalote.getPuntoventaId()); + + while (cDataInicial.compareTo(cDataFinal) <= 0) { + Conferencia conferencia = obtenerConferenciaDataMovimento(cDataInicial.getTime(), etiquetaMalote.getPuntoventaId(), etiquetaMalote.getEmpresaId()); + if (conferencia == null) { + conferencia = new Conferencia(); + conferencia.setDatamovimento(cDataInicial.getTime()); + conferencia.setEmpresa(empresa); + conferencia.setPuntoVenta(puntoVenta); + + conferencia = suscribirOrActualizacion(conferencia); + } + cDataInicial.add(Calendar.DAY_OF_MONTH, 1); + + if (conferencia != null && conferencia.getIndmaloterecebido()) { + continue; + } + confirmarChegadaMalote(conferencia); + + } + + } catch (BusinessException e) { + log.error(e.getMessage(), e); + throw e; + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + + @Override + public boolean isConferenciaCompetenciaEncerrada(String competencia, Empresa empresa, PuntoVenta puntoVenta, boolean isDesconsideraPtVendaFechados) throws BusinessException { + return conferenciaComissaoDAO.isConferenciaCompetenciaEncerrada(competencia, empresa, puntoVenta, isDesconsideraPtVendaFechados); + } + + @Override + public boolean isOcdSemConferencia(List lsOcd) throws BusinessException { + for (OcdVO ocd : lsOcd) { + if (ocd.isExigeConferenciaAba() && (!ocd.isConferido() && ocd.getLogconferenciaId() == null)) { + return true; + } + } + return false; + } + + @Override + public DiaConferenciaComissaoVO carregarConferenciaRegistrada(Date datamovimento, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException { + return conferenciaComissaoDAO.carregarConferenciaRegistrada(datamovimento, empresa, puntoVenta); + } + + @Override + public List quantidadeECFPorPuntoVenta(Conferencia conferencia) { + return puntoVentaDAO.quantidadeECFPorPuntoVenta(conferencia); + } + + @Override + public void enviarEmailIrregularidadeECF(String email, String msg, String assunto) throws Exception { + SendMail sendMail = new SendMail(); + String host = constanteService.buscarPorNomeConstante(SMTP_HOST).getValorconstante(); + String user = constanteService.buscarPorNomeConstante(SMTP_USER).getValorconstante(); + String emailFrom = constanteService.buscarPorNomeConstante(SMTP_EMAIL).getValorconstante(); + String port = constanteService.buscarPorNomeConstante(SMTP_PORT).getValorconstante(); + String password = constanteService.buscarPorNomeConstante(SMTP_PASS).getValorconstante(); + + verificarDadosEmail(Arrays.asList(host, user, emailFrom, port, password)); + + sendMail.setSmtpHost(host); + sendMail.setSmtpUser(user); + sendMail.setSmtpPassword(password); + sendMail.setSmtpPort(port); + sendMail.setEmailFrom(emailFrom); + sendMail.setEmailTo(email); + sendMail.setSubject(assunto); + sendMail.setText(msg); + sendMail.send(); + } + + private void verificarDadosEmail(List asList) throws Exception { + for (String s : asList) { + if (s == null || s.isEmpty()) { + throw new Exception(Labels.getLabel("informeIrregularidadeController.mail.configuracoes")); + } + } + } + + @Override + @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) + public void generacionAutomaticaConferencia() { + List lsPuntoVenta; + List lsConferenciaComissao; + Conferencia conferencia; + // Perocorrer todas as empresas cadastradas + List lsEmpresa = empresaService.obtenerTodos(); + for (Empresa empresa : lsEmpresa) { + lsPuntoVenta = puntoVentaService.buscaPuntoVentaEmpresaSemECF(empresa); + for (PuntoVentaVO puntoVentaVO : lsPuntoVenta) { + try { + PuntoVenta puntoVenta = new PuntoVenta(puntoVentaVO.getPuntoventaId(), puntoVentaVO.getNombpuntoventa()); + // Busca o Movimento para o dia de ontem, caso não exista aborta para este ponto de venda + lsConferenciaComissao = carregarConferenciaComissao(null, empresa, puntoVenta, DateUtil.getYesterdayDate(), false); + if ((CollectionUtils.isEmpty(lsConferenciaComissao)) || (!CollectionUtils.isEmpty(lsConferenciaComissao.get(0).getDias()) && lsConferenciaComissao.get(0).getDias().size() < 1)) { + log.info("NÃO há conferência para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); + continue; + } + + // Confirma chegada do malote + conferencia = obtenerConferenciaDataMovimento(DateUtil.getYesterdayDate(), puntoVentaVO.getPuntoventaId(), empresa.getEmpresaId()); + if (conferencia == null) { + conferencia = new Conferencia(); + conferencia.setActivo(Boolean.TRUE); + conferencia.setFecmodif(new Date()); + conferencia.setUsuarioId(1); + conferencia.setEmpresa(empresa); + conferencia.setPuntoVenta(new PuntoVenta(puntoVentaVO.getPuntoventaId())); + conferencia.setDatamovimento(DateUtil.getYesterdayDate()); + } else { + // Se existe a conferência com status conferido para esta empresa e ponto de venda no dia de ontem, aborta. + if (Boolean.TRUE == conferencia.getIndconferido()) { + log.info("Já existe conferência com status conferido para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); + continue; + } + } + + // Valida se existe alguma pendência que impede o fechamento. + if (!validaConferencia(conferencia)) { + log.info("NÃO há bilhetes para conferir ou será necessário realizar Conferência Manual para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); + continue; + } + + // Confirma chegada do malote + conferencia = confirmarChegadaMalote(conferencia); + log.info("Realizado confirmação de chegada do malote para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString()); + + // Encerra Movimento + encerrarMovimentoDiario(conferencia); + log.info("Conferência de Movimento para o Ponto de Venda " + puntoVentaVO.getNombpuntoventa() + " da empresa " + empresa.getNombempresa() + " no dia " + DateUtil.getYesterdayDateString() + "realizada com sucesso."); + } catch (BusinessException e) { + log.error("Erro ao buscar/validar conferência para o dia " + DateUtil.getYesterdayDateString(), e); + continue; + } + } + } + } + + private boolean validaConferencia(Conferencia conferencia) { + try { + + List boletosComissaos = carregarBilhetesComissao(null, conferencia, null, false); + if (boletosComissaos == null || CollectionUtils.isEmpty(boletosComissaos)) { + return false; + } + + if (!validaBilhetesManual(boletosComissaos, conferencia)) { + return false; + } + + if (!validaBilhetesVendidos(boletosComissaos, conferencia)) { + return false; + } + + if (!validaBilhetesCancelados(boletosComissaos, conferencia)) { + return false; + } + + if (!validaBilhetesDevolvidos(boletosComissaos, conferencia)) { + return false; + } + + if (!validaBilhetesGap(boletosComissaos, conferencia)) { + return false; + } + + if (!validaBilhetesGapCancelados(boletosComissaos, conferencia)) { + return false; + } + + if (!validaBilhetesGapDevolvidos(boletosComissaos, conferencia)) { + return false; + } + + if (!validaEventosFinanceiros(boletosComissaos, conferencia)) { + return false; + } + + if (!validaOcds(conferencia)) { + return false; + } + return true; + } catch (BusinessException e) { + log.error(e.getMessage(), e); + return false; + } + } + + private boolean validaBilhetesManual(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsBilhetesManual = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETO_MANUAL, false); + if (!CollectionUtils.isEmpty(lsBilhetesManual) && isBilhetesSemConferencia(lsBilhetesManual)) { + return false; + } else { + return true; + } + } + + private boolean validaBilhetesVendidos(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsBilhetes = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETOS_VENDIDOS, false); + if (!CollectionUtils.isEmpty(lsBilhetes) && isBilhetesSemConferencia(lsBilhetes)) { + + return false; + } else { + return true; + } + } + + private boolean validaBilhetesCancelados(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsBilhetesCancelados = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETO_CANCELADO, false); + if (!CollectionUtils.isEmpty(lsBilhetesCancelados) && isBilhetesSemConferencia(lsBilhetesCancelados)) { + return false; + } else { + return true; + } + } + + private boolean validaBilhetesDevolvidos(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsBilhetesDevolvidos = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.BOLETO_DEVOLVIDO, false); + if (!CollectionUtils.isEmpty(lsBilhetesDevolvidos) && isBilhetesSemConferencia(lsBilhetesDevolvidos)) { + return false; + } else { + return true; + } + } + + private boolean validaBilhetesGap(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsBilhetesGap = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.GAP_VENDIDOS, false); + if (!CollectionUtils.isEmpty(lsBilhetesGap) && isBilhetesSemConferencia(lsBilhetesGap)) { + return false; + } else { + return true; + } + } + + private boolean validaBilhetesGapCancelados(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsBilhetesGapCancelados = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.GAP_CANCELADO, false); + if (!CollectionUtils.isEmpty(lsBilhetesGapCancelados) && isBilhetesSemConferencia(lsBilhetesGapCancelados)) { + return false; + } else { + return true; + } + } + + private boolean validaBilhetesGapDevolvidos(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsBilhetesGapDevolvidos = carregarBilhetesComissao(boletosComissaos, conferencia, BoletoStatusComissao.GAP_DEVOLVIDO, false); + if (!CollectionUtils.isEmpty(lsBilhetesGapDevolvidos) && isBilhetesSemConferencia(lsBilhetesGapDevolvidos)) { + return false; + } else { + return true; + } + } + + private boolean validaEventosFinanceiros(List boletosComissaos, Conferencia conferencia) throws BusinessException { + List lsEventosFinanceiros = carregarEventosFinanceiros(conferencia); + if (!CollectionUtils.isEmpty(lsEventosFinanceiros) && isEventosFinanceirosSemConferencia(lsEventosFinanceiros)) { + return false; + } else { + return true; + } + } + + private boolean validaOcds(Conferencia conferencia) throws BusinessException { + List lsOcds = carregarOcds(conferencia); + if (!CollectionUtils.isEmpty(lsOcds) && isOcdSemConferencia(lsOcds)) { + return false; + } else { + return true; + } + } + + @Override + public Conferencia cancelarChegadaMalote(Conferencia conferencia) { + return conferenciaComissaoDAO.cancelarChegadaMalote(conferencia); + } + + @Override + public boolean isConferidoVenta(BoletoComissao boletoComissao) { + return conferenciaComissaoDAO.isConferidoVenta(boletoComissao); + } + + @Override + public void borrarLogConferenciaTransacaoId(Long transacaoId) throws BusinessException { + conferenciaComissaoDAO.borrarLogConferenciaTransacaoId(transacaoId); + } + + @Override + public boolean isConferenciaCompetenciaEncerrada(Date dataInicial, Date dataFinal, Empresa empresa, PuntoVenta puntoVenta, boolean isDesconsideraPtVendaFechados) throws BusinessException { + return conferenciaComissaoDAO.isConferenciaCompetenciaEncerrada(dataInicial, dataFinal, empresa, puntoVenta, isDesconsideraPtVendaFechados); + } + + @Override + public BigDecimal getComissaoPuntoVenta(Integer puntoventaId, Integer empresaId, Date dataInicial, Date dataFinal) throws BusinessException { + return conferenciaComissaoDAO.getComissaoPuntoVenta(puntoventaId, empresaId, dataInicial, dataFinal); + } + + + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java index 1067ee9be..0773e6977 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ContingenciaServiceImpl.java @@ -67,15 +67,15 @@ public class ContingenciaServiceImpl implements ContingenciaService { historicoCont.setDataHora(Calendar.getInstance().getTime()); if (historicoCont.getEmpresa() == null) { - throw new BusinessException("Não é possível salvar sem a empresa"); + throw new BusinessException("NÃO é possível salvar sem a empresa"); } if (historicoCont.getEstado() == null) { - throw new BusinessException("Não é possível salvar sem o estado referente"); + throw new BusinessException("NÃO é possível salvar sem o estado referente"); } if (historicoCont.getMotivo() == null) { - throw new BusinessException("Não é possível salvar sem o motivo referente"); + throw new BusinessException("NÃO é possível salvar sem o motivo referente"); } try { @@ -102,10 +102,10 @@ public class ContingenciaServiceImpl implements ContingenciaService { } private void setMotivoNaoTrocaStatus(LogHistoricoContingencia historicoCont, Exception e) { - log.error(String.format("Erro no envio de e-mail de contingência da empresa %s para o estado %s.", historicoCont.getEmpresa().getEmpresaId(),historicoCont.getEstado()), e); + log.error(String.format("Erro no envio de e-mail de contingência da empresa %s para o estado %s.", historicoCont.getEmpresa().getEmpresaId(),historicoCont.getEstado()), e); String motivo = historicoCont.getMotivo(); - motivo = motivo.concat("**Problema no envio de E-mail de notificação. Favor checar."); + motivo = motivo.concat("**Problema no envio de E-mail de notificação. Favor checar."); historicoCont.setMotivo(motivo); } @@ -186,7 +186,7 @@ public class ContingenciaServiceImpl implements ContingenciaService { mail.setSmtpPassword(empresaEmailConfig.getSenha()); mail.setSmtpPort(empresaEmailConfig.getSmtpPorta()); mail.setSmtpUser(empresaEmailConfig.getSmtpEmail()); - mail.setSubject("Contingência Off-line BP-e"); + mail.setSubject("Contingência Off-line BP-e"); mail.setText(getMensagem(historicoCont)); mail.setEmailTo(empresaEmail.getDestinatario()); if(StringUtils.isNotBlank(emailSuporRJ)) { @@ -198,13 +198,13 @@ public class ContingenciaServiceImpl implements ContingenciaService { private String getMensagem(LogHistoricoContingencia historicoContingencia) { StringBuilder mensagem = new StringBuilder(); - mensagem.append(String.format("A empresa %s está com a emissão do BP-e em contingência off-line para a UF %s no ambiente de %s. ", + mensagem.append(String.format("A empresa %s está com a emissão do BP-e em contingência off-line para a UF %s no ambiente de %s. ", historicoContingencia.getEmpresa().getNombempresa(), historicoContingencia.getEstado().getCveestado(), EAmbienteContingencia.getAmbienteContingencia(historicoContingencia.getAmbiente()).getDescricao())); - mensagem.append("A emissão em contingência deve ser tratada como exceção, sendo que a regra deve ser a emissão com autorização em tempo real."); - mensagem.append("O Fisco poderá solicitar esclarecimentos, e até mesmo restringir ao contribuinte a utilização da modalidade de contingência off-line, caso seja identificado que o emissor do BP-e utiliza a contingência em demasia e sem justificativa aceitável, quando comparado a outros contribuintes em situação similar."); - mensagem.append("Na utilização de contingência off-line, o contribuinte assume o risco de perda da informação dos "); - mensagem.append("BP-e emitidos em contingência, até que os mesmos constem da base de dados do Fisco."); + mensagem.append("A emissão em contingência deve ser tratada como exceção, sendo que a regra deve ser a emissão com autorização em tempo real."); + mensagem.append("O Fisco poderá solicitar esclarecimentos, e até mesmo restringir ao contribuinte a utilização da modalidade de contingência off-line, caso seja identificado que o emissor do BP-e utiliza a contingência em demasia e sem justificativa aceitável, quando comparado a outros contribuintes em situação similar."); + mensagem.append("Na utilização de contingência off-line, o contribuinte assume o risco de perda da informação dos "); + mensagem.append("BP-e emitidos em contingência, até que os mesmos constem da base de dados do Fisco."); return mensagem.toString(); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ControleSerieEmbarcadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ControleSerieEmbarcadaServiceImpl.java index 99129233b..d67a63f2a 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ControleSerieEmbarcadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ControleSerieEmbarcadaServiceImpl.java @@ -32,7 +32,7 @@ public class ControleSerieEmbarcadaServiceImpl implements ControleSerieEmbarcada log.info(String.format("BuscarSerieEmbarcada :: Empresa:%s Estado:%s" , controleSerieEmbarcada.getEmpresa().getEmpresaId(),controleSerieEmbarcada.getEstado())); - // Verificando se há Serie Embarcada disponível para reaproveitamento + // Verificando se há Serie Embarcada disponível para reaproveitamento int tentativas = 0; do { @@ -50,14 +50,14 @@ public class ControleSerieEmbarcadaServiceImpl implements ControleSerieEmbarcada } while (serieembarcada == null); - // Caso não haja reaproveitamento de série, devo buscar a próxima série disponível na sequência padrão + // Caso não haja reaproveitamento de série, devo buscar a próxima série disponível na sequncia padrão if (serieembarcada == null) { log.info("BuscarSerieEmbarcada :: Reaproveitamento nao disponivel"); Integer serieVlmax, SerieEmbarcada, serieBpe, serie, serieBpeSeq; CtrlSerieBPe ctrlSerieBpe = ctrlSerieBPeDAO.buscarPorEmpresaEstado(controleSerieEmbarcada.getEmpresa().getEmpresaId(), controleSerieEmbarcada.getEstado().getEstadoId()); if( ctrlSerieBpe == null || ctrlSerieBpe.getSerie() == null ) { - log.info(String.format("BuscarSerieEmbarcada :: Serie não encontrada para Empresa:%s Estado:%s" , controleSerieEmbarcada.getEmpresa().getEmpresaId(),controleSerieEmbarcada.getEstado())); - throw new RuntimeException( String.format("Serie não encontrada para Empresa:%s Estado:%s" , controleSerieEmbarcada.getEmpresa().getEmpresaId(),controleSerieEmbarcada.getEstado()) ); + log.info(String.format("BuscarSerieEmbarcada :: Serie não encontrada para Empresa:%s Estado:%s" , controleSerieEmbarcada.getEmpresa().getEmpresaId(),controleSerieEmbarcada.getEstado())); + throw new RuntimeException( String.format("Serie não encontrada para Empresa:%s Estado:%s" , controleSerieEmbarcada.getEmpresa().getEmpresaId(),controleSerieEmbarcada.getEstado()) ); } serieBpe = Integer.valueOf(ctrlSerieBpe.getSerie()); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index dc09bcc6b..5bdd4c73a 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -411,7 +411,7 @@ public class CorridaServiceImpl implements CorridaService { } /** - * Indica si el esquemaCorrida informado tiene una vigencia válida para la data de generacion + * Indica si el esquemaCorrida informado tiene una vigencia válida para la data de generacion * * @param esquemaCorrida * @param dataGeracao @@ -431,7 +431,7 @@ public class CorridaServiceImpl implements CorridaService { * * Cuando la corrida no es generada :
* - corrida ya existe : eso es checado por el numCorrida e dataGeneracion
- * - la fecha de generacion no tiene una vigencia válida
+ * - la fecha de generacion no tiene una vigencia válida
* - el status del esquema corrida no es autorizado ("A")
* * @@ -498,7 +498,7 @@ public class CorridaServiceImpl implements CorridaService { corridaOntem.setFeccorrida(DateUtil.normalizarToFecha(calendarData.getTime())); if (corridaDAO.existe(corridaOntem)) { - log.info("Esquema configurado para gerar dia sim dia não e já possui corrida gerado no dia anterior, por isso não está data: " + DateUtil.getStringDate(dataGeracao)); + log.info("Esquema configurado para gerar dia sim dia não e já possui corrida gerado no dia anterior, por isso não está data: " + DateUtil.getStringDate(dataGeracao)); return null; } } @@ -508,9 +508,9 @@ public class CorridaServiceImpl implements CorridaService { return null; } - // Como o numCorrida corresponde ao corrida_id do corridaCtrl, ou seja, à chave primaria, temos que buscar somente por esse campo - // Caso o registro já exista, atualizamos os dados dele. - // Sendo assim, o que vai indicar a "duplicidade" de uma corrida será apenas o número dela e não mais o conjunto : clase + marca + horario + ruta + // Como o numCorrida corresponde ao corrida_id do corridaCtrl, ou seja, é chave primaria, temos que buscar somente por esse campo + // Caso o registro já exista, atualizamos os dados dele. + // Sendo assim, o que vai indicar a "duplicidade" de uma corrida será apenas o número dela e não mais o conjunto : clase + marca + horario + ruta CorridaCtrl corridaCtrl = corridaCtrlService.obtenerID(numCorrida); @@ -817,10 +817,10 @@ public class CorridaServiceImpl implements CorridaService { tiempoOrigen=0; } - //Consideração do fuso por cidade. - //Nesse caso, é mandatório em relação ao estado.Ou seja, equanto que no fuso do estado, - //tem que haver mudança de estado, para a cidade não, pois pode-se considerar cada cidade - //como um único estado. Sendo assim, devendo ser considerado sempre quando preenchido + //Consideração do fuso por cidade. + //Nesse caso, é mandatório em relação ao estado.Ou seja, equanto que no fuso do estado, + //tem que haver Mudança de estado, para a cidade NÃO, pois pode-se considerar cada cidade + //como um único estado. Sendo assim, devendo ser considerado sempre quando preenchido if ( (ciudadOrigen.getZonaHoraria() != null) && (ciudadOrigen.getZonaHoraria() != 0 )){ log.info("Fuso da cidade origem " + ciudadOrigen.getNombciudad() + " : " + ciudadOrigen.getZonaHoraria()); @@ -832,7 +832,7 @@ public class CorridaServiceImpl implements CorridaService { tiempoDestino += ciudadDestino.getZonaHoraria(); } - //Fim consideração fuso por cidade + //Fim consideração fuso por cidade Calendar horLlegada = null; @@ -860,7 +860,7 @@ public class CorridaServiceImpl implements CorridaService { DefaultTransactionDefinition def = new DefaultTransactionDefinition(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW); - // TODO: Melhorar o tratamento às transações manuais em caso de erro,etc + // TODO: Melhorar o tratamento às transações manuais em caso de erro,etc TransactionStatus status = transactionManager.getTransaction(def); cantCorridaGenerada = 0; cantCorridaCommit = 1; @@ -884,7 +884,7 @@ public class CorridaServiceImpl implements CorridaService { boolean esHijoRebote = esquemaCorridaDAO.esHijoRebote(esquemaCorrida); boolean esSegundoPiso = esquemaCorridaDAO.esSegundoPiso(esquemaCorrida); - //Nessas duas condições, o "filho" só é gerado a partir do esquema corrida "pai" + //Nessas duas condições, o "filho" só é gerado a partir do esquema corrida "pai" if (esHijoRebote || esSegundoPiso) { log.info(String.format("Esquema nao gerado. esHijoRebote:%s ; esSegundoPiso: %s",esHijoRebote,esSegundoPiso)); corridaGerada = false; @@ -1029,7 +1029,7 @@ public class CorridaServiceImpl implements CorridaService { transactionManager.commit(status); } } - //Valida se existe configuração de reserva para o cliente e crria Cria reserva + //Valida se existe configuração de reserva para o cliente e crria Cria reserva if(corrida !=null) { if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) { validaCriaReservaCliente(corrida, unUsuarioId, unPuntoVenta, estacionId); @@ -1045,7 +1045,7 @@ public class CorridaServiceImpl implements CorridaService { if(reservaEspecialClienteList !=null) { for (ReservaEspecialCliente reservaEspecialCliente : reservaEspecialClienteList) { Date dataAtual = new Date (); - //Valida se esta dentro da vigência + //Valida se esta dentro da vigência if(DateUtil.isMenor(reservaEspecialCliente.getFecinicio(), dataAtual) && DateUtil.isMaior(reservaEspecialCliente.getFecfinal(), dataAtual)){ Integer unoTerminalOrigenId = reservaEspecialCliente.getOrigem().getParadaId(); Integer unoTerminalDestinoId = reservaEspecialCliente.getDestino().getParadaId(); @@ -1068,7 +1068,7 @@ public class CorridaServiceImpl implements CorridaService { for (CorridaTramo corridaTramo : corrida.getCorridaTramoList()) { //(Se origem corridatramo = origem cadastrada && destino corridatramo = destino cadastrado) - // ou (se origem corridatramo = destino do cadastrado), tendo em vista que corridatramo são as sequencias e não as combinações + // ou (se origem corridatramo = destino do cadastrado), tendo em vista que corridatramo são as sequencias e não as combinações if(corridaTramo.getOrigem()!=null && corridaTramo.getOrigem().getParadaId().intValue()==unoTerminalOrigenId.intValue() && corridaTramo.getDestino()!=null && corridaTramo.getDestino().getParadaId().intValue()==unoTerminalDestinoId.intValue()) { fecViaje = corridaTramo.getFechorsalidaH(); @@ -1077,17 +1077,17 @@ public class CorridaServiceImpl implements CorridaService { } if(tramo==null) { - log.error("Reserva não será realizada. Não foi encontrado trecho com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId()); + log.error("Reserva não será realizada. não foi encontrado trecho com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId()); continue; } List vigenciaTarifaList = vigenciaTarifaService.buscarVigenciasIntervalo(new VigenciaTarifa(corrida.getFechorSalidaOriginal(), corrida.getFechorSalidaOriginal())); if(vigenciaTarifaList==null || vigenciaTarifaList.isEmpty()) { - log.error("Reserva não será realizada. Não foi encontrado Vigência Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId()); + log.error("Reserva não será realizada. não foi encontrado Vigência Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId()); continue; } Tarifa tarifa = tarifaService.buscar(tramo, corrida.getMarca(), corrida.getClaseServicio(), vigenciaTarifaList!=null ? vigenciaTarifaList.get(0) : null, new Moneda(1), corrida.getRuta()); if(tarifa==null ) { - log.error("Reserva não será realizada. Não foi encontrado Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId()); + log.error("Reserva não será realizada. não foi encontrado Tarifa com Origem:" + unoTerminalOrigenId + " Destino:" +unoTerminalDestinoId + " para a corrida:" + corrida.getId().getCorridaId()); continue; } BigDecimal valorTarifa= tarifa!=null ? tarifa.getPrecio() : null ; @@ -1292,7 +1292,7 @@ public class CorridaServiceImpl implements CorridaService { log.debug(" Generacion cant dias " + sdf.format(dataDeOriginal)); - // TODO: Melhorar o tratamento às transações manuais em caso de erro,etc + // TODO: Melhorar o tratamento às transações manuais em caso de erro,etc DefaultTransactionDefinition def = new DefaultTransactionDefinition(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus status = transactionManager.getTransaction(def); @@ -1400,7 +1400,7 @@ public class CorridaServiceImpl implements CorridaService { log.debug("** AUTO - Data De: " + sdfData.format(dataInico) + " **Data Ateh: " + sdfData.format(dataConstanteFim)); - // TODO: Melhorar o tratamento às transações manuais em caso de erro,etc + // TODO: Melhorar o tratamento às transações manuais em caso de erro,etc DefaultTransactionDefinition def = new DefaultTransactionDefinition(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus status = transactionManager.getTransaction(def); @@ -1451,10 +1451,10 @@ public class CorridaServiceImpl implements CorridaService { log.info(String.format("Corrida existe = %s [%s - %s]",corridaExiste,esquemaCorrida.getNumCorrida() ,strDataGeracao)); - //A corrida já existir é a única condição para parar de gerar. - //Se a corrida não for gerada (rotina mais abaixo), podem haver várias condições: o dia da semana, feriado, etc + //A corrida já existir é a única condição para parar de gerar. + //Se a corrida não for gerada (rotina mais abaixo), podem haver várias condições: o dia da semana, feriado, etc if (corridaExiste){ - log.info(String.format("Corrida do dia já gerada ", esquemaCorrida.getNumCorrida(), strDataGeracao)); + log.info(String.format("Corrida do dia já gerada ", esquemaCorrida.getNumCorrida(), strDataGeracao)); break; } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java index b9d8b35a0..9451652ac 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/DispositivoEmbarcadaServiceImpl.java @@ -33,8 +33,8 @@ public class DispositivoEmbarcadaServiceImpl implements DispositivoEmbarcadaServ private void validaDispositivoJaCadastrado(DispositivoEmbarcada dispositivoEmbarcada) throws DispositivoEmbarcadaJaCadastradoException{ if (buscarDispositivoPorId(dispositivoEmbarcada) == null) { - if (buscarImeiDuplicado(dispositivoEmbarcada.getImei()) != null) throw new DispositivoEmbarcadaJaCadastradoException("Já existe um dispositivo cadastrado com esse Imei"); - if (buscarVersaoUltimaSinc(dispositivoEmbarcada.getVersaoUltimaSinc()) != null) throw new DispositivoEmbarcadaJaCadastradoException("Já existe um dispositivo cadastrado com esse MAC"); + if (buscarImeiDuplicado(dispositivoEmbarcada.getImei()) != null) throw new DispositivoEmbarcadaJaCadastradoException("Já existe um dispositivo cadastrado com esse Imei"); + if (buscarVersaoUltimaSinc(dispositivoEmbarcada.getVersaoUltimaSinc()) != null) throw new DispositivoEmbarcadaJaCadastradoException("Já existe um dispositivo cadastrado com esse MAC"); } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java index fd5bb9fa2..cbc01d44b 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaAsientoServiceImpl.java @@ -135,7 +135,7 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService { es.setEsquemaCorrida(esquemaCorrida); es = suscribir(es); - // validação extra para garantir que salvou corretamente + // validação extra para garantir que salvou corretamente if (tipoBloqueo.equals(BLOQUEO_EXCLUSIVO)) { if (!(es.getIndvendible() && (es.getParada() != null) && (es.getDestino() == null))) { @@ -144,7 +144,7 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService { } } else { - // validação extra para garantir que salvou corretamente + // validação extra para garantir que salvou corretamente if (!(!es.getIndvendible() && (es.getParada() != null) && (es.getDestino() != null))) { throw new BusinessException("editarConfiguracionCorridaAsientoController.MSG.validacionGrabacion"); } @@ -194,7 +194,7 @@ public class EsquemaAsientoServiceImpl implements EsquemaAsientoService { } /** - * Hace la conversion de la string strAsientos en una lista de asientos válidos
+ * Hace la conversion de la string strAsientos en una lista de asientos válidos
* * @param strAsientos * @return diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java index 56de98607..4f32d90bf 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java @@ -173,7 +173,7 @@ public class FiscalImpressoraServiceImpl implements FiscalImpressoraService { item = fiscalImpressoraDAO.buscarFormaPago(entidad.getEmpresa(), entidad.getTipoformapago()); }else{ - //para o tipo CUSTOM, é necessário informar a forma de pagammetno. Senão dá problema no sco de vendas + //para o tipo CUSTOM, é necessário informar a forma de pagammetno. Se NÃO dá problema no sco de vendas if (entidad.getFormaPago() == null){ throw new BusinessException("editarFormapagoEmpresaController.MSG.formaPagoObligatoria"); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index 448e36603..e9620ecd2 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -119,7 +119,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -140,7 +140,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -160,7 +160,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -181,7 +181,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -202,7 +202,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -227,7 +227,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -252,7 +252,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -277,7 +277,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -301,7 +301,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -325,7 +325,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -368,7 +368,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -393,7 +393,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -418,7 +418,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -977,7 +977,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } @@ -1064,7 +1064,7 @@ public class FiscalServiceImpl implements FiscalService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/GP_PricingHistoricoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/GP_PricingHistoricoServiceImpl.java index 63178d082..3f8b0870f 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/GP_PricingHistoricoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/GP_PricingHistoricoServiceImpl.java @@ -81,7 +81,7 @@ public class GP_PricingHistoricoServiceImpl implements GP_PricingHistoricoServic StringBuilder descricao = new StringBuilder(); descricao.append("O Pricing ").append(pricingId).append(" - ").append(nomePricing) - .append(" foi " + (ativar ? "ativado " : "desativado") + " pelo usuário ").append(usuarioId).append(" - ").append(UsuarioLogado.getUsuarioLogado().getNombusuario()) + .append(" foi " + (ativar ? "ativado " : "desativado") + " pelo usuário ").append(usuarioId).append(" - ").append(UsuarioLogado.getUsuarioLogado().getNombusuario()) .append(" em ").append(getStringDate(dataHoraAlteracao)); GP_PricingHistorico historico = criarHistorico(descricao.toString(), "PRICING_RAPIDO", "ATIVO", "PRICING_RAPIDO", dataHoraAlteracao, diff --git a/src/com/rjconsultores/ventaboletos/service/impl/GrupoRutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/GrupoRutaServiceImpl.java index 0851ec0d6..f5fc8bae3 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/GrupoRutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/GrupoRutaServiceImpl.java @@ -16,7 +16,7 @@ import org.springframework.transaction.annotation.Transactional; /** * - * @author Bruno H. G. Gouvêa + * @author Bruno H. G. Gouvea * */ @Service("grupoRutaService") diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java index 8f4e54b1e..cf86ce878 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java @@ -285,19 +285,19 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService log.info(String.format("cliente:%s cpf:%s", cliente.getNome(), cliente.getCpf())); if (validaDadosPlanilha(cliente, erros)) { - log.info("enviado para gravação..."); + log.info("enviado para gravação..."); try { Integer[] gravados = salvarClienteExcel(empresas, usaCPFComoFidelidade, cliente, tipoIdentificacionUno, tipoIdentificacionDoos, false); inseridos = gravados[0] + inseridos; atualizados = gravados[1] + atualizados; desconsiderados = gravados[2] + desconsiderados; } catch (Throwable e) { - log.error("Erro na gravação do registro. Favor revisar", e); - log.info("continuando importação"); + log.error("Erro na gravação do registro. Favor revisar", e); + log.info("continuando importação"); } } else { - log.info("cliente não validado"); + log.info("cliente não validado"); erros.append("\n erro ao gravar o cliente na linha "); erros.append(index + 1).append(" do arquivo."); } @@ -308,7 +308,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService qtdeGravados.append("Inseridos ").append(inseridos).append(" novos clientes."); String[] resultado = { qtdeGravados.toString(), erros.toString() }; - log.info("importação finalizada"); + log.info("importação finalizada"); return resultado; @@ -500,11 +500,11 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService try { Long.parseLong(cliente.getCpf()); if (!validarCPF(cliente.getCpf())) { - erros.append("CPF inválido."); + erros.append("CPF inválido."); return false; } } catch (NumberFormatException e) { - erros.append("O CPF deve possuir apenas números."); + erros.append("O CPF deve possuir apenas números."); return false; } catch (Exception e) { @@ -514,12 +514,12 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService } } else { - erros.append("O CPF e obrigatório."); + erros.append("O CPF e obrigatório."); return false; } if (StringUtils.isEmpty(cliente.getNome())) { - erros.append("O NOME e obrigatório."); + erros.append("O NOME e obrigatório."); return false; } @@ -662,7 +662,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService private Boolean validarCPF(String numDoc) { try { // https://dicasdeprogramacao.com.br/algoritmo-para-validar-cpf - // O VAlidador não pegava os CPFs com todos os numeros iguais + // O VAlidador não pegava os CPFs com todos os numeros iguais if (numDoc.length() != 11 || numDoc.equals("00000000000") || numDoc.equals("11111111111") || numDoc.equals("22222222222") || numDoc.equals("33333333333") || numDoc.equals("44444444444") || numDoc.equals("55555555555") || numDoc.equals("66666666666") || numDoc.equals("77777777777") || numDoc.equals("88888888888") || @@ -758,15 +758,15 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService } log.info(String.format("cliente:%s rg:%s", cliente.getNome(), cliente.getRg())); - log.info("enviado para gravação..."); + log.info("enviado para gravação..."); try { Integer[] gravados = salvarClienteExcel(empresas, false, cliente, tipoIdentificacionUno, null, true); inseridos = gravados[0] + inseridos; atualizados = gravados[1] + atualizados; desconsiderados = gravados[2] + desconsiderados; } catch (Throwable e) { - log.error("Erro na gravação do registro. Favor revisar", e); - log.info("continuando importação"); + log.error("Erro na gravação do registro. Favor revisar", e); + log.info("continuando importação"); } } @@ -776,7 +776,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService qtdeGravados.append("Inseridos ").append(inseridos).append(" novos clientes."); String[] resultado = { qtdeGravados.toString(), erros.toString() }; - log.info("importação finalizada"); + log.info("importação finalizada"); return resultado; diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesSrvpServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesSrvpServiceImpl.java index 4cb9a027f..212fd1f1f 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesSrvpServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesSrvpServiceImpl.java @@ -229,7 +229,7 @@ public class ImportacaoClientesSrvpServiceImpl implements ImportacaoClientesSrvp } } }catch(Exception e) { - log.error("Erro na gravação do registro. Favor revisar",e); + log.error("Erro na gravação do registro. Favor revisar",e); } break; case 1: @@ -319,7 +319,7 @@ public class ImportacaoClientesSrvpServiceImpl implements ImportacaoClientesSrvp } } }catch(Exception e) { - log.error("Erro na gravação do registro. Favor revisar",e); + log.error("Erro na gravação do registro. Favor revisar",e); } break; case 12: @@ -334,7 +334,7 @@ public class ImportacaoClientesSrvpServiceImpl implements ImportacaoClientesSrvp try { cliente.setCep(cell.getStringCellValue()); }catch(Exception e) { - log.error("Erro na gravação do registro. Favor revisar",e); + log.error("Erro na gravação do registro. Favor revisar",e); } break; case 15: @@ -350,20 +350,20 @@ public class ImportacaoClientesSrvpServiceImpl implements ImportacaoClientesSrvp if (validaDadosPlanilha(cliente, erros)) { log.info(String.format("cliente:%s cpf:%s RG:%s",cliente.getNome(),cliente.getCpf(), cliente.getRg())); - log.info("enviado para gravação..."); + log.info("enviado para gravação..."); try{ Integer[] gravados = salvarClienteExcel(empresas, usaCPFComoFidelidade, cliente, tipoIdentificacionUno, tipoIdentificacionDoos); inseridos = gravados[0] + inseridos; atualizados = gravados[1] + atualizados; desconsiderados = gravados[2] + desconsiderados; }catch(Throwable e){ - log.error("Erro na gravação do registro. Favor revisar",e); - log.info("continuando importação"); + log.error("Erro na gravação do registro. Favor revisar",e); + log.info("continuando importação"); } } else { log.info(String.format("cliente:%s cpf:%s",cliente.getNome(),cliente.getCpf())); - log.info("cliente não validado"); + log.info("cliente não validado"); erros.append("\n erro ao gravar o cliente na linha "); erros.append(index + 1).append(" do arquivo."); } @@ -374,7 +374,7 @@ public class ImportacaoClientesSrvpServiceImpl implements ImportacaoClientesSrvp qtdeGravados.append("Inseridos ").append(inseridos).append(" novos clientes."); String[] resultado = { qtdeGravados.toString(), erros.toString() }; - log.info("importação finalizada"); + log.info("importação finalizada"); return resultado; @@ -556,13 +556,13 @@ public class ImportacaoClientesSrvpServiceImpl implements ImportacaoClientesSrvp } } else { - erros.append(cliente.getNumfidelidade() + " - Documento e obrigatório."); + erros.append(cliente.getNumfidelidade() + " - Documento e obrigatório."); erros.append("\n"); return false; } if (StringUtils.isEmpty(cliente.getNome())) { - erros.append(cliente.getNumfidelidade() + " - O NOME e obrigatório."); + erros.append(cliente.getNumfidelidade() + " - O NOME e obrigatório."); erros.append("\n"); return false; } @@ -703,7 +703,7 @@ public class ImportacaoClientesSrvpServiceImpl implements ImportacaoClientesSrvp private Boolean validarCPF(String numDoc) { try { // https://dicasdeprogramacao.com.br/algoritmo-para-validar-cpf - // O VAlidador não pegava os CPFs com todos os numeros iguais + // O VAlidador não pegava os CPFs com todos os numeros iguais if (numDoc.length() != 11 || numDoc.equals("00000000000") || numDoc.equals("11111111111") || numDoc.equals("22222222222") || numDoc.equals("33333333333") || numDoc.equals("44444444444") || numDoc.equals("55555555555") || numDoc.equals("66666666666") || numDoc.equals("77777777777") || numDoc.equals("88888888888") || diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoRetornoBancarioServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoRetornoBancarioServiceImpl.java index 68cc6734b..6a63383da 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoRetornoBancarioServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoRetornoBancarioServiceImpl.java @@ -1,177 +1,177 @@ -package com.rjconsultores.ventaboletos.service.impl; - -import java.io.BufferedReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.math.BigDecimal; -import java.sql.SQLException; - -import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.rjconsultores.ventaboletos.ArquivoRetornoItem; -import com.rjconsultores.ventaboletos.blocos.CabecalhoRetorno; -import com.rjconsultores.ventaboletos.blocos.DetalheRetorno; -import com.rjconsultores.ventaboletos.blocos.itau.DetalheRetornoItau; -import com.rjconsultores.ventaboletos.dao.RemessaCNABBancosDAO; -import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.entidad.FechamentoBoleto; -import com.rjconsultores.ventaboletos.enuns.BancoLayout; -import com.rjconsultores.ventaboletos.service.ImportacaoRetornoBancarioService; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; - -@Service("importacaoRetornoBancarioService") -public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBancarioService { - - private static final String LIQUIDACAO_NORMAL = "06"; - private static final String LIQUIDACAO_EM_CARTORIO = "08"; - - @Autowired - private RemessaCNABBancosDAO remessaCNABBancosDAO; - - private static Logger log = Logger.getLogger(ImportacaoRetornoBancarioServiceImpl.class); - - @Override - public String lerArquivo(ByteArrayInputStream bais, Empresa empresa){ - - StringBuilder resultado = new StringBuilder(); - StringBuilder detalhado = new StringBuilder(); - Integer usuarioId = UsuarioLogado.getUsuarioLogado().getUsuarioId(); - - Integer atualizados = 0; - Integer erros = 0; - - try { - BancoLayout banco = BancoLayout.getInstanceByCodBanco(remessaCNABBancosDAO.findBanco(empresa)); - ArquivoRetornoItem retornoBancario = processaRetornoBancario(bais, empresa, banco); - - if( retornoBancario == null ) { - resultado.append("O banco cadastrado para a empresa não tem implementação de retorno bancário"); - return resultado.toString(); - } - - if(!banco.getCodBanco().equals(retornoBancario.getCabecalhoRetorno().getCodigoBanco())) { - resultado.append("O banco cadastrado para a empresa não é o mesmo do arquivo selecionado"); - return resultado.toString(); - } - - for (DetalheRetorno detalhe : retornoBancario.getTitulos()) { - try { - if( !detalhe.getCodigoOcorrencia().equals(LIQUIDACAO_NORMAL) - && !detalhe.getCodigoOcorrencia().equals(LIQUIDACAO_EM_CARTORIO) ) { - erros++; - detalhado.append("Registro sem ocorrencia de quitação: ").append(detalhe.getNossoNumero()).append(".\n"); - }else if( salvarRetornoBancario( detalhe, empresa.getEmpresaId(), usuarioId )) { - atualizados++; - detalhado.append("Quitado:").append(detalhe.getNossoNumero()).append(".\n"); - }else { - erros++; - detalhado.append("Nao Quitado: ").append(detalhe.getNossoNumero()).append(".\n"); - } - } catch (SQLException se) { - detalhado.append("Ocorreu um erro no banco de dados: ").append(detalhe.getNossoNumero()).append(".\n"); - log.error(se); - erros++; - } catch (RuntimeException re) { - detalhado.append(re.getMessage()).append(".\n"); - log.error(re); - erros++; - } - } - - resultado.append("Arquivo Processado "); - if(erros > 0) { - resultado.append("com ressalvas.\n"); - }else { - resultado.append("com sucesso. \n"); - } - resultado.append("Quitados ").append(atualizados).append(".\n"); - resultado.append("Nao Quitados ").append(erros).append(".\n"); - resultado.append(detalhado); - return resultado.toString(); - - } catch (IOException ioe) { - resultado.append("Ocorreu um erro ao processar o arquivo enviado"); - log.error(ioe); - return resultado.toString(); - } catch (RuntimeException re) { - resultado.append( re.getMessage() ); - log.error(re); - return resultado.toString(); - } catch (Exception e) { - resultado.append("Ocorreu um erro ao processar o arquivo enviado"); - log.error(e); - return resultado.toString(); - } - } - - private ArquivoRetornoItem processaRetornoBancario(ByteArrayInputStream bais, Empresa empresa, BancoLayout banco) throws IOException{ - - if(BancoLayout.ITAU_400_Envio.equals(banco)){ - return geraRetornoBancarioItau(bais, empresa, banco); - }else if(BancoLayout.BB_240_Envio.equals(banco)){ - throw new RuntimeException("Retorno Bancário não implementado"); - }else if(BancoLayout.BRADESCO_400_Envio.equals(banco)){ - throw new RuntimeException("Retorno Bancário não implementado"); - }else if(BancoLayout.SANTANDER_400_Envio.equals(banco)){ - throw new RuntimeException("Retorno Bancário não implementado"); - }else { - throw new RuntimeException("Retorno Bancário não implementado"); - } - } - - private ArquivoRetornoItem geraRetornoBancarioItau(ByteArrayInputStream bais, Empresa empresa, BancoLayout banco) throws IOException { - String linha = null; - ArquivoRetornoItem arquivo = new ArquivoRetornoItem(); - CabecalhoRetorno cabecalho = new CabecalhoRetorno(); - - BufferedReader leitor = new BufferedReader(new InputStreamReader(bais)); - - while ((linha = leitor.readLine()) != null) { - - if( linha.startsWith("0")) { //cabecalho - cabecalho.setCodigoBanco(linha.substring(76, 79)); - continue; - } - - if(linha.startsWith("1")) { //detalhe - DetalheRetornoItau detalhe = new DetalheRetornoItau(); - detalhe.setCodigoOcorrencia(linha.substring(108, 110)); - detalhe.setValorJuros( new BigDecimal(linha.substring(266, 279)).divide(new BigDecimal(100)) ); - detalhe.setNossoNumero(linha.substring(85, 93)+"-"+linha.substring(93, 94)); - detalhe.setDataBaixa(linha.substring(110, 116)); - arquivo.addTitulo(detalhe); - continue; - } - - if(linha.startsWith("9")) { //rodape - - } - } - - leitor.close(); - - arquivo.setCabecalhoRetorno(cabecalho); - - return arquivo; - } - - @Override - public boolean salvarRetornoBancario(DetalheRetorno detalhe, Integer empresaId, Integer usuarioId) throws SQLException { - FechamentoBoleto boleto = remessaCNABBancosDAO.obtenerFechamentoBoletoPorNossoNumero( detalhe.getNossoNumero(), empresaId ); - - if(boleto == null) { - throw new RuntimeException("Fechamento não encontrado para a empresa com o nosso numero: "+detalhe.getNossoNumero()); - } - - if( boleto.getIndBoletoQuitado() !=null && boleto.getIndBoletoQuitado()) { - throw new RuntimeException("Boleto já quitado para a empresa com o nosso numero: "+detalhe.getNossoNumero()); - } - - return remessaCNABBancosDAO.quitarFechamentoBoleto( boleto.getFechamentoboletoId(), usuarioId, detalhe ); - - } - -} +package com.rjconsultores.ventaboletos.service.impl; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.math.BigDecimal; +import java.sql.SQLException; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.rjconsultores.ventaboletos.ArquivoRetornoItem; +import com.rjconsultores.ventaboletos.blocos.CabecalhoRetorno; +import com.rjconsultores.ventaboletos.blocos.DetalheRetorno; +import com.rjconsultores.ventaboletos.blocos.itau.DetalheRetornoItau; +import com.rjconsultores.ventaboletos.dao.RemessaCNABBancosDAO; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.FechamentoBoleto; +import com.rjconsultores.ventaboletos.enuns.BancoLayout; +import com.rjconsultores.ventaboletos.service.ImportacaoRetornoBancarioService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("importacaoRetornoBancarioService") +public class ImportacaoRetornoBancarioServiceImpl implements ImportacaoRetornoBancarioService { + + private static final String LIQUIDACAO_NORMAL = "06"; + private static final String LIQUIDACAO_EM_CARTORIO = "08"; + + @Autowired + private RemessaCNABBancosDAO remessaCNABBancosDAO; + + private static Logger log = Logger.getLogger(ImportacaoRetornoBancarioServiceImpl.class); + + @Override + public String lerArquivo(ByteArrayInputStream bais, Empresa empresa){ + + StringBuilder resultado = new StringBuilder(); + StringBuilder detalhado = new StringBuilder(); + Integer usuarioId = UsuarioLogado.getUsuarioLogado().getUsuarioId(); + + Integer atualizados = 0; + Integer erros = 0; + + try { + BancoLayout banco = BancoLayout.getInstanceByCodBanco(remessaCNABBancosDAO.findBanco(empresa)); + ArquivoRetornoItem retornoBancario = processaRetornoBancario(bais, empresa, banco); + + if( retornoBancario == null ) { + resultado.append("O banco cadastrado para a empresa não tem Implementação de retorno bancário"); + return resultado.toString(); + } + + if(!banco.getCodBanco().equals(retornoBancario.getCabecalhoRetorno().getCodigoBanco())) { + resultado.append("O banco cadastrado para a empresa não é o mesmo do arquivo selecionado"); + return resultado.toString(); + } + + for (DetalheRetorno detalhe : retornoBancario.getTitulos()) { + try { + if( !detalhe.getCodigoOcorrencia().equals(LIQUIDACAO_NORMAL) + && !detalhe.getCodigoOcorrencia().equals(LIQUIDACAO_EM_CARTORIO) ) { + erros++; + detalhado.append("Registro sem ocorrencia de quitação: ").append(detalhe.getNossoNumero()).append(".\n"); + }else if( salvarRetornoBancario( detalhe, empresa.getEmpresaId(), usuarioId )) { + atualizados++; + detalhado.append("Quitado:").append(detalhe.getNossoNumero()).append(".\n"); + }else { + erros++; + detalhado.append("Nao Quitado: ").append(detalhe.getNossoNumero()).append(".\n"); + } + } catch (SQLException se) { + detalhado.append("Ocorreu um erro no banco de dados: ").append(detalhe.getNossoNumero()).append(".\n"); + log.error(se); + erros++; + } catch (RuntimeException re) { + detalhado.append(re.getMessage()).append(".\n"); + log.error(re); + erros++; + } + } + + resultado.append("Arquivo Processado "); + if(erros > 0) { + resultado.append("com ressalvas.\n"); + }else { + resultado.append("com sucesso. \n"); + } + resultado.append("Quitados ").append(atualizados).append(".\n"); + resultado.append("Nao Quitados ").append(erros).append(".\n"); + resultado.append(detalhado); + return resultado.toString(); + + } catch (IOException ioe) { + resultado.append("Ocorreu um erro ao processar o arquivo enviado"); + log.error(ioe); + return resultado.toString(); + } catch (RuntimeException re) { + resultado.append( re.getMessage() ); + log.error(re); + return resultado.toString(); + } catch (Exception e) { + resultado.append("Ocorreu um erro ao processar o arquivo enviado"); + log.error(e); + return resultado.toString(); + } + } + + private ArquivoRetornoItem processaRetornoBancario(ByteArrayInputStream bais, Empresa empresa, BancoLayout banco) throws IOException{ + + if(BancoLayout.ITAU_400_Envio.equals(banco)){ + return geraRetornoBancarioItau(bais, empresa, banco); + }else if(BancoLayout.BB_240_Envio.equals(banco)){ + throw new RuntimeException("Retorno Bancário não implementado"); + }else if(BancoLayout.BRADESCO_400_Envio.equals(banco)){ + throw new RuntimeException("Retorno Bancário não implementado"); + }else if(BancoLayout.SANTANDER_400_Envio.equals(banco)){ + throw new RuntimeException("Retorno Bancário não implementado"); + }else { + throw new RuntimeException("Retorno Bancário não implementado"); + } + } + + private ArquivoRetornoItem geraRetornoBancarioItau(ByteArrayInputStream bais, Empresa empresa, BancoLayout banco) throws IOException { + String linha = null; + ArquivoRetornoItem arquivo = new ArquivoRetornoItem(); + CabecalhoRetorno cabecalho = new CabecalhoRetorno(); + + BufferedReader leitor = new BufferedReader(new InputStreamReader(bais)); + + while ((linha = leitor.readLine()) != null) { + + if( linha.startsWith("0")) { //cabecalho + cabecalho.setCodigoBanco(linha.substring(76, 79)); + continue; + } + + if(linha.startsWith("1")) { //detalhe + DetalheRetornoItau detalhe = new DetalheRetornoItau(); + detalhe.setCodigoOcorrencia(linha.substring(108, 110)); + detalhe.setValorJuros( new BigDecimal(linha.substring(266, 279)).divide(new BigDecimal(100)) ); + detalhe.setNossoNumero(linha.substring(85, 93)+"-"+linha.substring(93, 94)); + detalhe.setDataBaixa(linha.substring(110, 116)); + arquivo.addTitulo(detalhe); + continue; + } + + if(linha.startsWith("9")) { //rodape + + } + } + + leitor.close(); + + arquivo.setCabecalhoRetorno(cabecalho); + + return arquivo; + } + + @Override + public boolean salvarRetornoBancario(DetalheRetorno detalhe, Integer empresaId, Integer usuarioId) throws SQLException { + FechamentoBoleto boleto = remessaCNABBancosDAO.obtenerFechamentoBoletoPorNossoNumero( detalhe.getNossoNumero(), empresaId ); + + if(boleto == null) { + throw new RuntimeException("Fechamento não encontrado para a empresa com o nosso numero: "+detalhe.getNossoNumero()); + } + + if( boleto.getIndBoletoQuitado() !=null && boleto.getIndBoletoQuitado()) { + throw new RuntimeException("Boleto já quitado para a empresa com o nosso numero: "+detalhe.getNossoNumero()); + } + + return remessaCNABBancosDAO.quitarFechamentoBoleto( boleto.getFechamentoboletoId(), usuarioId, detalhe ); + + } + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/LogAuditoriaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/LogAuditoriaServiceImpl.java index 70b13f6c4..204a984a5 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/LogAuditoriaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/LogAuditoriaServiceImpl.java @@ -67,14 +67,14 @@ public class LogAuditoriaServiceImpl implements LogAuditoriaService { @Transactional public void auditar(Object original, Object novo, Integer empresaId) { try { - log.info(String.format(":: Iniciando gravação registros de auditoria classe: %s", novo.getClass().getSimpleName())); + log.info(String.format(":: Iniciando gravação registros de auditoria classe: %s", novo.getClass().getSimpleName())); Integer totalRegistrosAuditados = 0; List lista = Auditador.getInstance().auditar(original, novo); if(lista != null && !lista.isEmpty()) { suscribir(lista, empresaId); totalRegistrosAuditados = lista.size(); } - log.info(String.format(":: Fim gravação registros de auditoria classe: %s - Total Registros auditados: %d", novo.getClass().getSimpleName(), totalRegistrosAuditados)); + log.info(String.format(":: Fim gravação registros de auditoria classe: %s - Total Registros auditados: %d", novo.getClass().getSimpleName(), totalRegistrosAuditados)); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -104,14 +104,14 @@ public class LogAuditoriaServiceImpl implements LogAuditoriaService { @Transactional public void auditarExclusao(Object objeto, Integer empresaId) { try { - log.info(String.format(":: Iniciando gravação registros de auditoria de exclusao classe: %s", objeto.getClass().getSimpleName())); + log.info(String.format(":: Iniciando gravação registros de auditoria de exclusao classe: %s", objeto.getClass().getSimpleName())); Integer totalRegistrosAuditados = 0; List lista = Auditador.getInstance().auditarExclusao(objeto); if(lista != null && !lista.isEmpty()) { suscribir(lista, empresaId); totalRegistrosAuditados = lista.size(); } - log.info(String.format(":: Fim gravação registros de auditoria de exclusao classe: %s - Total Registros auditados: %d", objeto.getClass().getSimpleName(), totalRegistrosAuditados)); + log.info(String.format(":: Fim gravação registros de auditoria de exclusao classe: %s - Total Registros auditados: %d", objeto.getClass().getSimpleName(), totalRegistrosAuditados)); } catch (Exception e) { log.error(e.getMessage(), e); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/MonitoramentoCCFServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/MonitoramentoCCFServiceImpl.java index dc5d35fa5..22e870f5f 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/MonitoramentoCCFServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/MonitoramentoCCFServiceImpl.java @@ -43,7 +43,7 @@ public class MonitoramentoCCFServiceImpl implements MonitoramentoCCFService{ try { con = dataSource.getConnection(); monitoramentoCCFDAO.setConnection(con); - log.debug("Abrindo conexão..."); + log.debug("Abrindo conexão..."); } catch (SQLException e) { log.error("", e); } @@ -53,7 +53,7 @@ public class MonitoramentoCCFServiceImpl implements MonitoramentoCCFService{ public void closeConnection(){ try { this.con.close(); - log.debug("Conexão fechada!"); + log.debug("Conexão fechada!"); } catch (SQLException e) { log.error("", e); } finally { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java index 3e038164c..f2e723c89 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/NodoServiceImpl.java @@ -25,7 +25,7 @@ public class NodoServiceImpl implements NodoService { private NodoDAO nodoDAO; public List obtenerTodos() { - //No momento só será usado o nodo central + //No momento só será usado o nodo central List ls = new ArrayList(); ls.add(nodoDAO.obtenerID(Nodo.NODO_ID_CENTRAL)); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PerfilServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PerfilServiceImpl.java index 44ae4b18a..1c8c0bcc7 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/PerfilServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/PerfilServiceImpl.java @@ -80,7 +80,7 @@ public class PerfilServiceImpl implements PerfilService { clonePerfil.setDescperfil(nomePerfil); -// clonePerfil.setActivo(perfil.getActivo()); o método actualizacion ja seta os campos activo usuario e fecmodif +// clonePerfil.setActivo(perfil.getActivo()); o método actualizacion ja seta os campos activo usuario e fecmodif clonePerfil.setIndJerarquia(perfil.getIndJerarquia()); clonePerfil.setPerfilFuncionList(new ArrayList()); clonePerfil.setUsuarioPerfilList(new ArrayList()); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java index da64f2713..6f5c70e9f 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java @@ -86,7 +86,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { @Autowired private LogAuditoriaService logAuditoriaService; - // FIXME : Remover esse m�todo de quem est� usando. Esse m�todo carrega muitos dados + // FIXME : Remover esse método de quem está usando. Esse método carrega muitos dados @Deprecated public List obtenerTodos() { return puntoVentaDAO.obtenerTodos(); @@ -114,13 +114,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { Constante constDesativaTotvs = constanteService.buscarPorNomeConstante("WS_TOTVS_DESATIVA_INTEGRACAO"); Boolean desativaTotvs = constDesativaTotvs != null && constDesativaTotvs.getValorconstante().equals("1"); - // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso. - // Integra��o AG + // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso. + // integração AG /* - * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integra��o com AG"); integraAG(entidad); log.debug("fim da integra��o com AG"); } + * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integração com AG"); integraAG(entidad); log.debug("fim da integração com AG"); } */ - // Integra��o Totvs + // integração Totvs if (!desativaTotvs){ if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.INTEGRACION_TOTVS.getDescricao())) { try { @@ -176,13 +176,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { logAuditoriaService.auditar(null, entidad, entidad.getEmpresa() != null ? entidad.getEmpresa().getEmpresaId() : null); - // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso. - // Integra��o AG + // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso. + // integração AG Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { - log.debug("iniciando integra��o com AG"); + log.debug("iniciando integração com AG"); integraAG(entidad); - log.debug("fim da integra��o com AG"); + log.debug("fim da integração com AG"); } return entidad; @@ -214,7 +214,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { connection.close(); } } catch (SQLException e) { - log.error("error fechar conex�o", e); + log.error("error fechar conexão", e); throw new RuntimeException(e); } } @@ -236,9 +236,9 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { return; } if (!strFornecedor.contains("ERRO")){ - // retornar msg a informa��o de registro j� cadastrado + // retornar msg a informação de registro já cadastrado entidad.setIndIntegradoAG(false); - entidad.setMotivoNaoIntegradoAG("Fornecedor j� cadastrado"); + entidad.setMotivoNaoIntegradoAG("Fornecedor já cadastrado"); } else { fornecedor = new TFornecedor(); fornecedor.setNome(entidad.getRazonSocial()); @@ -307,9 +307,9 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { return; } if (!cliStr.contains("ERRO")) { - // retornar msg a informa��o de registro j� cadastrado + // retornar msg a informação de registro já cadastrado entidad.setIndIntegradoAG(false); - entidad.setMotivoNaoIntegradoAG("Cliente j� cadastrado"); + entidad.setMotivoNaoIntegradoAG("Cliente já cadastrado"); } else { cli = new TCliente(); cli.setCodigo(""); @@ -449,13 +449,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { Constante constDesativaTotvs = constanteService.buscarPorNomeConstante("WS_TOTVS_DESATIVA_INTEGRACAO"); Boolean desativaTotvs = constDesativaTotvs != null && constDesativaTotvs.getValorconstante().equals("1"); - // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso. - // Integra��o AG + // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso. + // integração AG /* - * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if ( entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integra��o com AG"); integraAG(entidad); log.debug("fim da integra��o com AG"); } + * Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if ( entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { log.debug("iniciando integração com AG"); integraAG(entidad); log.debug("fim da integração com AG"); } */ - // Integra��o Totvs + // integração Totvs if (!desativaTotvs){ if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.INTEGRACION_TOTVS.getDescricao())) { @@ -510,13 +510,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { } } - // Mantis 15739 - A integra��o AG deve ser acionada ap�s a persist�ncia dos dados com sucesso. - // Integra��o AG + // Mantis 15739 - A integração AG deve ser acionada após a persistência dos dados com sucesso. + // integração AG Constante empresasIntegraAG = constanteService.buscarPorNomeConstante("EMPRESAS_INTEGRACAO_AG"); if (entidad.getStatusaprobacion().equals("A") && empresasIntegraAG != null && empresasIntegraAG.getValorconstante() != null && empresasIntegraAG.getValorconstante().contains(entidad.getEmpresa().getEmpresaId().toString())) { - log.debug("iniciando integra��o com AG"); + log.debug("iniciando integração com AG"); integraAG(entidad); - log.debug("fim da integra��o com AG"); + log.debug("fim da integração com AG"); } return entidad; @@ -765,7 +765,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { String contrib = ContribuinteICMS.NAO.getValor(); String entid = TipoEntidade.TRANSPORTE_PASSAGEIRO.getValor(); - String pais = "";// segundo orienta��o da TOTVS, passar em branco + String pais = "";// segundo orientação da TOTVS, passar em branco try { resp = TotvsService.cadastrarCliente(endpointCliente, bairro, cep, cgc, codmun, codpais, complemen, contaCliente, contrib, ddd, email, cnpjEmpresaProtheus, diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java index 8317b6cde..937454a2e 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java @@ -266,7 +266,7 @@ public class RutaServiceImpl implements RutaService { rutaSecuenciaService.borrarSecuencias(ruta); ruta.setRutaSecuenciaList(null); - log.info("Geração de Secuencia!"); + log.info("geração de Secuencia!"); log.info("Ruta: " + ruta.getRutaId() + " - " + ruta.getDescruta()); lsRutaSecuencia.clear(); @@ -410,7 +410,7 @@ public class RutaServiceImpl implements RutaService { Parada destinoOrigem = tramoSecuencia2.getDestino(); // Numero secuencia anterior > Numero secuencia atual não deve fazer. - // Essa condição não permiti gerar uma volta. + // Essa condição não permiti gerar uma volta. if (lsRutaSecuencia.get(i).getNumsecuencia().intValue() > lsRutaSecuencia.get(x).getNumsecuencia().intValue()) { continue; } @@ -449,7 +449,7 @@ public class RutaServiceImpl implements RutaService { rc.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); rc.setTramo(trBuscaOrigemDestino); - // Verifica se já existe o registro INATIVO para Reativa-lo e manter a configuração se vende. + // Verifica se já existe o registro INATIVO para Reativa-lo e manter a configuração se vende. // if (!rutaCombinacionService.busquedaRutaTramo(ruta, trBuscaOrigemDestino, Boolean.FALSE)) { rc = rutaCombinacionService.suscribir(rc); // } else { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java index 1c7d32b1f..573b3c42a 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/SapServiceImpl.java @@ -118,7 +118,7 @@ public class SapServiceImpl implements SapService{ Constante constante = constanteDAO.buscarPorNomeConstante(constanteString); if( constante == null || constante.getValorconstante() == null || constante.getValorconstante().isEmpty() ) { - throw new BusinessRuntimeException("Constante %s não cadastrada", constanteString); + throw new BusinessRuntimeException("Constante %s não cadastrada", constanteString); } return constante.getValorconstante(); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaEmbarcadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaEmbarcadaServiceImpl.java index 053804545..4f302d7a2 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaEmbarcadaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaEmbarcadaServiceImpl.java @@ -143,7 +143,7 @@ public class TarifaEmbarcadaServiceImpl implements TarifaEmbarcadaService { } log.debug("Moneda : " + moneda.getDescmoneda()); - log.debug("Preço : " + tarifa.getPrecio()); + log.debug("preço : " + tarifa.getPrecio()); for (TarifaMinima tm : lsTarifaMinima) { if (tarifa.getPrecio().compareTo(tm.getImportetarifa()) == -1) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 3dd267457..b01fb0538 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -209,7 +209,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { if(lsRuta != null && !lsRuta.isEmpty()){ rutaId = lsRuta.get(x-1).getRutaId(); } - // O seguro por km é preferencial em relação ao por tarifa. + // O seguro por km é preferencial em relação ao por tarifa. for (Integer orgaoConcedenteId : lsOrgaoId) { if (seguroKmDAO.existe(orgaoConcedenteId)) { atualizarSeguroPorKm(rutaId, orgaoConcedenteId, tipoSeguro); @@ -243,7 +243,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { if(lsRuta != null && !lsRuta.isEmpty()){ rutaId = lsRuta.get(x-1).getRutaId(); } - //O seguro por km é preferencial em relação ao por tarifa. + //O seguro por km é preferencial em relação ao por tarifa. for (Integer orgaoConcedenteId : lsOrgaoId) { if (seguroKmDAO.existe(orgaoConcedenteId)) { atualizarSeguroPorKmTPP(rutaId, orgaoConcedenteId, tipoSeguro); @@ -363,7 +363,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { for (TarifaOficialComComposicaoDoPedagioVo tarifaOficialComComposicaoDoPedagioVo : lsTarifaOficialComComposicaoDoPedagioVo) { - log.info("tarifaOficiald:" + tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId() + " | composicao do pedágio no cálculo:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje() + " | composicao do pedágio na tarifa:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifa()); + log.info("tarifaOficiald:" + tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId() + " | composicao do pedágio no cálculo:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje() + " | composicao do pedágio na tarifa:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifa()); if (tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifa() == null) { HashMap mapComposicaoDoPedagioNaTarifaOficialComPeaje = new HashMap(); @@ -396,7 +396,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { } } else { - log.info("Não retornou nenhum registro da consulta oberTarifaOficialComComposicaoDoPedagioVo "); + log.info("NÃO retornou nenhum registro da consulta oberTarifaOficialComComposicaoDoPedagioVo "); } }catch (Exception e) { // TODO: handle exception @@ -406,7 +406,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { } private void atualizarPedagioComFiltroDePracaDePedagio(TarifaOficialComComposicaoDoPedagioVo tarifaOficialComComposicaoDoPedagioVo, BigDecimal valorPedagio, String stringComposicaoDoPedagio) { - log.info("tarifaOficiald:"+tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId()+" | composicao do pedágio na tarifa oficial:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje() +" | importePedagio:"+valorPedagio); + log.info("tarifaOficiald:"+tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId()+" | composicao do pedágio na tarifa oficial:" + tarifaOficialComComposicaoDoPedagioVo.getComposicaoDoPedagioNaTarifaOficialComPeaje() +" | importePedagio:"+valorPedagio); tarifaOficialDAO.atualizarPedagioComFiltroDePracaDePedagio(tarifaOficialComComposicaoDoPedagioVo.getTarifaOficialId(), valorPedagio, stringComposicaoDoPedagio); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java index 8a2869c8d..ead18b388 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaServiceImpl.java @@ -220,7 +220,7 @@ public class TarifaServiceImpl implements TarifaService { } log.debug("Moneda : " + moneda.getDescmoneda()); - log.debug("Preço : " + tarifa.getPrecio()); + log.debug("preço : " + tarifa.getPrecio()); for (TarifaMinima tm : lsTarifaMinima) { if (tarifa.getPrecio().compareTo(tm.getImportetarifa()) == -1) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TipoEventoExtraServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TipoEventoExtraServiceImpl.java index a19f2c039..d26428287 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TipoEventoExtraServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TipoEventoExtraServiceImpl.java @@ -91,7 +91,7 @@ public class TipoEventoExtraServiceImpl implements TipoEventoExtraService { throw new ValidacionCampoException("editarTipoEventoExtraController.MSG.natureza"); } - // o campo contacontabil não é obrigatório + // o campo contacontabil não é obrigatório // if (entidad.getContaContabil() == null) { // throw new ValidacionCampoException("editarTipoEventoExtraController.MSG.contaContabil"); // } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TramoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TramoServiceImpl.java index 125df8eae..ee67f7fae 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TramoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TramoServiceImpl.java @@ -223,8 +223,8 @@ public class TramoServiceImpl implements TramoService { throw new BusinessException("TramoServiceImpl.msg.validacionDestino"); } - // Validación: No es posible quitar ClaseServicio de un tramo que esta asociado a una ruta e esa ruta tenga la misma clase de servicio - // Esa validación tambien permite que el usuario quite una clase y la agregue de nuevo con otro tiempo de recorrido + // validaciOn: No es posible quitar ClaseServicio de un tramo que esta asociado a una ruta e esa ruta tenga la misma clase de servicio + // Esa validaciOn tambien permite que el usuario quite una clase y la agregue de nuevo con otro tiempo de recorrido List lsTramoServicioOriginal = tramoOriginal.getTramoServicioList(); for (final TramoServicio ts : lsTramoServicioOriginal) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java index 2b15453f6..d6e0e9562 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/UsuarioServiceImpl.java @@ -77,7 +77,7 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { Usuario originalClone = entidad.getCloneObject(); - // validación duplicado + // validaciOn duplicado List lsUsuario = this.buscarPelaCveUsuario(entidad.getClaveUsuario()); boolean podeSalvar = false; if (lsUsuario.isEmpty()) { @@ -96,13 +96,13 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { throw new BusinessException("MSG.Registro.Existe"); } if (senha != null) { - // validación complejidad contrasena + // validaciOn complejidad contrasena if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.CONTRASENA_VALIDA_COMPLEJIDAD.getDescricao())) { ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(); contrasenaUtileria.validarContrasenaCompleja(senha); } - // encriptación contrasena + // encriptacion contrasena entidad.setSenha(ContrasenaUtileria.encriptarContrasena(senha)); } @@ -148,7 +148,7 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { @Override public Usuario cambiarContrasena(Usuario entidad, String senha) throws BusinessException { - // validación duplicado + // validaciOn duplicado List lsUsuario = this.buscarPelaCveUsuario(entidad.getClaveUsuario()); boolean podeSalvar = false; if (lsUsuario.isEmpty()) { @@ -167,13 +167,13 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { throw new BusinessException("MSG.Registro.Existe"); } if (senha != null) { - // validación complejidad contrasena + // validaciOn complejidad contrasena if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.CONTRASENA_VALIDA_COMPLEJIDAD.getDescricao())) { ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria(); contrasenaUtileria.validarContrasenaCompleja(senha); } - // encriptación contrasena + // encriptacion contrasena entidad.setSenha(ContrasenaUtileria.encriptarContrasena(senha)); } @@ -217,12 +217,12 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService { @Override public UserDetails loadUserByUsername(String login) throws UsernameNotFoundException, DataAccessException, CredentialsExpiredException { if (login == null) { - throw new UsernameNotFoundException("Usuario não encontrado"); + throw new UsernameNotFoundException("Usuario não encontrado"); } List list = usuarioDAO.buscarPelaCveUsuario(login.toUpperCase()); if (list.isEmpty()) { - throw new UsernameNotFoundException("Usuario não encontrado"); + throw new UsernameNotFoundException("Usuario não encontrado"); } Usuario user = list.get(0); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/ApplicationProperties.java b/src/com/rjconsultores/ventaboletos/utilerias/ApplicationProperties.java index c29fbed64..b05f6049d 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/ApplicationProperties.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/ApplicationProperties.java @@ -66,9 +66,9 @@ public class ApplicationProperties { } /** - * Insere na tabela de custom os registros que existem no Enum, o valor inicial ao inserir de cada custom é baseado no arquivo de propriedades - * {@code database.properties}, caso não exista é inserido com valor {@code null}. A cada novo parâmetro no Enum será adicionado um registro na tabela de custom. Não deverá mais ser adicionado - * mais informações no arquivo de propriedades, somente no Enum {@code CustomEnum}. + * Insere na tabela de custom os registros que existem no Enum, o valor inicial ao inserir de cada custom é baseado no arquivo de propriedades + * {@code database.properties}, caso não exista é inserido com valor {@code null}. A cada novo parâmetro no Enum será adicionado um registro na tabela de custom. não deverá mais ser adicionado + * mais informações no arquivo de propriedades, somente no Enum {@code CustomEnum}. * @see #CustomEnum */ public void readConfigurationToDatabase() { @@ -118,7 +118,7 @@ public class ApplicationProperties { } /** - * Procura a chave no banco de dados, caso exista retorna o valor, caso não exista retorna 0. + * Procura a chave no banco de dados, caso exista retorna o valor, caso não exista retorna 0. * * @param key o valor da chave. * @return o valor do custom no banco. @@ -129,7 +129,7 @@ public class ApplicationProperties { } /** - * Procura a chave no banco de dados, caso exista retorna o valor, caso não exista retorna o valor default. + * Procura a chave no banco de dados, caso exista retorna o valor, caso não exista retorna o valor default. * * @param key o valor da chave. * @return o valor do custom no banco. diff --git a/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java b/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java index d5198c88d..d0bfdeb07 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java @@ -10,7 +10,7 @@ public enum CustomEnum { MOSTRAR_EQUIVALENCIA("equivalencia.mostrar"), /** - * Indica se o campo empresa é obrigatório + * Indica se o campo empresa é obrigatório * @return */ EMPRESA_OBRIGATORIA("empresa.obrigatoria"), @@ -23,7 +23,7 @@ public enum CustomEnum { GERAR_CAMPO_EQUIVALENCIA_CORRIDA("corrida.gerarCampoEquivalencia"), /** - * Indica exibe o combo de Division na Gera��o de Corridas do Esquema Operacional. + * Indica exibe o combo de Division na geração de Corridas do Esquema Operacional. * * @return */ @@ -100,7 +100,7 @@ public enum CustomEnum { /** * - * Indica se ao salvar um ponto de venda será validado se para todas as empresas informadas para venda também será necessário informar o fechamento. + * Indica se ao salvar um ponto de venda será validado se para todas as empresas informadas para venda também será necessário informar o fechamento. * * @return */ @@ -139,7 +139,7 @@ public enum CustomEnum { HABILITAR_EXCLUIR_SEQUENCIA_LINHA("habilitarExcluirSequenciaLinha"), /** - * Indica se a taxa de embarque será impressa como QRCode ou Codigo de barras + * Indica se a taxa de embarque será impressa como QRCode ou Codigo de barras * * @return */ diff --git a/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java b/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java index 5e31f3549..dfff77850 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/DateUtil.java @@ -231,7 +231,7 @@ public final class DateUtil { } /** - * Não leva em consideração os segundos/minutos. Só é considerado o dia/mes/ano
+ * não leva em consideração os segundos/minutos. Só é considerado o dia/mes/ano
* * Retorno igual a {@link #compareDate(Date, Date)} */ @@ -775,7 +775,7 @@ public final class DateUtil { } /** - * Verifica se a data1 é igual a data2 + * Verifica se a data1 é igual a data2 * @param data1 * @param data2 * @return @@ -795,7 +795,7 @@ public final class DateUtil { } /** - * Verifica se a data1 é igual ou menor que a data2 + * Verifica se a data1 é igual ou menor que a data2 * @param data1 * @param data2 * @return @@ -805,7 +805,7 @@ public final class DateUtil { } /** - * Verifica se a data1 é menor que a data2 + * Verifica se a data1 é menor que a data2 * @param data1 * @param data2 * @return @@ -825,7 +825,7 @@ public final class DateUtil { } /** - * Verifica se a data1 é igual ou maior que a data2 + * Verifica se a data1 é igual ou maior que a data2 * @param data1 * @param data2 * @return @@ -835,7 +835,7 @@ public final class DateUtil { } /** - * Verifica se a data1 é maior que a data2 + * Verifica se a data1 é maior que a data2 * @param data1 * @param data2 * @return diff --git a/src/com/rjconsultores/ventaboletos/utilerias/HoraSistema.java b/src/com/rjconsultores/ventaboletos/utilerias/HoraSistema.java index 59f3c6ad6..b33c1aed3 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/HoraSistema.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/HoraSistema.java @@ -4,13 +4,13 @@ import java.util.Calendar; import java.util.Date; /** - * Classe criada para realizar operações sobre a hora inicial do sistema.
+ * Classe criada para realizar operações sobre a hora inicial do sistema.
* - * A hora inicial do sistema pode ser obtida pelo método DateUtil.getFecInicio() e retorna : YEAR, 1970; DAY_OF_MONTH, 1; MONTH, 0; HOUR_OF_DAY, 0;MINUTE, 0;
+ * A hora inicial do sistema pode ser obtida pelo método DateUtil.getFecInicio() e retorna : YEAR, 1970; DAY_OF_MONTH, 1; MONTH, 0; HOUR_OF_DAY, 0;MINUTE, 0;
* MILLISECOND, 0; SECOND, 0.
* * - * Assim é possível armazenar e somar tempos como 24:30 + 36:00 = 60 horas e 30 minutos + * Assim é possível armazenar e somar tempos como 24:30 + 36:00 = 60 horas e 30 minutos * * @author gleimar * diff --git a/src/com/rjconsultores/ventaboletos/utilerias/LocaleUtil.java b/src/com/rjconsultores/ventaboletos/utilerias/LocaleUtil.java index 31e94c2b4..ee9143c28 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/LocaleUtil.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/LocaleUtil.java @@ -5,8 +5,8 @@ import java.util.Locale; import org.zkoss.util.Locales; /** - * Retorna o locale atual, caso o locale não seja suportado pelo sistema,
- * será retornado o locale pt_br + * Retorna o locale atual, caso o locale não seja suportado pelo sistema,
+ * será retornado o locale pt_br * @author Wilian */ public class LocaleUtil { @@ -18,8 +18,8 @@ public class LocaleUtil { private static Locale [] LOCALES = new Locale[]{LOCALE_PT_BR, LOCALE_ES_MX}; /** - * Retorna o locale atual, caso o locale não seja suportado pelo sistema,
- * será retornado o locale pt_br + * Retorna o locale atual, caso o locale não seja suportado pelo sistema,
+ * será retornado o locale pt_br * @return */ public static Locale getLocale() { diff --git a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java index abc087200..fa1634b3f 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java @@ -14,7 +14,7 @@ import org.slf4j.LoggerFactory; /** * Clase MoneyHelper * - * Referência: http://www.javapractices.com/topic/TopicAction.do?Id=13 + * Referência: http://www.javapractices.com/topic/TopicAction.do?Id=13 * * @author RJ Consultores */ diff --git a/src/com/rjconsultores/ventaboletos/utilerias/SendMail.java b/src/com/rjconsultores/ventaboletos/utilerias/SendMail.java index c205e7b54..df5835b98 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/SendMail.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/SendMail.java @@ -102,7 +102,7 @@ public class SendMail implements java.io.Serializable { public void send(TypeContentEmail type) throws SendFailedException { try { if(emailTo==null) { - throw new SendFailedException("Email de envio não foi corretamente configurado"); + throw new SendFailedException("Email de envio não foi corretamente configurado"); } String[] to = removeNull(getArrayEnderecoEmail(emailTo)); String[] bcc = removeNull(getArrayEnderecoEmail(emailToCO)); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/TimeZoneUtil.java b/src/com/rjconsultores/ventaboletos/utilerias/TimeZoneUtil.java index be3512f09..50ab495be 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/TimeZoneUtil.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/TimeZoneUtil.java @@ -62,7 +62,7 @@ public class TimeZoneUtil { } /** - * Ajusta o timezone da data de acordo com a diferença da agencia de venda com a origem da viagem. + * Ajusta o timezone da data de acordo com a diferença da agencia de venda com a origem da viagem. * @param puntoventaId * @param paradaId * @param data diff --git a/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionECF.java b/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionECF.java index 763d533e7..e51aa5016 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionECF.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionECF.java @@ -212,7 +212,7 @@ public class ArchivoIntegracionECF { HashMap aliquotaBaseCalculo = new HashMap(0); - // Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota) + // Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota) String repTributado = item.getRepTributado() == null ? SituacaoTributaria.NAO_TRIBUTADO.getValue() : item.getRepTributado(); if (repTributado.length() == 7 && repTributado.substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) { @@ -327,7 +327,7 @@ public class ArchivoIntegracionECF { String unidade = "UN"; String quantidade = "001"; - // TODO: A forma de enviar o valor do item é baseada no codProduto, pelo fato da FISCAL_R5 estar gravando os registros de tarifa errado + // TODO: A forma de enviar o valor do item é baseada no codProduto, pelo fato da FISCAL_R5 estar gravando os registros de tarifa errado BigDecimal valorItem = BigDecimal.ZERO; // VALIDA TARIFA if (codProduto.indexOf("TA") >= 0) { @@ -367,7 +367,7 @@ public class ArchivoIntegracionECF { HashMap aliquotaItens = new HashMap(0); - // Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota) + // Verificando se é um produto tributável. Formato: XXTYYYY (XX - Posicao / YYYY - Aliquota) if (repTributado.length() == 7 && repTributado.substring(2, 3).equals(SituacaoTributaria.TRIBUTADO.getValue())) { String key = tipoPassagem + item.getRepTributado().substring(3, 7); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionNaoFiscal.java b/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionNaoFiscal.java index babba4ed0..d3857a4f6 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionNaoFiscal.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ArchivoIntegracionNaoFiscal.java @@ -29,7 +29,7 @@ public class ArchivoIntegracionNaoFiscal { private StringBuilder getAberturaArquivo() { StringBuilder aberturaArquivo = new StringBuilder(); aberturaArquivo.append("0") //Identificador Registro = "0" - .append(DateUtil.getStringCurrentDate("yyyyMMdd")) //Data geração arquivo + .append(DateUtil.getStringCurrentDate("yyyyMMdd")) //Data geração arquivo .append(StringHelper.preencherStringEspacoEsquerda(cnpjFilial.replace("[^0-9]", ""), 14)) //Cnpj filial .append(StringHelper.preencherStringEspacoEsquerda(null, 371)) //Brancos .append(StringHelper.preencherZeroEsquerda((++sequencial).toString(), 6)) //Sequencial @@ -41,14 +41,14 @@ public class ArchivoIntegracionNaoFiscal { StringBuilder headerArquivo = new StringBuilder(); for (ImportacionNaoFiscalVO importacionNaoFiscalVO : importacionNaoFiscalVOs) { headerArquivo.append("1") //Identificador Registro = "1" - .append(DateUtil.getStringDate(importacionNaoFiscalVO.getFechorvta(),"yyyyMMdd")) //Data emissão documento + .append(DateUtil.getStringDate(importacionNaoFiscalVO.getFechorvta(),"yyyyMMdd")) //Data emissão documento .append(StringHelper.preencherStringEspacoEsquerda(cnpjFilial.replace("[^0-9]", ""), 14)) //Cnpj filial .append(StringHelper.preencherStringEspacoEsquerda(importacionNaoFiscalVO.getNumeroDocumento(), 9)) //Numero do Documento - .append(StringHelper.preencherStringEspacoEsquerda(null, 3)) //Série + .append(StringHelper.preencherStringEspacoEsquerda(null, 3)) //Série .append(StringHelper.preencherStringEspacoEsquerda("SVP", 5)) //Prefixo = "SVP" .append(StringHelper.preencherStringEsquerda(null, 6, "9")) //Codigo Cliente "999999" .append(StringHelper.preencherStringEsquerda(null, 2, "9")) //Filial cliente="99" - .append(StringHelper.preencherStringEsquerda(null, 3, "9")) //Condição pagamento = "999" + .append(StringHelper.preencherStringEsquerda(null, 3, "9")) //condição pagamento = "999" .append(UtiliteriasFiscal.formataZeroDecimal(importacionNaoFiscalVO.getTotal(), 2, 14)) //Valor Total documento .append(StringHelper.preencherStringEspacoEsquerda("REC", 3)) //Tipo = "REC" .append(StringHelper.preencherStringEspacoEsquerda(importacionNaoFiscalVO.getTipoeventoextraId()+"", 10)) //Natureza diff --git a/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ValidaIntegracionECFRedZxls.java b/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ValidaIntegracionECFRedZxls.java index 9496baa99..5e68d14e6 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ValidaIntegracionECFRedZxls.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/archivointegracion/ValidaIntegracionECFRedZxls.java @@ -46,7 +46,7 @@ public class ValidaIntegracionECFRedZxls { row.createCell(4).setCellValue("NUMERO_BILHETES"); row.createCell(5).setCellValue("VALOR_ECF"); row.createCell(6).setCellValue("VALOR_REDUCAO_Z"); - row.createCell(7).setCellValue("STATUS_DIFERENÇA"); + row.createCell(7).setCellValue("STATUS_DIFERENÇA"); for (FiscalVO ecf : listEcf) { diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java index 1df61e8ae..90a3487ee 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java @@ -64,7 +64,7 @@ public class ExportacaoBpe { } /* - * Expecificado na documenta��o original + * Expecificado na documentação original * * for (ExportacaoBPETipoOBE tipoOBE : ee.getListaRegistroOBE()) { adicionarRegistroBPETipoOBE(writer, tipoOBE); linhas++; * @@ -213,7 +213,7 @@ public class ExportacaoBpe { } /* - * Expecificado na documenta��o original + * Expecificado na documentação original */ @SuppressWarnings("unused") private void adicionarRegistroBPETipoOBE(final StringBuilder sb, ExportacaoBPETipoOBE tipoOBE) { @@ -228,7 +228,7 @@ public class ExportacaoBpe { } /* - * Expecificado na documenta��o original + * Expecificado na documentação original */ @SuppressWarnings("unused") private void adicionarRegistroBPETipoRPC(final StringBuilder sb, ExportacaoBPETipoPRC tipoPRC) { diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java index 98121d56f..04702dc3c 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java @@ -230,7 +230,7 @@ public class ExportacaoBPEVo { } /* - * Apos a implementação dos novos campos na taleta BPE na venda não utilizar mais este metodo para importação de dados BPe + * Apos a Implementação dos novos campos na taleta BPE na venda não utilizar mais este metodo para importação de dados BPe */ @Deprecated public static ExportacaoBPEBase gerarListasXML(ExportacaoBPEBase registro) { diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java index 91a6e0180..009119aa5 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/ExportacaoFiscal.java @@ -1,890 +1,890 @@ -package com.rjconsultores.ventaboletos.utilerias.exportacaofiscal; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.math.BigDecimal; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; -import org.springframework.stereotype.Service; - -import com.rjconsultores.ventaboletos.constantes.Constantes; -import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; -import com.rjconsultores.ventaboletos.utilerias.UtiliteriasFiscal; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCCF; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCFC; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoICF; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoPRC; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoBPS; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoDBP; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoPAR; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoRMD; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoSeqBPS; -import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoSeqDBP; - -@Service("exportacaoFiscal") -public class ExportacaoFiscal { - private static Logger log = Logger.getLogger(ExportacaoFiscal.class); - - private static String VAZIO = ""; - private static String SEPARADOR = "|"; - - public ExportacaoFiscal() { - - } - - public File gerarArquivoECF(final List tempos, String nomeArquivo, final Date dataInicial, final Date dataFinal, final String estado, final String nomeEmpresa, final List listaRegistroECFTipoCFC, - final List listaRegistroECFTipoCCF, final List listaRegistroECFTipoICF, final List listaRegistroECFTipoPRC) { - try { -// String nomeArquivo = "fiscal_vendas_impressas_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); - - File arquivo = File.createTempFile(nomeArquivo + "-", ".fs"); - - PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(arquivo), Constantes.UTF_8)); - -// for (String tempo : tempos) { -// writer.print("-- " + tempo + UtiliteriasFiscal.QUEBRA_LINHA); -// } - - adicionarRegistroECFTipoCAB(writer, dataInicial, dataFinal, nomeEmpresa, nomeArquivo); -// adicionarRegistroECFTipoCFC(writer, listaRegistroECFTipoCFC); -// adicionarRegistroECFTipoCCF(writer, listaRegistroECFTipoCCF); -// adicionarRegistroECFTipoICF(writer, listaRegistroECFTipoICF); -// adicionarRegistroECFTipoPRC(writer, listaRegistroECFTipoPRC); - adicionarRegistroECF(writer, listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, listaRegistroECFTipoPRC); - - writer.close(); - - return arquivo; - - } catch (IOException e) { - log.error( e.getMessage(), e); - } - - return null; - } - - private void adicionarRegistroECFTipoCAB(final PrintWriter writer, final Date dataInicial, final Date dataFinal, final String nomeEmpresa, final String arquivo) { - StringBuilder sb = new StringBuilder(); - sb.append("CAB").append(SEPARADOR); - sb.append("116").append(SEPARADOR); - sb.append("TotalBus").append(SEPARADOR); - sb.append(new SimpleDateFormat("yyyyMMdd").format(new Date())).append(SEPARADOR); - sb.append(formataCaracter(nomeEmpresa, false, 15)).append(SEPARADOR); - sb.append(new SimpleDateFormat("yyyyMMdd").format(dataInicial)).append(SEPARADOR); - sb.append(new SimpleDateFormat("yyyyMMdd").format(dataFinal)).append(SEPARADOR); - sb.append(arquivo).append(SEPARADOR); - sb.append("N"); - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - -// @SuppressWarnings("unused") -// private void adicionarRegistroECFTipoCFC(PrintWriter writer, final List listaRegistroECFTipoCFC) { -// for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) { -// adicionarLinhaCFC(writer, registro); -// } -// } -// -// @SuppressWarnings("unused") -// private void adicionarRegistroECFTipoCCF(PrintWriter writer, final List listaRegistroECFTipoCCF) { -// for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) { -// adicionarLinhaCCF(writer, registro); -// } -// } -// -// @SuppressWarnings("unused") -// private void adicionarRegistroECFTipoICF(PrintWriter writer, final List listaRegistroECFTipoICF) { -// for (ExportacaoECFTipoICF registro : listaRegistroECFTipoICF) { -// adicionarLinhaICF(writer, registro); -// } -// } -// -// @SuppressWarnings("unused") -// private void adicionarRegistroECFTipoPRC(PrintWriter writer, final List listaRegistroECFTipoPRC) { -// for (ExportacaoECFTipoPRC registro : listaRegistroECFTipoPRC) { -// adicionarLinhaPRC(writer, registro); -// } -// } - - private void adicionarRegistroECF(PrintWriter writer, final List listaRegistroECFTipoCFC, final List listaRegistroECFTipoCCF, - List listaRegistroECFTipoICF, List listaRegistroECFTipoPRC) { - Map> groupCCF = new HashMap>(); - Map> groupICF = new HashMap>(); - Map> groupPRC = new HashMap>(); - - List itensCCF = new ArrayList(); - List itensICF = new ArrayList(); - List itensPRC = new ArrayList(); - - for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) { - itensCCF = new ArrayList(); - - if (groupCCF.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) { - itensCCF.addAll(groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao())); - } - - itensCCF.add(registro); - - groupCCF.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensCCF); - } - - for (ExportacaoECFTipoICF registro : listaRegistroECFTipoICF) { - itensICF = new ArrayList(); - - if (groupICF.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) { - itensICF.addAll(groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao())); - } - - itensICF.add(registro); - - groupICF.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensICF); - } - - for (ExportacaoECFTipoPRC registro : listaRegistroECFTipoPRC) { - itensPRC = new ArrayList(); - - if (groupPRC.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) { - itensPRC.addAll(groupPRC.get(registro.getEcf() + "|" + registro.getDataEmissao())); - } - - itensPRC.add(registro); - - groupPRC.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensPRC); - } - - int linhas = 2; - - Map valoresBaseCalculoICMS = new HashMap(0); - - Map totalBaseCalculoICMS = new HashMap(0); - - for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) { - adicionarLinhaCFC(writer, registro); - - linhas++; - - if (registro.getEstabelecimentoECF() == null) { - log.info("- Estabelecimento da ECF indefinido para a ECF [" + registro.getEcf() + "]"); - } - - if (registro.getNumeroIdentificacaoECF() == null) { - log.info("- Número de identificação da ECF indefinido para a ECF [" + registro.getEcf() + "]"); - } - - itensCCF = groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao()); - - totalBaseCalculoICMS.clear(); - valoresBaseCalculoICMS.clear(); - - if (itensCCF != null) { - for (ExportacaoECFTipoCCF itemCCF : itensCCF) { - BigDecimal baseCalculoICMS = BigDecimal.ZERO; - BigDecimal valorBaseCalculoICMS = itemCCF.getValorBaseCalculoICMS() == null ? BigDecimal.ZERO : itemCCF.getValorBaseCalculoICMS(); - - String key = itemCCF.getEcf() + "|" + itemCCF.getUfDestino() + "|" + itemCCF.getMunicipioOrigem(); - - if (valoresBaseCalculoICMS.containsKey(key)) { - baseCalculoICMS = valoresBaseCalculoICMS.get(key); - } - - baseCalculoICMS = baseCalculoICMS.add(valorBaseCalculoICMS.setScale(2, BigDecimal.ROUND_HALF_EVEN)); - - valoresBaseCalculoICMS.put(key, baseCalculoICMS); - - adicionarLinhaCCF(writer, itemCCF); - - linhas++; - - BigDecimal valor = BigDecimal.ZERO; - - if (totalBaseCalculoICMS.containsKey(itemCCF.getMunicipioOrigem())) { - valor = totalBaseCalculoICMS.get(itemCCF.getMunicipioOrigem()); - } - - valor = valor.add(valorBaseCalculoICMS.setScale(2, BigDecimal.ROUND_HALF_EVEN)); - - totalBaseCalculoICMS.put(itemCCF.getMunicipioOrigem(), valor); - } - } - - BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO; - - itensICF = groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao()); - - if (itensICF != null) { - for (ExportacaoECFTipoICF itemICF : itensICF) { - valorBaseCalculoICMS = BigDecimal.ZERO; - - if (valoresBaseCalculoICMS.containsKey(itemICF.getEcf() + "|" + itemICF.getUfDestino() + "|" + itemICF.getMunicipioOrigem())) { - valorBaseCalculoICMS = valoresBaseCalculoICMS.get(itemICF.getEcf() + "|" + itemICF.getUfDestino() + "|" + itemICF.getMunicipioOrigem()); - } - - adicionarLinhaICF(writer, itemICF, valorBaseCalculoICMS); - - linhas++; - } - } - - itensPRC = groupPRC.get(registro.getEcf() + "|" + registro.getDataEmissao()); - - if (itensPRC != null) { - for (ExportacaoECFTipoPRC itemPRC : itensPRC) { - adicionarLinhaPRC(writer, itemPRC, totalBaseCalculoICMS); - - linhas++; - } - } - } - - writer.print("TRA|" + linhas + UtiliteriasFiscal.QUEBRA_LINHA); - } - - private void adicionarLinhaCFC(PrintWriter writer, ExportacaoECFTipoCFC registro) { - String estabelecimento = registro.getEstabelecimento(); - String dataEmissao = registro.getDataEmissao(); - String numeroIdentificacaoECF = registro.getNumeroIdentificacaoECF(); - Integer cooReducaoZ = registro.getCooReducaoZ(); - Integer cooInicial = registro.getCooInicial(); - Integer cooFinal = registro.getCooFinal(); - Integer contadorReducao = registro.getContadorReducao(); - Integer cro = registro.getCro(); - BigDecimal valorTotal = registro.getValorTotal(); - BigDecimal valorIsentas = registro.getValorIsentas(); - String estabelecimentoECF = registro.getEstabelecimentoECF(); - String infoPadraoBilhetePassagem = registro.getInfoPadraoBilhetePassagem(); - String numeroSerie = registro.getNumeroSerie(); - - StringBuilder sb = new StringBuilder(); - sb.append("CFC").append(SEPARADOR); - sb.append(formataCaracter(estabelecimento, false, 4)).append(SEPARADOR); - sb.append(formataCaracter(dataEmissao, true, 8)).append(SEPARADOR); - sb.append(formataCaracter(numeroIdentificacaoECF, false, 3)).append(SEPARADOR); - sb.append(formataNumerico(cooReducaoZ, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(cooInicial, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(cooFinal, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(contadorReducao, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(cro, true, 6)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 12 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 13 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 14 - sb.append(formataValor(valorIsentas, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 16 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 17 - sb.append("N").append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 25)).append(SEPARADOR); // Posição 19 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 20 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 21 - sb.append(formataCaracter(VAZIO, false, 6)).append(SEPARADOR); // Posição 22 - sb.append(formataCaracter(VAZIO, false, 2)).append(SEPARADOR); // Posição 23 - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 27 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 28 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 29 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 30 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 31 - sb.append("").append(SEPARADOR); // Posição 32 - sb.append("V").append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 34 - sb.append(formataCaracter(estabelecimentoECF, false, 4)).append(SEPARADOR); - sb.append(formataCaracter(infoPadraoBilhetePassagem, false, 8)); - /*sb.append(formataCaracter(numeroSerie, false, 6))*/; - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - - private void adicionarLinhaCCF(PrintWriter writer, ExportacaoECFTipoCCF item) { - Integer coo = item.getCoo(); - BigDecimal valorServico = item.getValorServico(); - BigDecimal descontoGlobal = item.getDescontoGlobal(); - Integer codigoParticipante = item.getCodigoParticipante(); - Integer situacaoCOO = item.getSituacaoCOO(); // 0 - Documento Regular; 2 - Documento Cancelado - BigDecimal acrescimo = item.getAcrescimo(); - String ufOrigem = item.getUfOrigem(); - String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); - String ufDestino = item.getUfDestino(); - Integer cfop = item.getCfop(); // IM=5357; Serviço IE= 6357 - Integer codigoSituacaoTribColunaB = item.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos - BigDecimal valorTotal = item.getValorTotal(); - Integer tributacaoICMS = item.getTributacaoICMS(); // 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1" - BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS(); - BigDecimal aliquotaICMS = item.getAliquotaICMS(); - String numFolioSistema = item.getNumFolioSistema(); - - if (municipioOrigem != null && municipioOrigem.length() > 5) { - municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); - } - - StringBuilder sb = new StringBuilder(); - sb.append("CCF").append(SEPARADOR); - sb.append(formataNumerico(coo, true, 6)).append(SEPARADOR); - sb.append(formataValor(valorServico, 15)).append(SEPARADOR); - sb.append(descontoGlobal == null ? "" : formataValor(descontoGlobal, 15)).append(SEPARADOR); - sb.append(codigoParticipante == null ? "" : formataNumerico(codigoParticipante, true, 15)).append(SEPARADOR); - sb.append(formataNumerico(situacaoCOO, true, 1)).append(SEPARADOR); - sb.append(acrescimo == null ? "" : formataValor(acrescimo, 15)).append(SEPARADOR); - sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); - sb.append(formataNumerico(municipioOrigem, true, 5)).append(SEPARADOR); - sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); - sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); - sb.append("0").append(SEPARADOR); - sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 1)).append(SEPARADOR); // Posição 14 - sb.append(formataCaracter(VAZIO, false, 1)).append(SEPARADOR); // Posição 15 - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataNumerico(tributacaoICMS, true, 1)).append(SEPARADOR); - sb.append(valorBaseCalculoICMS == null ? "" : formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); - sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); - sb.append("01").append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 22 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 24 - sb.append("01").append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 27 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 28 - sb.append(formataCaracter(VAZIO, false, 3)); // Posição 29 - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - - private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item, BigDecimal valorBaseCalculoICMS) { - BigDecimal valorTotal = item.getValorTotal(); - String ufDestino = item.getUfDestino(); - Integer cfop = item.getCfop(); // IM=5357; Serviço IE= 6357 - // BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS(); - BigDecimal aliquotaICMS = item.getAliquotaICMS(); - BigDecimal valorICMSIsento = item.getValorICMSIsento(); - // BigDecimal valorICMSOutros = item.getValorICMSOutros(); - - // BigDecimal valorICMSDebitado = item.getValorICMSDebitado(); - BigDecimal valorICMSDebitado = BigDecimal.ZERO; - if (item.getAliquotaICMS() != null) { - BigDecimal aTributacao_importacao = MoneyHelper.dividir(item.getAliquotaICMS(), BigDecimal.valueOf(100d)); - valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao); - } - - BigDecimal difValorTotalICMS = valorTotal.subtract(valorBaseCalculoICMS); - - Integer codigoSituacaoTribColunaB = item.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos - String ufOrigem = item.getUfOrigem(); - String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); - - if (municipioOrigem != null && municipioOrigem.length() > 5) { - municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); - } - - if (item.getRedutorBaseCalculoIcms() == null) { - valorBaseCalculoICMS = valorTotal; - } - - StringBuilder sb = new StringBuilder(); - sb.append("ICF").append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); - sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); - sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); - sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); - sb.append(formataValor(valorICMSDebitado, 15)).append(SEPARADOR); - sb.append(formataValor(valorICMSIsento, 15)).append(SEPARADOR); - sb.append(formataValor(difValorTotalICMS, 15)).append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("0").append(SEPARADOR); - sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 1)).append(SEPARADOR); // Posição 15 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 16 - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); - sb.append(formataNumerico(municipioOrigem, true, 5)); - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - - private void adicionarLinhaPRC(PrintWriter writer, ExportacaoECFTipoPRC item, Map totalBaseCalculoICMS) { - String ufOrigem = item.getUfOrigem(); - String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); - BigDecimal valorTotal = item.getValorTotal(); - BigDecimal valorBaseCalculoICMS = totalBaseCalculoICMS.containsKey(item.getMunicipioOrigem()) ? totalBaseCalculoICMS.get(item.getMunicipioOrigem()) : item.getValorBaseCalculoICMS(); - BigDecimal valorICMS = BigDecimal.ZERO; - // BigDecimal valorICMS = item.getValorICMS(); - - if (municipioOrigem != null && municipioOrigem.length() > 5) { - municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); - } - - if (item.getTributacao() != null && item.getTributacao().compareTo(BigDecimal.ZERO) > 0) { - valorICMS = MoneyHelper.multiplicar(valorBaseCalculoICMS, item.getTributacao()); - } - - StringBuilder sb = new StringBuilder(); - sb.append("PRC").append(SEPARADOR); - sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); - sb.append(formataNumerico(municipioOrigem, true, 5)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); - sb.append(formataValor(valorICMS, 15)); - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - - public File gerarArquivoRMD(final Date dataInicial, final Date dataFinal, String nomeArquivo, final String nomeEmpresa, List listaRegistroRMDTipoPAR, - List listaRegistroRMDTipoRMD, List listaRegistroRMDTipoBPS, List listaRegistroRMDTipoDBP, - List listaRegistroRMDTipoSeqBPS) { - try { -// String nomeArquivo = "fiscal_vendas_manual_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); - - File arquivo = File.createTempFile(nomeArquivo + "-", ".fs"); - - PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(arquivo), Constantes.UTF_8)); - - adicionarRegistroRMDTipoCAB(writer, dataInicial, dataFinal, nomeEmpresa, nomeArquivo); - adicionarRegistroRMDTipoPAR(writer, listaRegistroRMDTipoPAR); - adicionarRegistroRMDTipoRMD(writer, listaRegistroRMDTipoRMD); -// adicionarRegistroRMDTipoBPS(writer, listaRegistroRMDTipoBPS); -// adicionarRegistroRMDTipoDBP(writer, listaRegistroRMDTipoDBP); - adicionarRegistroRMDTipoSeqBPS(writer, listaRegistroRMDTipoSeqBPS); - - int linhas = listaRegistroRMDTipoPAR.size() + listaRegistroRMDTipoRMD.size() + 1 + 1; - - for (ExportacaoRMDTipoSeqBPS seq : listaRegistroRMDTipoSeqBPS) { - linhas++; - - linhas = linhas + seq.getListaDBP().size(); - } - - writer.print("TRA|" + linhas + UtiliteriasFiscal.QUEBRA_LINHA); - - writer.close(); - - return arquivo; - - } catch (IOException e) { - log.error( e.getMessage(), e); - } - - return null; - } - - private void adicionarRegistroRMDTipoCAB(PrintWriter writer, Date dataInicial, Date dataFinal, String nomeEmpresa, String nomeArquivo) { - StringBuilder sb = new StringBuilder(); - sb.append("CAB").append(SEPARADOR); - sb.append("116").append(SEPARADOR); - sb.append("TotalBus").append(SEPARADOR); - sb.append(new SimpleDateFormat("yyyyMMdd").format(new Date())).append(SEPARADOR); - sb.append(formataCaracter(nomeEmpresa, false, 15)).append(SEPARADOR); - sb.append(new SimpleDateFormat("yyyyMMdd").format(dataInicial)).append(SEPARADOR); - sb.append(new SimpleDateFormat("yyyyMMdd").format(dataFinal)).append(SEPARADOR); - sb.append(nomeArquivo).append(SEPARADOR); - sb.append("N"); - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - - private void adicionarRegistroRMDTipoPAR(PrintWriter writer, List listaRegistroRMDTipoPAR) { - for (ExportacaoRMDTipoPAR registro : listaRegistroRMDTipoPAR) { - Integer codigoParticipante = registro.getCodigoParticipante(); - Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); - String nomeParticipante = registro.getNomeParticipante(); - String ufParticipante = registro.getUfParticipante(); - String cpfParticipante = registro.getCpfParticipante(); - String ieParticipante = registro.getIeParticipante(); - String logradouro = registro.getLogradouro(); - String numero = registro.getNumero(); - String complemento = registro.getComplemento(); - String bairro = registro.getBairro(); - Integer cep = registro.getCep(); - - StringBuilder sb = new StringBuilder(); - sb.append("PAR").append(SEPARADOR); - sb.append(formataNumerico(codigoEstabelecimento, true, 9)).append(SEPARADOR); - sb.append(formataCaracter(nomeParticipante, false, 60)).append(SEPARADOR); - sb.append(formataCaracter(ufParticipante, false, 2)).append(SEPARADOR); - sb.append(formataCaracter(cpfParticipante, true, 14)).append(SEPARADOR); - sb.append(formataCaracter(ieParticipante, true, 14)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 20)).append(SEPARADOR); // Posição 7 - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("0").append(SEPARADOR); - sb.append(formataCaracter(logradouro, false, 60)).append(SEPARADOR); - sb.append(formataNumerico(numero, true, 6)).append(SEPARADOR); - sb.append(formataCaracter(complemento, false, 60)).append(SEPARADOR); - sb.append("0").append(SEPARADOR); - sb.append(formataCaracter(bairro, false, 50)).append(SEPARADOR); - sb.append(formataNumerico(cep, true, 8)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 23 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 24 - sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 25 - sb.append(formataCaracter(VAZIO, false, 14)).append(SEPARADOR); // Posição 26 - sb.append("N").append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 28 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 29 - sb.append("1058").append(SEPARADOR); - sb.append("N").append(SEPARADOR); - sb.append("1").append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 60)).append(SEPARADOR); // Posição 33 - sb.append("N").append(SEPARADOR); // Posição 34 - sb.append("N").append(SEPARADOR); // Posição 35 - sb.append(formataCaracter(VAZIO, false, 7)); // Posição 36 - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - } - - private void adicionarRegistroRMDTipoRMD(PrintWriter writer, List listaRegistroRMDTipoRMD) { - for (ExportacaoRMDTipoRMD registro : listaRegistroRMDTipoRMD) { - Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); - String numeroAIDF = registro.getNumeroAIDF(); - String serieAIDF = registro.getSerieAIDF(); - String subSerieAIDF = registro.getSubSerieAIDF(); - Long numeroBilheteAIDF = registro.getNumeroBilheteAIDF(); - Long numeroFormularioAIDF = registro.getNumeroFormularioAIDF(); - String dataEmissao = registro.getDataEmissao(); - Boolean cancelado = registro.getCancelado(); - // Integer codigoParticipante = registro.getCodigoParticipante(); - String codigoContabil = registro.getCodigoContabil(); - - StringBuilder sb = new StringBuilder(); - sb.append("RMD").append(SEPARADOR); - // sb.append(String.format("%04d", cancelado ? codigoParticipante : codigoEstabelecimento)).append(SEPARADOR); - sb.append(String.format("%04d", codigoEstabelecimento)).append(SEPARADOR); - sb.append(formataNumerico(numeroAIDF, true, 25)).append(SEPARADOR); - sb.append(formataCaracter(serieAIDF, false, 3)).append(SEPARADOR); - sb.append(formataCaracter(subSerieAIDF, false, 3)).append(SEPARADOR); - sb.append(String.format("%06d", numeroBilheteAIDF)).append(SEPARADOR); - sb.append(String.format("%06d", numeroFormularioAIDF)).append(SEPARADOR); - sb.append(formataCaracter(dataEmissao, false, 6)).append(SEPARADOR); - sb.append(cancelado ? "S" : "N").append(SEPARADOR); - sb.append("").append(SEPARADOR); // Posição 10 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 11 - sb.append(formataCaracter(VAZIO, false, 4)).append(SEPARADOR); // Posição 12 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 13 - sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 14 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 15 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 16 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 17 - sb.append(cancelado ? "" : formataNumerico(codigoEstabelecimento, true, 9)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 19 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 20 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 21 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 22 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 24 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 25 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 - sb.append(cancelado ? "" : "01").append(SEPARADOR); - sb.append(cancelado ? "" : "01").append(SEPARADOR); - sb.append(formataCaracter(codigoContabil, false, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 30 - sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 31 - sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 32 - sb.append(formataCaracter(VAZIO, false, 8)).append(SEPARADOR); // Posição 33 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 34 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 35 - sb.append(formataCaracter("N", false, 3)); // Posição 36 - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - } - - @Deprecated - private void adicionarRegistroRMDTipoBPS(PrintWriter writer, List listaRegistroRMDTipoBPS) { - for (ExportacaoRMDTipoBPS registro : listaRegistroRMDTipoBPS) { - Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); - String especie = registro.getEspecie(); - Long numeroAIDF = registro.getNumeroAIDF(); - String serieAIDF = registro.getSerieAIDF(); - String subSerieAIDF = registro.getSubSerieAIDF(); - Long numeroInicial = registro.getNumeroInicial(); - Long numeroFinal = registro.getNumeroFinal(); - Integer quantidadeCancelados = registro.getQuantidadeCancelados(); - String dataEmissao = registro.getDataEmissao(); - BigDecimal valorTotal = registro.getValorTotal(); - Boolean resumoMovimentoDiario = registro.getResumoMovimentoDiario(); - Long numeroAIDFRMD = registro.getNumeroAIDFRMD(); - String serieAIDFRMD = registro.getSerieAIDFRMD(); - String subSerieAIDFRMD = registro.getSubSerieAIDFRMD(); - Integer numeroRMD = registro.getNumeroRMD(); - - StringBuilder sb = new StringBuilder(); - sb.append("BPS").append(SEPARADOR); - sb.append(String.format("%04d", codigoEstabelecimento)).append(SEPARADOR); - sb.append(formataCaracter(especie, false, 5)).append(SEPARADOR); - sb.append(formataNumerico(numeroAIDF, true, 25)).append(SEPARADOR); - sb.append(formataCaracter(serieAIDF, false, 3)).append(SEPARADOR); - sb.append(formataCaracter(subSerieAIDF, false, 3)).append(SEPARADOR); - sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(quantidadeCancelados, true, 9)).append(SEPARADOR); - sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); - sb.append(formataCaracter(dataEmissao, true, 8)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(resumoMovimentoDiario == null ? "" : resumoMovimentoDiario ? "S" : "N").append(SEPARADOR); - sb.append(formataNumerico(numeroAIDFRMD, true, 25)).append(SEPARADOR); - sb.append(formataCaracter(serieAIDFRMD, false, 3)).append(SEPARADOR); - sb.append(formataCaracter(subSerieAIDFRMD, false, 3)).append(SEPARADOR); - sb.append(formataNumerico(numeroRMD, true, 6)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 21 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 22 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 24 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 25 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 - sb.append("").append(SEPARADOR); // Posição 27 - sb.append("01").append(SEPARADOR); - sb.append("01").append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 30 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 31 - sb.append(formataCaracter(VAZIO, false, 8)); // Posição 32 - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - } - - @Deprecated - private void adicionarRegistroRMDTipoDBP(PrintWriter writer, List listaRegistroRMDTipoDBP) { - for (ExportacaoRMDTipoDBP registro : listaRegistroRMDTipoDBP) { - String ufDestino = registro.getUfDestino(); - Integer cfop = registro.getCfop(); // IM=5357; Serviço IE= 6357 - BigDecimal valorTotal = registro.getValorTotal(); - BigDecimal valorBaseCalculoICMS = registro.getValorBaseCalculoICMS(); - BigDecimal aliquotaICMS = registro.getAliquotaICMS(); - BigDecimal valorICMS = registro.getValorICMS(); - BigDecimal valorICMSIsento = registro.getValorICMSIsento(); - BigDecimal valorICMSOutros = registro.getValorICMSOutros(); - Integer codigoSituacaoTribColunaB = registro.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos - String ufOrigem = registro.getUfOrigem(); - Integer municipioestadoOrigem = registro.getMunicipioOrigem(); - - String municipioOrigem = municipioestadoOrigem.toString(); - - if (municipioOrigem.length() > 5) { - municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); - } - - StringBuilder sb = new StringBuilder(); - sb.append("DBP").append(SEPARADOR); - sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); - sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); - sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); - sb.append(formataValor(valorICMS, 15)).append(SEPARADOR); - sb.append(formataValor(valorICMSIsento, 15)).append(SEPARADOR); - sb.append(formataValor(valorICMSOutros, 15)).append(SEPARADOR); - sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); - sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); - sb.append(municipioOrigem).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 3)); // Posição 13 - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - } - - private void adicionarRegistroRMDTipoSeqBPS(PrintWriter writer, List listaRegistroRMDTipoBPS) { - for (ExportacaoRMDTipoSeqBPS registro : listaRegistroRMDTipoBPS) { - Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); - String especie = registro.getEspecie(); - String numeroAIDF = registro.getNumeroAIDF(); - String serieAIDF = registro.getSerieAIDF(); - String subSerieAIDF = registro.getSubSerieAIDF(); - Long numeroInicial = registro.getNumeroInicial(); - Long numeroFinal = registro.getNumeroFinal(); - Integer quantidadeCancelados = registro.getQuantidadeCancelados(); - String dataEmissao = registro.getDataEmissao(); - BigDecimal valorTotal = registro.getValorTotal(); - Boolean resumoMovimentoDiario = registro.getResumoMovimentoDiario(); - String numeroAIDFRMD = registro.getNumeroAIDFRMD(); - String serieAIDFRMD = registro.getSerieAIDFRMD(); - String subSerieAIDFRMD = registro.getSubSerieAIDFRMD(); - Integer numeroRMD = registro.getNumeroRMD(); - String infoPadraoBilhetePassagem = registro.getInfoPadraoBilhetePassagem(); - - StringBuilder sb = new StringBuilder(); - sb.append("BPS").append(SEPARADOR); - sb.append(String.format("%04d", codigoEstabelecimento)).append(SEPARADOR); - sb.append(formataCaracter(especie, false, 5)).append(SEPARADOR); - sb.append(formataNumerico(numeroAIDF, true, 25)).append(SEPARADOR); - sb.append(formataCaracter(serieAIDF, false, 3)).append(SEPARADOR); - sb.append(formataCaracter(subSerieAIDF, false, 3)).append(SEPARADOR); - sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(quantidadeCancelados, true, 9)).append(SEPARADOR); - sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); - sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); - sb.append(formataCaracter(dataEmissao, true, 8)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(resumoMovimentoDiario == null ? "" : resumoMovimentoDiario ? "S" : "N").append(SEPARADOR); - sb.append(formataNumerico(numeroAIDFRMD, true, 25)).append(SEPARADOR); - sb.append(formataCaracter(serieAIDFRMD, false, 3)).append(SEPARADOR); - sb.append(formataCaracter(subSerieAIDFRMD, false, 3)).append(SEPARADOR); - sb.append(String.format("%06d", numeroRMD)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 21 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 22 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 24 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 25 - sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 - sb.append("").append(SEPARADOR); // Posição 27 - sb.append("01").append(SEPARADOR); - sb.append("01").append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 30 - sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 31 - sb.append(formataCaracter(infoPadraoBilhetePassagem, false, 8)); - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - - adicionarRegistroRMDTipoSeqDBP(writer, registro.getListaDBP()); - } - } - - private void adicionarRegistroRMDTipoSeqDBP(PrintWriter writer, List listaRegistroRMDTipoDBP) { - for (ExportacaoRMDTipoSeqDBP registro : listaRegistroRMDTipoDBP) { - String ufDestino = registro.getUfDestino(); - Integer cfop = registro.getCfop(); // IM=5357; Serviço IE= 6357 - BigDecimal valorTotal = registro.getValorTotal(); - BigDecimal valorBaseCalculoICMS = registro.getValorBaseCalculoICMS(); - BigDecimal aliquotaICMS = registro.getAliquotaICMS(); - BigDecimal valorICMS = registro.getValorICMS(); - BigDecimal valorICMSIsento = registro.getValorICMSIsento(); -// BigDecimal valorICMSOutros = registro.getValorICMSOutros(); - - BigDecimal difValorTotalICMS = valorTotal.subtract(valorBaseCalculoICMS); - - Integer codigoSituacaoTribColunaB = registro.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos - String ufOrigem = registro.getUfOrigem(); - Integer municipioestadoOrigem = registro.getMunicipioOrigem(); - - String municipioOrigem = municipioestadoOrigem.toString(); - - if (municipioOrigem.length() > 5) { - municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); - } - - StringBuilder sb = new StringBuilder(); - sb.append("DBP").append(SEPARADOR); - sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); - sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); - sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); - sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); - sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); - sb.append(formataValor(valorICMS, 15)).append(SEPARADOR); - sb.append(formataValor(valorICMSIsento, 15)).append(SEPARADOR); - sb.append(formataValor(difValorTotalICMS, 15)).append(SEPARADOR); - sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); - sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); - sb.append(municipioOrigem).append(SEPARADOR); - sb.append(formataCaracter(VAZIO, false, 3)); // Posição 13 - - writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); - } - } - - private String formataCaracter(String valor, boolean removeMascara, int tamanho) { - if (valor == null) { - valor = ""; - } - -// if (removeMascara) { -// valor = valor.replace("-", "").replace(".", "").replace("/", ""); -// } -// -// if (valor.length() > tamanho) { -// valor = valor.substring(0, tamanho); -// } -// -// return String.format("%1$-" + tamanho + "s", valor); - - return valor; - } - - private String formataNumerico(final String valor, final boolean removeMascara, final int tamanho) { - String retorno = StringUtils.trim(valor); - - if (retorno == null) { - retorno = "0"; - } - -// if (removeMascara) { -// retorno = retorno.replace("-", "").replace(".", "").replace("/", ""); -// } -// -// retorno = retorno.replace(".", "").replace(",",""); -// -// if (tamanho > 0) { -// if (retorno.length() > tamanho) { -// retorno = retorno.substring(retorno.length() - tamanho, retorno.length()); -// } -// -// return StringUtils.leftPad(retorno, tamanho, "0"); -// } - - return retorno; - } - - private String formataNumerico(final Long valor, final boolean removeMascara, final int tamanho) { -// if (valor == null) { -// return formataCaracter(" ", true, tamanho); -// } else { -// return formataNumerico(valor.toString(), removeMascara, tamanho); -// } - if (valor == null) { - return "0"; - } else { - return formataNumerico(valor.toString(), removeMascara, tamanho); - } - } - - private String formataNumerico(final Integer valor, final boolean removeMascara, final int tamanho) { -// if (valor == null) { -// return formataCaracter(" ", true, tamanho); -// } else { -// return formataNumerico(valor.toString(), removeMascara, tamanho); -// } - if (valor == null) { - return "0"; - } else { - return formataNumerico(valor.toString(), removeMascara, tamanho); - } - } - - private String formataValor(final BigDecimal valor, final int tamanho) { -// if (valor == null) { -// return formataCaracter(" ", true, tamanho); -// } else { -// return formataNumerico(valor.setScale(2).toString(), false, tamanho); -// } - if (valor == null) { - return "0"; - } else { - return valor.setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); - } - } -} +package com.rjconsultores.ventaboletos.utilerias.exportacaofiscal; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.springframework.stereotype.Service; + +import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.utilerias.UtiliteriasFiscal; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCCF; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCFC; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoICF; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoPRC; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoBPS; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoDBP; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoPAR; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoRMD; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoSeqBPS; +import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoSeqDBP; + +@Service("exportacaoFiscal") +public class ExportacaoFiscal { + private static Logger log = Logger.getLogger(ExportacaoFiscal.class); + + private static String VAZIO = ""; + private static String SEPARADOR = "|"; + + public ExportacaoFiscal() { + + } + + public File gerarArquivoECF(final List tempos, String nomeArquivo, final Date dataInicial, final Date dataFinal, final String estado, final String nomeEmpresa, final List listaRegistroECFTipoCFC, + final List listaRegistroECFTipoCCF, final List listaRegistroECFTipoICF, final List listaRegistroECFTipoPRC) { + try { +// String nomeArquivo = "fiscal_vendas_impressas_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); + + File arquivo = File.createTempFile(nomeArquivo + "-", ".fs"); + + PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(arquivo), Constantes.UTF_8)); + +// for (String tempo : tempos) { +// writer.print("-- " + tempo + UtiliteriasFiscal.QUEBRA_LINHA); +// } + + adicionarRegistroECFTipoCAB(writer, dataInicial, dataFinal, nomeEmpresa, nomeArquivo); +// adicionarRegistroECFTipoCFC(writer, listaRegistroECFTipoCFC); +// adicionarRegistroECFTipoCCF(writer, listaRegistroECFTipoCCF); +// adicionarRegistroECFTipoICF(writer, listaRegistroECFTipoICF); +// adicionarRegistroECFTipoPRC(writer, listaRegistroECFTipoPRC); + adicionarRegistroECF(writer, listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, listaRegistroECFTipoPRC); + + writer.close(); + + return arquivo; + + } catch (IOException e) { + log.error( e.getMessage(), e); + } + + return null; + } + + private void adicionarRegistroECFTipoCAB(final PrintWriter writer, final Date dataInicial, final Date dataFinal, final String nomeEmpresa, final String arquivo) { + StringBuilder sb = new StringBuilder(); + sb.append("CAB").append(SEPARADOR); + sb.append("116").append(SEPARADOR); + sb.append("TotalBus").append(SEPARADOR); + sb.append(new SimpleDateFormat("yyyyMMdd").format(new Date())).append(SEPARADOR); + sb.append(formataCaracter(nomeEmpresa, false, 15)).append(SEPARADOR); + sb.append(new SimpleDateFormat("yyyyMMdd").format(dataInicial)).append(SEPARADOR); + sb.append(new SimpleDateFormat("yyyyMMdd").format(dataFinal)).append(SEPARADOR); + sb.append(arquivo).append(SEPARADOR); + sb.append("N"); + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + +// @SuppressWarnings("unused") +// private void adicionarRegistroECFTipoCFC(PrintWriter writer, final List listaRegistroECFTipoCFC) { +// for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) { +// adicionarLinhaCFC(writer, registro); +// } +// } +// +// @SuppressWarnings("unused") +// private void adicionarRegistroECFTipoCCF(PrintWriter writer, final List listaRegistroECFTipoCCF) { +// for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) { +// adicionarLinhaCCF(writer, registro); +// } +// } +// +// @SuppressWarnings("unused") +// private void adicionarRegistroECFTipoICF(PrintWriter writer, final List listaRegistroECFTipoICF) { +// for (ExportacaoECFTipoICF registro : listaRegistroECFTipoICF) { +// adicionarLinhaICF(writer, registro); +// } +// } +// +// @SuppressWarnings("unused") +// private void adicionarRegistroECFTipoPRC(PrintWriter writer, final List listaRegistroECFTipoPRC) { +// for (ExportacaoECFTipoPRC registro : listaRegistroECFTipoPRC) { +// adicionarLinhaPRC(writer, registro); +// } +// } + + private void adicionarRegistroECF(PrintWriter writer, final List listaRegistroECFTipoCFC, final List listaRegistroECFTipoCCF, + List listaRegistroECFTipoICF, List listaRegistroECFTipoPRC) { + Map> groupCCF = new HashMap>(); + Map> groupICF = new HashMap>(); + Map> groupPRC = new HashMap>(); + + List itensCCF = new ArrayList(); + List itensICF = new ArrayList(); + List itensPRC = new ArrayList(); + + for (ExportacaoECFTipoCCF registro : listaRegistroECFTipoCCF) { + itensCCF = new ArrayList(); + + if (groupCCF.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) { + itensCCF.addAll(groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao())); + } + + itensCCF.add(registro); + + groupCCF.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensCCF); + } + + for (ExportacaoECFTipoICF registro : listaRegistroECFTipoICF) { + itensICF = new ArrayList(); + + if (groupICF.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) { + itensICF.addAll(groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao())); + } + + itensICF.add(registro); + + groupICF.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensICF); + } + + for (ExportacaoECFTipoPRC registro : listaRegistroECFTipoPRC) { + itensPRC = new ArrayList(); + + if (groupPRC.containsKey(registro.getEcf() + "|" + registro.getDataEmissao())) { + itensPRC.addAll(groupPRC.get(registro.getEcf() + "|" + registro.getDataEmissao())); + } + + itensPRC.add(registro); + + groupPRC.put(registro.getEcf() + "|" + registro.getDataEmissao(), itensPRC); + } + + int linhas = 2; + + Map valoresBaseCalculoICMS = new HashMap(0); + + Map totalBaseCalculoICMS = new HashMap(0); + + for (ExportacaoECFTipoCFC registro : listaRegistroECFTipoCFC) { + adicionarLinhaCFC(writer, registro); + + linhas++; + + if (registro.getEstabelecimentoECF() == null) { + log.info("- Estabelecimento da ECF indefinido para a ECF [" + registro.getEcf() + "]"); + } + + if (registro.getNumeroIdentificacaoECF() == null) { + log.info("- número de Identificaçãoo da ECF indefinido para a ECF [" + registro.getEcf() + "]"); + } + + itensCCF = groupCCF.get(registro.getEcf() + "|" + registro.getDataEmissao()); + + totalBaseCalculoICMS.clear(); + valoresBaseCalculoICMS.clear(); + + if (itensCCF != null) { + for (ExportacaoECFTipoCCF itemCCF : itensCCF) { + BigDecimal baseCalculoICMS = BigDecimal.ZERO; + BigDecimal valorBaseCalculoICMS = itemCCF.getValorBaseCalculoICMS() == null ? BigDecimal.ZERO : itemCCF.getValorBaseCalculoICMS(); + + String key = itemCCF.getEcf() + "|" + itemCCF.getUfDestino() + "|" + itemCCF.getMunicipioOrigem(); + + if (valoresBaseCalculoICMS.containsKey(key)) { + baseCalculoICMS = valoresBaseCalculoICMS.get(key); + } + + baseCalculoICMS = baseCalculoICMS.add(valorBaseCalculoICMS.setScale(2, BigDecimal.ROUND_HALF_EVEN)); + + valoresBaseCalculoICMS.put(key, baseCalculoICMS); + + adicionarLinhaCCF(writer, itemCCF); + + linhas++; + + BigDecimal valor = BigDecimal.ZERO; + + if (totalBaseCalculoICMS.containsKey(itemCCF.getMunicipioOrigem())) { + valor = totalBaseCalculoICMS.get(itemCCF.getMunicipioOrigem()); + } + + valor = valor.add(valorBaseCalculoICMS.setScale(2, BigDecimal.ROUND_HALF_EVEN)); + + totalBaseCalculoICMS.put(itemCCF.getMunicipioOrigem(), valor); + } + } + + BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO; + + itensICF = groupICF.get(registro.getEcf() + "|" + registro.getDataEmissao()); + + if (itensICF != null) { + for (ExportacaoECFTipoICF itemICF : itensICF) { + valorBaseCalculoICMS = BigDecimal.ZERO; + + if (valoresBaseCalculoICMS.containsKey(itemICF.getEcf() + "|" + itemICF.getUfDestino() + "|" + itemICF.getMunicipioOrigem())) { + valorBaseCalculoICMS = valoresBaseCalculoICMS.get(itemICF.getEcf() + "|" + itemICF.getUfDestino() + "|" + itemICF.getMunicipioOrigem()); + } + + adicionarLinhaICF(writer, itemICF, valorBaseCalculoICMS); + + linhas++; + } + } + + itensPRC = groupPRC.get(registro.getEcf() + "|" + registro.getDataEmissao()); + + if (itensPRC != null) { + for (ExportacaoECFTipoPRC itemPRC : itensPRC) { + adicionarLinhaPRC(writer, itemPRC, totalBaseCalculoICMS); + + linhas++; + } + } + } + + writer.print("TRA|" + linhas + UtiliteriasFiscal.QUEBRA_LINHA); + } + + private void adicionarLinhaCFC(PrintWriter writer, ExportacaoECFTipoCFC registro) { + String estabelecimento = registro.getEstabelecimento(); + String dataEmissao = registro.getDataEmissao(); + String numeroIdentificacaoECF = registro.getNumeroIdentificacaoECF(); + Integer cooReducaoZ = registro.getCooReducaoZ(); + Integer cooInicial = registro.getCooInicial(); + Integer cooFinal = registro.getCooFinal(); + Integer contadorReducao = registro.getContadorReducao(); + Integer cro = registro.getCro(); + BigDecimal valorTotal = registro.getValorTotal(); + BigDecimal valorIsentas = registro.getValorIsentas(); + String estabelecimentoECF = registro.getEstabelecimentoECF(); + String infoPadraoBilhetePassagem = registro.getInfoPadraoBilhetePassagem(); + String numeroSerie = registro.getNumeroSerie(); + + StringBuilder sb = new StringBuilder(); + sb.append("CFC").append(SEPARADOR); + sb.append(formataCaracter(estabelecimento, false, 4)).append(SEPARADOR); + sb.append(formataCaracter(dataEmissao, true, 8)).append(SEPARADOR); + sb.append(formataCaracter(numeroIdentificacaoECF, false, 3)).append(SEPARADOR); + sb.append(formataNumerico(cooReducaoZ, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(cooInicial, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(cooFinal, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(contadorReducao, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(cro, true, 6)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 12 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 13 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 14 + sb.append(formataValor(valorIsentas, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 16 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 17 + sb.append("N").append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 25)).append(SEPARADOR); // Posição 19 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 20 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 21 + sb.append(formataCaracter(VAZIO, false, 6)).append(SEPARADOR); // Posição 22 + sb.append(formataCaracter(VAZIO, false, 2)).append(SEPARADOR); // Posição 23 + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 27 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 28 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 29 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 30 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 31 + sb.append("").append(SEPARADOR); // Posição 32 + sb.append("V").append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 34 + sb.append(formataCaracter(estabelecimentoECF, false, 4)).append(SEPARADOR); + sb.append(formataCaracter(infoPadraoBilhetePassagem, false, 8)); + /*sb.append(formataCaracter(numeroSerie, false, 6))*/; + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + + private void adicionarLinhaCCF(PrintWriter writer, ExportacaoECFTipoCCF item) { + Integer coo = item.getCoo(); + BigDecimal valorServico = item.getValorServico(); + BigDecimal descontoGlobal = item.getDescontoGlobal(); + Integer codigoParticipante = item.getCodigoParticipante(); + Integer situacaoCOO = item.getSituacaoCOO(); // 0 - Documento Regular; 2 - Documento Cancelado + BigDecimal acrescimo = item.getAcrescimo(); + String ufOrigem = item.getUfOrigem(); + String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); + String ufDestino = item.getUfDestino(); + Integer cfop = item.getCfop(); // IM=5357; serviço IE= 6357 + Integer codigoSituacaoTribColunaB = item.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + BigDecimal valorTotal = item.getValorTotal(); + Integer tributacaoICMS = item.getTributacaoICMS(); // 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1" + BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS(); + BigDecimal aliquotaICMS = item.getAliquotaICMS(); + String numFolioSistema = item.getNumFolioSistema(); + + if (municipioOrigem != null && municipioOrigem.length() > 5) { + municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); + } + + StringBuilder sb = new StringBuilder(); + sb.append("CCF").append(SEPARADOR); + sb.append(formataNumerico(coo, true, 6)).append(SEPARADOR); + sb.append(formataValor(valorServico, 15)).append(SEPARADOR); + sb.append(descontoGlobal == null ? "" : formataValor(descontoGlobal, 15)).append(SEPARADOR); + sb.append(codigoParticipante == null ? "" : formataNumerico(codigoParticipante, true, 15)).append(SEPARADOR); + sb.append(formataNumerico(situacaoCOO, true, 1)).append(SEPARADOR); + sb.append(acrescimo == null ? "" : formataValor(acrescimo, 15)).append(SEPARADOR); + sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); + sb.append(formataNumerico(municipioOrigem, true, 5)).append(SEPARADOR); + sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); + sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); + sb.append("0").append(SEPARADOR); + sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 1)).append(SEPARADOR); // Posição 14 + sb.append(formataCaracter(VAZIO, false, 1)).append(SEPARADOR); // Posição 15 + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataNumerico(tributacaoICMS, true, 1)).append(SEPARADOR); + sb.append(valorBaseCalculoICMS == null ? "" : formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); + sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); + sb.append("01").append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 22 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 24 + sb.append("01").append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 27 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 28 + sb.append(formataCaracter(VAZIO, false, 3)); // Posição 29 + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + + private void adicionarLinhaICF(PrintWriter writer, ExportacaoECFTipoICF item, BigDecimal valorBaseCalculoICMS) { + BigDecimal valorTotal = item.getValorTotal(); + String ufDestino = item.getUfDestino(); + Integer cfop = item.getCfop(); // IM=5357; serviço IE= 6357 + // BigDecimal valorBaseCalculoICMS = item.getValorBaseCalculoICMS(); + BigDecimal aliquotaICMS = item.getAliquotaICMS(); + BigDecimal valorICMSIsento = item.getValorICMSIsento(); + // BigDecimal valorICMSOutros = item.getValorICMSOutros(); + + // BigDecimal valorICMSDebitado = item.getValorICMSDebitado(); + BigDecimal valorICMSDebitado = BigDecimal.ZERO; + if (item.getAliquotaICMS() != null) { + BigDecimal aTributacao_importacao = MoneyHelper.dividir(item.getAliquotaICMS(), BigDecimal.valueOf(100d)); + valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao); + } + + BigDecimal difValorTotalICMS = valorTotal.subtract(valorBaseCalculoICMS); + + Integer codigoSituacaoTribColunaB = item.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + String ufOrigem = item.getUfOrigem(); + String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); + + if (municipioOrigem != null && municipioOrigem.length() > 5) { + municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); + } + + if (item.getRedutorBaseCalculoIcms() == null) { + valorBaseCalculoICMS = valorTotal; + } + + StringBuilder sb = new StringBuilder(); + sb.append("ICF").append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); + sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); + sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); + sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); + sb.append(formataValor(valorICMSDebitado, 15)).append(SEPARADOR); + sb.append(formataValor(valorICMSIsento, 15)).append(SEPARADOR); + sb.append(formataValor(difValorTotalICMS, 15)).append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("0").append(SEPARADOR); + sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 1)).append(SEPARADOR); // Posição 15 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 16 + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); + sb.append(formataNumerico(municipioOrigem, true, 5)); + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + + private void adicionarLinhaPRC(PrintWriter writer, ExportacaoECFTipoPRC item, Map totalBaseCalculoICMS) { + String ufOrigem = item.getUfOrigem(); + String municipioOrigem = item.getMunicipioOrigem() == null ? null : item.getMunicipioOrigem().toString(); + BigDecimal valorTotal = item.getValorTotal(); + BigDecimal valorBaseCalculoICMS = totalBaseCalculoICMS.containsKey(item.getMunicipioOrigem()) ? totalBaseCalculoICMS.get(item.getMunicipioOrigem()) : item.getValorBaseCalculoICMS(); + BigDecimal valorICMS = BigDecimal.ZERO; + // BigDecimal valorICMS = item.getValorICMS(); + + if (municipioOrigem != null && municipioOrigem.length() > 5) { + municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); + } + + if (item.getTributacao() != null && item.getTributacao().compareTo(BigDecimal.ZERO) > 0) { + valorICMS = MoneyHelper.multiplicar(valorBaseCalculoICMS, item.getTributacao()); + } + + StringBuilder sb = new StringBuilder(); + sb.append("PRC").append(SEPARADOR); + sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); + sb.append(formataNumerico(municipioOrigem, true, 5)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); + sb.append(formataValor(valorICMS, 15)); + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + + public File gerarArquivoRMD(final Date dataInicial, final Date dataFinal, String nomeArquivo, final String nomeEmpresa, List listaRegistroRMDTipoPAR, + List listaRegistroRMDTipoRMD, List listaRegistroRMDTipoBPS, List listaRegistroRMDTipoDBP, + List listaRegistroRMDTipoSeqBPS) { + try { +// String nomeArquivo = "fiscal_vendas_manual_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss"); + + File arquivo = File.createTempFile(nomeArquivo + "-", ".fs"); + + PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(arquivo), Constantes.UTF_8)); + + adicionarRegistroRMDTipoCAB(writer, dataInicial, dataFinal, nomeEmpresa, nomeArquivo); + adicionarRegistroRMDTipoPAR(writer, listaRegistroRMDTipoPAR); + adicionarRegistroRMDTipoRMD(writer, listaRegistroRMDTipoRMD); +// adicionarRegistroRMDTipoBPS(writer, listaRegistroRMDTipoBPS); +// adicionarRegistroRMDTipoDBP(writer, listaRegistroRMDTipoDBP); + adicionarRegistroRMDTipoSeqBPS(writer, listaRegistroRMDTipoSeqBPS); + + int linhas = listaRegistroRMDTipoPAR.size() + listaRegistroRMDTipoRMD.size() + 1 + 1; + + for (ExportacaoRMDTipoSeqBPS seq : listaRegistroRMDTipoSeqBPS) { + linhas++; + + linhas = linhas + seq.getListaDBP().size(); + } + + writer.print("TRA|" + linhas + UtiliteriasFiscal.QUEBRA_LINHA); + + writer.close(); + + return arquivo; + + } catch (IOException e) { + log.error( e.getMessage(), e); + } + + return null; + } + + private void adicionarRegistroRMDTipoCAB(PrintWriter writer, Date dataInicial, Date dataFinal, String nomeEmpresa, String nomeArquivo) { + StringBuilder sb = new StringBuilder(); + sb.append("CAB").append(SEPARADOR); + sb.append("116").append(SEPARADOR); + sb.append("TotalBus").append(SEPARADOR); + sb.append(new SimpleDateFormat("yyyyMMdd").format(new Date())).append(SEPARADOR); + sb.append(formataCaracter(nomeEmpresa, false, 15)).append(SEPARADOR); + sb.append(new SimpleDateFormat("yyyyMMdd").format(dataInicial)).append(SEPARADOR); + sb.append(new SimpleDateFormat("yyyyMMdd").format(dataFinal)).append(SEPARADOR); + sb.append(nomeArquivo).append(SEPARADOR); + sb.append("N"); + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + + private void adicionarRegistroRMDTipoPAR(PrintWriter writer, List listaRegistroRMDTipoPAR) { + for (ExportacaoRMDTipoPAR registro : listaRegistroRMDTipoPAR) { + Integer codigoParticipante = registro.getCodigoParticipante(); + Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); + String nomeParticipante = registro.getNomeParticipante(); + String ufParticipante = registro.getUfParticipante(); + String cpfParticipante = registro.getCpfParticipante(); + String ieParticipante = registro.getIeParticipante(); + String logradouro = registro.getLogradouro(); + String numero = registro.getNumero(); + String complemento = registro.getComplemento(); + String bairro = registro.getBairro(); + Integer cep = registro.getCep(); + + StringBuilder sb = new StringBuilder(); + sb.append("PAR").append(SEPARADOR); + sb.append(formataNumerico(codigoEstabelecimento, true, 9)).append(SEPARADOR); + sb.append(formataCaracter(nomeParticipante, false, 60)).append(SEPARADOR); + sb.append(formataCaracter(ufParticipante, false, 2)).append(SEPARADOR); + sb.append(formataCaracter(cpfParticipante, true, 14)).append(SEPARADOR); + sb.append(formataCaracter(ieParticipante, true, 14)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 20)).append(SEPARADOR); // Posição 7 + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("0").append(SEPARADOR); + sb.append(formataCaracter(logradouro, false, 60)).append(SEPARADOR); + sb.append(formataNumerico(numero, true, 6)).append(SEPARADOR); + sb.append(formataCaracter(complemento, false, 60)).append(SEPARADOR); + sb.append("0").append(SEPARADOR); + sb.append(formataCaracter(bairro, false, 50)).append(SEPARADOR); + sb.append(formataNumerico(cep, true, 8)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 23 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 24 + sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 25 + sb.append(formataCaracter(VAZIO, false, 14)).append(SEPARADOR); // Posição 26 + sb.append("N").append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 28 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 29 + sb.append("1058").append(SEPARADOR); + sb.append("N").append(SEPARADOR); + sb.append("1").append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 60)).append(SEPARADOR); // Posição 33 + sb.append("N").append(SEPARADOR); // Posição 34 + sb.append("N").append(SEPARADOR); // Posição 35 + sb.append(formataCaracter(VAZIO, false, 7)); // Posição 36 + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + } + + private void adicionarRegistroRMDTipoRMD(PrintWriter writer, List listaRegistroRMDTipoRMD) { + for (ExportacaoRMDTipoRMD registro : listaRegistroRMDTipoRMD) { + Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); + String numeroAIDF = registro.getNumeroAIDF(); + String serieAIDF = registro.getSerieAIDF(); + String subSerieAIDF = registro.getSubSerieAIDF(); + Long numeroBilheteAIDF = registro.getNumeroBilheteAIDF(); + Long numeroFormularioAIDF = registro.getNumeroFormularioAIDF(); + String dataEmissao = registro.getDataEmissao(); + Boolean cancelado = registro.getCancelado(); + // Integer codigoParticipante = registro.getCodigoParticipante(); + String codigoContabil = registro.getCodigoContabil(); + + StringBuilder sb = new StringBuilder(); + sb.append("RMD").append(SEPARADOR); + // sb.append(String.format("%04d", cancelado ? codigoParticipante : codigoEstabelecimento)).append(SEPARADOR); + sb.append(String.format("%04d", codigoEstabelecimento)).append(SEPARADOR); + sb.append(formataNumerico(numeroAIDF, true, 25)).append(SEPARADOR); + sb.append(formataCaracter(serieAIDF, false, 3)).append(SEPARADOR); + sb.append(formataCaracter(subSerieAIDF, false, 3)).append(SEPARADOR); + sb.append(String.format("%06d", numeroBilheteAIDF)).append(SEPARADOR); + sb.append(String.format("%06d", numeroFormularioAIDF)).append(SEPARADOR); + sb.append(formataCaracter(dataEmissao, false, 6)).append(SEPARADOR); + sb.append(cancelado ? "S" : "N").append(SEPARADOR); + sb.append("").append(SEPARADOR); // Posição 10 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 11 + sb.append(formataCaracter(VAZIO, false, 4)).append(SEPARADOR); // Posição 12 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 13 + sb.append(formataCaracter(VAZIO, false, 5)).append(SEPARADOR); // Posição 14 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 15 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 16 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 17 + sb.append(cancelado ? "" : formataNumerico(codigoEstabelecimento, true, 9)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 19 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 20 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 21 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 22 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 24 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 25 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 + sb.append(cancelado ? "" : "01").append(SEPARADOR); + sb.append(cancelado ? "" : "01").append(SEPARADOR); + sb.append(formataCaracter(codigoContabil, false, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 30 + sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 31 + sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 32 + sb.append(formataCaracter(VAZIO, false, 8)).append(SEPARADOR); // Posição 33 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 34 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 35 + sb.append(formataCaracter("N", false, 3)); // Posição 36 + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + } + + @Deprecated + private void adicionarRegistroRMDTipoBPS(PrintWriter writer, List listaRegistroRMDTipoBPS) { + for (ExportacaoRMDTipoBPS registro : listaRegistroRMDTipoBPS) { + Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); + String especie = registro.getEspecie(); + Long numeroAIDF = registro.getNumeroAIDF(); + String serieAIDF = registro.getSerieAIDF(); + String subSerieAIDF = registro.getSubSerieAIDF(); + Long numeroInicial = registro.getNumeroInicial(); + Long numeroFinal = registro.getNumeroFinal(); + Integer quantidadeCancelados = registro.getQuantidadeCancelados(); + String dataEmissao = registro.getDataEmissao(); + BigDecimal valorTotal = registro.getValorTotal(); + Boolean resumoMovimentoDiario = registro.getResumoMovimentoDiario(); + Long numeroAIDFRMD = registro.getNumeroAIDFRMD(); + String serieAIDFRMD = registro.getSerieAIDFRMD(); + String subSerieAIDFRMD = registro.getSubSerieAIDFRMD(); + Integer numeroRMD = registro.getNumeroRMD(); + + StringBuilder sb = new StringBuilder(); + sb.append("BPS").append(SEPARADOR); + sb.append(String.format("%04d", codigoEstabelecimento)).append(SEPARADOR); + sb.append(formataCaracter(especie, false, 5)).append(SEPARADOR); + sb.append(formataNumerico(numeroAIDF, true, 25)).append(SEPARADOR); + sb.append(formataCaracter(serieAIDF, false, 3)).append(SEPARADOR); + sb.append(formataCaracter(subSerieAIDF, false, 3)).append(SEPARADOR); + sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(quantidadeCancelados, true, 9)).append(SEPARADOR); + sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); + sb.append(formataCaracter(dataEmissao, true, 8)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(resumoMovimentoDiario == null ? "" : resumoMovimentoDiario ? "S" : "N").append(SEPARADOR); + sb.append(formataNumerico(numeroAIDFRMD, true, 25)).append(SEPARADOR); + sb.append(formataCaracter(serieAIDFRMD, false, 3)).append(SEPARADOR); + sb.append(formataCaracter(subSerieAIDFRMD, false, 3)).append(SEPARADOR); + sb.append(formataNumerico(numeroRMD, true, 6)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 21 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 22 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 24 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 25 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 + sb.append("").append(SEPARADOR); // Posição 27 + sb.append("01").append(SEPARADOR); + sb.append("01").append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 30 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 31 + sb.append(formataCaracter(VAZIO, false, 8)); // Posição 32 + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + } + + @Deprecated + private void adicionarRegistroRMDTipoDBP(PrintWriter writer, List listaRegistroRMDTipoDBP) { + for (ExportacaoRMDTipoDBP registro : listaRegistroRMDTipoDBP) { + String ufDestino = registro.getUfDestino(); + Integer cfop = registro.getCfop(); // IM=5357; serviço IE= 6357 + BigDecimal valorTotal = registro.getValorTotal(); + BigDecimal valorBaseCalculoICMS = registro.getValorBaseCalculoICMS(); + BigDecimal aliquotaICMS = registro.getAliquotaICMS(); + BigDecimal valorICMS = registro.getValorICMS(); + BigDecimal valorICMSIsento = registro.getValorICMSIsento(); + BigDecimal valorICMSOutros = registro.getValorICMSOutros(); + Integer codigoSituacaoTribColunaB = registro.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + String ufOrigem = registro.getUfOrigem(); + Integer municipioestadoOrigem = registro.getMunicipioOrigem(); + + String municipioOrigem = municipioestadoOrigem.toString(); + + if (municipioOrigem.length() > 5) { + municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); + } + + StringBuilder sb = new StringBuilder(); + sb.append("DBP").append(SEPARADOR); + sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); + sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); + sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); + sb.append(formataValor(valorICMS, 15)).append(SEPARADOR); + sb.append(formataValor(valorICMSIsento, 15)).append(SEPARADOR); + sb.append(formataValor(valorICMSOutros, 15)).append(SEPARADOR); + sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); + sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); + sb.append(municipioOrigem).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 3)); // Posição 13 + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + } + + private void adicionarRegistroRMDTipoSeqBPS(PrintWriter writer, List listaRegistroRMDTipoBPS) { + for (ExportacaoRMDTipoSeqBPS registro : listaRegistroRMDTipoBPS) { + Integer codigoEstabelecimento = registro.getCodigoEstabelecimento(); + String especie = registro.getEspecie(); + String numeroAIDF = registro.getNumeroAIDF(); + String serieAIDF = registro.getSerieAIDF(); + String subSerieAIDF = registro.getSubSerieAIDF(); + Long numeroInicial = registro.getNumeroInicial(); + Long numeroFinal = registro.getNumeroFinal(); + Integer quantidadeCancelados = registro.getQuantidadeCancelados(); + String dataEmissao = registro.getDataEmissao(); + BigDecimal valorTotal = registro.getValorTotal(); + Boolean resumoMovimentoDiario = registro.getResumoMovimentoDiario(); + String numeroAIDFRMD = registro.getNumeroAIDFRMD(); + String serieAIDFRMD = registro.getSerieAIDFRMD(); + String subSerieAIDFRMD = registro.getSubSerieAIDFRMD(); + Integer numeroRMD = registro.getNumeroRMD(); + String infoPadraoBilhetePassagem = registro.getInfoPadraoBilhetePassagem(); + + StringBuilder sb = new StringBuilder(); + sb.append("BPS").append(SEPARADOR); + sb.append(String.format("%04d", codigoEstabelecimento)).append(SEPARADOR); + sb.append(formataCaracter(especie, false, 5)).append(SEPARADOR); + sb.append(formataNumerico(numeroAIDF, true, 25)).append(SEPARADOR); + sb.append(formataCaracter(serieAIDF, false, 3)).append(SEPARADOR); + sb.append(formataCaracter(subSerieAIDF, false, 3)).append(SEPARADOR); + sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(quantidadeCancelados, true, 9)).append(SEPARADOR); + sb.append(formataNumerico(numeroInicial, true, 6)).append(SEPARADOR); + sb.append(formataNumerico(numeroFinal, true, 6)).append(SEPARADOR); + sb.append(formataCaracter(dataEmissao, true, 8)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(resumoMovimentoDiario == null ? "" : resumoMovimentoDiario ? "S" : "N").append(SEPARADOR); + sb.append(formataNumerico(numeroAIDFRMD, true, 25)).append(SEPARADOR); + sb.append(formataCaracter(serieAIDFRMD, false, 3)).append(SEPARADOR); + sb.append(formataCaracter(subSerieAIDFRMD, false, 3)).append(SEPARADOR); + sb.append(String.format("%06d", numeroRMD)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 21 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 22 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 23 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 24 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 25 + sb.append(formataCaracter(VAZIO, false, 15)).append(SEPARADOR); // Posição 26 + sb.append("").append(SEPARADOR); // Posição 27 + sb.append("01").append(SEPARADOR); + sb.append("01").append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 30 + sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 31 + sb.append(formataCaracter(infoPadraoBilhetePassagem, false, 8)); + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + + adicionarRegistroRMDTipoSeqDBP(writer, registro.getListaDBP()); + } + } + + private void adicionarRegistroRMDTipoSeqDBP(PrintWriter writer, List listaRegistroRMDTipoDBP) { + for (ExportacaoRMDTipoSeqDBP registro : listaRegistroRMDTipoDBP) { + String ufDestino = registro.getUfDestino(); + Integer cfop = registro.getCfop(); // IM=5357; serviço IE= 6357 + BigDecimal valorTotal = registro.getValorTotal(); + BigDecimal valorBaseCalculoICMS = registro.getValorBaseCalculoICMS(); + BigDecimal aliquotaICMS = registro.getAliquotaICMS(); + BigDecimal valorICMS = registro.getValorICMS(); + BigDecimal valorICMSIsento = registro.getValorICMSIsento(); +// BigDecimal valorICMSOutros = registro.getValorICMSOutros(); + + BigDecimal difValorTotalICMS = valorTotal.subtract(valorBaseCalculoICMS); + + Integer codigoSituacaoTribColunaB = registro.getCodigoSituacaoTribColunaB(); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + String ufOrigem = registro.getUfOrigem(); + Integer municipioestadoOrigem = registro.getMunicipioOrigem(); + + String municipioOrigem = municipioestadoOrigem.toString(); + + if (municipioOrigem.length() > 5) { + municipioOrigem = municipioOrigem.substring(municipioOrigem.length() - 5, municipioOrigem.length()); + } + + StringBuilder sb = new StringBuilder(); + sb.append("DBP").append(SEPARADOR); + sb.append(formataCaracter(ufDestino, true, 2)).append(SEPARADOR); + sb.append(formataNumerico(cfop, true, 4)).append(SEPARADOR); + sb.append(formataValor(valorTotal, 15)).append(SEPARADOR); + sb.append(formataValor(valorBaseCalculoICMS, 15)).append(SEPARADOR); + sb.append(formataValor(aliquotaICMS, 5)).append(SEPARADOR); + sb.append(formataValor(valorICMS, 15)).append(SEPARADOR); + sb.append(formataValor(valorICMSIsento, 15)).append(SEPARADOR); + sb.append(formataValor(difValorTotalICMS, 15)).append(SEPARADOR); + sb.append(codigoSituacaoTribColunaB == 0 ? "00" : formataNumerico(codigoSituacaoTribColunaB, true, 2)).append(SEPARADOR); + sb.append(formataCaracter(ufOrigem, true, 2)).append(SEPARADOR); + sb.append(municipioOrigem).append(SEPARADOR); + sb.append(formataCaracter(VAZIO, false, 3)); // Posição 13 + + writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA); + } + } + + private String formataCaracter(String valor, boolean removeMascara, int tamanho) { + if (valor == null) { + valor = ""; + } + +// if (removeMascara) { +// valor = valor.replace("-", "").replace(".", "").replace("/", ""); +// } +// +// if (valor.length() > tamanho) { +// valor = valor.substring(0, tamanho); +// } +// +// return String.format("%1$-" + tamanho + "s", valor); + + return valor; + } + + private String formataNumerico(final String valor, final boolean removeMascara, final int tamanho) { + String retorno = StringUtils.trim(valor); + + if (retorno == null) { + retorno = "0"; + } + +// if (removeMascara) { +// retorno = retorno.replace("-", "").replace(".", "").replace("/", ""); +// } +// +// retorno = retorno.replace(".", "").replace(",",""); +// +// if (tamanho > 0) { +// if (retorno.length() > tamanho) { +// retorno = retorno.substring(retorno.length() - tamanho, retorno.length()); +// } +// +// return StringUtils.leftPad(retorno, tamanho, "0"); +// } + + return retorno; + } + + private String formataNumerico(final Long valor, final boolean removeMascara, final int tamanho) { +// if (valor == null) { +// return formataCaracter(" ", true, tamanho); +// } else { +// return formataNumerico(valor.toString(), removeMascara, tamanho); +// } + if (valor == null) { + return "0"; + } else { + return formataNumerico(valor.toString(), removeMascara, tamanho); + } + } + + private String formataNumerico(final Integer valor, final boolean removeMascara, final int tamanho) { +// if (valor == null) { +// return formataCaracter(" ", true, tamanho); +// } else { +// return formataNumerico(valor.toString(), removeMascara, tamanho); +// } + if (valor == null) { + return "0"; + } else { + return formataNumerico(valor.toString(), removeMascara, tamanho); + } + } + + private String formataValor(final BigDecimal valor, final int tamanho) { +// if (valor == null) { +// return formataCaracter(" ", true, tamanho); +// } else { +// return formataNumerico(valor.setScale(2).toString(), false, tamanho); +// } + if (valor == null) { + return "0"; + } else { + return valor.setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); + } + } +} diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java index 51a796150..1616184c6 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoBPR.java @@ -254,18 +254,18 @@ public class ExportacaoBPR { if (indice == -1) { registroBPS.getListaDBP().add(registroDBP); - registroDBP.setCfop(cfop); // IM=5357; Serviço IE= 6357 + registroDBP.setCfop(cfop); // IM=5357; serviço IE= 6357 registroDBP.setUfOrigem(ufOrigem); registroDBP.setMunicipioOrigem(municipioOrigem); registroDBP.setCodigoSituacaoTribColunaB(null); - // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos if (isenta) { registroDBP.setCodigoSituacaoTribColunaB(40); } - // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos if (registroDBP.getCodigoSituacaoTribColunaB() == null) { registroDBP.setCodigoSituacaoTribColunaB(red_base_calc_icms == null || red_base_calc_icms.compareTo(BigDecimal.ZERO) == 0 ? 0 : 20); } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECF.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECF.java index ce591d7a5..8e351f352 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECF.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECF.java @@ -137,7 +137,7 @@ public class ExportacaoECF { registro.setCodigoSituacaoTribColunaB(null); - // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos if (base.getIsenta() == 1) { registro.setCodigoSituacaoTribColunaB(40); } @@ -146,14 +146,14 @@ public class ExportacaoECF { registro.setMunicipioOrigem(base.getMunicipioOrigem()); registro.setUfDestino(base.getUfDestino()); - // IM=5357; Serviço IE= 6357 + // IM=5357; serviço IE= 6357 if (base.getUfOrigem().equals(base.getUfDestino())) { registro.setCfop(5357); } else { registro.setCfop(6357); } - // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos if (registro.getCodigoSituacaoTribColunaB() == null) { registro.setCodigoSituacaoTribColunaB(base.getReducaoBaseCalcICMS().compareTo(BigDecimal.ZERO) == 0 ? 0 : 20); } @@ -182,7 +182,7 @@ public class ExportacaoECF { registro.setValorTotal(valorTotal); - // 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1" + // 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1" registro.setTributacaoICMS(registro.getCodigoSituacaoTribColunaB() == 40 ? 2 : 1); registro.setValorBaseCalculoICMS(valorBaseCalculoICMS); @@ -253,9 +253,9 @@ public class ExportacaoECF { String ufDestino = ""; String ufOrigem = ""; Integer municipioOrigem = 0; - Integer cfop = 0; // IM=5357; Serviço IE= 6357 + Integer cfop = 0; // IM=5357; serviço IE= 6357 - // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos Integer codigoSituacaoTribColunaB = null; if (base.getIsenta() == 1) { @@ -268,14 +268,14 @@ public class ExportacaoECF { ufOrigem = base.getUfOrigem(); municipioOrigem = base.getMunicipioOrigem(); - // IM=5357; Serviço IE= 6357 + // IM=5357; serviço IE= 6357 if (base.getUfOrigem().equals(base.getUfDestino())) { cfop = 5357; } else { cfop = 6357; } - // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos if (codigoSituacaoTribColunaB == null) { codigoSituacaoTribColunaB = base.getReducaoBaseCalcICMS().compareTo(BigDecimal.ZERO) == 0 ? 0 : 20; } @@ -304,8 +304,8 @@ public class ExportacaoECF { registro.setEcf(ecf); registro.setDataEmissao(datamov); registro.setUfDestino(ufDestino); - registro.setCfop(cfop); // IM=5357; Serviço IE= 6357 - registro.setCodigoSituacaoTribColunaB(codigoSituacaoTribColunaB); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + registro.setCfop(cfop); // IM=5357; serviço IE= 6357 + registro.setCodigoSituacaoTribColunaB(codigoSituacaoTribColunaB); // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos registro.setAliquotaICMS(tributacao_importacao); registro.setUfOrigem(ufOrigem); registro.setMunicipioOrigem(municipioOrigem); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoCCF.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoCCF.java index fcb785b89..7ccb5b70a 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoCCF.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoCCF.java @@ -12,10 +12,10 @@ public class ExportacaoECFTipoCCF { private String ufOrigem; private Integer municipioOrigem; private String ufDestino; - private Integer cfop; // IM=5357; Serviço IE= 6357 - private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + private Integer cfop; // IM=5357; serviço IE= 6357 + private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos private BigDecimal valorTotal; - private Integer tributacaoICMS; // 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1" + private Integer tributacaoICMS; // 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1" private BigDecimal valorBaseCalculoICMS; private BigDecimal aliquotaICMS; private String ecf; diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoICF.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoICF.java index 191c30a4e..dfa8977c1 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoICF.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoECFTipoICF.java @@ -5,13 +5,13 @@ import java.math.BigDecimal; public class ExportacaoECFTipoICF { private BigDecimal valorTotal; private String ufDestino; - private Integer cfop; // IM=5357; Serviço IE= 6357 + private Integer cfop; // IM=5357; serviço IE= 6357 private BigDecimal valorBaseCalculoICMS; private BigDecimal aliquotaICMS; private BigDecimal valorICMSDebitado; private BigDecimal valorICMSIsento; private BigDecimal valorICMSOutros; - private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos private String ufOrigem; private Integer municipioOrigem; private String ecf; diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoDBP.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoDBP.java index 356f90a12..cd4b41620 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoDBP.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoDBP.java @@ -4,14 +4,14 @@ import java.math.BigDecimal; public class ExportacaoRMDTipoDBP { private String ufDestino; - private Integer cfop; // IM=5357; Serviço IE= 6357 + private Integer cfop; // IM=5357; serviço IE= 6357 private BigDecimal valorTotal; private BigDecimal valorBaseCalculoICMS; private BigDecimal aliquotaICMS; private BigDecimal valorICMS; private BigDecimal valorICMSIsento; private BigDecimal valorICMSOutros; - private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos private String ufOrigem; private Integer municipioOrigem; diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoSeqDBP.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoSeqDBP.java index bbed2f3c6..35209c1c7 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoSeqDBP.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacaofiscal/vo/ExportacaoRMDTipoSeqDBP.java @@ -4,14 +4,14 @@ import java.math.BigDecimal; public class ExportacaoRMDTipoSeqDBP { private String ufDestino; - private Integer cfop; // IM=5357; Serviço IE= 6357 + private Integer cfop; // IM=5357; serviço IE= 6357 private BigDecimal valorTotal; private BigDecimal valorBaseCalculoICMS; private BigDecimal aliquotaICMS; private BigDecimal valorICMS; private BigDecimal valorICMSIsento; private BigDecimal valorICMSOutros; - private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos + private Integer codigoSituacaoTribColunaB; // 00 - tributação normal; 20 - tributação com redução na base de calculo; 40 - isentos private String ufOrigem; private Integer municipioOrigem; diff --git a/src/com/rjconsultores/ventaboletos/vo/cashmonitor/RelatorioVendaCartaoCashMonitorVO.java b/src/com/rjconsultores/ventaboletos/vo/cashmonitor/RelatorioVendaCartaoCashMonitorVO.java index 5040e3d2f..3f05bcd40 100644 --- a/src/com/rjconsultores/ventaboletos/vo/cashmonitor/RelatorioVendaCartaoCashMonitorVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/cashmonitor/RelatorioVendaCartaoCashMonitorVO.java @@ -107,10 +107,10 @@ public class RelatorioVendaCartaoCashMonitorVO implements Serializable { } public String getCondicaoVenda() { - // Espec01 - Relatorio de vendas de cartões.docx - // CONDICAO DE VENDA: débito/a vista/parcelada + // Espec01 - Relatorio de vendas de cartões.docx + // CONDICAO DE VENDA: Débito/a vista/parcelada if (getFormapago_id()==3) { - return "débito"; + return "Débito"; } else { if (getParcelas() == 1) { return "a vista"; diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java index 9b94b8215..e9446b55f 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java @@ -435,7 +435,7 @@ public class BoletoComissao { } else if (isVendaBilheteTransferencia(getTipoVenta()) || isVendaGap(getTipoVenta())) { return "B. DA TRANSFERENCIA"; } else if (isVendaBilheteConfirmaAberto(getTipoVenta())) { - return "CONFIRMAÇÃO ABERTO"; + return "CONFIRMAÇÃO ABERTO"; } else if (isVendaBilheteCheckin(getTipoVenta())) { return "CHECKIN"; } @@ -1053,7 +1053,7 @@ public class BoletoComissao { } /** - * Retorna TRUE se o motivo de cancelamento for uma geração de OCD e a forma de pagamento for Geração de OCD + * Retorna TRUE se o motivo de cancelamento for uma geração de OCD e a forma de pagamento for geração de OCD * @return */ public boolean isDiferencaTrocaGeracaoOcd() { diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/MovimentosAtrasoVO.java b/src/com/rjconsultores/ventaboletos/vo/comissao/MovimentosAtrasoVO.java index 9d8949fcf..e9f04cd32 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/MovimentosAtrasoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/MovimentosAtrasoVO.java @@ -219,7 +219,7 @@ public class MovimentosAtrasoVO implements Comparable { public String getDesIntervalofechamento() { switch (intervalofechamento) { case Constantes.INTERVALO_FECHAMENTO_DIARIO: - return "Diário"; + return "Diário"; case Constantes.INTERVALO_FECHAMENTO_SEMANAL: return "Semanal"; case Constantes.INTERVALO_FECHAMENTO_DECENDIAL: diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java index 335fe9071..f1fafe05c 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java @@ -199,7 +199,7 @@ public class SecuenciaRutaTramoVO implements Comparable{ } /** - * Método retorna valor de km sem considerar a distancia de entrada e saída da localidade. + * método retorna valor de km sem considerar a distancia de entrada e saída da localidade. * * @return */ @@ -208,7 +208,7 @@ public class SecuenciaRutaTramoVO implements Comparable{ } /** - * Método retorna valor de km sem considerar a distancia de entrada e saída da localidade. + * método retorna valor de km sem considerar a distancia de entrada e saída da localidade. * * @return */ diff --git a/src/org/w3/_2000/_09/xmldsig_/KeyInfoType.java b/src/org/w3/_2000/_09/xmldsig_/KeyInfoType.java index ddb10a193..21e279167 100644 --- a/src/org/w3/_2000/_09/xmldsig_/KeyInfoType.java +++ b/src/org/w3/_2000/_09/xmldsig_/KeyInfoType.java @@ -1,8 +1,8 @@ // -// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 +// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 // Consulte http://java.sun.com/xml/jaxb -// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. -// Gerado em: 2017.08.14 às 03:08:29 PM BRT +// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. +// Gerado em: 2017.08.14 às 03:08:29 PM BRT // @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; /** *

Classe Java de KeyInfoType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="KeyInfoType">
@@ -54,7 +54,7 @@ public class KeyInfoType {
     protected String id;
 
     /**
-     * Obtém o valor da propriedade x509Data.
+     * Obtém o valor da propriedade x509Data.
      * 
      * @return
      *     possible object is
@@ -78,7 +78,7 @@ public class KeyInfoType {
     }
 
     /**
-     * Obtém o valor da propriedade id.
+     * Obtém o valor da propriedade id.
      * 
      * @return
      *     possible object is
diff --git a/src/org/w3/_2000/_09/xmldsig_/ObjectFactory.java b/src/org/w3/_2000/_09/xmldsig_/ObjectFactory.java
index 621f0b825..4d6f2c7a9 100644
--- a/src/org/w3/_2000/_09/xmldsig_/ObjectFactory.java
+++ b/src/org/w3/_2000/_09/xmldsig_/ObjectFactory.java
@@ -1,8 +1,8 @@
 ////
-//// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+//// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 //// Consulte http://java.sun.com/xml/jaxb 
-//// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-//// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+//// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+//// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 ////
 //
 //
diff --git a/src/org/w3/_2000/_09/xmldsig_/ReferenceType.java b/src/org/w3/_2000/_09/xmldsig_/ReferenceType.java
index 89c8c9404..14b40c43c 100644
--- a/src/org/w3/_2000/_09/xmldsig_/ReferenceType.java
+++ b/src/org/w3/_2000/_09/xmldsig_/ReferenceType.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -22,7 +22,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 /**
  * 

Classe Java de ReferenceType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="ReferenceType">
@@ -83,7 +83,7 @@ public class ReferenceType {
     protected String type;
 
     /**
-     * Obtém o valor da propriedade transforms.
+     * Obtém o valor da propriedade transforms.
      * 
      * @return
      *     possible object is
@@ -107,7 +107,7 @@ public class ReferenceType {
     }
 
     /**
-     * Obtém o valor da propriedade digestMethod.
+     * Obtém o valor da propriedade digestMethod.
      * 
      * @return
      *     possible object is
@@ -131,7 +131,7 @@ public class ReferenceType {
     }
 
     /**
-     * Obtém o valor da propriedade digestValue.
+     * Obtém o valor da propriedade digestValue.
      * 
      * @return
      *     possible object is
@@ -153,7 +153,7 @@ public class ReferenceType {
     }
 
     /**
-     * Obtém o valor da propriedade id.
+     * Obtém o valor da propriedade id.
      * 
      * @return
      *     possible object is
@@ -177,7 +177,7 @@ public class ReferenceType {
     }
 
     /**
-     * Obtém o valor da propriedade uri.
+     * Obtém o valor da propriedade uri.
      * 
      * @return
      *     possible object is
@@ -201,7 +201,7 @@ public class ReferenceType {
     }
 
     /**
-     * Obtém o valor da propriedade type.
+     * Obtém o valor da propriedade type.
      * 
      * @return
      *     possible object is
@@ -228,7 +228,7 @@ public class ReferenceType {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -251,7 +251,7 @@ public class ReferenceType {
         protected String algorithm;
 
         /**
-         * Obtém o valor da propriedade algorithm.
+         * Obtém o valor da propriedade algorithm.
          * 
          * @return
          *     possible object is
diff --git a/src/org/w3/_2000/_09/xmldsig_/SignatureType.java b/src/org/w3/_2000/_09/xmldsig_/SignatureType.java
index 93c004ef5..e0940cb43 100644
--- a/src/org/w3/_2000/_09/xmldsig_/SignatureType.java
+++ b/src/org/w3/_2000/_09/xmldsig_/SignatureType.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -22,7 +22,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 /**
  * 

Classe Java de SignatureType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="SignatureType">
@@ -62,7 +62,7 @@ public class SignatureType {
     protected String id;
 
     /**
-     * Obtém o valor da propriedade signedInfo.
+     * Obtém o valor da propriedade signedInfo.
      * 
      * @return
      *     possible object is
@@ -86,7 +86,7 @@ public class SignatureType {
     }
 
     /**
-     * Obtém o valor da propriedade signatureValue.
+     * Obtém o valor da propriedade signatureValue.
      * 
      * @return
      *     possible object is
@@ -110,7 +110,7 @@ public class SignatureType {
     }
 
     /**
-     * Obtém o valor da propriedade keyInfo.
+     * Obtém o valor da propriedade keyInfo.
      * 
      * @return
      *     possible object is
@@ -134,7 +134,7 @@ public class SignatureType {
     }
 
     /**
-     * Obtém o valor da propriedade id.
+     * Obtém o valor da propriedade id.
      * 
      * @return
      *     possible object is
diff --git a/src/org/w3/_2000/_09/xmldsig_/SignatureValueType.java b/src/org/w3/_2000/_09/xmldsig_/SignatureValueType.java
index 84fee1417..62923a271 100644
--- a/src/org/w3/_2000/_09/xmldsig_/SignatureValueType.java
+++ b/src/org/w3/_2000/_09/xmldsig_/SignatureValueType.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -22,7 +22,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 /**
  * 

Classe Java de SignatureValueType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="SignatureValueType">
@@ -51,7 +51,7 @@ public class SignatureValueType {
     protected String id;
 
     /**
-     * Obtém o valor da propriedade value.
+     * Obtém o valor da propriedade value.
      * 
      * @return
      *     possible object is
@@ -73,7 +73,7 @@ public class SignatureValueType {
     }
 
     /**
-     * Obtém o valor da propriedade id.
+     * Obtém o valor da propriedade id.
      * 
      * @return
      *     possible object is
diff --git a/src/org/w3/_2000/_09/xmldsig_/SignedInfoType.java b/src/org/w3/_2000/_09/xmldsig_/SignedInfoType.java
index 9eaa43c5f..61dcd0dbc 100644
--- a/src/org/w3/_2000/_09/xmldsig_/SignedInfoType.java
+++ b/src/org/w3/_2000/_09/xmldsig_/SignedInfoType.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -22,7 +22,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 /**
  * 

Classe Java de SignedInfoType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="SignedInfoType">
@@ -78,7 +78,7 @@ public class SignedInfoType {
     protected String id;
 
     /**
-     * Obtém o valor da propriedade canonicalizationMethod.
+     * Obtém o valor da propriedade canonicalizationMethod.
      * 
      * @return
      *     possible object is
@@ -102,7 +102,7 @@ public class SignedInfoType {
     }
 
     /**
-     * Obtém o valor da propriedade signatureMethod.
+     * Obtém o valor da propriedade signatureMethod.
      * 
      * @return
      *     possible object is
@@ -126,7 +126,7 @@ public class SignedInfoType {
     }
 
     /**
-     * Obtém o valor da propriedade reference.
+     * Obtém o valor da propriedade reference.
      * 
      * @return
      *     possible object is
@@ -150,7 +150,7 @@ public class SignedInfoType {
     }
 
     /**
-     * Obtém o valor da propriedade id.
+     * Obtém o valor da propriedade id.
      * 
      * @return
      *     possible object is
@@ -177,7 +177,7 @@ public class SignedInfoType {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -200,7 +200,7 @@ public class SignedInfoType {
         protected String algorithm;
 
         /**
-         * Obtém o valor da propriedade algorithm.
+         * Obtém o valor da propriedade algorithm.
          * 
          * @return
          *     possible object is
@@ -233,7 +233,7 @@ public class SignedInfoType {
     /**
      * 

Classe Java de anonymous complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

      * <complexType>
@@ -256,7 +256,7 @@ public class SignedInfoType {
         protected String algorithm;
 
         /**
-         * Obtém o valor da propriedade algorithm.
+         * Obtém o valor da propriedade algorithm.
          * 
          * @return
          *     possible object is
diff --git a/src/org/w3/_2000/_09/xmldsig_/TransformType.java b/src/org/w3/_2000/_09/xmldsig_/TransformType.java
index e8b94657a..26b65fc65 100644
--- a/src/org/w3/_2000/_09/xmldsig_/TransformType.java
+++ b/src/org/w3/_2000/_09/xmldsig_/TransformType.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlType;
 /**
  * 

Classe Java de TransformType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TransformType">
@@ -78,7 +78,7 @@ public class TransformType {
     }
 
     /**
-     * Obtém o valor da propriedade algorithm.
+     * Obtém o valor da propriedade algorithm.
      * 
      * @return
      *     possible object is
diff --git a/src/org/w3/_2000/_09/xmldsig_/TransformsType.java b/src/org/w3/_2000/_09/xmldsig_/TransformsType.java
index fbbb883ba..6a616e6d5 100644
--- a/src/org/w3/_2000/_09/xmldsig_/TransformsType.java
+++ b/src/org/w3/_2000/_09/xmldsig_/TransformsType.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -19,7 +19,7 @@ import javax.xml.bind.annotation.XmlType;
 /**
  * 

Classe Java de TransformsType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="TransformsType">
diff --git a/src/org/w3/_2000/_09/xmldsig_/X509DataType.java b/src/org/w3/_2000/_09/xmldsig_/X509DataType.java
index 21ea66bcb..87e971947 100644
--- a/src/org/w3/_2000/_09/xmldsig_/X509DataType.java
+++ b/src/org/w3/_2000/_09/xmldsig_/X509DataType.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 
@@ -17,7 +17,7 @@ import javax.xml.bind.annotation.XmlType;
 /**
  * 

Classe Java de X509DataType complex type. * - *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. + *

O seguinte fragmento do esquema especifica o conteúdo esperado contido dentro desta classe. * *

  * <complexType name="X509DataType">
@@ -43,7 +43,7 @@ public class X509DataType {
     protected byte[] x509Certificate;
 
     /**
-     * Obtém o valor da propriedade x509Certificate.
+     * Obtém o valor da propriedade x509Certificate.
      * 
      * @return
      *     possible object is
diff --git a/src/org/w3/_2000/_09/xmldsig_/package-info.java b/src/org/w3/_2000/_09/xmldsig_/package-info.java
index fce93d84a..3a4caf0c5 100644
--- a/src/org/w3/_2000/_09/xmldsig_/package-info.java
+++ b/src/org/w3/_2000/_09/xmldsig_/package-info.java
@@ -1,8 +1,8 @@
 //
-// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
+// Este arquivo foi gerado pela Arquitetura JavaTM para Implementação de Referência (JAXB) de Bind XML, v2.2.8-b130911.1802 
 // Consulte http://java.sun.com/xml/jaxb 
-// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
-// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
+// Todas as modificações neste arquivo serão perdidas após a recompilação do esquema de origem. 
+// Gerado em: 2017.08.14 às 03:08:29 PM BRT 
 //
 
 //@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2000/09/xmldsig#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)