Se le sacan los bugs al reporte de Amazon

AmazonRelease1.1
unknown 2 years ago
parent e1596288e9
commit c60d53e638
  1. 46
      src/Components/Clientes/Amazon/Components/ComboSelect/ComboDescripcion.tsx
  2. 37
      src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx
  3. 1
      src/Components/Clientes/Amazon/DTO/DTO2096Descripcion.ts
  4. 1
      src/Components/Clientes/Amazon/DTO/DTO2096Fraccion.ts
  5. 2
      src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts
  6. 61
      src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoices.tsx
  7. 32
      src/Components/Clientes/Amazon/Reportes/RptAmazonPendingInvoicesDetail.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,6 +113,7 @@ export function ComboDescripcion(props: IComboDescripcionProps) {
}
useEffect(() => {
if (UserChanged) {
if (Validacion === 2) {
setDescripcion('')
setShowModal(true)
@ -139,23 +121,25 @@ export function ComboDescripcion(props: IComboDescripcionProps) {
setDescripcion(props.DescripcionOriginal)
const data: DTO2096Descripcion = {
id: props.IDDetail,
descripcion: Descripcion
descripcion: Descripcion,
confirmaDescripcion: Validacion
}
setDescripcion(props.DescripcionOriginal)
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) => {
alert('Ocurrio un error' + e.message.toString())
})
}
}, [Validacion])
}
}, [Validacion, UserChanged])
return (
<div>

@ -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 (UserChanged) {
if (Validacion === 2) {
setShowModal(true)
} else if (Validacion === 1) {
const data: DTO2096Fraccion = {
id: props.IDDetail,
fraccion: Fraccion
fraccion: Fraccion,
confirmaFraccion: Validacion
}
DSAmazon.SetFraccion(data)
.then((response) => {
UpdateInfo()
setShowModal(false)
setHeader('Confirmacion')
setMsg('La descripcion se ha guardado correctamente')
setShowMsg(true)
//forceUpdate()
UpdateInfo(response.data)
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 (
<div>
<Form.Control
disabled={!props.Habilitado}
as="select"
className="form-select form-select-sm"
onChange={(e) => changeValidacion(parseInt(e.target.value))}

@ -1,4 +1,5 @@
export default interface DTO2096Descripcion {
id: number,
descripcion: string
confirmaDescripcion: number
}

@ -1,4 +1,5 @@
export default interface DTO2096Fraccion {
id: number,
fraccion: string
confirmaFraccion: number
}

@ -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

@ -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(
<Card.Title>Amazon: facturas pendientes</Card.Title>
</Col>
<Col xs={4}></Col>
{/* <Col xs={1} style={{textAlign:'right'}}>Inicio</Col>
<Col xs={1}><Form.Control
defaultValue={Inicio}
type="date"
name="Inicio"
placeholder="Inicio"
title="Inicio"
alt="Inicio"
data-date-format="YYYY-mm-dd"
onChange={(e) => setInicio(e.target.value)}
size="sm"
/></Col>
<Col xs={1} style={{textAlign:'right'}}>Hasta</Col>
<Col xs={1}><Form.Control
defaultValue={Fin}
type="date"
name="Inicio"
placeholder="Inicio"
title="Inicio"
alt="Inicio"
data-date-format="YYYY-mm-dd"
onChange={(e) => setFin(e.target.value)}
size="sm"
/></Col> */}
{/* <Col xs={1}>
<Button
variant="primary"
size="sm"
onClick={() => {
loadReport()
}}
>
<BsSearch />
Buscar
</Button>
</Col>
<Col xs={4}>
<Form.Control
type="text"
size="sm"
placeholder="Search..."
onChange={(e) => {
filtraReporte(e)
}}
/>
</Col> */}
</Row>
</Card.Body>
</Card>

@ -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 = (
<Popover id="popover-basic">
@ -247,7 +244,8 @@ export default function RtpAmazonPendingInvoivesDetail(
IDInvoice={props.IDMaster}
IDDetail={props.detail.id}
FraccionOriginal={props.detail.destinationHTSCode}
parentFunction={parentFunction}
ConfirmaFraccion={props.detail.confirmaFraccion}
/* parentFunction={parentFunction} */
Habilitado={props.Habilitado}
/>
</td>
@ -283,6 +281,7 @@ export default function RtpAmazonPendingInvoivesDetail(
IDInvoice={props.IDMaster}
IDDetail={props.detail.id}
DescripcionOriginal={props.detail.pedimentoDescription}
ConfirmaDescripcion={props.detail.confirmaDescripcion}
Habilitado={props.Habilitado}
/>
</td>
@ -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=""
/>
</td>
<td style={{visibility : props.detail.validaFraccionOriginal!==0 ? 'hidden' : 'visible'}}> <OverlayTrigger
<td style={{visibility : RequerimientoNormativo.length===0 ? 'hidden' : 'visible'}}> <OverlayTrigger
placement="bottom"
overlay={<Tooltip id="button-tooltip-2">{RequerimientoNormativo}</Tooltip>}
>
@ -410,7 +410,7 @@ export default function RtpAmazonPendingInvoivesDetail(
</Button>
)}
</OverlayTrigger></td>
<td style={{visibility : props.detail.validaFraccionOriginal!==0 ? 'hidden' : 'visible'}}> <OverlayTrigger
<td style={{visibility : RequerimientoNormativo.length===0 ? 'hidden' : 'visible'}}> <OverlayTrigger
placement="bottom"
overlay={<Tooltip id="button-tooltip-2">{Comentarios}</Tooltip>}
>

Loading…
Cancel
Save