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/AutorizarSolicitud.tsx b/src/Components/Corresponsales/SolicitudReapertura/AutorizarSolicitud.tsx index 2327e8f..ef31060 100644 --- a/src/Components/Corresponsales/SolicitudReapertura/AutorizarSolicitud.tsx +++ b/src/Components/Corresponsales/SolicitudReapertura/AutorizarSolicitud.tsx @@ -21,6 +21,10 @@ export const AutorizarSolicitud:React.FC = (props) => { 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) : '' @@ -50,7 +54,31 @@ export const AutorizarSolicitud:React.FC = (props) => { motivoRechazo: Motivo, estado: SelectedOption } - CorresponsalesTraficoSolicitudService.AppendSolicitud(solicitud, Perfil)! + 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) diff --git a/src/Components/Corresponsales/SolicitudReapertura/CrearSolicitud.tsx b/src/Components/Corresponsales/SolicitudReapertura/CrearSolicitud.tsx index 850023c..6aa0073 100644 --- a/src/Components/Corresponsales/SolicitudReapertura/CrearSolicitud.tsx +++ b/src/Components/Corresponsales/SolicitudReapertura/CrearSolicitud.tsx @@ -16,8 +16,12 @@ export const CrearSolicitud:React.FC = (props) => { 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) : '' }) @@ -45,7 +49,29 @@ export const CrearSolicitud:React.FC = (props) => { motivoRechazo: "", estado: Perfil.includes('Sup') ? 2 : 1 //Si es un supervisor se asigna el estado de la solicitud como autorizada desde que se crea } - CorresponsalesTraficoSolicitudService.AppendSolicitud(solicitud, Perfil)! + if(Depto === 'Facturacion'){ + 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() }) diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx index b6d4477..b9f88c4 100644 --- a/src/Components/Corresponsales/TraficoCorresponsales.tsx +++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx @@ -583,28 +583,45 @@ export default function TraficoCorresponsales (props:IProps) { } const GetSolicitudes = async () => { - await CorresponsalesTraficoSolicitudService.GetSolicitud(props.IDTrafico, Perfil)! + if(Perfil === 'Sup. Corresponsalias'){ + await CorresponsalesTraficoSolicitudService.GetSolicitudEliminarReferencia(props.IDTrafico) .then(resp => { if(resp.data.id > 0){ setSolicitud(solicitud => ({ ...solicitud, ...resp.data })) - if(Perfil === 'Sup. Corresponsalias'){//Si el usuario es supervisor de corresponsalias - showModalBox(17, 'modal-30w', true)//Se muestra el modal para autorizar la petición - } - if(Perfil.includes('Facturacion')){//Valida si es un usuario de facturacion - //Se cambian las propiedades del botón con el que se hace la solicitud - 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 - } - + showModalBox(17, 'modal-30w', true) + } + }).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 () => { @@ -2073,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 !== ""){ diff --git a/src/Components/Dashboard/Dashboard.tsx b/src/Components/Dashboard/Dashboard.tsx index de5edbf..28bff0d 100644 --- a/src/Components/Dashboard/Dashboard.tsx +++ b/src/Components/Dashboard/Dashboard.tsx @@ -24,12 +24,12 @@ export default function Dashboard(props: IProps) {
- {[['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 7bd78fb..e99a25e 100644 --- a/src/Components/Reportes/RptCorresponsalesTraficos.tsx +++ b/src/Components/Reportes/RptCorresponsalesTraficos.tsx @@ -105,7 +105,7 @@ export default function RptCorresponsalesTraficos(props: IProps) { hide: !Perfil.includes('Corresponsalias'), cellRenderer: (params: any) => { return ( - + {setDeleting(true)}}/> ) @@ -300,6 +300,7 @@ export default function RptCorresponsalesTraficos(props: IProps) { setDeleting(false) return; } + setIDTrafico(e.data.id) setShowModalSolicitud(true) }else{ AbreTrafico(e.data.id) @@ -800,6 +801,7 @@ export default function RptCorresponsalesTraficos(props: IProps) { IDTrafico={IDTrafico} onClose={function (val: boolean): void { setShowModal(false) + generaReporte() }} /> @@ -817,9 +819,11 @@ export default function RptCorresponsalesTraficos(props: IProps) { { setShowModalSolicitud(false) + setDeleting(false) + generaReporte() if(Perfil === 'Sup. Corresponsalias'){ setHeader('Informativo'); setMsg('Referencia eliminada correctamente.') 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/Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service.ts b/src/Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service.ts index 1a4a116..ece231a 100644 --- a/src/Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service.ts +++ b/src/Services/Corresponsalias/Corresponsales.Trafico.Solicitud.Service.ts @@ -2,14 +2,17 @@ import { DTOTraficoSolicitud } from "../../DTO/Corresponsales/DTOTraficoSolicitu import { ICorresponsalTraficoSolicitud } from "../../Interfaces/Corresponsales/ICorresponsalTraficoSolicitud" import http from "../common/http-common"; class TraficoSolicitudServices { - AppendSolicitud(solicitud: ICorresponsalTraficoSolicitud, Perfil: string){ - if(Perfil.includes('Corresponsalias')){return http.post(`/Corresponsalias/Solicitudes/EliminarCuenta/Append`, solicitud)} - if(Perfil.includes('Facturacion')){return http.post(`/Corresponsalias/Solicitudes/Reapertura/Append`, solicitud)} + AppendSolicitudReapertura(solicitud: ICorresponsalTraficoSolicitud){ + return http.post(`/Corresponsalias/Solicitudes/Reapertura/Append`, solicitud) } - - GetSolicitud(idTrafico: number, Perfil: string){ - if(Perfil.includes('Corresponsalias')){return http.get(`/Corresponsalias/Solicitudes/EliminarCuenta/Get?idTrafico=${idTrafico}`)} - if(Perfil.includes('Facturacion')){return http.get(`/Corresponsalias/Solicitudes/Reapertura/Get?idTrafico=${idTrafico}`)} + 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}`) } } 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 656d3ad..0907c4f 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -65,10 +65,10 @@ root.render( /> } /> - } - /> + /> */} } />