From 0e2b966157b80f4d2ce868b65a8530f5cb67f71f Mon Sep 17 00:00:00 2001 From: Felix Morales Date: Wed, 11 Oct 2023 10:26:50 -0500 Subject: [PATCH] mostrar solo los registros que le pertenecen al usuario cuando es un corresponsal --- src/Components/Login/login.tsx | 1 + src/Components/Register/register.tsx | 51 +++++++++++++-- .../Reportes/RptCorresponsalesTraficos.tsx | 65 ++++++++++++------- src/Interfaces/IRegister.tsx | 1 + src/Interfaces/IjwtStructure.ts | 1 + 5 files changed, 91 insertions(+), 28 deletions(-) diff --git a/src/Components/Login/login.tsx b/src/Components/Login/login.tsx index 5fb0b2b..8fd086e 100644 --- a/src/Components/Login/login.tsx +++ b/src/Components/Login/login.tsx @@ -48,6 +48,7 @@ export const Login: React.FC<{}> = () => { var values: IjwtStructure = jwt_decode(response.data.token) localStorage.setItem('UserId', JSON.stringify(values.UserId)) localStorage.setItem('User', JSON.stringify(values.Usuario)) + localStorage.setItem('IdCorresponsal', JSON.stringify(values.IdCorresponsal)) localStorage.setItem( 'Departamento', JSON.stringify(values.Departamento) diff --git a/src/Components/Register/register.tsx b/src/Components/Register/register.tsx index 7b84739..3a4f26a 100644 --- a/src/Components/Register/register.tsx +++ b/src/Components/Register/register.tsx @@ -34,6 +34,9 @@ import DTOUsuariosShort from '../../DTO/DTOUsuariosShort' import DTOClonarUsuario from '../../DTO/DTOClonarUsuario' import { AdmonPerfiles } from './admonPerfiles/AdmonPerfiles' import { Form as FormCtrl } from 'react-bootstrap' +import ICatCorresponsales from '../../Interfaces/Catalogos/ICatCorresponsales' +import UsuariosServices from '../../Services/Catalogos/Usuarios.Services' +import CorresponsalesServices from '../../Services/Catalogos/Corresponsales.Services' interface IProps {} @@ -102,6 +105,8 @@ export default function Register(props:IProps) { const [clientes, setClientes] = useState([]) const [transportistas, setTransportistas] = useState([]) const [proveedores, setProveedores] = useState([]) + const [corresponsales, setCorresponsales] = useState([]); + const [IdCorresponsal, setIdCorresponsal] = useState(0); const [comboUsuarios, setcomboUsuarios] = useState([]) const [toastPerfil, setToastPerfil] = useState(false) const [UsuariosPerfilesMenu, setUsuariosPerfilesMenu] = @@ -140,7 +145,8 @@ export default function Register(props:IProps) { codigoAccesoM: CodigoAccesoM, tokenAccesoM: TokenAccesoM, deviceToken: DeviceToken, - idPerfil: IdPerfil + idPerfil: IdPerfil, + idCorresponsal: IdCorresponsal } const initialValuesPerfiles: IPerfil = { @@ -227,6 +233,15 @@ export default function Register(props:IProps) { } }, [IdUsuario]) + useEffect(() => { + CorresponsalesServices.getAll().then(resp => { + setCorresponsales(resp.data); + }) + .catch(error => { + console.log(error); + }) + }, []) + const handleSelect = (e: any) => { console.log(e) setPerfiles(e) @@ -381,6 +396,8 @@ export default function Register(props:IProps) { setCorreo(data.correo) setIdPerfil(data.idPerfil) loadAllUserInfo(data.id) + setTipoUsuario(data.tipoUsuario) + setIdCorresponsal(data.idCorresponsal); } const clonaInformacion = (): void => { @@ -616,6 +633,7 @@ export default function Register(props:IProps) { setTipoUsuario(parseInt(e.target.value)) } className="form-select form-select-sm" + value={TipoUsuario} > @@ -702,6 +720,29 @@ export default function Register(props:IProps) { +
+
+
+ + + setIdCorresponsal(parseInt(e.target.value)) + } + className="form-select form-select-sm" + value={IdCorresponsal} + > + + {corresponsales.map((c) => { + return + })} + +
+
+
@@ -1185,10 +1226,12 @@ export default function Register(props:IProps) { { + c.agrupado === 0 ? c.agrupado = 1 : c.agrupado = 0; addCliente(c.sClave, e) // loadProveedores(); }} @@ -1244,7 +1287,7 @@ export default function Register(props:IProps) { t.asignado == 1 ? true : false } value={t.sClave} - id="ChClientes[]" + id={`ChTransportista[${t.sClave}]`} onClick={(e) => { asignaClienteTransportista( t.sClave, @@ -1301,7 +1344,7 @@ export default function Register(props:IProps) { className="form-check-input" type="checkbox" value={p.sClave} - id="ChClientes[]" + id={`ChProveedor[${p.sClave}]`} defaultChecked={ p.asignado === 1 ? true : false } diff --git a/src/Components/Reportes/RptCorresponsalesTraficos.tsx b/src/Components/Reportes/RptCorresponsalesTraficos.tsx index a567c5d..da6ec6d 100644 --- a/src/Components/Reportes/RptCorresponsalesTraficos.tsx +++ b/src/Components/Reportes/RptCorresponsalesTraficos.tsx @@ -77,7 +77,11 @@ export default function RptCorresponsalesTraficos(props: IProps) { const [Fin, setFin] = useState(currentDate(0)) const [TipoOperacion, setTipoOperacion] = useState(0) const [Cliente, setCliente] = useState(0) - const [Corresponsal, setCorresponsal] = useState(0) + const [Corresponsal, setCorresponsal] = useState(() => { + const stickyValue = window.localStorage.getItem('IdCorresponsal') + return stickyValue !== null ? JSON.parse(stickyValue) : 0 + }) + //const [Corresponsal, setCorresponsal] = useState(0) const [Pedimento, setPedimento] = useState(0) const [Patente, setPatente] = useState(0); const [Aduana, setAduana] = useState(0); @@ -229,6 +233,7 @@ export default function RptCorresponsalesTraficos(props: IProps) { } useEffect(() => { + if(Perfil !== "Corresponsales"){ ClientesDataService.getAllClientes(0) .then((response) => { setClientes(response.data) @@ -250,6 +255,18 @@ export default function RptCorresponsalesTraficos(props: IProps) { setShowMsg(true) return }) + }else{ + ClientesDataService.getAllClientes(UserId) + .then((response) => { + setClientes(response.data) + }) + .catch((e: Error) => { + setHeader('Error') + setMsg('Ocurrio un error: ' + e) + setShowMsg(true) + return + }) + } generaReporte() }, []) @@ -595,30 +612,30 @@ export default function RptCorresponsalesTraficos(props: IProps) { + + + Cliente + { + setCliente(parseInt(e.target.value)) + }} + className='form-select form-select-sm' + > + + {Clientes + ? Clientes.map((c) => { + return ( + + ) + }) + : null} + + + {(Perfil !== "Corresponsales")? <> - - - Cliente - { - setCliente(parseInt(e.target.value)) - }} - className='form-select form-select-sm' - > - - {Clientes - ? Clientes.map((c) => { - return ( - - ) - }) - : null} - - - Corresponsal diff --git a/src/Interfaces/IRegister.tsx b/src/Interfaces/IRegister.tsx index ff3e744..a1508b4 100644 --- a/src/Interfaces/IRegister.tsx +++ b/src/Interfaces/IRegister.tsx @@ -29,4 +29,5 @@ export interface IRegister { tokenAccesoM: string; deviceToken: string; idPerfil: number; + idCorresponsal: number; } diff --git a/src/Interfaces/IjwtStructure.ts b/src/Interfaces/IjwtStructure.ts index e356b0d..3495b84 100644 --- a/src/Interfaces/IjwtStructure.ts +++ b/src/Interfaces/IjwtStructure.ts @@ -7,4 +7,5 @@ export default interface IjwtStructure { Departamento: string; UserType: number, Perfil: string + IdCorresponsal: number; } \ No newline at end of file