Primer actualizacion previo a Go Live

AmazonRelease1.1
unknown 2 years ago
parent 7f9a364723
commit 4850cddd5b
  1. 3
      src/Components/Clientes/Amazon/Components/ComboSelect/ComboFraccion.tsx
  2. 8
      src/Components/Clientes/Amazon/DTO/DTO2096LinkInvoice2Reference.ts
  3. 1
      src/Components/Clientes/Amazon/Interfaces/I2096Detail.ts
  4. 2
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/ClasificatorAssign.tsx
  5. 11
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoices.tsx
  6. 25
      src/Components/Clientes/Amazon/Reportes/Clasification/Pending/RptAmazonPendingClasificationInvoicesDetail.tsx
  7. 64
      src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx
  8. 5
      src/Components/Clientes/Amazon/Reportes/Traffic/Pending/RtpAmazonPendingTraficInvoice.tsx
  9. 14
      src/Components/Clientes/Amazon/Services/Amazon.Services.ts

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

@ -0,0 +1,8 @@
export default interface DTO2096LinkInvoice2Reference {
referencia: string,
facturas: number[]
}
export interface arrInvoices {
idFactura: number
}

@ -3,6 +3,7 @@ export default interface I2096Detail {
idHeader: number
invoiceNumber: string
amazonShipmentReferenceId: string
partida: number
trailerId: string
itemId: string
itemIdType: string

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

@ -547,15 +547,6 @@ export default function RtpAmazonPendingInvoices(
>
Total value
</th>
{/* <th
style={{
width: '70px',
backgroundColor: '#D3E0EA',
color: '#346288'
}}
>
Autorizado
</th> */}
<th
style={{
width: '70px',
@ -640,7 +631,7 @@ export default function RtpAmazonPendingInvoices(
<Col xs={1}></Col>
<Col xs={10}>
<Alert key={'danger'} variant={'danger'}>
La factura esta lista para terminarse, desea terminarla?
La factura esta lista para terminarse y pasarse al siguiente proceso?
</Alert>
</Col>
<Col xs={1}></Col>

@ -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 id="popover-basic">
<Popover.Header as="h3">Popover right</Popover.Header>
<Popover.Body>
And here's some <strong>amazing</strong> content. It's very engaging.
right?
</Popover.Body>
</Popover>
) */
const checkDetail = () => {
DSAmazon.CheckDetail(props.detail.id)
.then((response) => {
setChecked(!Checked)
editArray(props.detail.id,!Checked)
editInvoice(props.detail.id,!Checked)
})
.catch((e: Error) => {})
}

@ -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(
<th></th>
<th style={{ width: '50px' }}>id</th>
<th style={{ width: '50px' }}>[...]</th>
<th style={{ width: '50px' }}>PDF</th>
<th style={{ width: '80px' }}>Commercial Invoice Date</th>
<th style={{ width: '250px' }}>Invoice Number</th>
<th style={{ width: '100px' }}>Incoterms</th>
@ -194,7 +243,7 @@ export function RptAmazonLinkInvoice2Traffic(
return (
<>
<tr
style={{ cursor: 'pointer' }}
style={{ cursor: 'pointer', height: '25px' }}
className={
MasterData.max === true
? 'masterSelected'
@ -234,6 +283,15 @@ export function RptAmazonLinkInvoice2Traffic(
onClick={() => toggleInvoice(MasterData.id)}
/>
</td>
<td style={{ width: '50px', textAlign: 'center' }}>
<div onClick={() => {downloadPDF(MasterData.id)}}>
<IconContext.Provider
value={{ color: 'red', size: '20px' }}
>
<BsFilePdfFill />
</IconContext.Provider>
</div>
</td>
<td style={{ width: '80px', textAlign: 'center' }}>
{MasterData.commercialInvoiceDate}
</td>
@ -556,7 +614,7 @@ export function RptAmazonLinkInvoice2Traffic(
</Button>
</Col>
<Col xs={6} style={{ textAlign: 'center' }}>
<Button variant="danger" onClick={() => {}}>
<Button variant="danger" onClick={() => {asociaFacturasReferencia()}}>
&nbsp;&nbsp;Asociar referencia&nbsp;&nbsp;
</Button>
</Col>

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

@ -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<I2096Detail>(`/AmazonInvoice/C2096CheckDetail?id=${id}`)
}
/* ClasificationFinish(data: DTO2096ItemAutoriza) {
return http.post<DTO2096ItemAutoriza>(`/AmazonInvoice/C2096ItemAutorizado`, data)
} */
AmazonPendingTraficInvoiceGET() {
return http.get<I2096Headers[]>(`/AmazonInvoice/AmazonPendingTraficInvoiceGet`)
@ -69,9 +67,6 @@ class AmazonDataService {
AutorizaItemFacturaAmazon(data: DTO2096FraccionDescripcion) {
return http.put<I2096Detail>(`/AmazonInvoice/C2096AutorizaItemFactura`, data)
}
/* SETAutorizado(data: DTO2096FraccionDescripcion) {
return http.put<I2096Detail>(`/AmazonInvoice/C2096ItemAutorizadoSET`, data)
} */
SightLineSET(data: DTO2096SightLine) {
return http.put<DTO2096SightLine>(`/AmazonInvoice/AmazonSightLineSET`, data)
}
@ -106,6 +101,9 @@ class AmazonDataService {
console.log(error)
})
}
AsignaFacturasReferencia(data: DTO2096LinkInvoice2Reference) {
return http.post<Boolean>(`/AmazonInvoice/AsignaFacturasReferencia`, data)
}
@ -116,7 +114,7 @@ class AmazonDataService {
PerfilesParecidosGet(Perfil: string) {
return http.get<DTO2096PerfilesParecidos[]>(`/Usuarios/Catalogo/Usuarios/PerfilesParecidos?Perfil=${Perfil}`)
}
AsignaFactura(IdUsuario: number, IdFactura: number) {
AsignaFacturaClasificador(IdUsuario: number, IdFactura: number) {
return http.put<DTO2096PerfilesParecidos[]>(`/AmazonInvoice/AsignaFactura?IdUsuario=${IdUsuario}&IdFactura=${IdFactura}`)
}
}

Loading…
Cancel
Save