diff --git a/src/Classes/Corresponsales/CCorresponsalesTrafico.ts b/src/Classes/Corresponsales/CCorresponsalesTrafico.ts index 6445e46..cec6c8f 100644 --- a/src/Classes/Corresponsales/CCorresponsalesTrafico.ts +++ b/src/Classes/Corresponsales/CCorresponsalesTrafico.ts @@ -47,6 +47,7 @@ export default class CCorresponsalesTrafico implements ICorresponsalTrafico { causaRectificacion: string; totalHonorariosAA: number; totalGastosTerceros: number; + tieneSolicitud: number; constructor() { this.id=0 @@ -95,6 +96,7 @@ export default class CCorresponsalesTrafico implements ICorresponsalTrafico { this.causaRectificacion = '' this.totalHonorariosAA = 0 this.totalGastosTerceros = 0 + this.tieneSolicitud = 0 } public getEmptyObject(): ICorresponsalTrafico { @@ -144,7 +146,8 @@ export default class CCorresponsalesTrafico implements ICorresponsalTrafico { cargoA: 0, causaRectificacion: '', totalHonorariosAA: 0, - totalGastosTerceros: 0 + totalGastosTerceros: 0, + tieneSolicitud: 0 } } @@ -195,7 +198,8 @@ export default class CCorresponsalesTrafico implements ICorresponsalTrafico { cargoA: data.cargoA, causaRectificacion: data.causaRectificacion, totalHonorariosAA: data.totalHonorariosAA, - totalGastosTerceros: data.totalGastosTerceros + totalGastosTerceros: data.totalGastosTerceros, + tieneSolicitud: data.tieneSolicitud } } } \ No newline at end of file diff --git a/src/Components/Corresponsales/SolicitudReapertura/AutorizarReapertura.tsx b/src/Components/Corresponsales/SolicitudReapertura/AutorizarSolicitud.tsx similarity index 67% rename from src/Components/Corresponsales/SolicitudReapertura/AutorizarReapertura.tsx rename to src/Components/Corresponsales/SolicitudReapertura/AutorizarSolicitud.tsx index cd26367..ef31060 100644 --- a/src/Components/Corresponsales/SolicitudReapertura/AutorizarReapertura.tsx +++ b/src/Components/Corresponsales/SolicitudReapertura/AutorizarSolicitud.tsx @@ -2,22 +2,33 @@ import { Button, Col, Form, FormLabel, Row } from "react-bootstrap"; import { CiWarning } from "react-icons/ci"; import { MsgInformativo } from "../../Utils/Toast/msgInformativo"; import '../../../css/generic01.css' -import { ICorresponsalTraficoSolicitudReapertura } from "../../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitudReapertura"; -import { DTOTraficoSolicitudReapertura } from "../../../DTO/Corresponsales/DTOTraficoSolicitudReapertura"; +import { ICorresponsalTraficoSolicitud } from "../../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitud"; +import { DTOTraficoSolicitud } from "../../../DTO/Corresponsales/DTOTraficoSolicitud"; import CTrafDataService from "../../../Services/Corresponsalias/Corresponsales.Trafico.Services" import { useState } from "react"; +import CorresponsalesTraficoSolicitudService from "../../../Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service"; interface IProps { - solicitud: DTOTraficoSolicitudReapertura; + solicitud: DTOTraficoSolicitud; userId: number; close: (estado: number) => void + title: string; + mensaje: string; } -export const AutorizarReapertura:React.FC = (props) => { +export const AutorizarSolicitud:React.FC = (props) => { const [Motivo, setMotivo] = useState('') const [showMsg, setShowMsg] = useState(false) const [msg, setMsg] = useState('') const [header, setHeader] = useState('') const [SelectedOption, setSelectedOption] = useState(2) + const [Depto, setDepto] = useState(() => { + const stickyValue = window.localStorage.getItem('Departamento') + return stickyValue !== null ? JSON.parse(stickyValue) : '' + }) + const [Perfil, setPerfil] = useState(() => { + const stickyValue = window.localStorage.getItem('Perfil') + return stickyValue !== null ? JSON.parse(stickyValue) : '' + }) const AppendSolicitud = () =>{ if(SelectedOption === 0 && !Motivo){ @@ -32,7 +43,7 @@ export const AutorizarReapertura:React.FC = (props) => { setShowMsg(true) return; } - var solicitud: ICorresponsalTraficoSolicitudReapertura = { + var solicitud: ICorresponsalTraficoSolicitud = { id: props.solicitud.id, idTrafico: props.solicitud.idTrafico, idUsuarioSolicita: props.solicitud.idUsuarioSolicita, @@ -43,7 +54,31 @@ export const AutorizarReapertura:React.FC = (props) => { motivoRechazo: Motivo, estado: SelectedOption } - CTrafDataService.AppendSolicitudReapertura(solicitud) + if(Depto === 'Facturacion'){ + AppendSolicitudReapertura(solicitud) + } + if(Depto === 'Corresponsalias'){ + AppendSolicitudEliminarReferencia(solicitud) + } + } + + const AppendSolicitudReapertura = (solicitud: ICorresponsalTraficoSolicitud) => { + CorresponsalesTraficoSolicitudService.AppendSolicitudReapertura(solicitud) + .then((resp) => { + if(resp.data.id > 0){ + props.close(SelectedOption) + } + }) + .catch(() => { + setHeader('Error'); + setMsg('Ocurrió un error. Favor de intentar nuevamente') + setShowMsg(true) + return; + }) + } + + const AppendSolicitudEliminarReferencia = (solicitud: ICorresponsalTraficoSolicitud) => { + CorresponsalesTraficoSolicitudService.AppendSolicitudEliminarReferencia(solicitud) .then((resp) => { if(resp.data.id > 0){ props.close(SelectedOption) @@ -59,7 +94,7 @@ export const AutorizarReapertura:React.FC = (props) => { return( <> -

Solicitud de Reapertura de Cuenta

+

{props.title}


@@ -67,7 +102,7 @@ export const AutorizarReapertura:React.FC = (props) => {

- {props.solicitud.usuarioSolicita} solicita la reapertura de esta cuenta por el motivo: + {props.solicitud.usuarioSolicita} {props.mensaje}

{props.solicitud.motivoSolicita}

diff --git a/src/Components/Corresponsales/SolicitudReapertura/SolicitudReapertura.tsx b/src/Components/Corresponsales/SolicitudReapertura/CrearSolicitud.tsx similarity index 54% rename from src/Components/Corresponsales/SolicitudReapertura/SolicitudReapertura.tsx rename to src/Components/Corresponsales/SolicitudReapertura/CrearSolicitud.tsx index c2eb99e..6aa0073 100644 --- a/src/Components/Corresponsales/SolicitudReapertura/SolicitudReapertura.tsx +++ b/src/Components/Corresponsales/SolicitudReapertura/CrearSolicitud.tsx @@ -2,48 +2,76 @@ import React, { useState } from "react" import { Button, Col, Form, FormLabel, Row } from "react-bootstrap" import CTrafDataService from "../../../Services/Corresponsalias/Corresponsales.Trafico.Services" import { MsgInformativo } from "../../Utils/Toast/msgInformativo" -import { ICorresponsalTraficoSolicitudReapertura } from "../../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitudReapertura" +import { ICorresponsalTraficoSolicitud } from "../../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitud" +import CorresponsalesTraficoSolicitudService from "../../../Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service" interface IProps{ idTrafico: number, idUsuario: number, - close: () => void + close: () => void, + title: string, } -export const SolicitudReapertura:React.FC = (props) => { +export const CrearSolicitud:React.FC = (props) => { const [Motivo, setMotivo] = useState('') const [showMsg, setShowMsg] = useState(false) const [msg, setMsg] = useState('') const [header, setHeader] = useState('') + const [Depto, setDepto] = useState(() => { + const stickyValue = window.localStorage.getItem('Departamento') + return stickyValue !== null ? JSON.parse(stickyValue) : '' + }) const [Perfil, setPerfil] = useState(() => { - const stickyValue = window.localStorage.getItem('Perfil') + const stickyValue = window.localStorage.getItem('Perfil') return stickyValue !== null ? JSON.parse(stickyValue) : '' }) - const SolicitarReapertura = (motivo: string) => { - if(!motivo){ + const AppendSolicitud = () => { + if(!Motivo){ setHeader('Error'); setMsg('Favor de capturar una razon válida.') setShowMsg(true) return; } - if(motivo.length < 30){ + if(Motivo.length < 30){ setHeader('Error'); setMsg('La razón de su solicitud debe contener al menos 30 caracteres') setShowMsg(true) return; } - var solicitud: ICorresponsalTraficoSolicitudReapertura = { + var solicitud: ICorresponsalTraficoSolicitud = { id: 0, idTrafico: props.idTrafico, idUsuarioSolicita: props.idUsuario, fechaSolicita: undefined, motivoSolicita: Motivo, - idUsuarioAutoriza: Perfil === 'Sup. Facturacion' ? props.idUsuario : 0, + idUsuarioAutoriza: Perfil.includes('Sup') ? props.idUsuario : 0, //Si es un supervisor se asigna su id al usuario que autoriza ya que la solicitud no requiere ser autorizada por otro usuario fechaAutoriza: undefined, motivoRechazo: "", - estado: Perfil === 'Sup. Facturacion' ? 2 : 1 + estado: Perfil.includes('Sup') ? 2 : 1 //Si es un supervisor se asigna el estado de la solicitud como autorizada desde que se crea + } + if(Depto === 'Facturacion'){ + AppendSolicitudReapertura(solicitud) } - CTrafDataService.AppendSolicitudReapertura(solicitud) + if(Depto === 'Corresponsalias'){ + AppendSolicitudEliminarReferencia(solicitud) + } + } + + const AppendSolicitudReapertura = (solicitud: ICorresponsalTraficoSolicitud) => { + CorresponsalesTraficoSolicitudService.AppendSolicitudReapertura(solicitud) + .then((resp) => { + props.close() + }) + .catch(() => { + setHeader('Error'); + setMsg('Ocurrió un error. Favor de intentar nuevamente') + setShowMsg(true) + return; + }) + } + + const AppendSolicitudEliminarReferencia = (solicitud: ICorresponsalTraficoSolicitud) => { + CorresponsalesTraficoSolicitudService.AppendSolicitudEliminarReferencia(solicitud) .then((resp) => { props.close() }) @@ -56,7 +84,7 @@ export const SolicitudReapertura:React.FC = (props) => { } return( <> -

Solicitud de Reapertura de Cuenta

+

{props.title}


@@ -72,7 +100,7 @@ export const SolicitudReapertura:React.FC = (props) => { - diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx index 9141b6e..b9f88c4 100644 --- a/src/Components/Corresponsales/TraficoCorresponsales.tsx +++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx @@ -129,9 +129,10 @@ import { populatePedimentos } from '../../store/features/Corresponsales/Correspo import { populateRectificaciones } from '../../store/features/Corresponsales/CorresponsalesPedimentosRectificacionesSlice' import { NuevaRectificacion } from './Rectificaciones/NuevaRectificacion' import DTORectificacionHistorico from '../../DTO/Corresponsales/DTORectificacionHistorico' -import { SolicitudReapertura } from './SolicitudReapertura/SolicitudReapertura' -import { AutorizarReapertura } from './SolicitudReapertura/AutorizarReapertura' -import { DTOTraficoSolicitudReapertura } from '../../DTO/Corresponsales/DTOTraficoSolicitudReapertura' +import { CrearSolicitud } from './SolicitudReapertura/CrearSolicitud' +import { AutorizarSolicitud } from './SolicitudReapertura/AutorizarSolicitud' +import { DTOTraficoSolicitud } from '../../DTO/Corresponsales/DTOTraficoSolicitud' +import CorresponsalesTraficoSolicitudService from '../../Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service' interface IProps { IDTrafico: number @@ -356,7 +357,7 @@ export default function TraficoCorresponsales (props:IProps) { const [IsDisabled, setIsDisabled] = useState(false); const hiddenFileInputRef = useRef(null); const btnCuenta = useRef(null); - const [solicitudReapertura, setSolicitudReapertura] = useState({ + const [solicitud, setSolicitud] = useState({ id: 0, idTrafico: 0, idUsuarioSolicita: 0, @@ -581,25 +582,52 @@ export default function TraficoCorresponsales (props:IProps) { return today.getFullYear().toString() } - const LoadEverything = () => { - let clientes: IClientes[] = []; - //Primero se valida si el tráfico tiene solicitud de reapertura de cuenta - CTrafDataService.GetSolicitudReapertura(props.IDTrafico) - .then(resp => { - if(resp.data.id > 0){ - setSolicitudReapertura(solicitud => ({ - ...solicitud, - ...resp.data - })) - if(Perfil === 'Sup. Facturacion'){//Validar si el usuario puede autorizar la petición - showModalBox(16, 'modal-30w', true)//Si puede se muestra el modal para autorizar la petición + const GetSolicitudes = async () => { + if(Perfil === 'Sup. Corresponsalias'){ + await CorresponsalesTraficoSolicitudService.GetSolicitudEliminarReferencia(props.IDTrafico) + .then(resp => { + if(resp.data.id > 0){ + setSolicitud(solicitud => ({ + ...solicitud, + ...resp.data + })) + showModalBox(17, 'modal-30w', true) } - //Se cambia el texto del botón con el que se hace la solicitud - btnCuenta.current!.innerText = 'Pediente de Autorizar'; - btnCuenta.current!.disabled = true; - } - }) - ClavesPedimentosService.getAllClavesPedimentos() + }).catch((e) => { + setHeader('Error') + setMsg('Ocurrio un error: ' + e) + setShowMsg(true) + return + }) + } + if(Depto === 'Facturacion'){ + await CorresponsalesTraficoSolicitudService.GetSolicitudReapertura(props.IDTrafico) + .then(resp => { + if(resp.data.id > 0){ + setSolicitud(solicitud => ({ + ...solicitud, + ...resp.data + })) + btnCuenta.current!.innerText = 'Pediente de Autorizar'; + btnCuenta.current!.disabled = true; + if(Perfil === 'Sup. Facturacion'){//Si el usuario es supervisor + showModalBox(16, 'modal-30w', true)//Se muestra el modal para autorizar la petición + } + + } + }).catch((e) => { + setHeader('Error') + setMsg('Ocurrio un error: ' + e) + setShowMsg(true) + return + }) + } + } + + const LoadEverything = async () => { + let clientes: IClientes[] = []; + await GetSolicitudes(); + await ClavesPedimentosService.getAllClavesPedimentos() .then(response => setClavesPedimentos(response.data)) .catch((e: Error) => { setHeader('Error') @@ -607,7 +635,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CorresponsalesDataService.getAll() + await CorresponsalesDataService.getAll() .then((response) => { dispatch(populateCatCorresponsales(response.data)) }) @@ -617,7 +645,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CTrafDataService.GetCorresponsalesTraficoEstatus() + await CTrafDataService.GetCorresponsalesTraficoEstatus() .then((response) => { setDataCatEstatus(response.data) }) @@ -628,7 +656,7 @@ export default function TraficoCorresponsales (props:IProps) { return }) - TiposMercanciaService.GetAll() + await TiposMercanciaService.GetAll() .then((response) => { setTiposMercancia(response.data); }) @@ -639,7 +667,7 @@ export default function TraficoCorresponsales (props:IProps) { return }); - CFacDataService.getAll(IDTrafico) + await CFacDataService.getAll(IDTrafico) .then((response) => { dispatch(InitCorresponsalesFacturas(IDTrafico)) response.data.forEach((element) => { @@ -652,7 +680,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CFac3erDataService.getAll(IDTrafico) + await CFac3erDataService.getAll(IDTrafico) .then((response) => { dispatch(InitCorresponsalesFacturasTerceros(IDTrafico)) response.data.forEach((element) => { @@ -665,7 +693,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CContDataService.getAll(IDTrafico) + await CContDataService.getAll(IDTrafico) .then((response) => { dispatch(InitCorresponsalesContenedores(IDTrafico)) response.data.forEach((element) => { @@ -678,7 +706,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - ClientesDataService.getAllClientes(0) + await ClientesDataService.getAllClientes(0) .then((response) => { clientes = response.data; setClientes(response.data) @@ -689,7 +717,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CAntDataService.getAll(IDTrafico) + await CAntDataService.getAll(IDTrafico) .then((response) => { dispatch(populateCorresponsalesAnticipos(response.data)) }) @@ -699,7 +727,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CGuiasDataService.getAll(IDTrafico) + await CGuiasDataService.getAll(IDTrafico) .then((response) => { dispatch(populateCorresponsalesGuias(response.data)) }) @@ -709,7 +737,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - ProvDataService.getAll(0) + await ProvDataService.getAll(0) .then((response) => { dispatch(populateCatProveedores(response.data)) }) @@ -719,7 +747,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CCatTiposDocumentos.getAll(2206, 1) + await CCatTiposDocumentos.getAll(2206, 1) .then((response) => { setCatTiposDocumentos(response.data) }) @@ -729,7 +757,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CCatTiposDocumentos.getAll(2206, 2) + await CCatTiposDocumentos.getAll(2206, 2) .then((response) => { setCatTiposDocumentosInfoCorresponsal(response.data) }) @@ -739,7 +767,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CCueCompService.GetAllEstatus() + await CCueCompService.GetAllEstatus() .then((response) => { dispatch( populateCorresponsalesCuentasComplementariasEstatus(response.data) @@ -751,7 +779,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CTrafDataService.GetAll(IDTrafico) + await CTrafDataService.GetAll(IDTrafico) .then((response) => { setFolioTrafico(response.data.folioGemco) setProceso(response.data.proceso) @@ -797,7 +825,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CContaDataService.Get(IDTrafico, 2, 1) + await CContaDataService.Get(IDTrafico, 2, 1) .then((response) => { setRechazosTrafico(response.data) }) @@ -807,7 +835,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - CContaDataService.GetHistorial(IDTrafico) + await CContaDataService.GetHistorial(IDTrafico) .then((response) => { setRechazosContabilidad(response.data) }) @@ -817,7 +845,7 @@ export default function TraficoCorresponsales (props:IProps) { setShowMsg(true) return }) - PedimentosConsolidadosService.GetAll(IDTrafico) + await PedimentosConsolidadosService.GetAll(IDTrafico) .then((resp) => { dispatch(populatePedimentos(resp.data)) }) @@ -2062,6 +2090,9 @@ export default function TraficoCorresponsales (props:IProps) { mask="_" onValueChange={(values: any) => { const { value } = values + if(value.length === 0 || value === 0){ + setPedimento(0) + } if(value.length === 7 ){ CTrafDataService.ValidaTraficoDuplicado(Aduana, Patente, value, IDTrafico).then( response => { if(response.data !== ""){ @@ -4324,28 +4355,35 @@ export default function TraficoCorresponsales (props:IProps) { ) : null} {LoadComponent===15 ? (
- { - setShowModal(false) - if(Perfil === 'Sup. Facturacion'){ - setHeader('Informativo'); - setMsg('Cuenta habilitada correctamente.') - setShowMsg(true) - setProceso(3) - return; + { + setShowModal(false) + if(Perfil === 'Sup. Facturacion'){ + setHeader('Informativo'); + setMsg('Cuenta habilitada correctamente.') + setShowMsg(true) + setProceso(3) + return; + } + else{ + btnCuenta.current!.disabled = true; + setHeader('Informativo'); + setMsg('Solicitud creada correctamente.') + setShowMsg(true) + return; + } } - else{ - btnCuenta.current!.disabled = true; - setHeader('Informativo'); - setMsg('Solicitud creada correctamente.') - setShowMsg(true) - return; - } - }}/> + }/>
) : null} {LoadComponent===16 ? (
- { let texto = estado === 0 ? 'rechazada' : 'autorizada' setProceso(estado === 2 ? 3 : 4) @@ -4357,6 +4395,22 @@ export default function TraficoCorresponsales (props:IProps) { }}/>
) : null} + {LoadComponent===17 ? ( +
+ { + let texto = estado === 0 ? 'rechazada' : 'autorizada' + props.onClose(true); + setShowModal(false) + setHeader('Informativo'); + setMsg(`Solicitud ${texto} correctamente.`) + setShowMsg(true) + return; + }}/> +
+ ) : null} - {[['Direccion', 'Sistemas', 'Corresponsalias'].includes(Depto) ? : ''].map( + {[['Direccion', 'Sistemas', 'Corresponsalias'].includes(Depto) ? : ''].map( (item) => { return {item} } )} - {[['Direccion', 'Sistemas', 'Contabilidad'].includes(Depto) ? : ''].map((item) => { + {[['Direccion', 'Sistemas', 'Contabilidad'].includes(Depto) ? : ''].map((item) => { return {item} })} {[['Direccion', 'Sistemas', 'Facturacion'].includes(Depto) ? : ''].map((item) => { diff --git a/src/Components/Dashboard/DashboardContabilidad.tsx b/src/Components/Dashboard/DashboardContabilidad.tsx index a2c6fcb..42e93cb 100644 --- a/src/Components/Dashboard/DashboardContabilidad.tsx +++ b/src/Components/Dashboard/DashboardContabilidad.tsx @@ -8,6 +8,7 @@ import DashboardDataService from '../../Services/Dashboard/Dashboard.Contabilida import DashboardCorresponsales from './DashboardCorresponsales' interface IProps { Depto: string; + Perfil:string; } export const DashboardContabilidad: FC = (props) => { @@ -55,7 +56,7 @@ export const DashboardContabilidad: FC = (props) => { return ( <> { - props.Depto === 'Contabilidad' ? : "" + props.Depto === 'Contabilidad' ? : "" } diff --git a/src/Components/Dashboard/DashboardCorresponsales.tsx b/src/Components/Dashboard/DashboardCorresponsales.tsx index b69ae03..a82910e 100644 --- a/src/Components/Dashboard/DashboardCorresponsales.tsx +++ b/src/Components/Dashboard/DashboardCorresponsales.tsx @@ -5,14 +5,20 @@ import DashboardDataService from '../../Services/Dashboard/Dashboard.Corresponsa import { useNavigate } from 'react-router-dom'; import ReactApexChart from 'react-apexcharts'; import { ApexOptions } from 'apexcharts'; +import { IconContext } from 'react-icons'; +import { FcSurvey } from 'react-icons/fc'; +import { MdTimer } from 'react-icons/md'; -interface IProps {} +interface IProps { + Perfil:string +} export default function DashboardCorresponsales(props: IProps) { let navigate = useNavigate(); const [TotalCorresponsales, setTotalCorresponsales] = useState(0); const [labels, setlabels] = useState([]); const [series, setseries] = useState([]); + const [Solicitudes, setSolicitudes] = useState(0); //const [TipoCambio, setTipoCambio] = useState(0) const [CircleOptions, setCirleOpcions] = useState({ labels: [ @@ -32,6 +38,9 @@ export default function DashboardCorresponsales(props: IProps) { }); useEffect(() => { + DashboardDataService.getSolicitudesEliminarCuenta().then((response) => { + setSolicitudes(response.data.total) + }).catch((e: Error) => {return;}) DashboardDataService.getCorresponsales() .then((response) => { console.log(response.data); @@ -144,6 +153,31 @@ export default function DashboardCorresponsales(props: IProps) { + {props.Perfil === 'Sup. Corresponsalias' ? + + + Facturación + + Solicitudes para eliminar cuenta

+
+ + + + + {Solicitudes} +
+
+ + + Ver mas... + + +
+ : "" + } ); }; diff --git a/src/Components/Dashboard/DashboardFacturacion.tsx b/src/Components/Dashboard/DashboardFacturacion.tsx index 29bcb3e..5603d1a 100644 --- a/src/Components/Dashboard/DashboardFacturacion.tsx +++ b/src/Components/Dashboard/DashboardFacturacion.tsx @@ -111,7 +111,7 @@ export const DashboardFacturacion: FC = (props) => { return ( <> { - props.Depto === 'Facturacion' ? : "" + props.Depto === 'Facturacion' ? : "" } diff --git a/src/Components/Reportes/RptCorresponsalesTraficos.tsx b/src/Components/Reportes/RptCorresponsalesTraficos.tsx index e500c87..e99a25e 100644 --- a/src/Components/Reportes/RptCorresponsalesTraficos.tsx +++ b/src/Components/Reportes/RptCorresponsalesTraficos.tsx @@ -41,8 +41,9 @@ import { InitCorresponsalesContenedores, addCorresponsalesContenedores } from '. import ICorresponsalContenedores from '../../Interfaces/Corresponsales/ICorresponsalContenedores' import ICorresponsalFacturas from '../../Interfaces/Corresponsales/ICorresponsalFacturas' import ICatProveedores from '../../Interfaces/Catalogos/ICatProveedores' -import { FaCrow } from 'react-icons/fa' -/* import '../../css/generic01.css' */ +import { FaCrow, FaTrash } from 'react-icons/fa' +import { CrearSolicitud } from '../Corresponsales/SolicitudReapertura/CrearSolicitud' +import '../../css/generic01.css' interface IProps {} @@ -71,6 +72,7 @@ export default function RptCorresponsalesTraficos(props: IProps) { const [filteredData, setFilteredData] = useState([]) const [show, setShowMsg] = useState(false) const [ShowModal, setShowModal] = useState(false) + const [ShowModalSolicitud, setShowModalSolicitud] = useState(false) const [header, setHeader] = useState('') const [msg, setMsg] = useState('') const [Inicio, setInicio] = useState(currentDate(-365)) @@ -93,7 +95,22 @@ export default function RptCorresponsalesTraficos(props: IProps) { ICatCorresponsales[] >([]) const hiddenFileInputRef = useRef(null); + const [Deleting, setDeleting] = useState(false); const [columnDefs] = useState([ + { + + field: 'acciones', + headerName: '', + width: 50, + hide: !Perfil.includes('Corresponsalias'), + cellRenderer: (params: any) => { + return ( + + {setDeleting(true)}}/> + + ) + }, + }, { field: 'id', headerName: 'id', width: 70, sortable: true, filter: true }, { field: 'proceso', @@ -275,7 +292,19 @@ export default function RptCorresponsalesTraficos(props: IProps) { }, []) function getParams(e: RowClickedEvent) { - AbreTrafico(e.data.id) + if(Deleting){ + if(e.data.pedimento > 0){ + setHeader('Error') + setMsg('Favor de borrar el pedimento para poder eliminar la referencia.') + setShowMsg(true) + setDeleting(false) + return; + } + setIDTrafico(e.data.id) + setShowModalSolicitud(true) + }else{ + AbreTrafico(e.data.id) + } } function AbreTrafico(id: number) { @@ -535,6 +564,10 @@ export default function RptCorresponsalesTraficos(props: IProps) { }) } + const handleClose = () => { + setShowModalSolicitud(false) + setDeleting(false) + } return (
@@ -768,11 +801,46 @@ export default function RptCorresponsalesTraficos(props: IProps) { IDTrafico={IDTrafico} onClose={function (val: boolean): void { setShowModal(false) + generaReporte() }} />
+ + +
+ { + setShowModalSolicitud(false) + setDeleting(false) + generaReporte() + if(Perfil === 'Sup. Corresponsalias'){ + setHeader('Informativo'); + setMsg('Referencia eliminada correctamente.') + setShowMsg(true) + return; + } + else{ + setHeader('Informativo'); + setMsg('Solicitud creada correctamente.') + setShowMsg(true) + return; + } + } + }/> +
+
+
) } diff --git a/src/DTO/Corresponsales/DTOTraficoSolicitudReapertura.ts b/src/DTO/Corresponsales/DTOTraficoSolicitud.ts similarity index 78% rename from src/DTO/Corresponsales/DTOTraficoSolicitudReapertura.ts rename to src/DTO/Corresponsales/DTOTraficoSolicitud.ts index ecb30cf..89b39d2 100644 --- a/src/DTO/Corresponsales/DTOTraficoSolicitudReapertura.ts +++ b/src/DTO/Corresponsales/DTOTraficoSolicitud.ts @@ -1,4 +1,4 @@ -export interface DTOTraficoSolicitudReapertura{ +export interface DTOTraficoSolicitud{ id: number, idTrafico: number, idUsuarioSolicita: number, diff --git a/src/Interfaces/Corresponsales/ICorresponsalTrafico.ts b/src/Interfaces/Corresponsales/ICorresponsalTrafico.ts index d8b8ad1..2d9517f 100644 --- a/src/Interfaces/Corresponsales/ICorresponsalTrafico.ts +++ b/src/Interfaces/Corresponsales/ICorresponsalTrafico.ts @@ -45,4 +45,5 @@ export default interface ICorresponsalTrafico { causaRectificacion: string, totalHonorariosAA: number; totalGastosTerceros: number; + tieneSolicitud: number; } diff --git a/src/Interfaces/Corresponsales/ICorresponsalTraficoSolicitudReapertura.ts b/src/Interfaces/Corresponsales/ICorresponsalTraficoSolicitud.ts similarity index 80% rename from src/Interfaces/Corresponsales/ICorresponsalTraficoSolicitudReapertura.ts rename to src/Interfaces/Corresponsales/ICorresponsalTraficoSolicitud.ts index 8e674ef..613b436 100644 --- a/src/Interfaces/Corresponsales/ICorresponsalTraficoSolicitudReapertura.ts +++ b/src/Interfaces/Corresponsales/ICorresponsalTraficoSolicitud.ts @@ -1,4 +1,4 @@ -export interface ICorresponsalTraficoSolicitudReapertura{ +export interface ICorresponsalTraficoSolicitud{ id:number, idTrafico: number, idUsuarioSolicita: number, diff --git a/src/Services/Corresponsalias/Corresponsales.Trafico.Services.ts b/src/Services/Corresponsalias/Corresponsales.Trafico.Services.ts index a21d80e..13cc374 100644 --- a/src/Services/Corresponsalias/Corresponsales.Trafico.Services.ts +++ b/src/Services/Corresponsalias/Corresponsales.Trafico.Services.ts @@ -7,8 +7,6 @@ import IRespuesta from "../../Interfaces/IRespuesta"; import ICorresponsalRectificacionHistorico from "../../Interfaces/Corresponsales/ICorresponsalRectificacionHistorico"; import DTORectificacionHistorico from "../../DTO/Corresponsales/DTORectificacionHistorico"; import IReporteOperacionesNewell from "../../Interfaces/ReportesClientes/IReporteOperacionesNewell"; -import { ICorresponsalTraficoSolicitudReapertura } from "../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitudReapertura"; -import { DTOTraficoSolicitudReapertura } from "../../DTO/Corresponsales/DTOTraficoSolicitudReapertura"; class Corresponsales_Trafico_DataService { GetAll(id: number) { @@ -47,11 +45,5 @@ class Corresponsales_Trafico_DataService { AppendFacturasContenedoresAlen(idTrafico:number, fileId:number){ return http.post(`/Corresponsalias/Traficos/Append/LayoutAlen?idTrafico=${idTrafico}&fileId=${fileId}`); } - AppendSolicitudReapertura(solicitud: ICorresponsalTraficoSolicitudReapertura){ - return http.post(`/Corresponsalias/Traficos/Solicitud/Append`, solicitud) - } - GetSolicitudReapertura(idTrafico: number){ - return http.get(`/Corresponsalias/Traficos/Solicitud?idTrafico=${idTrafico}`) - } } export default new Corresponsales_Trafico_DataService(); \ No newline at end of file diff --git a/src/Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service.ts b/src/Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service.ts new file mode 100644 index 0000000..ece231a --- /dev/null +++ b/src/Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service.ts @@ -0,0 +1,19 @@ +import { DTOTraficoSolicitud } from "../../DTO/Corresponsales/DTOTraficoSolicitud" +import { ICorresponsalTraficoSolicitud } from "../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitud" +import http from "../common/http-common"; +class TraficoSolicitudServices { + AppendSolicitudReapertura(solicitud: ICorresponsalTraficoSolicitud){ + return http.post(`/Corresponsalias/Solicitudes/Reapertura/Append`, solicitud) + } + AppendSolicitudEliminarReferencia(solicitud: ICorresponsalTraficoSolicitud){ + return http.post(`/Corresponsalias/Solicitudes/EliminarCuenta/Append`, solicitud) + } + GetSolicitudReapertura(idTrafico: number){ + return http.get(`/Corresponsalias/Solicitudes/Reapertura/Get?idTrafico=${idTrafico}`) + } + GetSolicitudEliminarReferencia(idTrafico: number){ + return http.get(`/Corresponsalias/Solicitudes/EliminarCuenta/Get?idTrafico=${idTrafico}`) + } +} + +export default new TraficoSolicitudServices() \ No newline at end of file diff --git a/src/Services/Dashboard/Dashboard.Corresponsales.Services.ts b/src/Services/Dashboard/Dashboard.Corresponsales.Services.ts index 41235da..9827e41 100644 --- a/src/Services/Dashboard/Dashboard.Corresponsales.Services.ts +++ b/src/Services/Dashboard/Dashboard.Corresponsales.Services.ts @@ -8,5 +8,8 @@ class Dashboard_Corresponsales_DataService { getTipoCambio(Fecha: string) { return http.get(`/Dashboard/Corresponsales/GetTipoCambio?Fecha=${Fecha}`); } + getSolicitudesEliminarCuenta(){ + return http.get(`/Dashboard/Corresponsales/SolicitudesEliminarCuenta`); + } } export default new Dashboard_Corresponsales_DataService(); \ No newline at end of file diff --git a/src/index.tsx b/src/index.tsx index a951121..54a6d0e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -66,10 +66,10 @@ root.render( /> } /> - } - /> + /> */} } />