diff --git a/src/Componentes/AmazonInvoice.tsx b/src/Componentes/AmazonInvoice.tsx index b61bea0..62e7e51 100644 --- a/src/Componentes/AmazonInvoice.tsx +++ b/src/Componentes/AmazonInvoice.tsx @@ -1,22 +1,13 @@ import React, { useState } from 'react'; import axios from 'axios'; -import '../Interfaces/InvoiceDetail' -import '../Interfaces/Invoice' -import '../HojasDeEstilo/AmazonInovice.css' - - - -// import 'bootstrap/dist/css/bootstrap.min.css'; - - - // - - - +import '../Interfaces/InvoiceDetail'; +import '../Interfaces/Invoice'; +import '../HojasDeEstilo/AmazonInovice.css'; const AmazonInvoice: React.FC = () => { const [id, setId] = useState(''); const [invoice, setInvoice] = useState(null); + const [showDetails, setShowDetails] = useState(false); const handleIdChange = (e: React.ChangeEvent) => { setId(e.target.value); @@ -24,87 +15,87 @@ const AmazonInvoice: React.FC = () => { const handleConsultClick = () => { axios - .get(`https://localhost:5051/api/AmazonInvoice/AmazonInvoiceGET?id=${id}`) - .then(response => { + .get(`https://localhost:5051/api/AmazonInvoice/AmazonInvoiceGET?id=${id}`) + //.get(`https://localhost:5051/api/AmazonInvoice/AmazonInvoiceGETselect?id=${id}`) + .then((response) => { const invoiceData: Invoice[] = response.data; if (invoiceData.length > 0) { setInvoice(invoiceData[0]); + setShowDetails(true); // Mostrar automáticamente los detalles } else { setInvoice(null); + setShowDetails(false); } }) - .catch(error => { + .catch((error) => { console.log(error); }); }; return ( - -
-

Amazon Invoice

+

Amazon Invoice

