Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add generated IDs #58

Merged
merged 9 commits into from
Oct 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,28 @@
package io.github.project.openubl.xsender.builder;

import io.github.project.openubl.xmlbuilderlib.clock.SystemClock;
import org.eclipse.microprofile.config.inject.ConfigProperty;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Default;
import java.util.Calendar;
import java.util.TimeZone;

@Default
@ApplicationScoped
public class UblHubXBuilderClock implements SystemClock {

private TimeZone timeZone;
@ConfigProperty(name = "openubl.xbuilder.timezone")
String timezone;

@Override
public TimeZone getTimeZone() {
return timeZone;
return TimeZone.getTimeZone(timezone);
}

@Override
public Calendar getCalendarInstance() {
return Calendar.getInstance();
}

public void setTimeZone(TimeZone timeZone) {
this.timeZone = timeZone;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,43 @@
package io.github.project.openubl.xsender.builder;

import io.github.project.openubl.xmlbuilderlib.config.Config;
import io.github.project.openubl.xmlbuilderlib.models.catalogs.Catalog;
import io.github.project.openubl.xmlbuilderlib.models.catalogs.Catalog10;
import io.github.project.openubl.xmlbuilderlib.models.catalogs.Catalog7;
import io.github.project.openubl.xmlbuilderlib.models.catalogs.Catalog9;
import org.eclipse.microprofile.config.inject.ConfigProperty;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Default;
import java.math.BigDecimal;

@Default
@ApplicationScoped
public class UblHubXBuilderConfig implements Config {

private BigDecimal igv;
private BigDecimal ivap;
private String defaultMoneda;
private String defaultUnidadMedida;
private Catalog9 defaultTipoNotaCredito;
private Catalog10 defaultTipoNotaDebito;
private BigDecimal defaultIcb;
private Catalog7 defaultTipoIgv;
@ConfigProperty(name = "openubl.xbuilder.igv")
BigDecimal igv;

@ConfigProperty(name = "openubl.xbuilder.ivap")
BigDecimal ivap;

@ConfigProperty(name = "openubl.xbuilder.defaultMoneda")
String defaultMoneda;

@ConfigProperty(name = "openubl.xbuilder.defaultUnidadMedida")
String defaultUnidadMedida;

@ConfigProperty(name = "openubl.xbuilder.defaultTipoNotaCredito")
String defaultTipoNotaCredito;

@ConfigProperty(name = "openubl.xbuilder.defaultTipoNotaDebito")
String defaultTipoNotaDebito;

@ConfigProperty(name = "openubl.xbuilder.defaultIcb")
BigDecimal defaultIcb;

@ConfigProperty(name = "openubl.xbuilder.defaultTipoIgv")
String defaultTipoIgv;

@Override
public BigDecimal getIgv() {
Expand All @@ -56,12 +77,15 @@ public String getDefaultUnidadMedida() {

@Override
public Catalog9 getDefaultTipoNotaCredito() {
return defaultTipoNotaCredito;
return Catalog.valueOfCode(Catalog9.class, defaultTipoNotaCredito)
.orElseThrow(() -> new IllegalStateException("Invalid defaultTipoNotaCredito in config")
);
}

@Override
public Catalog10 getDefaultTipoNotaDebito() {
return defaultTipoNotaDebito;
return Catalog.valueOfCode(Catalog10.class, defaultTipoNotaDebito)
.orElseThrow(() -> new IllegalStateException("Invalid defaultTipoNotaDebito in config"));
}

@Override
Expand All @@ -71,38 +95,8 @@ public BigDecimal getDefaultIcb() {

@Override
public Catalog7 getDefaultTipoIgv() {
return defaultTipoIgv;
}

public void setIgv(BigDecimal igv) {
this.igv = igv;
}

public void setIvap(BigDecimal ivap) {
this.ivap = ivap;
return Catalog.valueOfCode(Catalog7.class, defaultTipoIgv)
.orElseThrow(() -> new IllegalStateException("Invalid defaultTipoIgv in config"));
}

public void setDefaultMoneda(String defaultMoneda) {
this.defaultMoneda = defaultMoneda;
}

public void setDefaultUnidadMedida(String defaultUnidadMedida) {
this.defaultUnidadMedida = defaultUnidadMedida;
}

public void setDefaultTipoNotaCredito(Catalog9 defaultTipoNotaCredito) {
this.defaultTipoNotaCredito = defaultTipoNotaCredito;
}

public void setDefaultTipoNotaDebito(Catalog10 defaultTipoNotaDebito) {
this.defaultTipoNotaDebito = defaultTipoNotaDebito;
}

public void setDefaultIcb(BigDecimal defaultIcb) {
this.defaultIcb = defaultIcb;
}

public void setDefaultTipoIgv(Catalog7 defaultTipoIgv) {
this.defaultTipoIgv = defaultTipoIgv;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,21 @@
import io.github.project.openubl.xmlbuilderlib.models.input.standard.note.debitNote.DebitNoteInputModel;
import io.github.project.openubl.xmlbuilderlib.models.input.sunat.SummaryDocumentInputModel;
import io.github.project.openubl.xmlbuilderlib.models.input.sunat.VoidedDocumentInputModel;
import io.github.project.openubl.xsender.models.jpa.entities.NamespaceEntity;
import io.smallrye.mutiny.Uni;

import java.util.Map;

public interface IDGenerator {

void enrichWithID(InvoiceInputModel invoice, Map<String, String> config);
Uni<InvoiceInputModel> enrichWithID(NamespaceEntity namespace, InvoiceInputModel invoice, Map<String, String> config);

void enrichWithID(CreditNoteInputModel creditNote, Map<String, String> config);
Uni<CreditNoteInputModel> enrichWithID(NamespaceEntity namespace, CreditNoteInputModel creditNote, Map<String, String> config);

void enrichWithID(DebitNoteInputModel debitNote, Map<String, String> config);
Uni<DebitNoteInputModel> enrichWithID(NamespaceEntity namespace, DebitNoteInputModel debitNote, Map<String, String> config);

void enrichWithID(VoidedDocumentInputModel voidedDocument, Map<String, String> config);
Uni<VoidedDocumentInputModel> enrichWithID(NamespaceEntity namespace, VoidedDocumentInputModel voidedDocument, Map<String, String> config);

void enrichWithID(SummaryDocumentInputModel summaryDocument, Map<String, String> config);
Uni<SummaryDocumentInputModel> enrichWithID(NamespaceEntity namespace, SummaryDocumentInputModel summaryDocument, Map<String, String> config);

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@
package io.github.project.openubl.xsender.idgenerator;

public enum IDGeneratorType {
none
none,
generated,
}
Loading