|
|
|
@ -524,9 +524,6 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg('La informacion se guardo correctamente') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
setTimeout(() => { |
|
|
|
|
setIsDisabled(false) |
|
|
|
|
}, 5000); |
|
|
|
|
} |
|
|
|
|
return |
|
|
|
|
} else if (response.data.estatusCode === 409.1) { |
|
|
|
@ -549,7 +546,6 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
setTimeout(() => { |
|
|
|
|
setIsDisabled(false) |
|
|
|
|
}, 5000); |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrio un error: ' + e) |
|
|
|
@ -1162,74 +1158,30 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const saveCurrentStep = () => { |
|
|
|
|
if(Depto === 'Corresponsalias') saveCorresponsaliasStep() |
|
|
|
|
else if(Depto === 'Contabilidad') saveContabilidadAndFacturacionSteps() |
|
|
|
|
} |
|
|
|
|
const saveFinalStep = async (data: DTOTraficoCompleto) => { |
|
|
|
|
CTrafDataService.ValidateComplete(data) |
|
|
|
|
.then((response) => { |
|
|
|
|
if (response.status === 200) { |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg('La informacion se guardo correctamente') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
.catch((e: Error) => { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrio un error: ' + e) |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const saveCorresponsaliasStep = () => { |
|
|
|
|
if(ComentariosRechazo === ''){ |
|
|
|
|
let data: DTOTraficoCompleto = { |
|
|
|
|
id: IDTrafico, |
|
|
|
|
idUsuario: UserId, |
|
|
|
|
estatus: TerminaProceso, |
|
|
|
|
comentarios: 'Todo Correcto' |
|
|
|
|
} |
|
|
|
|
saveFinalStep(data) |
|
|
|
|
}else{ |
|
|
|
|
let data: ICorresponsalesTraficoContabilidad = { |
|
|
|
|
id: 0, |
|
|
|
|
idUsuario: UserId, |
|
|
|
|
idTrafico: IDTrafico, |
|
|
|
|
statusProceso: 0, |
|
|
|
|
fechaRegistro: '', |
|
|
|
|
razonRechazo: ComentariosRechazo, |
|
|
|
|
tipo: 0 |
|
|
|
|
} |
|
|
|
|
rejectCurrentStep(data) |
|
|
|
|
} |
|
|
|
|
updateProceso(data) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const saveContabilidadAndFacturacionSteps = async () => { |
|
|
|
|
const validateSelectedRejectOption = async () => { |
|
|
|
|
if(IDRazonRechazo === 0){ |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg('Debe aceptar el tráfico o seleccionar un motivo de rechazo.') |
|
|
|
|
setMsg('Debe autorizar el tráfico o seleccionar un motivo de rechazo.') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
let arrStatus = mCCCEstatus.filter((a) => { |
|
|
|
|
let selectedOption = mCCCEstatus.filter((a) => { |
|
|
|
|
if (a.id === IDRazonRechazo) { |
|
|
|
|
return a |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if(IDRazonRechazo === 7){
|
|
|
|
|
let data: DTOTraficoCompleto = { |
|
|
|
|
id: IDTrafico, |
|
|
|
|
idUsuario: UserId, |
|
|
|
|
estatus: Proceso === 2 ? 3 : 4, |
|
|
|
|
comentarios: arrStatus[0].estatus |
|
|
|
|
} |
|
|
|
|
await saveFinalStep(data).then(async (r) => { |
|
|
|
|
if(Proceso === 2) await generateFacturacionTxt(); |
|
|
|
|
setIsDisabled(false) |
|
|
|
|
}); |
|
|
|
|
if(IDRazonRechazo === 7){//Si el trafico se autoriza
|
|
|
|
|
generateFacturacionTxt(selectedOption[0].estatus); |
|
|
|
|
}else{ |
|
|
|
|
let data: ICorresponsalesTraficoContabilidad = { |
|
|
|
|
id: 0, |
|
|
|
@ -1237,18 +1189,47 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
idTrafico: IDTrafico, |
|
|
|
|
statusProceso: 0, |
|
|
|
|
fechaRegistro: '', |
|
|
|
|
razonRechazo: arrStatus[0].estatus, |
|
|
|
|
razonRechazo: selectedOption[0].estatus, |
|
|
|
|
tipo: Proceso === 2 ? 2 : 3 |
|
|
|
|
} |
|
|
|
|
rejectCurrentStep(data) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const updateProceso = (dto: DTOTraficoCompleto) => { |
|
|
|
|
//Aqui va la peticion al servidor para actualizar el proceso
|
|
|
|
|
CTrafDataService.ValidateComplete(dto) |
|
|
|
|
.then((response)=>{ |
|
|
|
|
//Aqui se actualiza el estado del proceso del trafico
|
|
|
|
|
setHeader('Informativo') |
|
|
|
|
if(Proceso === 1){ |
|
|
|
|
setMsg('Tráfico guardado correctamente.') |
|
|
|
|
setProceso(2) |
|
|
|
|
}else if(Proceso === 2){ |
|
|
|
|
setMsg('Tráfico autorizado correctamente.') |
|
|
|
|
setProceso(3) |
|
|
|
|
}else if(Proceso === 3){ |
|
|
|
|
setMsg('Cuenta Cerrada correctamente.') |
|
|
|
|
setProceso(4) |
|
|
|
|
}else{ |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
setShowMsg(true) |
|
|
|
|
}).catch((error) => { |
|
|
|
|
//Aqui se muestra un mensaje en caso de error
|
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrió un error. Favor de revisar la información e intentarlo nuevamente.') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const rejectCurrentStep = (data:ICorresponsalesTraficoContabilidad) => { |
|
|
|
|
CContaDataService.Append(data) |
|
|
|
|
.then( () => { |
|
|
|
|
setHeader('Informativo') |
|
|
|
|
setMsg('Tráfico rechazado con éxito') |
|
|
|
|
setProceso(Proceso-1) |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
}) |
|
|
|
@ -1315,8 +1296,8 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const generateFacturacionTxt = async () => { |
|
|
|
|
let cliente = Clientes?.filter(x => x.sClave === IDCliente)[0]; |
|
|
|
|
const generateFacturacionTxt = async (comentarios: string) => { |
|
|
|
|
/* let cliente = Clientes?.filter(x => x.sClave === IDCliente)[0]; |
|
|
|
|
let tipoMercancia = TiposMercancia.filter(x => x.id === IDTipoMercancia)[0]; |
|
|
|
|
let facturas = mCFacturas.filter(factura => factura.id > 0); |
|
|
|
|
let nombreProveedor = ""; |
|
|
|
@ -1350,13 +1331,29 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
headers:{ |
|
|
|
|
'Authorization': 'Bearer ' + token |
|
|
|
|
} |
|
|
|
|
} */ |
|
|
|
|
await axios.get(URL.get() + `/FileManager/CreateFacturacionTxt?folioTrafico=${FolioTrafico}&idTrafico=${IDTrafico}&idUsuario=${UserId}`,{ |
|
|
|
|
headers:{ |
|
|
|
|
'Authorization': 'Bearer ' + token |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
/*const url = URL.createObjectURL(blob); |
|
|
|
|
const link = document.createElement("a"); |
|
|
|
|
link.download = `${FolioTrafico}_${Date.now()}.txt`; |
|
|
|
|
link.href = url; |
|
|
|
|
link.click();*/ |
|
|
|
|
}
|
|
|
|
|
).then(resp => { |
|
|
|
|
console.log(resp); |
|
|
|
|
//Si se crea exitosamente el archivo de texto se manda a actualizar el proceso
|
|
|
|
|
let data: DTOTraficoCompleto = { |
|
|
|
|
id: IDTrafico, |
|
|
|
|
idUsuario: UserId, |
|
|
|
|
estatus: 3, |
|
|
|
|
comentarios: comentarios |
|
|
|
|
} |
|
|
|
|
updateProceso(data) |
|
|
|
|
}).catch((error) => { |
|
|
|
|
//Si hay algun error aquí se mostrará un mensaje indicando que algo no ocurrió como se esperaba.
|
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrió un error favor de revisar la información del tráfico e intentarlo de nuevo.') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
return |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const concatFacturasPedidos = (facturas: ICorresponsalFacturas[]) => { |
|
|
|
@ -1411,7 +1408,8 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
saveForm(); |
|
|
|
|
FileManagerServices.GetClientesZip(IDTrafico) |
|
|
|
|
.then(response => { |
|
|
|
|
CTrafDataService.ValidateComplete({id: IDTrafico, idUsuario:UserId, estatus: 4, comentarios:'Todo Correcto'}) |
|
|
|
|
updateProceso({id: IDTrafico, idUsuario:UserId, estatus: 4, comentarios:'Todo Correcto'}) |
|
|
|
|
/* CTrafDataService.ValidateComplete({id: IDTrafico, idUsuario:UserId, estatus: 4, comentarios:'Todo Correcto'}) |
|
|
|
|
.then(resp => { |
|
|
|
|
setProceso(4); |
|
|
|
|
setHeader('Informativo') |
|
|
|
@ -1421,7 +1419,7 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('Ocurrio un error al cerrar la cuenta. Favor de intentarlo nuevamente') |
|
|
|
|
setShowMsg(true) |
|
|
|
|
}); |
|
|
|
|
}); */ |
|
|
|
|
}).catch(error => { |
|
|
|
|
setHeader('Error') |
|
|
|
|
setMsg('No se han encontrado uno o más de los archivos obligatorios para cerrar la cuenta.') |
|
|
|
@ -1781,7 +1779,7 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
</Row> |
|
|
|
|
<Row style={{padding: "5px 0"}}> |
|
|
|
|
<Col sm={11} md={11} lg={11}
|
|
|
|
|
style={{ visibility: Proceso < 2 ? 'visible' : 'hidden', textAlign: 'end'}} |
|
|
|
|
style={{ visibility: Proceso < 2 && Depto === 'Corresponsalias' ? 'visible' : 'hidden', textAlign: 'end'}} |
|
|
|
|
> |
|
|
|
|
{IDTrafico > 0 && IDCliente === 1896? ( |
|
|
|
|
<> |
|
|
|
@ -1810,7 +1808,6 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
size="sm" |
|
|
|
|
style={{ paddingLeft: '20px', paddingRight: '20px' }} |
|
|
|
|
onClick={() => { |
|
|
|
|
setIsDisabled(true) |
|
|
|
|
saveForm() |
|
|
|
|
}} |
|
|
|
|
disabled = {IsDisabled} |
|
|
|
@ -2819,7 +2816,6 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
}} |
|
|
|
|
disabled = {IsDisabled} |
|
|
|
|
onClick={() => { |
|
|
|
|
setIsDisabled(true); |
|
|
|
|
saveForm() |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
@ -2851,9 +2847,10 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
{mCCCEstatus |
|
|
|
|
? mCCCEstatus.map((item, index) => { |
|
|
|
|
return ( |
|
|
|
|
Depto === 'Contabilidad' || item.id < 7 ? |
|
|
|
|
<option key={item.id} value={item.id}> |
|
|
|
|
{item.estatus} |
|
|
|
|
</option> |
|
|
|
|
</option> : '' |
|
|
|
|
) |
|
|
|
|
}) |
|
|
|
|
: ''} |
|
|
|
@ -2869,8 +2866,7 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
paddingRight: '25px' |
|
|
|
|
}} |
|
|
|
|
onClick={() => { |
|
|
|
|
setIsDisabled(true) |
|
|
|
|
saveContabilidadAndFacturacionSteps() |
|
|
|
|
validateSelectedRejectOption() |
|
|
|
|
}} |
|
|
|
|
disabled = {IsDisabled} |
|
|
|
|
> |
|
|
|
@ -4315,7 +4311,7 @@ export default function TraficoCorresponsales (props:IProps) { |
|
|
|
|
<Modal.Body>{nextStepModalBody}</Modal.Body> |
|
|
|
|
<Modal.Footer> |
|
|
|
|
<Button variant='danger' onClick={() => {setShowNexStepModal(false); props.onClose(true)}}>Cancelar</Button> |
|
|
|
|
<Button variant='primary' onClick={() => {saveCurrentStep(); setShowNexStepModal(false); props.onClose(true)}}>Continuar</Button> |
|
|
|
|
<Button variant='primary' onClick={() => {saveCorresponsaliasStep(); setShowNexStepModal(false); props.onClose(true)}}>Continuar</Button> |
|
|
|
|
</Modal.Footer> |
|
|
|
|
</Modal> |
|
|
|
|
</div> |
|
|
|
|