From 4850cddd5b6a5fdd1613997ae3e7ed49bca2b825 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 23 Jan 2023 17:59:00 -0600 Subject: [PATCH] Primer actualizacion previo a Go Live --- .../Components/ComboSelect/ComboFraccion.tsx | 3 +- .../DTO/DTO2096LinkInvoice2Reference.ts | 8 +++ .../Clientes/Amazon/Interfaces/I2096Detail.ts | 1 + .../Pending/ClasificatorAssign.tsx | 2 +- .../RptAmazonPendingClasificationInvoices.tsx | 11 +--- ...azonPendingClasificationInvoicesDetail.tsx | 25 ++------ .../Linking/RptAmazonLinkInvoice2Traffic.tsx | 64 ++++++++++++++++++- .../Pending/RtpAmazonPendingTraficInvoice.tsx | 5 +- .../Amazon/Services/Amazon.Services.ts | 14 ++-- 9 files changed, 88 insertions(+), 45 deletions(-) create mode 100644 src/Components/Clientes/Amazon/DTO/DTO2096LinkInvoice2Reference.ts diff --git a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx index d086c1f..2c6cf14 100644 --- a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx +++ b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx @@ -100,11 +100,12 @@ export function ComboFraccion(props: IComboFraccionProps) { fraccionGEMCO: Fraccion, descripcionGEMCO: DescripcionGEMCO, autorizado: newData.autorizado, - checked: !el.checked + checked: true } } return el }) + console.log('newDetail '+JSON.stringify(newDetail)) refreshStore(Invoice[0], newDetail) } diff --git a/src/Components/Clientes/Amazon/DTO/DTO2096LinkInvoice2Reference.ts b/src/Components/Clientes/Amazon/DTO/DTO2096LinkInvoice2Reference.ts new file mode 100644 index 0000000..b8b8d10 --- /dev/null +++ b/src/Components/Clientes/Amazon/DTO/DTO2096LinkInvoice2Reference.ts @@ -0,0 +1,8 @@ +export default interface DTO2096LinkInvoice2Reference { + referencia: string, + facturas: number[] +} + +export interface arrInvoices { + idFactura: number +} \ No newline at end of file diff --git a/src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts b/src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts index 8d94e35..60867b7 100644 --- a/src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts +++ b/src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts @@ -3,6 +3,7 @@ export default interface I2096Detail { idHeader: number invoiceNumber: string amazonShipmentReferenceId: string + partida: number trailerId: string itemId: string itemIdType: string diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/ClasificatorAssign.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/ClasificatorAssign.tsx index d5f9c6d..8b8bbba 100644 --- a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/ClasificatorAssign.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/ClasificatorAssign.tsx @@ -67,7 +67,7 @@ export default function ClasificatorAssign(props: IClasificatorAssignProps) { } const saveAsignation = () => { - DSAmazon.AsignaFactura(IDClasificador, props.Invoice.id) + DSAmazon.AsignaFacturaClasificador(IDClasificador, props.Invoice.id) .then((response) => { setShowModal(false) editArray() diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices.tsx index 7dcbeed..3ff3185 100644 --- a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices.tsx @@ -547,15 +547,6 @@ export default function RtpAmazonPendingInvoices( > Total value -{/* - Autorizado - */} - La factura esta lista para terminarse, desea terminarla? + La factura esta lista para terminarse y pasarse al siguiente proceso? diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx index 8085dfb..63934b8 100644 --- a/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx @@ -64,7 +64,7 @@ export default function RtpAmazonPendingInvoivesDetail( } const target = React.useRef(null) - const UpdateInfo = (Invoice: I2096Headers, Detail: I2096Detail[]) => { + const UpdateInvoiceDetail = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDMaster, commercialInvoiceDate: Invoice.commercialInvoiceDate, @@ -98,13 +98,13 @@ export default function RtpAmazonPendingInvoivesDetail( dispatch(updateInvoice(updatedInvoice)) } - const editArray = (id: number, valor: boolean) => { + const editInvoice = (id: number, valor: boolean) => { const Invoice = mInvoices .filter((el) => el.id === props.IDMaster) .map((el) => { return el }) - const newDetail = Invoice[0].detail.map((el) => { + const newDetails = Invoice[0].detail.map((el) => { if (el.id === id) { return { ...el, @@ -113,7 +113,7 @@ export default function RtpAmazonPendingInvoivesDetail( } return el }) - UpdateInfo(Invoice[0], newDetail) + UpdateInvoiceDetail(Invoice[0], newDetails) } const autoriceItem = (id: number) => { @@ -134,26 +134,11 @@ export default function RtpAmazonPendingInvoivesDetail( console.log(data) } - /* useEffect(() => { - if (UserChanged && EstatusSwith && !props.detail.fraccionGEMCO) - autoriceItem(props.detail.id) - }, [EstatusSwith, UserChanged]) */ - - /* const popover = ( - - Popover right - - And here's some amazing content. It's very engaging. - right? - - - ) */ - const checkDetail = () => { DSAmazon.CheckDetail(props.detail.id) .then((response) => { setChecked(!Checked) - editArray(props.detail.id,!Checked) + editInvoice(props.detail.id,!Checked) }) .catch((e: Error) => {}) } diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx index 88bbd54..89deb13 100644 --- a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx @@ -10,7 +10,12 @@ import { Table } from 'react-bootstrap' import { IconContext } from 'react-icons' -import { BsChevronDown, BsChevronRight, BsSearch } from 'react-icons/bs' +import { + BsChevronDown, + BsChevronRight, + BsFilePdfFill, + BsSearch +} from 'react-icons/bs' import { FaAmazon, FaCheckCircle, @@ -37,6 +42,7 @@ import RptAmazonInvoiceTrafficDetail from './RptAmazonLinkInvoice2TrafficDetail' // Redux import { useDispatch, useSelector } from 'react-redux' +import DTO2096LinkInvoice2Reference from '../../../DTO/DTO2096LinkInvoice2Reference' export interface IRptAmazonLinkInvoice2TrafficProps {} @@ -98,6 +104,27 @@ export function RptAmazonLinkInvoice2Traffic( }) } + const downloadPDF = (id: number) => { + DSAmazon.PDFAmazonInvoiceGET(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', 'AmazonInvoice.pdf') + document.body.appendChild(link) + link.click() + loadReport() + } + }) + .catch((e: Error) => { + setHeader('Error') + setMsg('Ocurrio un error') + setShowMsg(true) + return + }) + } + useEffect(() => { loadReport() }, []) @@ -135,6 +162,27 @@ export function RptAmazonLinkInvoice2Traffic( setShowModal(true) } + const asociaFacturasReferencia = () => { + // alert(Invoices) + const data : DTO2096LinkInvoice2Reference = { + referencia: Referencia, + facturas : Invoices + } + DSAmazon.AsignaFacturasReferencia(data) + .then((response: any) => { + setHeader('Confirmacion') + setMsg('Las facturas se asociaron correctamente con la referencia') + setShowMsg(true) + return + }) + .catch((e: Error) => { + setHeader('Error') + setMsg('Ocurrio un error') + setShowMsg(true) + return + }) + } + const openLink = (item: string) => { window.open('https://www.amazon.com/dp/' + item) } @@ -174,6 +222,7 @@ export function RptAmazonLinkInvoice2Traffic( id [...] + PDF Commercial Invoice Date Invoice Number Incoterms @@ -194,7 +243,7 @@ export function RptAmazonLinkInvoice2Traffic( return ( <> toggleInvoice(MasterData.id)} /> + +
{downloadPDF(MasterData.id)}}> + + + +
+ {MasterData.commercialInvoiceDate} @@ -556,7 +614,7 @@ export function RptAmazonLinkInvoice2Traffic( - diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice.tsx index 8fd566c..6a3fbaf 100644 --- a/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice.tsx +++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice.tsx @@ -82,7 +82,8 @@ export function RptAmazonPendingTraficInvoice( if (response.data.respuesta.includes('lista')) { DSAmazon.TerminaXTraficoFactura(id) .then((response) => { - DSAmazon.PDFAmazonInvoiceGET(id) + loadReport() + /* DSAmazon.PDFAmazonInvoiceGET(id) .then((response: any) => { if (response.status === 200) { const url = window.URL.createObjectURL( @@ -101,7 +102,7 @@ export function RptAmazonPendingTraficInvoice( setMsg('Ocurrio un error') setShowMsg(true) return - }) + }) */ }) .catch((e: Error) => {}) setShowModal(false) diff --git a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts index d346dcd..ba4d1a0 100644 --- a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts +++ b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts @@ -6,11 +6,11 @@ import I2096Detail from '../Interfaces/I2096Detail' import DTO2096Descripcion from '../DTO/DTO2096Descripcion' import I2096NoParte from '../Interfaces/I2096NoParte' import I2096PaisClave from '../Interfaces/I2096PaisClave' -import DTO2096ItemAutoriza from '../DTO/DTO2096ItemAutoriza' import DTORespuesta from '../../ZincInternacional/DTO/DTORespuesta' import DTO2096SightLine from '../DTO/DTO2096SightLine' import DTO2096FraccionDescripcion from '../DTO/DTO2096FraccionDescripcion' import DTO2096PerfilesParecidos from '../DTO/DTO2096PerfilesParecidos' +import DTO2096LinkInvoice2Reference from '../DTO/DTO2096LinkInvoice2Reference' class AmazonDataService { AmazonPendingClasificationInvoiceGET() { @@ -37,9 +37,7 @@ class AmazonDataService { CheckDetail(id: number) { return http.put(`/AmazonInvoice/C2096CheckDetail?id=${id}`) } -/* ClasificationFinish(data: DTO2096ItemAutoriza) { - return http.post(`/AmazonInvoice/C2096ItemAutorizado`, data) - } */ + AmazonPendingTraficInvoiceGET() { return http.get(`/AmazonInvoice/AmazonPendingTraficInvoiceGet`) @@ -69,9 +67,6 @@ class AmazonDataService { AutorizaItemFacturaAmazon(data: DTO2096FraccionDescripcion) { return http.put(`/AmazonInvoice/C2096AutorizaItemFactura`, data) } - /* SETAutorizado(data: DTO2096FraccionDescripcion) { - return http.put(`/AmazonInvoice/C2096ItemAutorizadoSET`, data) - } */ SightLineSET(data: DTO2096SightLine) { return http.put(`/AmazonInvoice/AmazonSightLineSET`, data) } @@ -106,6 +101,9 @@ class AmazonDataService { console.log(error) }) } + AsignaFacturasReferencia(data: DTO2096LinkInvoice2Reference) { + return http.post(`/AmazonInvoice/AsignaFacturasReferencia`, data) + } @@ -116,7 +114,7 @@ class AmazonDataService { PerfilesParecidosGet(Perfil: string) { return http.get(`/Usuarios/Catalogo/Usuarios/PerfilesParecidos?Perfil=${Perfil}`) } - AsignaFactura(IdUsuario: number, IdFactura: number) { + AsignaFacturaClasificador(IdUsuario: number, IdFactura: number) { return http.put(`/AmazonInvoice/AsignaFactura?IdUsuario=${IdUsuario}&IdFactura=${IdFactura}`) } }