@@ -787,8 +804,9 @@ export default function RptPendingAnswerFromAmazon(
Proceso={IDProcess}
showPreview={3}
canEdit={true}
- Leyenda="Sube archivos de respuesta de Amazon"
- />
+ Leyenda="Sube archivos de respuesta de Amazon" onAppendMFM={function (Files: IFileManager[]): void {
+ ApplyAnswerFiles2Invoice(Files)
+ } } />
diff --git a/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazonDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazonDetail.tsx
index 3d62567..db69d80 100644
--- a/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazonDetail.tsx
+++ b/src/Components/Clientes/Amazon/Reportes/Clasification/WaitingAnswerFromAmazon/RptPendingAnswerFromAmazonDetail.tsx
@@ -125,14 +125,6 @@ export default function RptPendingAnswerFromAmazonDetail(
const autoriceItem = (id: number) => {
if (EstatusSwith) {
- /* if (CumplimientoNormativo.length === 0) {
- setHeader('Error')
- setMsg(
- 'Antes de poder guardar la informacion es necesario que proporcione el cumplimiento normativo'
- )
- setShowMsg(true)
- return
- } */
if (Comentarios.length === 0) {
setHeader('Error')
setMsg(
@@ -149,20 +141,42 @@ export default function RptPendingAnswerFromAmazonDetail(
setShowMsg(true)
return
}
- }
- const data: DTO2096FraccionDescripcion = {
- id: id,
- fraccion: Fraccion,
- cumplimientoNormativo: CumplimientoNormativo,
- comentarios: Comentarios,
- descripcionGEMCO: DescripcionGEMCO
- }
- DSAmazon.AutorizaItemFacturaAmazon(data)
+ DSAmazon.ValidaFraccionGET(Fraccion)
.then((response) => {
- editArray(id, !props.detail.autorizado)
- setShowModal(false)
+ if (response.data.respuesta === 'Si') {
+ const data: DTO2096FraccionDescripcion = {
+ id: id,
+ fraccion: Fraccion,
+ cumplimientoNormativo: CumplimientoNormativo,
+ comentarios: Comentarios,
+ descripcionGEMCO: DescripcionGEMCO
+ }
+ DSAmazon.AutorizaItemFacturaAmazon(data)
+ .then((response) => {
+ editArray(id, !props.detail.autorizado)
+ setShowModal(false)
+ })
+ .catch((e: Error) => {})
+ } else {
+ alert(
+ 'Esa fraccion no existe, favor de verificarla antes de guardarla'
+ )
+ return
+ }
+ })
+ .catch((e: Error) => {
+ setHeader('Error')
+ setMsg(
+ 'Ocurrio un error' + e.message.toString()
+ )
+ setShowMsg(true)
+ return
})
- .catch((e: Error) => {})
+
+ }
+
+
+
}
useEffect(() => {
diff --git a/src/Components/Clientes/Amazon/Reportes/Estatus/RtpAmazonInvoiceStatus.tsx b/src/Components/Clientes/Amazon/Reportes/Estatus/RtpAmazonInvoiceStatus.tsx
index 72053f0..6015eff 100644
--- a/src/Components/Clientes/Amazon/Reportes/Estatus/RtpAmazonInvoiceStatus.tsx
+++ b/src/Components/Clientes/Amazon/Reportes/Estatus/RtpAmazonInvoiceStatus.tsx
@@ -23,6 +23,7 @@ import loadingImg from '../../../../../images/ajaxloader.gif'
import { MFileManager } from '../../../../Utils/MFileManager/MFileManager'
import DTO2096RptPayedOperations from '../../DTO/DTO2096RptPayedOperations'
import DTO2096InvoiceStatus from '../../DTO/DTO2096InvoiceStatus'
+import IFileManager from '../../../../../Interfaces/Utils/IFileManager'
export interface IRptAmazonInvoiceStatusProps {
}
@@ -481,8 +482,8 @@ export default function RptAmazonInvoiceStatus (props: IRptAmazonInvoiceStatusPr
Proceso={IDProcess}
showPreview={3}
canEdit={false}
- Leyenda="Lista de archivos de respuesta de Amazon"
- />
+ Leyenda="Lista de archivos de respuesta de Amazon" onAppendMFM={function (Files: IFileManager[]): void {
+ } } />
diff --git a/src/Components/Clientes/Amazon/Reportes/Payed/RptAmazonPayedOperations.tsx b/src/Components/Clientes/Amazon/Reportes/Payed/RptAmazonPayedOperations.tsx
index c0b3a37..19a33dd 100644
--- a/src/Components/Clientes/Amazon/Reportes/Payed/RptAmazonPayedOperations.tsx
+++ b/src/Components/Clientes/Amazon/Reportes/Payed/RptAmazonPayedOperations.tsx
@@ -29,6 +29,7 @@ import loadingImg from '../../../../../images/ajaxloader.gif'
import { MFileManager } from '../../../../Utils/MFileManager/MFileManager'
import DTO2096RptPayedOperations from '../../DTO/DTO2096RptPayedOperations'
import { GoGear } from "react-icons/go";
+import IFileManager from '../../../../../Interfaces/Utils/IFileManager'
export interface IRptAmazonPayedOpereationsProps {}
@@ -66,10 +67,7 @@ export default function RptAmazonPayedOpereations(
const loadReport = () => {
DSAmazon.AmazonPayedOperationsGET(Inicio, Fin)
.then((response) => {
- console.log(response.data)
setData(response.data)
- /* dispatch(initializeInvoice([]))
- dispatch(populateInvoices(response.data)) */
})
.catch((e: Error) => {
alert('Ocurrio un error' + e.message.toString())
@@ -548,8 +546,8 @@ export default function RptAmazonPayedOpereations(
Proceso={IDProcess}
showPreview={3}
canEdit={false}
- Leyenda="Lista de archivos de respuesta de Amazon"
- />
+ Leyenda="Lista de archivos de respuesta de Amazon" onAppendMFM={function (Files: IFileManager[]): void {
+ } } />
diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx
index 0bd83c7..bb1664e 100644
--- a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx
+++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2Traffic.tsx
@@ -133,16 +133,52 @@ export default function RptAmazonLinkInvoice2Traffic(
})
}
-
useEffect(() => {
loadReport()
}, [])
+ const check4Updates = (IDInvoice: number) => {
+ DSAmazon.SETInvoiceDetailRevalidateParts(IDInvoice)
+ .then((response) => {
+ DSAmazon.AmazonInvoiceGET(IDInvoice)
+ .then((response) => {
+ dispatch(updateInvoice(response.data[0]))
+ let Invoice: I2096Headers[] = response.data.filter(
+ (item) => item.id === IDInvoice
+ )
+ const Obj = { ...Invoice[0] }
+ Obj.max = !Obj.max
+ dispatch(updateInvoice(Obj))
+ })
+ .catch((e: Error) => {
+ setHeader('Error')
+ setMsg('Ocurrio un error')
+ return
+ })
+ })
+ .catch((e: Error) => {
+ setHeader('Error')
+ setMsg('Ocurrio un error')
+ return
+ })
+ }
+
+
const changeToggle = (row: I2096Headers) => {
let Invoice: I2096Headers[] = mInvoices.filter((item) => item.id === row.id)
const Obj = { ...Invoice[0] }
Obj.max = !Obj.max
dispatch(updateInvoice(Obj))
+ if (Obj.max) check4Updates(row.id)
+ }
+
+ const updateDataGrid = (IDInvoice: number) => {
+ //toggleInvoice(IDInvoice)
+ let Invoice: I2096Headers[] = mInvoices.filter((item) => item.id === IDInvoice)
+ const Obj = { ...Invoice[0] }
+ Obj.max = !Obj.max
+ dispatch(updateInvoice(Obj))
+ if (Obj.max) check4Updates(IDInvoice)
}
const toggleInvoice = (id: number) => {
@@ -445,7 +481,8 @@ export default function RptAmazonLinkInvoice2Traffic(
style={{
width: '50px',
backgroundColor: '#FFFFFF',
- color: '#346288'
+ color: '#346288',
+ textAlign:'right'
}}
>
MasterData.id ===
detail.idHeader
- )
+ )//.sort((a,b) => a.itemId.localeCompare(b.itemId))
+ .sort((a, b) => (a.partida > b.partida) ? 1 : -1)
.map((detail) => {
return (
+ Habilitado={MasterData.estatus <= 1} onDataChange={function (IDMaster: number): void {
+ updateDataGrid(IDMaster)
+ } } />
)
})}
>
diff --git a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx
index ec90f69..228de01 100644
--- a/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx
+++ b/src/Components/Clientes/Amazon/Reportes/Traffic/Linking/RptAmazonLinkInvoice2TrafficDetail.tsx
@@ -28,9 +28,10 @@ import DTO2096TraficoFieldsUpdate from '../../../DTO/DTO2096TraficoFieldsUpdate'
import I2096Headers from '../../../Interfaces/I2096Header'
export interface IRtpAmazonInvoiceTrafficDetailProps {
- IDMaster: number
- detail: I2096Detail
- Habilitado: boolean
+ IDMaster: number,
+ detail: I2096Detail,
+ Habilitado: boolean,
+ onDataChange: (IDMaster: number) => void
}
export default function RtpAmazonInvoice2TrafficDetail(
@@ -121,7 +122,9 @@ export default function RtpAmazonInvoice2TrafficDetail(
itemQuantityUnitOfMeasure: UnitMeasure,
weightValue: UnitOfMeasure,
actualUnitCostMonetaryAmount: UnitCost,
- totalUnitValueMonetaryAmount: (el.quantity * parseFloat(UnitCost)).toString()
+ totalUnitValueMonetaryAmount: (
+ el.quantity * parseFloat(UnitCost)
+ ).toString()
}
}
return el
@@ -129,24 +132,6 @@ export default function RtpAmazonInvoice2TrafficDetail(
UpdateInvoiceDetail(Invoice[0], newDetails)
}
-
- /* const autoriceItem = (id: number) => {
- if (CumplimientoNormativo.length === 0 && EstatusSwith) {
- setHeader('Error')
- setMsg(
- 'Antes de poder guardar la informacion es necesario que proporcione el reparto normativo'
- )
- setShowMsg(true)
- return
- }
- const data: DTO2096ItemAutoriza = {
- id: id,
- autorizado: EstatusSwith,
- cumplimientoNormativo: CumplimientoNormativo,
- comentarios: Comentarios
- }
- } */
-
const ToggleSightLine = (id: number) => {
const data: DTO2096SightLine = {
id: id,
@@ -155,9 +140,8 @@ export default function RtpAmazonInvoice2TrafficDetail(
}
DSAmazon.SightLineSET(data)
.then((response) => {
- console.log(response.data)
- //editArray(id, !props.detail.autorizado)
setShowModal(false)
+ props.onDataChange(props.IDMaster)
})
.catch((e: Error) => {
setHeader('Error')
@@ -167,12 +151,7 @@ export default function RtpAmazonInvoice2TrafficDetail(
})
}
- /* useEffect(() => {
- if (UserChanged && EstatusSwith && !props.detail.fraccionGEMCO)
- autoriceItem(props.detail.id)
- }, [EstatusSwith, UserChanged]) */
-
- const saveFields = () =>{
+ const saveFields = () => {
const data: DTO2096TraficoFieldsUpdate = {
id: props.detail.id,
UnitMeasure: UnitMeasure,
@@ -180,27 +159,27 @@ export default function RtpAmazonInvoice2TrafficDetail(
UnitCost: parseFloat(UnitCost)
}
DSAmazon.TrafficFieldsUpdate(data)
- .then((response) => {
- /*
+ .then((response) => {
+ /*
itemQuantityUnitOfMeasure: UnitMeasure,
weightValue: UnitOfMeasure,
actualUnitCostMonetaryAmount: UnitCost
*/
- setUnitMeasure(response.data.itemQuantityUnitOfMeasure)
- setUnitOfMeasure(response.data.weightValue)
- setUnitCost(response.data.actualUnitCostMonetaryAmount)
- editInvoice(props.detail.id)
- setHeader('Informativo')
- setMsg('La informacion se guardo exitosamente')
- setShowMsg(true)
- return
- })
- .catch((e: Error) => {
- setHeader('Error')
- setMsg('Ocurrio un error')
- setShowMsg(true)
- return
- })
+ setUnitMeasure(response.data.itemQuantityUnitOfMeasure)
+ setUnitOfMeasure(response.data.weightValue)
+ setUnitCost(response.data.actualUnitCostMonetaryAmount)
+ editInvoice(props.detail.id)
+ setHeader('Informativo')
+ setMsg('La informacion se guardo exitosamente')
+ setShowMsg(true)
+ return
+ })
+ .catch((e: Error) => {
+ setHeader('Error')
+ setMsg('Ocurrio un error')
+ setShowMsg(true)
+ return
+ })
}
useEffect(() => {
@@ -213,11 +192,13 @@ export default function RtpAmazonInvoice2TrafficDetail(
|
-
+ {props.detail.partida}
|
- No Parte: {ItemId}
- Fraccion GEMCO: {FraccionGEMCO}
- Descripcion GEMCO: {DescripcionGEMCO}
+ No Parte: {ItemId}{' '}
+
+
+ Fraccion GEMCO:
+ {' '}
+ {FraccionGEMCO}
+
+ Descripcion GEMCO:
+ {' '}
+ {DescripcionGEMCO}
@@ -486,10 +474,10 @@ export default function RtpAmazonInvoice2TrafficDetail(
/>
-
+
Unit of Measure:
- {
const { value } = values
setUnitOfMeasure(value)
@@ -508,9 +496,8 @@ export default function RtpAmazonInvoice2TrafficDetail(
}}
/>
-
-
+
Unit Cost:
-
+
@@ -552,7 +541,7 @@ export default function RtpAmazonInvoice2TrafficDetail(
}}
size={'sm'}
dialogClassName={'modal-50w'}
- >
+ >
diff --git a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts
index da94b34..bbfd89f 100644
--- a/src/Components/Clientes/Amazon/Services/Amazon.Services.ts
+++ b/src/Components/Clientes/Amazon/Services/Amazon.Services.ts
@@ -19,6 +19,7 @@ import DTO2096RELParteFactura from '../DTO/DTO2096RELParteFactura'
import DTO2096RptPayedOperations from '../DTO/DTO2096RptPayedOperations'
import DTO2096NoParteVerificacion from '../DTO/DTO2096NoParteVerificacion'
import DTO2096InvoiceStatus from '../DTO/DTO2096InvoiceStatus'
+import IFileManager from '../../../../Interfaces/Utils/IFileManager'
class AmazonDataService {
AmazonPendingClasificationInvoiceGET() {
@@ -211,5 +212,8 @@ class AmazonDataService {
SETInvoiceDetailRevalidateParts(id: number) {
return http.get(`/AmazonInvoice/SETInvoiceDetailRevalidateParts?id=${id}`)
}
+ ApplyAnswerFile2Invoice(Files: string[]) {
+ return http.post(`/AmazonInvoice/ApplyAnswerFile2Invoice`, Files)
+ }
}
export default new AmazonDataService()
diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx
index eb6a34c..7ea8e49 100644
--- a/src/Components/Corresponsales/TraficoCorresponsales.tsx
+++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx
@@ -104,6 +104,7 @@ import ICorresponsalCatMediosEmbarque from '../../Interfaces/Corresponsales/ICor
import { CuentasComplementarias } from './CuentasComplementarias/CuentasComplementarias'
import DTOTraficoCompleto from '../../DTO/Corresponsales/DTOTraficoCompleto'
import DTORectificacionHistorico from '../../DTO/Corresponsales/DTORectificacionHistorico'
+import IFileManager from '../../Interfaces/Utils/IFileManager'
interface IProps {
IDTrafico: number
@@ -2789,8 +2790,8 @@ export default function TraficoCorresponsales (props:IProps) {
Proceso={c.proceso}
showPreview={3}
canEdit={Depto === 'Corresponsalias'}
- Leyenda={'Seleccione: ' + c.descripcion}
- />
+ Leyenda={'Seleccione: ' + c.descripcion} onAppendMFM={function (Files: IFileManager[]): void {
+ } } />
@@ -3244,8 +3245,8 @@ export default function TraficoCorresponsales (props:IProps) {
Proceso={10}
showPreview={1}
canEdit={Depto === 'Corresponsalias'}
- Leyenda={'Selecciones las imagenes de previo...'}
- />
+ Leyenda={'Selecciones las imagenes de previo...'} onAppendMFM={function (Files: IFileManager[]): void {
+ } }/>
diff --git a/src/Components/Utils/MFileManager/MFileManager.tsx b/src/Components/Utils/MFileManager/MFileManager.tsx
index 7013488..d87e054 100644
--- a/src/Components/Utils/MFileManager/MFileManager.tsx
+++ b/src/Components/Utils/MFileManager/MFileManager.tsx
@@ -12,7 +12,8 @@ interface IProps {
Proceso: number
Leyenda?: string
showPreview: number
- canEdit: boolean
+ canEdit: boolean,
+ onAppendMFM: (Files: IFileManager[]) => void
}
export const MFileManager: FC = (props) => {
@@ -40,6 +41,7 @@ export const MFileManager: FC = (props) => {
MFileManagerDS.Append(formData, IDTrafico, Proceso, UserId)
.then((response) => {
setListaArchivos(response.data)
+ props.onAppendMFM(response.data)
})
.catch((e: Error) => {
alert('Ocurrio un error: ' + e)
|