From 1aae91b96df82e2f810ca3acc63582976b0d7631 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 24 Jan 2023 17:53:41 -0600 Subject: [PATCH] Se termina el codigo solicitado, listo para empezar con pruebas reales, antes de GO Live --- .../ComboSelect/ComboDescripcion.tsx | 1 + .../Components/ComboSelect/ComboFraccion.tsx | 1 + .../Clientes/Amazon/Interfaces/I2096Header.ts | 1 + ...zonFinishedClasificationInvoicesDetail.tsx | 1 + ...azonPendingClasificationInvoicesDetail.tsx | 1 + .../RptPendingAnswerFromAmazonDetail.tsx | 1 + .../Linking/RptAmazonLinkInvoice2Traffic.tsx | 68 +++++++++++++++++++ .../RptAmazonLinkInvoice2TrafficDetail.tsx | 1 + .../RptAmazonPendingTraficInvoiceDetail.tsx | 1 + .../Amazon/Services/Amazon.Services.ts | 18 +++++ src/Components/Dashboard/DashboardTrafico.tsx | 2 +- 11 files changed, 95 insertions(+), 1 deletion(-) diff --git a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx index fa2f355..6d57045 100644 --- a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx +++ b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx @@ -62,6 +62,7 @@ export function ComboDescripcion(props: IComboDescripcionProps) { const refreshStore = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDInvoice, + referencia: Invoice.referencia, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, name: Invoice.name, diff --git a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx index 2c6cf14..922e301 100644 --- a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx +++ b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx @@ -56,6 +56,7 @@ export function ComboFraccion(props: IComboFraccionProps) { const refreshStore = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDInvoice, + referencia: Invoice.referencia, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, name: Invoice.name, diff --git a/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts b/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts index b19e8cf..9ce3b43 100644 --- a/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts +++ b/src/Components/Clientes/Amazon/Interfaces/I2096Header.ts @@ -2,6 +2,7 @@ import Detail from './I2096Detail' export default interface I2096Headers { id: number + referencia: string commercialInvoiceDate: string invoiceNumber: string name: string diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoicesDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoicesDetail.tsx index 686e3b9..612d563 100644 --- a/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoicesDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoicesDetail.tsx @@ -66,6 +66,7 @@ export default function RptAmazonFinishedClasificationInvoicesDetail( const UpdateInfo = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDMaster, + referencia: Invoice.referencia, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, name: Invoice.name, diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx index 63934b8..bcc304f 100644 --- a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx @@ -67,6 +67,7 @@ export default function RtpAmazonPendingInvoivesDetail( const UpdateInvoiceDetail = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDMaster, + referencia: Invoice.referencia, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, name: Invoice.name, diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswer/RptPendingAnswerFromAmazonDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswer/RptPendingAnswerFromAmazonDetail.tsx index 48b4efd..6804b65 100644 --- a/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswer/RptPendingAnswerFromAmazonDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswer/RptPendingAnswerFromAmazonDetail.tsx @@ -72,6 +72,7 @@ export default function RptPendingAnswerFromAmazonDetail( const UpdateInfo = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDMaster, + referencia: Invoice.referencia, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, name: Invoice.name, diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx index 89deb13..27440fe 100644 --- a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx @@ -43,6 +43,7 @@ import RptAmazonInvoiceTrafficDetail from './RptAmazonLinkInvoice2TrafficDetail' // Redux import { useDispatch, useSelector } from 'react-redux' import DTO2096LinkInvoice2Reference from '../../../DTO/DTO2096LinkInvoice2Reference' +import { AiFillFileExcel } from 'react-icons/ai' export interface IRptAmazonLinkInvoice2TrafficProps {} @@ -125,6 +126,49 @@ export function RptAmazonLinkInvoice2Traffic( }) } + const downloadExcelInvoices = (Referencia: string) => { + DSAmazon.GETExcelInvoicesLinkByReference(Referencia) + .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', 'FACTURAS_MODIFICA.xlsx') + document.body.appendChild(link) + link.click() + loadReport() + } + }) + .catch((e: Error) => { + setHeader('Error') + setMsg('Ocurrio un error') + setShowMsg(true) + return + }) + } + + const downloadExcelPartidas = (Referencia: string) => { + DSAmazon.GETAmazonExcelByReference(Referencia) + .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', 'PARTIDAS_MODIFICA.xlsx') + document.body.appendChild(link) + link.click() + loadReport() + } + }) + .catch((e: Error) => { + setHeader('Error') + setMsg('Ocurrio un error') + setShowMsg(true) + return + }) + } + + useEffect(() => { loadReport() }, []) @@ -223,6 +267,9 @@ export function RptAmazonLinkInvoice2Traffic( id [...] PDF + Facturas + Partidas + Referencia Commercial Invoice Date Invoice Number Incoterms @@ -292,6 +339,27 @@ export function RptAmazonLinkInvoice2Traffic( + +
{downloadExcelInvoices(MasterData.referencia)}}> + + + +
+ + +
{downloadExcelPartidas(MasterData.referencia)}}> + + + +
+ + + {MasterData.referencia} + {MasterData.commercialInvoiceDate} diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx index 72ef032..4d8f811 100644 --- a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx @@ -67,6 +67,7 @@ export default function RtpAmazonInvoiceTrafficDetail( const UpdateInfo = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDMaster, + referencia: Invoice.referencia, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, name: Invoice.name, diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RptAmazonPendingTraficInvoiceDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RptAmazonPendingTraficInvoiceDetail.tsx index 1cd419c..520e6da 100644 --- a/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RptAmazonPendingTraficInvoiceDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RptAmazonPendingTraficInvoiceDetail.tsx @@ -63,6 +63,7 @@ export default function RptAmazonPendingTraficInvoiceDetail( const UpdateInfo = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDMaster, + referencia: Invoice.referencia, commercialInvoiceDate: Invoice.commercialInvoiceDate, invoiceNumber: Invoice.invoiceNumber, name: Invoice.name, diff --git a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts index ba4d1a0..441e7ca 100644 --- a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts +++ b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts @@ -101,6 +101,24 @@ class AmazonDataService { console.log(error) }) } + GETExcelInvoicesLinkByReference(Referencia: string) { + return http.get(`/AmazonInvoice/GETExcelInvoicesLinkByReference?referencia=${Referencia}`, {responseType: 'arraybuffer'}) + .then(function (response) { + return response + }) + .catch(function (error) { + console.log(error) + }) + } + GETAmazonExcelByReference(Referencia: string) { + return http.get(`/AmazonInvoice/getAmazonExcelByReference?referencia=${Referencia}`, {responseType: 'arraybuffer'}) + .then(function (response) { + return response + }) + .catch(function (error) { + console.log(error) + }) + } AsignaFacturasReferencia(data: DTO2096LinkInvoice2Reference) { return http.post(`/AmazonInvoice/AsignaFacturasReferencia`, data) } diff --git a/src/Components/Dashboard/DashboardTrafico.tsx b/src/Components/Dashboard/DashboardTrafico.tsx index 98ce58e..cb66b8a 100644 --- a/src/Components/Dashboard/DashboardTrafico.tsx +++ b/src/Components/Dashboard/DashboardTrafico.tsx @@ -51,7 +51,7 @@ export default function DashboardTrafico (props: IDashboardTraficoProps) {