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 bdafe63..747faf1 100644 --- a/src/Components/Corresponsales/TraficoCorresponsales.tsx +++ b/src/Components/Corresponsales/TraficoCorresponsales.tsx @@ -316,6 +316,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' @@ -528,6 +531,7 @@ export default function TraficoCorresponsales (props:IProps) { } const LoadEverything = () => { + let clientes: IClientes[] = []; ClavesPedimentosService.getAllClavesPedimentos() .then(response => setClavesPedimentos(response.data)) .catch((e: Error) => { @@ -609,6 +613,7 @@ export default function TraficoCorresponsales (props:IProps) { }) ClientesDataService.getAllClientes(0) .then((response) => { + clientes = response.data; setClientes(response.data) }) .catch((e: Error) => { @@ -684,7 +689,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) @@ -1307,7 +1312,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"}"|`; // @@ -1319,7 +1324,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")}|`; // @@ -1358,26 +1363,28 @@ export default function TraficoCorresponsales (props:IProps) { return pedidos; } - const getCentroCostos = (idCliente: number) => { - if(Perfil !== 'heineken'){ - 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) - }) - .catch((e: Error) => { - setHeader('Error') - setMsg('Ocurrio un error: ' + e) - setShowMsg(true) - return - }); - } + const getCentroCostos = (idCliente: number, clientes: IClientes[]) => { + if(idCliente > 0){ + CentrosCostosService.get(idCliente) + .then(response => { + 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); + } + return + }) + .catch((e: Error) => { + setCentroCostos(''); setClaveClienteFacturacion(0); setNombreClienteFacturacion(''); setRfcClienteFacturacion(''); + setHeader('Error') + setMsg('Centro de costos no asignado. Solicitar a servicios administrativos la asignacion del centro de costos del cliente.') + setShowMsg(true) + return + }); } } @@ -1475,9 +1482,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" @@ -1506,9 +1513,36 @@ export default function TraficoCorresponsales (props:IProps) { - + + + + + Facturar A + + + {Clientes + ? Clientes.map((c) => { + return ( + + ) + }) + : null} + + + + + + - + Centro de Costos - + { @@ -1567,8 +1601,8 @@ export default function TraficoCorresponsales (props:IProps) { - - + + T. Operacion @@ -1623,7 +1657,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}`); } }