}
public Optional<QueryInvoiceDigestResponse> queryInboundInvoices(int page, int daysRange) throws Exception {
+ return queryInboundInvoices(page, 0, daysRange);
+ }
+
+ public Optional<QueryInvoiceDigestResponse> queryInboundInvoices(int page, int daysBehindNow, int daysRange) throws Exception {
QueryInvoiceDigestRequest request = taxOfficeRequestBuilder.requestInvoiceDigest();
request.setPage(page);
request.setInvoiceDirection(InvoiceDirectionType.INBOUND);
- request.setInvoiceQueryParams(taxOfficeRequestBuilder.params(daysRange));
+ request.setInvoiceQueryParams(taxOfficeRequestBuilder.params(daysBehindNow, daysRange));
String response = taxOfficeConnector.post("/queryInvoiceDigest", taxOfficeXmlConverter.toXml(request));
return taxOfficeXmlConverter.fromXml(response, QueryInvoiceDigestResponse.class);
}
időpontjára, UTC időben
c. originalInvoiceNumber megadása esetén számlaláncra
*/
- public InvoiceQueryParamsType params(int daysRange) throws DatatypeConfigurationException {
+ public InvoiceQueryParamsType params(int daysBehindNow, int daysRange) throws DatatypeConfigurationException {
MandatoryQueryParamsType mandatoryQueryParamsType = new MandatoryQueryParamsType();
DateIntervalParamType dateInterval = new DateIntervalParamType();
- dateInterval.setDateFrom(DatatypeFactory.newInstance().newXMLGregorianCalendar(
- LocalDateTime.now(ZoneOffset.UTC).minusDays(daysRange).toString())
+ dateInterval.setDateFrom(
+ DatatypeFactory.newInstance().newXMLGregorianCalendar(
+ LocalDateTime.now(ZoneOffset.UTC).minusDays((long) daysBehindNow + daysRange).toString())
+ );
+ dateInterval.setDateTo(
+ DatatypeFactory.newInstance().newXMLGregorianCalendar(
+ LocalDateTime.now(ZoneOffset.UTC).minusDays(daysBehindNow).toString())
);
- dateInterval.setDateTo(DatatypeFactory.newInstance().newXMLGregorianCalendar(LocalDateTime.now().toString()));
mandatoryQueryParamsType.setInvoiceIssueDate(dateInterval);
InvoiceQueryParamsType result = new InvoiceQueryParamsType();
result.setMandatoryQueryParams(mandatoryQueryParamsType);
package hu.user.lis.service.nav.mapper;
-import hu.gov.nav.schemas.osa._3_0.data.InvoiceData;
-import hu.gov.nav.schemas.osa._3_0.data.LineType;
-import hu.gov.nav.schemas.osa._3_0.data.LinesType;
+import hu.gov.nav.schemas.osa._3_0.data.*;
import hu.user.lis.db.IncomingInvoice;
import org.mapstruct.AfterMapping;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import java.util.Objects;
+import java.util.Optional;
import java.util.stream.Collectors;
@Mapper(componentModel = "spring")
}
builder.title(title);
}
+
+ Optional.of(invoiceData)
+ .map(InvoiceData::getInvoiceMain)
+ .map(InvoiceMainType::getInvoice)
+ .map(InvoiceType::getInvoiceSummary).ifPresent(summary -> {
+ if (Objects.isNull(summary.getSummaryGrossData())) {
+ double netAmount = 0;
+ if (Objects.nonNull(summary.getSummaryNormal().getInvoiceNetAmount())) {
+ netAmount = summary.getSummaryNormal().getInvoiceNetAmount().doubleValue();
+ }
+ double vatAmount = 0;
+ if (Objects.nonNull(summary.getSummaryNormal().getInvoiceVatAmount())) {
+ vatAmount = summary.getSummaryNormal().getInvoiceVatAmount().doubleValue();
+ }
+ builder.grossAmount(netAmount + vatAmount);
+ }
+ });
+
}
}
\ No newline at end of file