Se agrega que se pueda regresar una factura del estaus actual

AmazonRelease1.1
unknown 2 years ago
parent 1aae91b96d
commit 0e3673e017
  1. 129
      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 { 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 { IconContext } from 'react-icons'
import { BsChevronDown, BsChevronRight, BsSearch } from 'react-icons/bs' import { BsChevronDown, BsChevronRight, BsSearch } from 'react-icons/bs'
import { import {
@ -27,6 +36,8 @@ import {
import RtpAmazonFinishedClasificationInvoicesDetail from './RptAmazonFinishedClasificationInvoicesDetail' import RtpAmazonFinishedClasificationInvoicesDetail from './RptAmazonFinishedClasificationInvoicesDetail'
// Redux // Redux
import { useDispatch, useSelector } from 'react-redux' import { useDispatch, useSelector } from 'react-redux'
import DTO2096PerfilesParecidos from '../../../DTO/DTO2096PerfilesParecidos'
import { SelectEstatus } from '../../../../../Corresponsales/CuentasComplementarias/SelectEstatus/SelectEstatus'
export interface IRptAmazonFinishedClasificationInvoicesProps {} export interface IRptAmazonFinishedClasificationInvoicesProps {}
@ -37,22 +48,30 @@ export default function RptAmazonFinishedClasificationInvoices(
const mInvoices = useSelector( const mInvoices = useSelector(
(state: RootState) => state.AmazonInvoices.Invoice (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 [Fin, setFin] = useState(currentDate(0))
const [filtro, setFiltro] = useState('') 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 [header, setHeader] = useState('')
const [show, setShowMsg] = useState(false) const [show, setShowMsg] = useState(false)
const [msg, setMsg] = useState('') const [msg, setMsg] = useState('')
const msgColor = 'primary' const msgColor = 'primary'
function currentDate(days: number): string { /* function currentDate(days: number): string {
var today = new Date() var today = new Date()
today.setDate(today.getDate() + days) today.setDate(today.getDate() + days)
var dd = String(today.getDate()).padStart(2, '0') var dd = String(today.getDate()).padStart(2, '0')
var mm = String(today.getMonth() + 1).padStart(2, '0') var mm = String(today.getMonth() + 1).padStart(2, '0')
var yyyy = today.getFullYear() var yyyy = today.getFullYear()
return yyyy + '-' + mm + '-' + dd return yyyy + '-' + mm + '-' + dd
} } */
const loadReport = () => { const loadReport = () => {
DSAmazon.AmazonFinishedClasificationInvoiceGET() DSAmazon.AmazonFinishedClasificationInvoiceGET()
@ -95,8 +114,31 @@ export default function RptAmazonFinishedClasificationInvoices(
useEffect(() => { useEffect(() => {
loadReport() 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) => { const changeToggle = (row: I2096Headers) => {
let Invoice: I2096Headers[] = mInvoices.filter((item) => item.id === row.id) let Invoice: I2096Headers[] = mInvoices.filter((item) => item.id === row.id)
const Obj = { ...Invoice[0] } const Obj = { ...Invoice[0] }
@ -104,9 +146,21 @@ export default function RptAmazonFinishedClasificationInvoices(
dispatch(updateInvoice(Obj)) 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) => { const openLink = (item: string) => {
window.open('https://www.amazon.com/dp/' + item) window.open('https://www.amazon.com/dp/' + item)
} }
return ( return (
<div> <div>
<Card> <Card>
@ -149,7 +203,8 @@ export default function RptAmazonFinishedClasificationInvoices(
<th>Tot Charge or allowance</th> <th>Tot Charge or allowance</th>
<th>Tot currency ISO code</th> <th>Tot currency ISO code</th>
<th>Tot Monetary amount</th> <th>Tot Monetary amount</th>
<th>Total de partidas</th> <th>Tot partidas</th>
<th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -250,6 +305,22 @@ export default function RptAmazonFinishedClasificationInvoices(
return row.detail.length return row.detail.length
})} })}
</td> </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> </tr>
{MasterData.max ? ( {MasterData.max ? (
<tr <tr
@ -259,7 +330,7 @@ export default function RptAmazonFinishedClasificationInvoices(
: 'normalSelected2' : 'normalSelected2'
} }
> >
<th colSpan={15}> <th colSpan={18}>
<table <table
className="childTable" className="childTable"
style={{ width: '1450px' }} style={{ width: '1450px' }}
@ -489,6 +560,52 @@ export default function RptAmazonFinishedClasificationInvoices(
</div> </div>
</Card.Body> </Card.Body>
</Card> </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 <MsgInformativo
show={show} show={show}
msg={msg} msg={msg}

@ -240,7 +240,8 @@ export default function RtpAmazonPendingInvoivesDetail(
IDDetail={props.detail.id} IDDetail={props.detail.id}
FraccionOriginal={props.detail.destinationHTSCode} FraccionOriginal={props.detail.destinationHTSCode}
ConfirmaFraccion={props.detail.confirmaFraccion} 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} Detail={props.detail}
/> />
</td> </td>

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

Loading…
Cancel
Save