Se agrega que se pueda regresar una factura del estaus actual

AmazonRelease1.1
unknown 2 years ago
parent 1aae91b96d
commit 0e3673e017
  1. 137
      src/Components/Clientes/Amazon/Reportes/Clasification/Finished/RptAmazonFinishedClasificationInvoices.tsx
  2. 3
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx
  3. 3
      src/Components/Clientes/Amazon/Services/Amazon.Services.ts

@ -1,5 +1,14 @@
import { useEffect, useState } from 'react'
import { Button, Card, Col, Form, Row, Table } from 'react-bootstrap'
import {
Alert,
Button,
Card,
Col,
Form,
Modal,
Row,
Table
} from 'react-bootstrap'
import { IconContext } from 'react-icons'
import { BsChevronDown, BsChevronRight, BsSearch } from 'react-icons/bs'
import {
@ -27,6 +36,8 @@ import {
import RtpAmazonFinishedClasificationInvoicesDetail from './RptAmazonFinishedClasificationInvoicesDetail'
// Redux
import { useDispatch, useSelector } from 'react-redux'
import DTO2096PerfilesParecidos from '../../../DTO/DTO2096PerfilesParecidos'
import { SelectEstatus } from '../../../../../Corresponsales/CuentasComplementarias/SelectEstatus/SelectEstatus'
export interface IRptAmazonFinishedClasificationInvoicesProps {}
@ -37,22 +48,30 @@ export default function RptAmazonFinishedClasificationInvoices(
const mInvoices = useSelector(
(state: RootState) => state.AmazonInvoices.Invoice
)
const [Inicio, setInicio] = useState(currentDate(0))
const [Data, setData] = useState<DTO2096PerfilesParecidos[]>([])
/* const [Inicio, setInicio] = useState(currentDate(0))
const [Fin, setFin] = useState(currentDate(0))
const [filtro, setFiltro] = useState('')
*/
const [Accion, setAccion] = useState(0)
const [Estatus, setEstatus] = useState(0)
const [IDInvoice, setIDInvoice] = useState(0)
const [IDClasificador, setIDClasificador] = useState(0)
const [Clasificador, setClasificador] = useState('')
const [ShowModal, setShowModal] = useState(false)
const [header, setHeader] = useState('')
const [show, setShowMsg] = useState(false)
const [msg, setMsg] = useState('')
const msgColor = 'primary'
function currentDate(days: number): string {
/* function currentDate(days: number): string {
var today = new Date()
today.setDate(today.getDate() + days)
var dd = String(today.getDate()).padStart(2, '0')
var mm = String(today.getMonth() + 1).padStart(2, '0')
var yyyy = today.getFullYear()
return yyyy + '-' + mm + '-' + dd
}
} */
const loadReport = () => {
DSAmazon.AmazonFinishedClasificationInvoiceGET()
@ -79,10 +98,10 @@ export default function RptAmazonFinishedClasificationInvoices(
document.body.appendChild(link)
link.click()
DSAmazon.TerminaClasificarFactura(id)
.then((response) => { })
.catch((e: Error) => {
alert('Ocurrio un error' + e.message.toString())
})
.then((response) => {})
.catch((e: Error) => {
alert('Ocurrio un error' + e.message.toString())
})
}
})
.catch((e: Error) => {
@ -95,8 +114,31 @@ export default function RptAmazonFinishedClasificationInvoices(
useEffect(() => {
loadReport()
DSAmazon.PerfilesParecidosGet('Clasificador')
.then((response) => {
setData(response.data)
})
.catch((e: Error) => {
alert('Ocurrio un error' + e.message.toString())
})
}, [])
const getUser = (Id: number) => {
const NoAsignado = ' - NO ASIGNADO -'
if (Id === 0) return NoAsignado
else if (Data.length) {
const Usuario = Data.filter((item) => item.idUsuario === Id)
return Usuario[0].nombre ? Usuario[0].nombre : NoAsignado
}
return NoAsignado
}
useEffect(() => {
if (ShowModal) {
setClasificador(getUser(IDClasificador))
}
}, [ShowModal])
const changeToggle = (row: I2096Headers) => {
let Invoice: I2096Headers[] = mInvoices.filter((item) => item.id === row.id)
const Obj = { ...Invoice[0] }
@ -104,9 +146,21 @@ export default function RptAmazonFinishedClasificationInvoices(
dispatch(updateInvoice(Obj))
}
const returnTO = () => {
DSAmazon.InvoiceReturnState(IDInvoice, 0)
.then((response) => {
loadReport()
setShowModal(false)
})
.catch((e: Error) => {
alert('Ocurrio un error' + e.message.toString())
})
}
const openLink = (item: string) => {
window.open('https://www.amazon.com/dp/' + item)
}
return (
<div>
<Card>
@ -149,7 +203,8 @@ export default function RptAmazonFinishedClasificationInvoices(
<th>Tot Charge or allowance</th>
<th>Tot currency ISO code</th>
<th>Tot Monetary amount</th>
<th>Total de partidas</th>
<th>Tot partidas</th>
<th></th>
</tr>
</thead>
<tbody>
@ -250,6 +305,22 @@ export default function RptAmazonFinishedClasificationInvoices(
return row.detail.length
})}
</td>
<td>
<Form.Control
as="select"
className="form-select form-select-sm"
onChange={(e) => {
setIDInvoice(MasterData.id)
setAccion(parseInt(e.target.value))
setIDClasificador(MasterData.clasificador)
setEstatus(MasterData.estatus)
setShowModal(true)
}}
>
<option value="0">Ok</option>
<option value="1">Regresa</option>
</Form.Control>
</td>
</tr>
{MasterData.max ? (
<tr
@ -259,7 +330,7 @@ export default function RptAmazonFinishedClasificationInvoices(
: 'normalSelected2'
}
>
<th colSpan={15}>
<th colSpan={18}>
<table
className="childTable"
style={{ width: '1450px' }}
@ -489,6 +560,52 @@ export default function RptAmazonFinishedClasificationInvoices(
</div>
</Card.Body>
</Card>
<Modal
show={ShowModal}
onHide={() => {
setShowModal(false)
}}
size={'sm'}
dialogClassName={'modal-50w'}
>
<Modal.Body>
<div style={{ height: '150px' }}>
<Row style={{ paddingTop: '15px' }}>
<Col xs={1}></Col>
<Col xs={10}>
<Alert key={'danger'} variant={'danger'}>
¿Esta seguro de regresarle esta factura a: {Clasificador}?
</Alert>
</Col>
<Col xs={1}></Col>
</Row>
<Row style={{ paddingTop: '15px' }}>
<Col xs={6} style={{ textAlign: 'center' }}>
<Button
variant="secondary"
onClick={() => {
setShowModal(false)
}}
>
&nbsp;&nbsp;No&nbsp;&nbsp;
</Button>
</Col>
<Col xs={6} style={{ textAlign: 'center' }}>
<Button
variant="danger"
onClick={() => {
returnTO()
}}
>
&nbsp;&nbsp;Si&nbsp;&nbsp;
</Button>
</Col>
</Row>
</div>
</Modal.Body>
</Modal>
<MsgInformativo
show={show}
msg={msg}

@ -240,7 +240,8 @@ export default function RtpAmazonPendingInvoivesDetail(
IDDetail={props.detail.id}
FraccionOriginal={props.detail.destinationHTSCode}
ConfirmaFraccion={props.detail.confirmaFraccion}
Deshabilitado={props.Deshabilitado}
/* Deshabilitado={props.Deshabilitado} <= Asi estaba el dia 25/Ene/2023 */
Deshabilitado={props.detail.validaFraccionOriginal === 1}
Detail={props.detail}
/>
</td>

@ -37,6 +37,9 @@ class AmazonDataService {
CheckDetail(id: number) {
return http.put<I2096Detail>(`/AmazonInvoice/C2096CheckDetail?id=${id}`)
}
InvoiceReturnState(IdFactura: number, Estatus: number) {
return http.put<I2096Detail>(`/AmazonInvoice/InvoiceReturnState?IdFactura=${IdFactura}&Estatus=${Estatus}`)
}
AmazonPendingTraficInvoiceGET() {

Loading…
Cancel
Save