From bc7e4eefe3f6674849dde24b46ea94ef7b58a20e Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 9 Jan 2023 17:49:09 -0600 Subject: [PATCH] Se le agrega el poder descargar el archivo de Excel excepciones --- .../ComboSelect/ComboDescripcion.tsx | 1 + .../Components/ComboSelect/ComboFraccion.tsx | 1 + .../Clientes/Amazon/Interfaces/I2096Header.ts | 1 + .../Reportes/RptAmazonPendingInvoices.tsx | 111 ++++++++++++++---- .../RptAmazonPendingInvoicesDetail.tsx | 6 +- .../Amazon/Services/Amazon.Services.ts | 9 ++ 6 files changed, 105 insertions(+), 24 deletions(-) diff --git a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx index d9249d2..ba4e9ce 100644 --- a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx +++ b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx @@ -67,6 +67,7 @@ export function ComboDescripcion(props: IComboDescripcionProps) { id: props.IDInvoice, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, + name: Invoice.name, trailerNumber: Invoice.trailerNumber, trailerId: Invoice.trailerId, porOfLoading: Invoice.porOfLoading, diff --git a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx index eb02531..d48a90c 100644 --- a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx +++ b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx @@ -45,6 +45,7 @@ export function ComboFraccion(props: IComboFraccionProps) { id: props.IDInvoice, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, + name: Invoice.name, trailerNumber: Invoice.trailerNumber, trailerId: Invoice.trailerId, porOfLoading: Invoice.porOfLoading, diff --git a/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts b/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts index aac2dda..a934ba3 100644 --- a/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts +++ b/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts @@ -4,6 +4,7 @@ export default interface I2096Headers { id: number commercialInvoiceDate: string invoiceNumber: string + name: string trailerNumber: string trailerId: string porOfLoading: string diff --git a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx index 2feced7..a9b2f17 100644 --- a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx +++ b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx @@ -22,7 +22,8 @@ import { } from '../../../../store/features/Clientes/2096/AmazonInvoices' // Redux import { useDispatch, useSelector } from 'react-redux' -import RtpAmazonPendingInvoicesDetail from './RptAmazonPendingInvoicesDetail' +import RtpAmazonPendingInvoicesDetail from './RptAmazonPendingInvoicesDetail' +import { AiTwotoneFileExcel } from 'react-icons/ai' export interface IRtpAmazonPendingInvoicesProps {} export default function RtpAmazonPendingInvoices( @@ -62,12 +63,11 @@ export default function RtpAmazonPendingInvoices( const downloadExcel = (id: number) => { DSAmazon.TerminaFactura(id) - .then((response) => {}) - .catch((e: Error) => { - }) + .then((response) => {}) + .catch((e: Error) => {}) DSAmazon.GetNoPartesAmazon2SIR(id) - .then((response: any) => { - if (response.status === 200) { + .then((response: any) => { + if (response.status === 200) { const url = window.URL.createObjectURL(new Blob([response.data])) const link = document.createElement('a') link.href = url @@ -75,15 +75,40 @@ export default function RtpAmazonPendingInvoices( document.body.appendChild(link) link.click() } - }) - .catch((e: Error) => { - setHeader('Error') - setMsg('Ocurrio un error') - setShowMsg(true) - return - }) + }) + .catch((e: Error) => { + setHeader('Error') + setMsg('Ocurrio un error') + setShowMsg(true) + return + }) + } + + + const downloadExceptionsFile = (id: number) => { + DSAmazon.TerminaFactura(id) + .then((response) => {}) + .catch((e: Error) => {}) + DSAmazon.Get$ExceptionsFile$Amazon(id) + .then((response: any) => { + if (response.status === 200) { + const url = window.URL.createObjectURL(new Blob([response.data])) + const link = document.createElement('a') + link.href = url + link.setAttribute('download', 'Formato de consultas (Exceptions Handling 2021).xlsx') + document.body.appendChild(link) + link.click() + } + }) + .catch((e: Error) => { + setHeader('Error') + setMsg('Ocurrio un error') + setShowMsg(true) + return + }) } + useEffect(() => { loadReport() }, []) @@ -99,6 +124,23 @@ export default function RtpAmazonPendingInvoices( window.open('https://www.amazon.com/dp/' + item) } + const existsExeptions = (IDMaster: number) => { + const Exceptions = mInvoices + .filter((element) => + element.detail.some((sub) => sub.idHeader === IDMaster) + ) + .map((element) => { + let newElt = Object.assign({}, element) // copies element + return newElt.detail.filter( + (child) => + (child.idHeader === IDMaster) && + (child.autorizado) && + (child.destinationHTSCode.toString().replaceAll('.','') !== child.fraccionGEMCO) + ) + }) + return Exceptions[0].length ? Exceptions[0].length : 0 + } + return (
@@ -125,13 +167,15 @@ export default function RtpAmazonPendingInvoices( id + Commercial Invoice Date - Invoice Number - Trailer Number + Invoice Number + Name + {/* Trailer Number Trailer Id Por Of Loading Port of entry - Payments Terms + Payments Terms */} Incoterms HAWB Qty Unit of measure @@ -183,6 +227,20 @@ export default function RtpAmazonPendingInvoices( )} {MasterData.id} + + {existsExeptions(MasterData.id) > 0 ? ( +
downloadExceptionsFile(MasterData.id)} + title='Archivo de excepciones' + > + + + +
+ ) : null} + {MasterData.estatus === 1 ? (
- +
) : null} @@ -199,10 +257,13 @@ export default function RtpAmazonPendingInvoices( {MasterData.commercialInvoiceDate} - + {MasterData.invoiceNumber} - + + {MasterData.name} + + {/* {MasterData.trailerNumber} @@ -216,7 +277,7 @@ export default function RtpAmazonPendingInvoices( {MasterData.paymentsTerms} - + */} {MasterData.incoterms} @@ -476,7 +537,15 @@ export default function RtpAmazonPendingInvoices( detail.idHeader ) .map((detail) => { - return + return ( + + ) })} ) diff --git a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx index 32b1ca6..973aade 100644 --- a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx @@ -70,6 +70,7 @@ export default function RtpAmazonPendingInvoivesDetail( id: props.IDMaster, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, + name: Invoice.name, trailerNumber: Invoice.trailerNumber, trailerId: Invoice.trailerId, porOfLoading: Invoice.porOfLoading, @@ -373,12 +374,11 @@ export default function RtpAmazonPendingInvoivesDetail( className="DetailData" > { diff --git a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts index 8d5f34d..3ffe8d3 100644 --- a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts +++ b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts @@ -42,6 +42,15 @@ class AmazonDataService { console.log(error) }) } + Get$ExceptionsFile$Amazon(id: number) { + return http.get(`/AmazonInvoice/GetArchivoExcepcionesAmazon?id=${id}`, {responseType: 'arraybuffer'}) + .then(function (response) { + return response + }) + .catch(function (error) { + console.log(error) + }) + } NoPartesGet() { return http.get(`/AmazonInvoice/NoPartesGet`) }