From c60d53e638c723894eee55bebd43a11ecd111e18 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 7 Jan 2023 15:58:18 -0600 Subject: [PATCH] Se le sacan los bugs al reporte de Amazon --- .../ComboSelect/ComboDescripcion.tsx | 82 ++++++++----------- .../Components/ComboSelect/ComboFraccion.tsx | 61 +++++++------- .../Clientes/Amazon/DTO/DTO2096Descripcion.ts | 1 + .../Clientes/Amazon/DTO/DTO2096Fraccion.ts | 1 + .../Clientes/Amazon/Interfaces/I2096Detail.ts | 2 + .../Reportes/RptAmazonPendingInvoices.tsx | 61 -------------- .../RptAmazonPendingInvoicesDetail.tsx | 34 ++++---- 7 files changed, 83 insertions(+), 159 deletions(-) diff --git a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx index 1e9c01d..d9249d2 100644 --- a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx +++ b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx @@ -20,6 +20,7 @@ export interface IComboDescripcionProps { IDDetail: number DescripcionOriginal: string Habilitado: boolean + ConfirmaDescripcion: number } export function ComboDescripcion(props: IComboDescripcionProps) { @@ -27,7 +28,8 @@ export function ComboDescripcion(props: IComboDescripcionProps) { const mInvoices = useSelector( (state: RootState) => state.AmazonInvoices.Invoice ) - const [Validacion, setValidacion] = useState(0) + const [Validacion, setValidacion] = useState(props.ConfirmaDescripcion) + const [UserChanged, setUserChanged] = useState(false) const [showModal, setShowModal] = useState(false) const [Descripcion, setDescripcion] = useState(props.DescripcionOriginal) const [header, setHeader] = useState('') @@ -37,43 +39,22 @@ export function ComboDescripcion(props: IComboDescripcionProps) { const changeValidacion = (e: number) => { setValidacion(e) - /* if (e === 2) { - setDescripcion('') - setShowModal(true) - } else if (e === 1) { - setDescripcion(props.DescripcionOriginal) - const data: DTO2096Descripcion = { - id: props.IDDetail, - descripcion: Descripcion - } - setDescripcion(props.DescripcionOriginal) - DSAmazon.SetDescripcion(data) - .then((response) => { - UpdateInfo() - setShowModal(false) - setHeader('Confirmacion') - setMsg('La descripcion se ha guardado correctamente') - setShowMsg(true) - return - }) - .catch((e: Error) => { - alert('Ocurrio un error' + e.message.toString()) - }) - } */ + setUserChanged(true) } const saveDescripcion = () => { const data: DTO2096Descripcion = { id: props.IDDetail, - descripcion: Descripcion + descripcion: Descripcion, + confirmaDescripcion: Validacion } DSAmazon.SetDescripcion(data) .then((response) => { UpdateInfo() setShowModal(false) - setHeader('Confirmacion') + /* setHeader('Confirmacion') setMsg('La descripcion se ha guardado correctamente') - setShowMsg(true) + setShowMsg(true) */ return }) .catch((e: Error) => { @@ -132,30 +113,33 @@ export function ComboDescripcion(props: IComboDescripcionProps) { } useEffect(() => { - if (Validacion === 2) { - setDescripcion('') - setShowModal(true) - } else if (Validacion === 1) { - setDescripcion(props.DescripcionOriginal) - const data: DTO2096Descripcion = { - id: props.IDDetail, - descripcion: Descripcion - } - setDescripcion(props.DescripcionOriginal) - DSAmazon.SetDescripcion(data) - .then((response) => { - UpdateInfo() - setShowModal(false) - setHeader('Confirmacion') + if (UserChanged) { + if (Validacion === 2) { + setDescripcion('') + setShowModal(true) + } else if (Validacion === 1) { + setDescripcion(props.DescripcionOriginal) + const data: DTO2096Descripcion = { + id: props.IDDetail, + descripcion: Descripcion, + confirmaDescripcion: Validacion + } + setDescripcion(props.DescripcionOriginal) + DSAmazon.SetDescripcion(data) + .then((response) => { + UpdateInfo() + setShowModal(false) + /* setHeader('Confirmacion') setMsg('La descripcion se ha guardado correctamente') - setShowMsg(true) - return - }) - .catch((e: Error) => { - alert('Ocurrio un error' + e.message.toString()) - }) + setShowMsg(true) */ + return + }) + .catch((e: Error) => { + alert('Ocurrio un error' + e.message.toString()) + }) + } } - }, [Validacion]) + }, [Validacion, UserChanged]) return (
diff --git a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx index 9026ac3..eb02531 100644 --- a/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx +++ b/src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx @@ -1,7 +1,6 @@ import { useCallback, useEffect, useState } from 'react' import { Button, Col, Form, Modal, Row } from 'react-bootstrap' import * as CurrencyFormat from 'react-currency-format' -/* import { PatternFormat } from 'react-number-format'; */ import { MsgInformativo } from '../../../../Utils/Toast/msgInformativo' import { RootState } from '../../../../../store/store' import { @@ -15,7 +14,6 @@ import { useDispatch, useSelector } from 'react-redux' import DTO2096Fraccion from '../../DTO/DTO2096Fraccion' import DSAmazon from '../../Services/Amazon.Services' import I2096Headers from '../../Interfaces/I2096Header' -import { max } from 'cypress/types/lodash' import I2096Detail from '../../Interfaces/I2096Detail' export interface IComboFraccionProps { @@ -23,7 +21,7 @@ export interface IComboFraccionProps { IDDetail: number FraccionOriginal: string Habilitado: boolean - parentFunction: Function + ConfirmaFraccion: number } export function ComboFraccion(props: IComboFraccionProps) { @@ -31,7 +29,8 @@ export function ComboFraccion(props: IComboFraccionProps) { const mInvoices = useSelector( (state: RootState) => state.AmazonInvoices.Invoice ) - const [Validacion, setValidacion] = useState(0) + const [Validacion, setValidacion] = useState(props.ConfirmaFraccion) + const [UserChanged, setUserChanged] = useState(false) const [showModal, setShowModal] = useState(false) const [Fraccion, setFraccion] = useState(props.FraccionOriginal) const [header, setHeader] = useState('') @@ -73,7 +72,7 @@ export function ComboFraccion(props: IComboFraccionProps) { dispatch(updateInvoice(updatedInvoice)) } - const UpdateInfo = () => { + const UpdateInfo = (newData: I2096Detail) => { const Invoice = mInvoices .filter((el) => el.id === props.IDInvoice) .map((el) => { @@ -83,7 +82,8 @@ export function ComboFraccion(props: IComboFraccionProps) { if (el.id === props.IDDetail) { return { ...el, - fraccionGEMCO: Fraccion + fraccionGEMCO: Fraccion, + autorizado: newData.autorizado } } return el @@ -93,31 +93,30 @@ export function ComboFraccion(props: IComboFraccionProps) { const changeValidacion = (e: number) => { setValidacion(e) + setUserChanged(true) } useEffect(() => { - if (Validacion === 2) { - setShowModal(true) - } else if (Validacion === 1) { - const data: DTO2096Fraccion = { - id: props.IDDetail, - fraccion: Fraccion + if (UserChanged) { + if (Validacion === 2) { + setShowModal(true) + } else if (Validacion === 1) { + const data: DTO2096Fraccion = { + id: props.IDDetail, + fraccion: Fraccion, + confirmaFraccion: Validacion + } + DSAmazon.SetFraccion(data) + .then((response) => { + UpdateInfo(response.data) + return + }) + .catch((e: Error) => { + alert('Ocurrio un error' + e.message.toString()) + }) } - DSAmazon.SetFraccion(data) - .then((response) => { - UpdateInfo() - setShowModal(false) - setHeader('Confirmacion') - setMsg('La descripcion se ha guardado correctamente') - setShowMsg(true) - //forceUpdate() - return - }) - .catch((e: Error) => { - alert('Ocurrio un error' + e.message.toString()) - }) } - }, [Validacion]) + }, [Validacion, UserChanged]) const saveFraccion = () => { DSAmazon.GetValidaFraccion(Fraccion) @@ -125,15 +124,14 @@ export function ComboFraccion(props: IComboFraccionProps) { if (response.data.respuesta === 'Si') { const data: DTO2096Fraccion = { id: props.IDDetail, - fraccion: Fraccion + fraccion: Fraccion, + confirmaFraccion: Validacion } DSAmazon.SetFraccion(data) .then((response) => { - UpdateInfo() + console.log('respuesta de set fraccion:'+JSON.stringify(response.data)) + UpdateInfo(response.data) setShowModal(false) - setHeader('Confirmacion') - setMsg('La descripcion se ha guardado correctamente') - setShowMsg(true) return }) .catch((e: Error) => { @@ -154,7 +152,6 @@ export function ComboFraccion(props: IComboFraccionProps) { return (
changeValidacion(parseInt(e.target.value))} diff --git a/src/Components/Clientes/Amazon/DTO/DTO2096Descripcion.ts b/src/Components/Clientes/Amazon/DTO/DTO2096Descripcion.ts index 2e7ed4b..138cea7 100644 --- a/src/Components/Clientes/Amazon/DTO/DTO2096Descripcion.ts +++ b/src/Components/Clientes/Amazon/DTO/DTO2096Descripcion.ts @@ -1,4 +1,5 @@ export default interface DTO2096Descripcion { id: number, descripcion: string + confirmaDescripcion: number } \ No newline at end of file diff --git a/src/Components/Clientes/Amazon/DTO/DTO2096Fraccion.ts b/src/Components/Clientes/Amazon/DTO/DTO2096Fraccion.ts index 7b5ada2..4c55eaf 100644 --- a/src/Components/Clientes/Amazon/DTO/DTO2096Fraccion.ts +++ b/src/Components/Clientes/Amazon/DTO/DTO2096Fraccion.ts @@ -1,4 +1,5 @@ export default interface DTO2096Fraccion { id: number, fraccion: string + confirmaFraccion: 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 1fc03c3..c12faa6 100644 --- a/src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts +++ b/src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts @@ -10,7 +10,9 @@ export default interface I2096Detail { pedimentoDescription: string destinationHTSCode: string validaFraccionOriginal: number + confirmaFraccion: number fraccionGEMCO: string + confirmaDescripcion: number descripcionGEMCO: string sourceHTSCode: string eccn: string diff --git a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx index e6da766..2feced7 100644 --- a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx +++ b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx @@ -95,21 +95,6 @@ export default function RtpAmazonPendingInvoices( dispatch(updateInvoice(Obj)) } - const filtraReporte = (e: any) => { - /* setFiltro(e.target.value) - if (e.target.value.length > 0) { - setData( - Data.filter(function (row) { - return row.invoiceNumber - .toLowerCase() - .includes(e.target.value.toLocaleLowerCase()) - }) - ) - } else { - setData(DataOriginal) - } */ - } - const openLink = (item: string) => { window.open('https://www.amazon.com/dp/' + item) } @@ -123,52 +108,6 @@ export default function RtpAmazonPendingInvoices( Amazon: facturas pendientes - {/* Inicio - setInicio(e.target.value)} - size="sm" - /> - Hasta - setFin(e.target.value)} - size="sm" - /> */} - {/* - - - - { - filtraReporte(e) - }} - /> - */} diff --git a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx index 8d51f3d..32b1ca6 100644 --- a/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx +++ b/src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.tsx @@ -52,22 +52,19 @@ export default function RtpAmazonPendingInvoivesDetail( ) const [ShowModal, setShowModal] = useState(false) const [EstatusSwith, setEstatusSwitch] = useState(props.detail.autorizado) + const [UserChanged, setUserChanged] = useState(false) const [header, setHeader] = useState('') const [show, setShowMsg] = useState(false) const [Show, setShow] = useState(false) const [msg, setMsg] = useState('') - const [RequerimientoNormativo, setRequerimientoNormativo] = useState('') - const [Comentarios, setComentarios] = useState('') + const [RequerimientoNormativo, setRequerimientoNormativo] = useState(props.detail.requerimientoNormativo ? props.detail.requerimientoNormativo : '') + const [Comentarios, setComentarios] = useState(props.detail.comentarios ? props.detail.comentarios : 'Clasificacion Incorrecta') const msgColor = 'primary' const openLink = (item: string) => { window.open('https://www.amazon.com/dp/' + item) } const target = React.useRef(null); - const parentFunction = (fraccion: string) => { - alert('update') - } - const UpdateInfo = (Invoice: I2096Headers, Detail: I2096Detail[]) => { const updatedInvoice: I2096Headers = { id: props.IDMaster, @@ -129,11 +126,11 @@ export default function RtpAmazonPendingInvoivesDetail( } const data: DTO2096ItemAutoriza = { id: id, - autorizado: !props.detail.autorizado, + autorizado: EstatusSwith, requerimientoNormativo: RequerimientoNormativo, comentarios: Comentarios } - + console.log(data) DSAmazon.Set$Autorizado(data) .then((response) => { editArray(id, !props.detail.autorizado) @@ -143,8 +140,8 @@ export default function RtpAmazonPendingInvoivesDetail( } useEffect(() => { - if (EstatusSwith && !props.detail.fraccionGEMCO) autoriceItem(props.detail.id) - }, [EstatusSwith]) + if (UserChanged && EstatusSwith && !props.detail.fraccionGEMCO) autoriceItem(props.detail.id) + }, [EstatusSwith, UserChanged]) const popover = ( @@ -247,8 +244,9 @@ export default function RtpAmazonPendingInvoivesDetail( IDInvoice={props.IDMaster} IDDetail={props.detail.id} FraccionOriginal={props.detail.destinationHTSCode} - parentFunction={parentFunction} - Habilitado={props.Habilitado} + ConfirmaFraccion={props.detail.confirmaFraccion} + /* parentFunction={parentFunction} */ + Habilitado={props.Habilitado} /> @@ -378,18 +377,19 @@ export default function RtpAmazonPendingInvoivesDetail( id="switchEnabled" type="switch" disabled={ - ((!props.detail.autorizado && - !props.detail.fraccionGEMCO) || (props.detail.validaFraccionOriginal===1 && props.detail.autorizado===true)) + ((/* !props.detail.autorizado && */ + !props.detail.fraccionGEMCO)/* || (!props.detail.autorizado) */ /* || (props.detail.validaFraccionOriginal===1 && props.detail.autorizado===true) */) } - checked={EstatusSwith} + checked={EstatusSwith && props.detail.autorizado /* (props.detail.fraccionGEMCO===props.detail.destinationHTSCode.replace('.','')) */} onChange={() => { setEstatusSwitch(!EstatusSwith) + setUserChanged(true) setShowModal(!EstatusSwith) }} label="" /> - {RequerimientoNormativo}} > @@ -410,7 +410,7 @@ export default function RtpAmazonPendingInvoivesDetail( )} - {Comentarios}} >