{invoice && ( - -
-

Master:

- - - - - - - - - - - - - - - - - - - - - - - -
IdReferenciaFechaFacturaFechaCreacionClasificadorEstatusTrailer Id
ID: {invoice.id}Referencia: {invoice.referencia}Fecha de la factura: {invoice.commercialInvoiceDate}Fecha de creación: {invoice.fCreacion}Clasificador: {invoice.clasificador}Estatus: {invoice.estatus}Trailer ID: {invoice.trailerId || 'N/A'}
- - - - - {/*

Detail

*/} - +
+

Master:

+
- - - - - + + + + + + + + - {invoice.detail.map((detail, index) => ( - - - - - - - - ))} + + + + + + + + + {/* Espacio en blanco para alinear correctamente las columnas */} +
Id HeaderID de facturaAmazon Shipment Reference IDItem IDFecha de creaciónIdReferenciaFechaFacturaFechaCreacionClasificadorEstatusTrailer Id
{detail.idHeader} {detail.invoiceNumber}{detail.amazonShipmentReferenceId}{detail.itemId}{detail.fCreacion}
setShowDetails(!showDetails)}> + ID: {invoice.id} + {showDetails && ( + + + + + + + + + + + + {invoice.detail.map((detail, index) => ( + + + + + + + + ))} + +
Id HeaderID de facturaAmazon Shipment Reference IDItem IDFecha de creación
{detail.idHeader}{detail.invoiceNumber}{detail.amazonShipmentReferenceId}{detail.itemId}{detail.fCreacion}
+ )} +
Referencia: {invoice.referencia}Fecha de la factura: {invoice.commercialInvoiceDate}Fecha de creación: {invoice.fCreacion}Clasificador: {invoice.clasificador}Estatus: {invoice.estatus}Trailer ID: {invoice.trailerId || 'N/A'}
-
- +
)} ); @@ -112,9 +103,4 @@ const AmazonInvoice: React.FC = () => { export default AmazonInvoice; - - - - - - + diff --git a/src/Componentes/AmazonInvoice1.1.tsx b/src/Componentes/AmazonInvoice1.1.tsx new file mode 100644 index 0000000..ed8638c --- /dev/null +++ b/src/Componentes/AmazonInvoice1.1.tsx @@ -0,0 +1,104 @@ +import React, { useState } from 'react'; +import axios from 'axios'; +import '../Interfaces/InvoiceDetail'; +import '../Interfaces/Invoice'; +import '../HojasDeEstilo/AmazonInovice.css'; + +const AmazonInvoice: React.FC = () => { + const [id, setId] = useState(''); + const [invoice, setInvoice] = useState(null); + const [showDetails, setShowDetails] = useState(false); + + const handleIdChange = (e: React.ChangeEvent) => { + setId(e.target.value); + }; + + const handleConsultClick = () => { + axios + .get(`https://localhost:5051/api/AmazonInvoice/AmazonInvoiceGET?id=${id}`) + // .get(`https://localhost:5051/api/AmazonInvoice/AmazonInvoiceGETselect?id=${id}`) + .then((response) => { + const invoiceData: Invoice[] = response.data; + if (invoiceData.length > 0) { + setInvoice(invoiceData[0]); + setShowDetails(true); // Mostrar automáticamente los detalles + } else { + setInvoice(null); + setShowDetails(false); + } + }) + .catch((error) => { + console.log(error); + }); + }; + + return ( +
+

Amazon Invoice

+ + + {invoice && ( +
+

Master:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
IdReferenciaFechaFacturaFechaCreacionClasificadorEstatusTrailer IdDetalle
setShowDetails(!showDetails)}>ID: {invoice.id}Referencia: {invoice.referencia}Fecha de la factura: {invoice.commercialInvoiceDate}Fecha de creación: {invoice.fCreacion}Clasificador: {invoice.clasificador}Estatus: {invoice.estatus}Trailer ID: {invoice.trailerId || 'N/A'} + {showDetails && ( + + + + + + + + + + + + {invoice.detail.map((detail, index) => ( + + + + + + + + ))} + +
Id HeaderID de facturaAmazon Shipment Reference IDItem IDFecha de creación
{detail.idHeader}{detail.invoiceNumber}{detail.amazonShipmentReferenceId}{detail.itemId}{detail.fCreacion}
+ )} +
+ +
+ )} +
+ ); +}; + +export default AmazonInvoice; \ No newline at end of file diff --git a/src/Interfaces/Invoice1.1.ts b/src/Interfaces/Invoice1.1.ts new file mode 100644 index 0000000..4b0a885 --- /dev/null +++ b/src/Interfaces/Invoice1.1.ts @@ -0,0 +1,35 @@ + + interface I2096Detail { + // Define properties for I2096Detail if it has any specific properties + } + + interface Invoice1 { + Id: number; + Referencia: string; + CommercialInvoiceDate: string; + InvoiceNumber: string; + Name: string; + TrailerNumber: string; + TrailerId: string; + PorOfLoading: string; + PortOfEntry: string; + PaymentsTerms: string; + Incoterms: string; + HAWB: string; + TotalInvoiceQuantityUnitOfMeasure: string; + TotalInvoiceQuantity: number; + TotalInvoiceWeightUnitOfMeasure: string; + TotalInvoiceWeight: number; + TotalInvoiceValueChargeOrAllowance: string; + TotalInvoiceValueCurrencyISOCode: string; + TotalInvoiceValueMonetaryAmount: number; + FootNote: string; + Archivo: string; + FCreacion: string; + Clasificador: number; + NoVuelta: number; + Estatus: number; + max: boolean; + Detail: I2096Detail[]; + } + \ No newline at end of file diff --git a/src/Interfaces/InvoiceDetail1.1.ts b/src/Interfaces/InvoiceDetail1.1.ts new file mode 100644 index 0000000..c6317be --- /dev/null +++ b/src/Interfaces/InvoiceDetail1.1.ts @@ -0,0 +1,46 @@ +interface InvoiceDetail1 { + Id: number; + IdHeader: number; + InvoiceNumber: string; + AmazonShipmentReferenceId: string; + Partida: number; + TrailerId: string; + ItemId: string; + ItemIdType: string; + ItemDescription: string; + PedimentoDescription: string; + DestinationHTSCode: string; + ValidaFraccionOriginal: number; + ConfirmaFraccion: number; + FraccionGEMCO: string; + ConfirmaDescripcion: number; + DescripcionGEMCO: string; + SourceHTSCode: string; + ECCN: string; + LicEx: string; + CountryOfOrigin: string; + ProductGroup: string; + UPC: string; + Brand: string; + Model: string; + ItemQuantityUnitOfMeasure: string; + Quantity: number; + NetWeightUnitOfMeasure: string; + WeightValue: number; + ActualUnitCostChargeOrAllowance: string; + ActualUnitCostCurrencyISOCode: string; + ActualUnitCostMonetaryAmount: number; + TotalUnitValueChargeOrAllowance: string; + TotalUnitValueCurrencyISOCode: string; + TotalUnitValueMonetaryAmount: number; + Archivo: string; + FCreacion: string; + Estatus: number; + Autorizado: boolean; + CumplimientoNormativo: string; + Comentarios: string; + SightLine: boolean; + ComentariosSightLine: string; + Checked: boolean; + Activo: number; +}