import hu.gov.nav.schemas.ntca._1_0.common.FunctionCodeType;
import hu.gov.nav.schemas.osa._3_0.api.*;
import hu.gov.nav.schemas.osa._3_0.data.InvoiceData;
+import hu.user.lis.db.IncomingInvoice;
import hu.user.lis.service.nav.TaxOfficeInvoiceService;
import hu.user.lis.service.nav.TaxOfficeProperties;
import hu.user.lis.service.nav.TaxOfficeRequestBuilder;
import hu.user.lis.service.nav.TaxOfficeXmlConverter;
+import hu.user.lis.service.nav.mapper.InvoiceMapper;
import io.netty.channel.ChannelOption;
import io.netty.handler.timeout.ReadTimeoutHandler;
import io.netty.handler.timeout.WriteTimeoutHandler;
@Autowired
TaxOfficeInvoiceService taxOfficeInvoiceService;
+ @Autowired
+ InvoiceMapper invoiceMapper;
@Test
public void testWithRestTemplate() throws Exception {
QueryInvoiceDigestRequest queryRequest = taxOfficeRequestBuilder.requestInvoiceDigest();
queryRequest.setPage(1);
queryRequest.setInvoiceDirection(InvoiceDirectionType.INBOUND);
- queryRequest.setInvoiceQueryParams(taxOfficeRequestBuilder.params(34));
+ queryRequest.setInvoiceQueryParams(taxOfficeRequestBuilder.params(0, 34));
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_XML);
QueryInvoiceDigestRequest queryRequest = taxOfficeRequestBuilder.requestInvoiceDigest();
queryRequest.setPage(1);
queryRequest.setInvoiceDirection(InvoiceDirectionType.INBOUND);
- queryRequest.setInvoiceQueryParams(taxOfficeRequestBuilder.params(34));
+ queryRequest.setInvoiceQueryParams(taxOfficeRequestBuilder.params(0, 34));
WebClient client = WebClient.create(properties.getUrl());
WebClient.UriSpec<WebClient.RequestBodySpec> uriSpec = client.post();
QueryInvoiceDigestRequest queryRequest = taxOfficeRequestBuilder.requestInvoiceDigest();
queryRequest.setPage(1);
queryRequest.setInvoiceDirection(InvoiceDirectionType.INBOUND);
- queryRequest.setInvoiceQueryParams(taxOfficeRequestBuilder.params(34));
+ queryRequest.setInvoiceQueryParams(taxOfficeRequestBuilder.params(0, 34));
HttpClient httpClient = HttpClient.create()
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 5000)
int availablePages = 1;
int currentPage = 1;
while (currentPage <= availablePages) {
- Optional<QueryInvoiceDigestResponse> response = taxOfficeInvoiceService.queryInboundInvoices(currentPage, 34);
+ Optional<QueryInvoiceDigestResponse> response = taxOfficeInvoiceService.queryInboundInvoices(currentPage, 15, 34);
if (!response.isPresent()) {
break;
}
if (invoiceList.isPresent()) {
for (InvoiceDigestType invoiceDigest : invoiceList.get()) {
String invoiceNumber = invoiceDigest.getInvoiceNumber();
- log.info("Invoice found: {}", invoiceNumber);
+
String supplierTaxNumber = invoiceDigest.getSupplierTaxNumber();
String invoiceXML = taxOfficeInvoiceService.queryInboundInvoiceDataAsString(invoiceNumber, supplierTaxNumber);
Optional<InvoiceData> invoiceData = taxOfficeXmlConverter.fromXml(invoiceXML, InvoiceData.class);
//invoiceData.ifPresent(invoice -> log.info("Found invoice: {}", invoiceXML));
+
+ IncomingInvoice entity = null;
+ if (invoiceData.isPresent()) {
+ entity = invoiceMapper.toEntity(invoiceData.get());
+ }
+
+ log.info("Invoice found: {} {} {} {}", invoiceNumber, entity.getNetAmount(), entity.getGrossAmount(), entity.getVatAmount());
+ if ("MPHGT-2023-68".equals(invoiceNumber) || "2FBT-2022-29".equals(invoiceNumber)) {
+ log.info("found");
+ }
+
}
}
}