From 83fd3b457a0f94e9b36d766eba9079544baeeff0 Mon Sep 17 00:00:00 2001 From: Felix Morales Date: Tue, 22 Aug 2023 14:41:09 -0500 Subject: [PATCH] feature agregar filtros para rastrear traficos, cambio de dashboard de facturacion, se agrega version de la app en login --- .../Corresponsales/TraficoCorresponsales.tsx | 50 +++++-------------- src/Components/Dashboard/Dashboard.tsx | 2 +- .../Dashboard/DashboardContabilidad.tsx | 4 +- .../Dashboard/DashboardFacturacion.tsx | 47 ++++++++++++++--- src/Components/Login/login.tsx | 2 + .../Reportes/RptCorresponsalesTraficos.tsx | 38 +++++++++++++- .../Reportes/RptCorresponsalesTraficosHst.tsx | 9 ++++ .../Reportes/customCells/progressBar.tsx | 25 ++++++++-- .../DTORptCorresponsalesTraficos.ts | 3 ++ src/Services/Reportes/reportes.services.ts | 2 +- src/index.tsx | 2 - 11 files changed, 127 insertions(+), 57 deletions(-) diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx index 8c9fbbe..6ce5803 100644 --- a/src/Components/Corresponsales/TraficoCorresponsales.tsx +++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx @@ -293,7 +293,7 @@ export default function TraficoCorresponsales (props:IProps) { const [TieneArchivoZIPGEMCO, setTieneArchivoZIPGEMCO] = useState(0) const [TieneArchivoZIPCorresponsal, setTieneArchivoZIPCorresponsal] = useState(0) - const [IDEstatusContabilidad, setIDEstatusContabilidad] = useState(0) + const [IDRazonRechazo, setIDRazonRechazo] = useState(0) const [AduanaH, setAduanaH] = useState('') const [PatenteH, setPatenteH] = useState('') const [PedimentoH, setPedimentoH] = useState('') @@ -826,9 +826,10 @@ export default function TraficoCorresponsales (props:IProps) { } }, [Proceso, IDTrafico, Depto, []]) - useEffect(() => { + /*useEffect(() => { + console.log('cargado todo 1') LoadEverything() - }, []) + }, [])*/ useEffect(() => { LoadEverything() @@ -1056,7 +1057,7 @@ export default function TraficoCorresponsales (props:IProps) { const saveCurrentStep = () => { if(Depto === 'Corresponsalias') saveCorresponsaliasStep() - else if(Depto === 'Contabilidad') saveContabilidadStep() + else if(Depto === 'Contabilidad') saveContabilidadAndFacturacionSteps() } const saveFinalStep = async (data: DTOTraficoCompleto) => { CTrafDataService.ValidateComplete(data) @@ -1099,19 +1100,19 @@ export default function TraficoCorresponsales (props:IProps) { } } - const saveContabilidadStep = async () => { - if(IDEstatusContabilidad === 0){ + const saveContabilidadAndFacturacionSteps = async () => { + if(IDRazonRechazo === 0){ setHeader('Informativo') setMsg('Debe aceptar el tráfico o seleccionar un motivo de rechazo.') setShowMsg(true) return } let arrStatus = mCCCEstatus.filter((a) => { - if (a.id === IDEstatusContabilidad) { + if (a.id === IDRazonRechazo) { return a } }); - if(IDEstatusContabilidad === 7){ + if(IDRazonRechazo === 7){ let data: DTOTraficoCompleto = { id: IDTrafico, idUsuario: UserId, @@ -1135,16 +1136,6 @@ export default function TraficoCorresponsales (props:IProps) { } } - const saveFacturacionStep = () => { - let data: DTOTraficoCompleto = { - id: IDTrafico, - idUsuario: UserId, - estatus: 5, - comentarios: "Tráfico facturado." - } - saveFinalStep(data) - } - const rejectCurrentStep = (data:ICorresponsalesTraficoContabilidad) => { CContaDataService.Append(data) .then( () => { @@ -2640,11 +2631,11 @@ export default function TraficoCorresponsales (props:IProps) { { - setIDEstatusContabilidad(parseInt(e.target.value)) + setIDRazonRechazo(parseInt(e.target.value)) }} className="form-select form-select-sm" style={{ width: '550px' }} - value={IDEstatusContabilidad} + value={IDRazonRechazo} > {mCCCEstatus @@ -2668,7 +2659,7 @@ export default function TraficoCorresponsales (props:IProps) { paddingRight: '25px' }} onClick={() => { - saveContabilidadStep() + saveContabilidadAndFacturacionSteps() }} > Guardar @@ -2678,23 +2669,6 @@ export default function TraficoCorresponsales (props:IProps) { )} - - - - - Trafico Corresponsales: Rechazo(s) diff --git a/src/Components/Dashboard/Dashboard.tsx b/src/Components/Dashboard/Dashboard.tsx index e15d2ea..de40f5f 100644 --- a/src/Components/Dashboard/Dashboard.tsx +++ b/src/Components/Dashboard/Dashboard.tsx @@ -29,7 +29,7 @@ export default function Dashboard(props: IProps) { {[['Direcccion', 'Sistemas', 'Contabilidad'].includes(Depto) ? : ''].map((item) => { return {item} })} - {[['Direcccion', 'Sistemas', 'Facturacion'].includes(Depto) ? : ''].map((item) => { + {[['Direcccion', 'Sistemas', 'Facturacion'].includes(Depto) ? : ''].map((item) => { return {item} })} diff --git a/src/Components/Dashboard/DashboardContabilidad.tsx b/src/Components/Dashboard/DashboardContabilidad.tsx index 23b090c..27c4c39 100644 --- a/src/Components/Dashboard/DashboardContabilidad.tsx +++ b/src/Components/Dashboard/DashboardContabilidad.tsx @@ -126,8 +126,8 @@ export const DashboardContabilidad: FC = (props) => { {}} />
- - + + {RechazosContabilidad}
diff --git a/src/Components/Dashboard/DashboardFacturacion.tsx b/src/Components/Dashboard/DashboardFacturacion.tsx index 18301df..66e865b 100644 --- a/src/Components/Dashboard/DashboardFacturacion.tsx +++ b/src/Components/Dashboard/DashboardFacturacion.tsx @@ -3,15 +3,21 @@ import { Card, Col, Container, Row } from 'react-bootstrap' import { IconContext } from 'react-icons' import { BsCashCoin } from 'react-icons/bs' import { Link, useNavigate } from 'react-router-dom' -import DashboardDataService from '../../Services/Dashboard/Dashboard.Facturacion.Service' +import DashboardFacturacionDataService from '../../Services/Dashboard/Dashboard.Facturacion.Service' +import DashboardContaDataService from '../../Services/Dashboard/Dashboard.Contabilidad.Service' import { ApexOptions } from 'apexcharts' import ReactApexChart from 'react-apexcharts' +import { FaReply } from 'react-icons/fa' +import { FcSurvey } from 'react-icons/fc' -interface IProps {} +interface IProps { + Depto: string; +} export const DashboardFacturacion: FC = (props) => { const [labels, setlabels] = useState([]); const [series, setseries] = useState([]); + const [RechazosContabilidad, setRechazosContabilidad] = useState(0); const navigate = useNavigate(); const [ChartOptions, setChartOptions] = useState({ labels: [ @@ -31,7 +37,12 @@ export const DashboardFacturacion: FC = (props) => { }); useEffect(() => { - DashboardDataService.getFacturacion() + DashboardContaDataService.getTotalRechazosContabilidad().then((response) => { + setRechazosContabilidad(response.data.total) + }).catch((e: Error) => { + return; + }) + DashboardFacturacionDataService.getFacturacion() .then((response) => { console.log(response.data); let labels: string[] = []; @@ -47,7 +58,7 @@ export const DashboardFacturacion: FC = (props) => { setChartOptions({ labels: labels, - colors: ['#EB984E', '#2288D3', '#E52626', ], + colors: ['#2288D3', '#E52626', ], legend: { position: 'bottom' }, plotOptions: { pie: { @@ -77,9 +88,6 @@ export const DashboardFacturacion: FC = (props) => { navigate('../RptCorresponsalesTraficos/proc=3/modo=1'); break; case 1: - navigate('../RptCorresponsalesTraficos/proc=4/modo=1'); - break; - case 2: navigate('../RptCorresponsalesTraficos/proc=3/modo=2'); break; } @@ -121,6 +129,31 @@ export const DashboardFacturacion: FC = (props) => { + {props.Depto === 'Facturacion' ? + + + Contabilidad + +  Rechazos para corresponsalias

+
+ + + + + {RechazosContabilidad} +
+
+ + + Ver mas... + + +
+ : "" + } ) } diff --git a/src/Components/Login/login.tsx b/src/Components/Login/login.tsx index 11a6190..ac045a6 100644 --- a/src/Components/Login/login.tsx +++ b/src/Components/Login/login.tsx @@ -16,6 +16,7 @@ import { Button, Card, Col, Form, Nav, Row } from 'react-bootstrap' import AuthDS from '../../Services/Auth/Auth.Service' import UserDS from '../../Services/Catalogos/Usuarios.Services' import { useEffect } from 'react' +import Info from '../../../package.json' export const Login: React.FC<{}> = () => { const dispatch = useDispatch() @@ -176,6 +177,7 @@ export const Login: React.FC<{}> = () => { login +
v{Info.version}
diff --git a/src/Components/Reportes/RptCorresponsalesTraficos.tsx b/src/Components/Reportes/RptCorresponsalesTraficos.tsx index e4e7163..0d892c1 100644 --- a/src/Components/Reportes/RptCorresponsalesTraficos.tsx +++ b/src/Components/Reportes/RptCorresponsalesTraficos.tsx @@ -74,6 +74,9 @@ export default function RptCorresponsalesTraficos(props: IProps) { const [TipoOperacion, setTipoOperacion] = useState(0) const [Cliente, setCliente] = useState(0) const [Corresponsal, setCorresponsal] = useState(0) + const [Pedimento, setPedimento] = useState(0) + const [Patente, setPatente] = useState(0); + const [Aduana, setAduana] = useState(0); const [Clientes, setClientes] = useState>() const [filtro, setFiltro] = useState('') const gridRef = React.useRef(null) @@ -272,6 +275,9 @@ export default function RptCorresponsalesTraficos(props: IProps) { TipoOperacion: TipoOperacion, NoCliente: Cliente, IdCorresponsal: Corresponsal, + Pedimento: Pedimento, + Aduana: Aduana, + Patente: Patente, Proceso: proc ? parseInt(proc.replace('proc=', '')) : 0, Modo: modo ? parseInt(modo.replace('modo=', '')) : 0, } @@ -511,7 +517,7 @@ export default function RptCorresponsalesTraficos(props: IProps) { - + + setPedimento(+e.target.value)} + /> + + + setAduana(+e.target.value)} + /> + + + setPatente(+e.target.value)} + /> + + + + + + - + (null) const [DataCorresponsales, setDataCorresponsales] = useState([]) + const [Pedimento, setPedimento] = useState(0) + const [Patente, setPatente] = useState(0); + const [Aduana, setAduana] = useState(0); const [columnDefs] = useState([ { field: 'id', headerName: 'id', width: 70, sortable: true, filter: true }, { @@ -193,6 +196,9 @@ export default function RptCorresponsalesTraficosHst (props: IProps) { TipoOperacion: 0, NoCliente: 0, IdCorresponsal: Corresponsal, + Pedimento: Pedimento, + Aduana: Aduana, + Patente: Patente, Proceso: proc ? parseInt(proc) : 0, Modo: Modo ? parseInt(Modo) : 0, } @@ -253,6 +259,9 @@ export default function RptCorresponsalesTraficosHst (props: IProps) { TipoOperacion: TipoOperacion, NoCliente: Cliente, IdCorresponsal: Corresponsal, + Pedimento: Pedimento, + Aduana: Aduana, + Patente: Patente, Proceso: proc ? parseInt(proc) : 0, Modo: Modo ? parseInt(Modo) : 0, } diff --git a/src/Components/Reportes/customCells/progressBar.tsx b/src/Components/Reportes/customCells/progressBar.tsx index d2a6ec7..211984d 100644 --- a/src/Components/Reportes/customCells/progressBar.tsx +++ b/src/Components/Reportes/customCells/progressBar.tsx @@ -17,16 +17,33 @@ export const ProgressBar: FC = (props: ICellRendererParams) if (props.data.rechazado > 0) setColor('progress-bar bg-RECHAZOS_POR_CONTABILIDAD') else setColor('progress-bar bg-CORRESPONSAL_NORMAL') } - if (props.data.proceso === 3) setColor('progress-bar bg-RECHAZOS_PARA_CORRESPONSAL') - if (props.data.proceso === 4) setColor('progress-bar bg-FACTURACION_LISTOS_PARA_FACTURAR') - if (props.data.proceso === 5) setColor('progress-bar bg-CORRESPONSAL_NORMAL') + if (props.data.proceso === 3) setColor('progress-bar bg-FACTURACION_LISTOS_PARA_FACTURAR') + if (props.data.proceso === 4) setColor('progress-bar bg-CORRESPONSAL_NORMAL') }, [props]) + const getTooltipTitle = () => { + let proceso = props.data.proceso; + switch(proceso){ + case 1: + return "Corresponsalias" + break; + case 2: + return "Contabilidad" + break; + case 3: + return "Facturacion" + break; + case 4: + return "Facturado" + break; + } + } + return (
-
+
diff --git a/src/DTO/Corresponsales/DTORptCorresponsalesTraficos.ts b/src/DTO/Corresponsales/DTORptCorresponsalesTraficos.ts index 8c3537d..1d12423 100644 --- a/src/DTO/Corresponsales/DTORptCorresponsalesTraficos.ts +++ b/src/DTO/Corresponsales/DTORptCorresponsalesTraficos.ts @@ -4,6 +4,9 @@ export default interface DTORptCorresponsalesTraficos { TipoOperacion: number; NoCliente: number; IdCorresponsal: number; + Pedimento: number; + Aduana: number; + Patente: number; Proceso: number; Modo: number; } \ No newline at end of file diff --git a/src/Services/Reportes/reportes.services.ts b/src/Services/Reportes/reportes.services.ts index 8b8894c..cd7b626 100644 --- a/src/Services/Reportes/reportes.services.ts +++ b/src/Services/Reportes/reportes.services.ts @@ -38,7 +38,7 @@ class reportsDataService { return http.get>(`/ArchivoElectronico/RptArchivoElectronicoOficial?Anio=${data.Anio}&Mes=${data.Mes}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}`); } getRptCorresponsalesTraficos(data: DTORptCorresponsalesTraficos) { - return http.get(`/reportes/RptCorresponsalesTraficos?Inicio=${data.Inicio}&Fin=${data.Fin}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}&IdCorresponsal=${data.IdCorresponsal}&Proceso=${data.Proceso}&Modo=${data.Modo}`); + return http.get(`/reportes/RptCorresponsalesTraficos?Inicio=${data.Inicio}&Fin=${data.Fin}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}&IdCorresponsal=${data.IdCorresponsal}&Pedimento=${data.Pedimento}&Aduana=${data.Aduana}&Patente=${data.Patente}&Proceso=${data.Proceso}&Modo=${data.Modo}`); } getRptOperaciones(data: DTOReporte) { return http.get(`/reportes/RptOperaciones?Inicio=${data.Inicio}&Fin=${data.Fin}&TipoOperacion=${data.TipoOperacion}&NoCliente=${data.NoCliente}`); diff --git a/src/index.tsx b/src/index.tsx index 59a5756..d80515b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -33,7 +33,6 @@ function PageNotFound() { const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement); root.render( - }> @@ -75,7 +74,6 @@ root.render( - )