Skip to content

Commit 1040a4d

Browse files
Add VoidedDocuments support (#150)
* Update README.md * Upgrade docs swagger * Add voided documents to core * Add voided documents to quarkus extension * Add classes to quarkus extension * add voided documents
1 parent 1de9c50 commit 1040a4d

File tree

75 files changed

+1029
-367
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1029
-367
lines changed

README.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
[![Project Chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg?style=for-the-badge&logo=zulip)](https://projectopenubl.zulipchat.com/)
66
[![Supported JVM Versions](https://img.shields.io/badge/JVM-11--17-brightgreen.svg?style=for-the-badge&logo=Java)](https://github.com/project-openubl/xbuilder/actions/runs/472762588/)
77

8-
#### XBuilder
9-
[![Maven Central](https://img.shields.io/maven-central/v/io.github.project-openubl/xbuilder)](https://search.maven.org/artifact/io.github.project-openubl/xbuilder/)
10-
11-
#### Quarkus XBuilder
12-
[![Maven Central](https://img.shields.io/maven-central/v/io.github.project-openubl/quarkus-xbuilder)](https://search.maven.org/artifact/io.github.project-openubl/quarkus-xbuilder/)
8+
| Artifact | Version |
9+
|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
10+
| XBuilder | [![Maven Central](https://img.shields.io/maven-central/v/io.github.project-openubl/xbuilder)](https://search.maven.org/artifact/io.github.project-openubl/xbuilder/) |
11+
| XBuilder Quarkus extension | [![Maven Central](https://img.shields.io/maven-central/v/io.github.project-openubl/quarkus-xbuilder)](https://search.maven.org/artifact/io.github.project-openubl/quarkus-xbuilder/) |
1312

1413
# XBuilder
1514

@@ -29,12 +28,16 @@ XBuilder esta diseñado para que puedas crear XMLs fácilmente.
2928
## Getting started
3029

3130
- [Documentación](https://project-openubl.github.io)
32-
- [Discusiones](https://github.com/project-openubl/xsender/discussions)
31+
- [Discusiones](https://github.com/project-openubl/xbuilder/discussions)
3332

3433
## Developers
3534

3635
### Update snapshots
3736

3837
```shell
3938
mvn clean test -Dxbuilder.snapshot.update
40-
```
39+
```
40+
41+
## License
42+
43+
- [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)

core/src/main/java/io/github/project/openubl/xbuilder/content/models/common/Cliente.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,21 @@ public class Cliente {
4141
* <p>
4242
* Valores válidos: {@link Catalog6}
4343
*/
44-
@Schema(description = "Catalogo 06", required = true)
44+
@Schema(description = "Catalogo 06", requiredMode = Schema.RequiredMode.REQUIRED)
4545
private String tipoDocumentoIdentidad;
4646

4747
/**
4848
* Número de documento de identidad del cliente.
4949
*/
50-
@Schema(required = true)
50+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
5151
private String numeroDocumentoIdentidad;
5252

5353
/**
5454
* Nombre del cliente. Si el cliente es personal natural entonces
5555
* es el nombre y apellidos de la persona; si el cliente es una persona jurídica
5656
* entonces es la razón social de la empresa.
5757
*/
58-
@Schema(required = true)
58+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
5959
private String nombre;
6060

6161
/**
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
* Copyright 2019 Project OpenUBL, Inc. and/or its affiliates
3+
* and other contributors as indicated by the @author tags.
4+
*
5+
* Licensed under the Apache License - 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* https://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
package io.github.project.openubl.xbuilder.content.models.common;
18+
19+
import io.swagger.v3.oas.annotations.media.Schema;
20+
import lombok.Data;
21+
import lombok.NoArgsConstructor;
22+
import lombok.experimental.SuperBuilder;
23+
24+
import java.time.LocalDate;
25+
26+
@Data
27+
@SuperBuilder
28+
@NoArgsConstructor
29+
public abstract class Document {
30+
31+
/**
32+
* Fecha de emisión del comprobante. Ejemplo 2022-12-25 (YYYY-MM-SS)
33+
*/
34+
@Schema(description = "Format: \"YYYY-MM-SS\". Ejemplo: 2022-12-25", pattern = "^\\d{4}-\\d{2}-\\d{2}$")
35+
private LocalDate fechaEmision;
36+
37+
/**
38+
* Proveedor del bien o servicio
39+
*/
40+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
41+
private Proveedor proveedor;
42+
43+
/**
44+
* Persona que firma electrónicamente el comprobante. Si es NULL los datos del proveedor son usados.
45+
*/
46+
@Schema(
47+
description = "Persona que firma electrónicamente el comprobante. Si NULL los datos del proveedor son usados."
48+
)
49+
private Firmante firmante;
50+
51+
}

core/src/main/java/io/github/project/openubl/xbuilder/content/models/common/Firmante.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ public class Firmante {
3636
/**
3737
* Número de RUC de la persona
3838
*/
39-
@Schema(required = true, minLength = 11, maxLength = 11, pattern = "[0-9]+")
39+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, minLength = 11, maxLength = 11, pattern = "[0-9]+")
4040
private String ruc;
4141

4242
/**
4343
* Razón social de la persona
4444
*/
45-
@Schema(required = true)
45+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
4646
private String razonSocial;
4747
}

core/src/main/java/io/github/project/openubl/xbuilder/content/models/common/Proveedor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class Proveedor {
3636
/**
3737
* Número de RUC de la persona jurídica
3838
*/
39-
@Schema(required = true, minLength = 11, maxLength = 11, pattern = "[0-9]+")
39+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, minLength = 11, maxLength = 11, pattern = "[0-9]+")
4040
private String ruc;
4141

4242
/**
@@ -47,7 +47,7 @@ public class Proveedor {
4747
/**
4848
* Razón social de la persona jurídica
4949
*/
50-
@Schema(required = true)
50+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
5151
private String razonSocial;
5252

5353
/**

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/Anticipo.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ public class Anticipo {
4444
* <p>
4545
* Valores válidos: "04", "05", "06"
4646
*/
47-
@Schema(example = "04", description = "Catalog 53", required = true, allowableValues = {"04", "05", "06"})
47+
@Schema(example = "04", description = "Catalog 53", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"04", "05", "06"})
4848
private String tipo;
4949

5050
/**
5151
* Serie y número de comprobante del anticipo, por ejemplo "F123-4"
5252
*/
53-
@Schema(example = "F123-4", required = true)
53+
@Schema(example = "F123-4", requiredMode = Schema.RequiredMode.REQUIRED)
5454
private String comprobanteSerieNumero;
5555

5656
/**
@@ -63,6 +63,6 @@ public class Anticipo {
6363
/**
6464
* Monto prepagado o anticipado
6565
*/
66-
@Schema(example = "10", required = true, minimum = "0", exclusiveMinimum = true)
66+
@Schema(example = "10", requiredMode = Schema.RequiredMode.REQUIRED, minimum = "0", exclusiveMinimum = true)
6767
private BigDecimal monto;
6868
}

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/CuotaDePago.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ public class CuotaDePago {
3939
/**
4040
* Importe de la cuota
4141
*/
42-
@Schema(required = true, minimum = "0", exclusiveMinimum = true)
42+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, minimum = "0", exclusiveMinimum = true)
4343
private BigDecimal importe;
4444

4545
/**
4646
* Fecha de pago de la cuota
4747
*/
48-
@Schema(description = "Ejemplo 2022-12-25", required = true, pattern = "^\\d{4}-\\d{2}-\\d{2}$")
48+
@Schema(description = "Ejemplo 2022-12-25", requiredMode = Schema.RequiredMode.REQUIRED, pattern = "^\\d{4}-\\d{2}-\\d{2}$")
4949
private LocalDate fechaPago;
5050
}

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/Detraccion.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,21 @@ public class Detraccion {
3838
/**
3939
* Catalog59
4040
**/
41-
@Schema(description = "Catalogo 59", required = true)
41+
@Schema(description = "Catalogo 59", requiredMode = Schema.RequiredMode.REQUIRED)
4242
private String medioDePago;
4343

44-
@Schema(required = true)
44+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
4545
private String cuentaBancaria;
4646

4747
/**
4848
* Catalog54
4949
**/
50-
@Schema(description = "Catalog 54", required = true)
50+
@Schema(description = "Catalog 54", requiredMode = Schema.RequiredMode.REQUIRED)
5151
private String tipoBienDetraido;
5252

53-
@Schema(required = true, minimum = "0", maximum = "1", exclusiveMinimum = true)
53+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, minimum = "0", maximum = "1", exclusiveMinimum = true)
5454
private BigDecimal porcentaje;
5555

56-
@Schema(required = true, minimum = "0", exclusiveMinimum = true)
56+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, minimum = "0", exclusiveMinimum = true)
5757
private BigDecimal monto;
5858
}

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/DocumentoRelacionado.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
@AllArgsConstructor
2929
public class DocumentoRelacionado {
3030

31-
@Schema(description = "Catalog 12", required = true)
31+
@Schema(description = "Catalog 12", requiredMode = Schema.RequiredMode.REQUIRED)
3232
private String tipoDocumento;
3333

34-
@Schema(required = true)
34+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
3535
private String serieNumero;
3636
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@
2828
@Builder
2929
@NoArgsConstructor
3030
@AllArgsConstructor
31-
public class DocumentoDetalle {
31+
public class DocumentoVentaDetalle {
3232

33-
@Schema(description = "Descripcion del bien o servicio", required = true)
33+
@Schema(description = "Descripcion del bien o servicio", requiredMode = Schema.RequiredMode.REQUIRED)
3434
private String descripcion;
3535

3636
private String unidadMedida;
3737

38-
@Schema(required = true, minimum = "0", exclusiveMinimum = true)
38+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, minimum = "0", exclusiveMinimum = true)
3939
private BigDecimal cantidad;
4040

4141
@Schema(description = "Precio sin incluir impuestos", minimum = "0")
@@ -51,7 +51,7 @@ public class DocumentoDetalle {
5151
private String precioReferenciaTipo;
5252

5353
// Impuestos
54-
@Schema(description = "Ejemplo 0.18", minimum = "0", maximum = "1")
54+
@Schema(description = "Monto total de IGV", minimum = "0")
5555
private BigDecimal igv;
5656

5757
@Schema(minimum = "0")

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/FormaDePago.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
@AllArgsConstructor
3333
public class FormaDePago {
3434

35-
@Schema(description = "CREDITO o CONTADO", required = true)
35+
@Schema(description = "CREDITO o CONTADO", requiredMode = Schema.RequiredMode.REQUIRED)
3636
private String tipo;
3737

38-
@Schema(description = "Monto total de pago", required = true, minimum = "0")
38+
@Schema(description = "Monto total de pago", requiredMode = Schema.RequiredMode.REQUIRED, minimum = "0")
3939
private BigDecimal total;
4040

4141
@Schema(description = "Cuotas de pago")

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/Guia.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
@AllArgsConstructor
2929
public class Guia {
3030

31-
@Schema(required = true)
31+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
3232
private String serieNumero;
3333

3434
/**
@@ -38,6 +38,6 @@ public class Guia {
3838
* <p>
3939
* Valores válidos: "09", "31"
4040
*/
41-
@Schema(description = "Catalogo 01", required = true)
41+
@Schema(description = "Catalogo 01", requiredMode = Schema.RequiredMode.REQUIRED)
4242
private String tipoDocumento;
4343
}

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/Invoice.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
@NoArgsConstructor
3636
@EqualsAndHashCode(callSuper = true)
3737
@ToString(callSuper = true)
38-
public class Invoice extends Document {
38+
public class Invoice extends SalesDocument {
3939

4040
@Schema(description = "Ejemplo 2022-12-25", pattern = "^\\d{4}-\\d{2}-\\d{2}$")
4141
private LocalDate fechaVencimiento;

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/Note.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
@SuperBuilder
3232
@NoArgsConstructor
3333
@EqualsAndHashCode(callSuper = true)
34-
public abstract class Note extends Document {
34+
public abstract class Note extends SalesDocument {
3535

3636
/**
3737
* Tipo de nota.
@@ -47,7 +47,7 @@ public abstract class Note extends Document {
4747
* Serie y número del comprobante al que le aplica la nota de crédito/débito.
4848
* Ejemplo: F001-1
4949
*/
50-
@Schema(required = true)
50+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
5151
private String comprobanteAfectadoSerieNumero;
5252

5353
/**
@@ -61,7 +61,7 @@ public abstract class Note extends Document {
6161
/**
6262
* Texto sustentatorio para la emision de la nota
6363
*/
64-
@Schema(required = true)
64+
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
6565
private String sustentoDescripcion;
6666

6767
/**

core/src/main/java/io/github/project/openubl/xbuilder/content/models/standard/general/Percepcion.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class Percepcion {
3333
/**
3434
* Catalog53
3535
*/
36-
@Schema(description = "Catalog 53", required = true)
36+
@Schema(description = "Catalog 53", requiredMode = Schema.RequiredMode.REQUIRED)
3737
private String tipo;
3838

3939
private BigDecimal montoBase; // importeSinImpuestos

0 commit comments

Comments
 (0)