From 997b4d49f2581110cb8aaf3c9bb424b6e5d26dd4 Mon Sep 17 00:00:00 2001 From: Felix Morales Date: Wed, 4 Oct 2023 17:50:33 -0500 Subject: [PATCH] Agregar el campo cliente facturacion en el catalogo de centro de costos para facturar a otros clientes --- .../CatCentroCostos/CatCentroCostos.tsx | 24 ++++++ .../Corresponsales/TraficoCorresponsales.tsx | 78 ++++++++++++++----- src/DTO/DTOCatCentrosCostos.ts | 1 + src/Interfaces/Catalogos/ICatCentroCostos.ts | 1 + .../Catalogos/CentrosCostos.Service.ts | 2 +- 5 files changed, 84 insertions(+), 22 deletions(-) diff --git a/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx b/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx index 8198e32..5a01eb3 100644 --- a/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx +++ b/src/Components/Catalogos/CatCentroCostos/CatCentroCostos.tsx @@ -51,6 +51,7 @@ export const CatCentroConstos: FC = () => { Clave Cliente Centro Costos + Cliente Facturacion @@ -82,6 +83,29 @@ export const CatCentroConstos: FC = () => { }} /> } + { + { + const {formattedValue, value, floatValue} = values; + centroCosto.clienteFacturacion = formattedValue; + }} + /> + } ) diff --git a/src/Components/Corresponsales/TraficoCorresponsales.tsx b/src/Components/Corresponsales/TraficoCorresponsales.tsx index 71dc21f..f0e650b 100644 --- a/src/Components/Corresponsales/TraficoCorresponsales.tsx +++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx @@ -312,6 +312,9 @@ export default function TraficoCorresponsales (props:IProps) { const [EncabezadoPedimento1, setEncabezadoPedimento1] = useState("Pedimento"); const [EncabezadoPedimento2, setEncabezadoPedimento2] = useState("."); const [CentroCostos, setCentroCostos] = useState(''); + const [ClaveClienteFacturacion, setClaveClienteFacturacion] = useState(0); + const [NombreClienteFacturacion, setNombreClienteFacturacion] = useState('') + const [RfcClienteFacturacion, setRfcClienteFacturacion] = useState('') const [ClavesPedimentos, setClavesPedimentos] = useState([]) const FechaRegistro = currentDate() const msgColor = 'primary' @@ -524,6 +527,7 @@ export default function TraficoCorresponsales (props:IProps) { } const LoadEverything = () => { + let clientes: IClientes[] = []; ClavesPedimentosService.getAllClavesPedimentos() .then(response => setClavesPedimentos(response.data)) .catch((e: Error) => { @@ -605,6 +609,7 @@ export default function TraficoCorresponsales (props:IProps) { }) ClientesDataService.getAllClientes(0) .then((response) => { + clientes = response.data; setClientes(response.data) }) .catch((e: Error) => { @@ -680,7 +685,7 @@ export default function TraficoCorresponsales (props:IProps) { setFolioTrafico(response.data.folioGemco) setProceso(response.data.proceso) setIDCliente(response.data.idCliente) - getCentroCostos(response.data.idCliente); + getCentroCostos(response.data.idCliente, clientes); setIDTabulador(response.data.idTabulador) setTipoOperacion(response.data.tipoOperacion) setOpEntrada(response.data.opEntrada) @@ -1301,7 +1306,7 @@ export default function TraficoCorresponsales (props:IProps) { let facturas = mCFacturas.filter(factura => factura.id > 0); let nombreProveedor = ""; // - let fileData = `"${FolioTrafico}"|${IDCliente}|${Patente}|${Pedimento}|${TipoCambio}|${FechaPago}|0|0|0|0|0|0|0.00|"${Aduana}"|"${ClavePedimento}"|${TipoOperacion}|`; + let fileData = `"${FolioTrafico}"|${ClaveClienteFacturacion === IDCliente || ClaveClienteFacturacion === 0? IDCliente : ClaveClienteFacturacion}|${Patente}|${Pedimento}|${TipoCambio}|${FechaPago}|0|0|0|0|0|0|0.00|"${Aduana}"|"${ClavePedimento}"|${TipoOperacion}|`; // fileData += `"C"|${ValorFacturasDls}|${ValorFacturasDls! * TipoCambio!}|${ValorAduanaMN}|"${DescripcionMercancia}"|${Kilos}|${Kilos! * 2.20462}|${CantidadFracciones}|"${SemafoFiscal === 0 ? "R" : "V"}"|`; // @@ -1313,7 +1318,7 @@ export default function TraficoCorresponsales (props:IProps) { // fileData += `${Bultos}|${0}|${0}|${moment(FechaDesaduanamiento).format('MM/DD/YYYY')}|0|0|""|${moment(FechaDesaduanamiento).format('MM/DD/YYYY')}|${tipoMercancia?.clave ? tipoMercancia?.clave : '""'}|0|0|""|""|""|""|/ /|F|F|F|F|0|0|F|0.00|F|0|""|""|`; // - fileData += `${FechaPagoH !== "" ? FechaPagoH : FechaPago}|""|""|0|"${cliente!.sRazonSocial.split('|')[0].trim()}"|${cliente!.sRFC}|""|""|""|""|""|""|""|"${nombreProveedor}"|`; + fileData += `${FechaPagoH !== "" ? FechaPagoH : FechaPago}|""|""|0|"${ClaveClienteFacturacion === IDCliente || ClaveClienteFacturacion === 0? cliente!.sRazonSocial.split('|')[0].trim() : NombreClienteFacturacion}"|${ClaveClienteFacturacion === IDCliente || ClaveClienteFacturacion === 0? cliente!.sRFC : RfcClienteFacturacion}|""|""|""|""|""|""|""|"${nombreProveedor}"|`; // fileData += `0|""|""|""|""|""|""|""|""|${ValorFacturasDls}|""|""|336|""|/ / : :|${moment().format("MM/DD/YYYY hh:mm:ss")}|${moment().format("MM/DD/YYYY hh:mm:ss")}|`; // @@ -1352,21 +1357,25 @@ export default function TraficoCorresponsales (props:IProps) { return pedidos; } - const getCentroCostos = (idCliente: number) => { + const getCentroCostos = (idCliente: number, clientes: IClientes[]) => { if(idCliente > 0){ CentrosCostosService.get(idCliente) .then(response => { - if(response.status === 204){ - setHeader('Informativo') - setMsg('Centro de costos no asignado. Solicitar a servicios administrativos la asignacion del centro de costos del cliente.') - setShowMsg(true) - return + setCentroCostos(response.data.centroCostos) + setClaveClienteFacturacion(response.data.clienteFacturacion); + + if(response.data.clienteFacturacion !== 0 && response.data.clienteFacturacion !== idCliente){ + let cliente = clientes!.filter(x => x.sClave === response.data.clienteFacturacion)[0]; + let nombreCliente = cliente.sRazonSocial.split('|')[0].trim() + setNombreClienteFacturacion(nombreCliente); + setRfcClienteFacturacion(cliente.sRFC); } - setCentroCostos(response.data) + return }) .catch((e: Error) => { + setCentroCostos(''); setClaveClienteFacturacion(0); setNombreClienteFacturacion(''); setRfcClienteFacturacion(''); setHeader('Error') - setMsg('Ocurrio un error: ' + e) + setMsg('Centro de costos no asignado. Solicitar a servicios administrativos la asignacion del centro de costos del cliente.') setShowMsg(true) return }); @@ -1467,9 +1476,9 @@ export default function TraficoCorresponsales (props:IProps) { - + - + Cliente { setIDCliente(parseInt(e.target.value)) - getCentroCostos(+e.target.value); + getCentroCostos(+e.target.value, Clientes!); }} value={IDCliente} className="form-select form-select-sm" @@ -1498,9 +1507,36 @@ export default function TraficoCorresponsales (props:IProps) { - + - + + + Facturar A + + + {Clientes + ? Clientes.map((c) => { + return ( + + ) + }) + : null} + + + + + + + + Centro de Costos - + { @@ -1559,8 +1595,8 @@ export default function TraficoCorresponsales (props:IProps) { - - + + T. Operacion @@ -1615,7 +1651,7 @@ export default function TraficoCorresponsales (props:IProps) { - + } />{' '} diff --git a/src/DTO/DTOCatCentrosCostos.ts b/src/DTO/DTOCatCentrosCostos.ts index e5b038f..ed1f9cd 100644 --- a/src/DTO/DTOCatCentrosCostos.ts +++ b/src/DTO/DTOCatCentrosCostos.ts @@ -3,4 +3,5 @@ export default interface DTOCatCentrosCostos{ idCliente: number; nombreCliente: string; centroCostos: string; + clienteFacturacion: number; } \ No newline at end of file diff --git a/src/Interfaces/Catalogos/ICatCentroCostos.ts b/src/Interfaces/Catalogos/ICatCentroCostos.ts index 08d1d77..b93414e 100644 --- a/src/Interfaces/Catalogos/ICatCentroCostos.ts +++ b/src/Interfaces/Catalogos/ICatCentroCostos.ts @@ -2,4 +2,5 @@ export interface ICatCentroCostos{ id:number; idCliente: number; centroCostos: string; + clienteFacturacion: number; } \ No newline at end of file diff --git a/src/Services/Catalogos/CentrosCostos.Service.ts b/src/Services/Catalogos/CentrosCostos.Service.ts index 8c5ae25..1492785 100644 --- a/src/Services/Catalogos/CentrosCostos.Service.ts +++ b/src/Services/Catalogos/CentrosCostos.Service.ts @@ -13,7 +13,7 @@ class CentrosCostosService{ } get(idCliente: number){ - return http.get(`/Catalogos/CatCentrosCostos?idCliente=${idCliente}`); + return http.get(`/Catalogos/CatCentrosCostos?idCliente=${idCliente}`); } }