Correcion 2 backend controlador api/clients/
This commit is contained in:
@@ -380,28 +380,31 @@ controlador.api_consultaCliente = (req, res) => {
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
/*** API CLIENTES ***/
|
/*** API CLIENTES ***/
|
||||||
|
// --- FUNCIONES DE CONTROLADOR PARA API RESTful (basadas en client_rucCed) ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description Obtiene un cliente por su ID y devuelve los datos en formato JSON.
|
* @description Obtiene un cliente por su RUC/Cédula y devuelve los datos en formato JSON.
|
||||||
* Usado por EditarCliente.vue para cargar los datos.
|
* Usado por EditarCliente.vue para cargar los datos.
|
||||||
* Ruta: GET /api/clientes/:client_id
|
* Ruta: GET /api/clientes/:client_rucCed
|
||||||
*/
|
*/
|
||||||
controlador.obtenerClienteJsonPorId = (req, res) => {
|
controlador.obtenerClienteJsonPorId = (req, res) => {
|
||||||
const { client_id } = req.params;
|
// CAMBIO: Ahora se espera client_rucCed en los parámetros
|
||||||
|
const { client_rucCed } = req.params;
|
||||||
req.getConnection((err, conn) => {
|
req.getConnection((err, conn) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al obtener conexión para obtener cliente JSON:', err);
|
console.error('Error al obtener conexión para obtener cliente JSON (por RUC/Cédula):', err);
|
||||||
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
||||||
}
|
}
|
||||||
// La consulta selecciona las columnas necesarias de tu tabla `clientes`
|
// CAMBIO: La consulta ahora busca por `client_rucCed`
|
||||||
conn.query('SELECT client_id, client_nombre, client_rucCed, client_direccion, client_celular, client_email, client_fechaReg, client_estado FROM clientes WHERE client_rucCed = ?', [client_id], (err, rows) => {
|
conn.query('SELECT client_id, client_nombre, client_rucCed, client_direccion, client_celular, client_email, client_fechaReg, client_estado FROM clientes WHERE client_rucCed = ?', [client_rucCed], (err, rows) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al consultar cliente por ID (JSON):', err);
|
console.error('Error al consultar cliente por RUC/Cédula (JSON):', err);
|
||||||
return res.status(500).json({ mensaje: 'Error al consultar cliente.', error: err.message });
|
return res.status(500).json({ mensaje: 'Error al consultar cliente.', error: err.message });
|
||||||
}
|
}
|
||||||
if (rows.length > 0) {
|
if (rows.length > 0) {
|
||||||
res.json(rows[0]); // Devuelve el objeto cliente directamente
|
res.json(rows[0]); // Devuelve el objeto cliente directamente
|
||||||
} else {
|
} else {
|
||||||
res.status(404).json({ mensaje: 'Cliente no encontrado.' });
|
res.status(404).json({ mensaje: 'Cliente no encontrado con ese RUC/Cédula.' });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -413,13 +416,12 @@ controlador.obtenerClienteJsonPorId = (req, res) => {
|
|||||||
* Ruta: POST /api/clientes
|
* Ruta: POST /api/clientes
|
||||||
*/
|
*/
|
||||||
controlador.crearClienteJson = (req, res) => {
|
controlador.crearClienteJson = (req, res) => {
|
||||||
const data = req.body; // Los datos del cliente vienen en el cuerpo de la solicitud (JSON)
|
const data = req.body;
|
||||||
req.getConnection((err, conn) => {
|
req.getConnection((err, conn) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al obtener conexión para crear cliente JSON:', err);
|
console.error('Error al obtener conexión para crear cliente JSON:', err);
|
||||||
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
||||||
}
|
}
|
||||||
// `INSERT INTO clientes SET ?` mapea las propiedades del objeto `data` a las columnas de la tabla
|
|
||||||
conn.query('INSERT INTO clientes SET ?', [data], (err, result) => {
|
conn.query('INSERT INTO clientes SET ?', [data], (err, result) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al insertar nuevo cliente (JSON):', err);
|
console.error('Error al insertar nuevo cliente (JSON):', err);
|
||||||
@@ -433,25 +435,26 @@ controlador.crearClienteJson = (req, res) => {
|
|||||||
/**
|
/**
|
||||||
* @description Actualiza un cliente existente y devuelve una respuesta JSON.
|
* @description Actualiza un cliente existente y devuelve una respuesta JSON.
|
||||||
* Usado por EditarCliente.vue para enviar los cambios.
|
* Usado por EditarCliente.vue para enviar los cambios.
|
||||||
* Ruta: PUT /api/clientes/:client_id
|
* Ruta: PUT /api/clientes/:client_rucCed
|
||||||
*/
|
*/
|
||||||
controlador.actualizarClienteJson = (req, res) => {
|
controlador.actualizarClienteJson = (req, res) => {
|
||||||
const { client_id } = req.params; // ID del cliente a actualizar
|
// CAMBIO: Ahora se espera client_rucCed en los parámetros
|
||||||
const nCliente = req.body; // Datos actualizados del cliente en el cuerpo de la solicitud
|
const { client_rucCed } = req.params;
|
||||||
|
const nCliente = req.body;
|
||||||
|
|
||||||
req.getConnection((err, conn) => {
|
req.getConnection((err, conn) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al obtener conexión para actualizar cliente JSON:', err);
|
console.error('Error al obtener conexión para actualizar cliente JSON (por RUC/Cédula):', err);
|
||||||
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
||||||
}
|
}
|
||||||
// `UPDATE clientes SET ? WHERE client_id = ?` mapea las propiedades de `nCliente` a las columnas
|
// CAMBIO: La actualización se realiza buscando por `client_rucCed`
|
||||||
conn.query('UPDATE clientes SET ? WHERE client_id = ?', [nCliente, client_id], (err, result) => {
|
conn.query('UPDATE clientes SET ? WHERE client_rucCed = ?', [nCliente, client_rucCed], (err, result) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al actualizar cliente (JSON):', err);
|
console.error('Error al actualizar cliente por RUC/Cédula (JSON):', err);
|
||||||
return res.status(500).json({ mensaje: 'Error al actualizar el cliente.', error: err.message });
|
return res.status(500).json({ mensaje: 'Error al actualizar el cliente.', error: err.message });
|
||||||
}
|
}
|
||||||
if (result.affectedRows === 0) {
|
if (result.affectedRows === 0) {
|
||||||
return res.status(404).json({ mensaje: 'Cliente no encontrado para actualizar.' });
|
return res.status(404).json({ mensaje: 'Cliente no encontrado para actualizar con ese RUC/Cédula.' });
|
||||||
}
|
}
|
||||||
res.json({ mensaje: 'Cliente actualizado exitosamente.' });
|
res.json({ mensaje: 'Cliente actualizado exitosamente.' });
|
||||||
});
|
});
|
||||||
@@ -459,25 +462,26 @@ controlador.actualizarClienteJson = (req, res) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description Elimina un cliente por su ID y devuelve una respuesta JSON.
|
* @description Elimina un cliente por su RUC/Cédula y devuelve una respuesta JSON.
|
||||||
* Usado por ListaClientes.vue para la eliminación.
|
* Usado por ListaClientes.vue para la eliminación.
|
||||||
* Ruta: DELETE /api/clientes/:client_id
|
* Ruta: DELETE /api/clientes/:client_rucCed
|
||||||
*/
|
*/
|
||||||
controlador.eliminarClienteJson = (req, res) => {
|
controlador.eliminarClienteJson = (req, res) => {
|
||||||
const { client_id } = req.params; // ID del cliente a eliminar
|
// CAMBIO: Ahora se espera client_rucCed en los parámetros
|
||||||
|
const { client_rucCed } = req.params;
|
||||||
req.getConnection((err, conn) => {
|
req.getConnection((err, conn) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al obtener conexión para eliminar cliente JSON:', err);
|
console.error('Error al obtener conexión para eliminar cliente JSON (por RUC/Cédula):', err);
|
||||||
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
return res.status(500).json({ mensaje: 'Error interno del servidor al obtener conexión.' });
|
||||||
}
|
}
|
||||||
// La consulta DELETE utiliza `client_id` de tu tabla
|
// CAMBIO: La eliminación se realiza buscando por `client_rucCed`
|
||||||
conn.query('DELETE FROM clientes WHERE client_id = ?', [client_id], (err, result) => {
|
conn.query('DELETE FROM clientes WHERE client_rucCed = ?', [client_rucCed], (err, result) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error al eliminar cliente (JSON):', err);
|
console.error('Error al eliminar cliente por RUC/Cédula (JSON):', err);
|
||||||
return res.status(500).json({ mensaje: 'Error al eliminar el cliente.', error: err.message });
|
return res.status(500).json({ mensaje: 'Error al eliminar el cliente.', error: err.message });
|
||||||
}
|
}
|
||||||
if (result.affectedRows === 0) {
|
if (result.affectedRows === 0) {
|
||||||
return res.status(404).json({ mensaje: 'Cliente no encontrado para eliminar.' });
|
return res.status(404).json({ mensaje: 'Cliente no encontrado para eliminar con ese RUC/Cédula.' });
|
||||||
}
|
}
|
||||||
res.json({ mensaje: 'Cliente eliminado exitosamente.' });
|
res.json({ mensaje: 'Cliente eliminado exitosamente.' });
|
||||||
});
|
});
|
||||||
@@ -485,5 +489,23 @@ controlador.eliminarClienteJson = (req, res) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// --- Funciones de consulta existentes (mantener) ---
|
||||||
|
controlador.app_pedidos_clientes = (req, res) => {
|
||||||
|
const consulta = `%${req.query.consulta}%`;
|
||||||
|
req.getConnection((err, conn) => {
|
||||||
|
if (err) {
|
||||||
|
return res.status(500).json({ mensaje: 'Error de conexión', error: err.message });
|
||||||
|
}
|
||||||
|
// Incluir client_id en la selección
|
||||||
|
conn.query(`SELECT client_id, client_rucCed,client_nombre,client_direccion,client_celular,client_email FROM clientes WHERE client_nombre like ? or client_rucCed like ?`, [consulta, consulta], (err, rows) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Error en app_pedidos_clientes:', err);
|
||||||
|
return res.status(500).json({ mensaje: 'Error al consultar clientes.', error: err.message });
|
||||||
|
}
|
||||||
|
res.json(rows);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
module.exports = controlador;
|
module.exports = controlador;
|
||||||
|
|||||||
@@ -34,14 +34,14 @@ rutas.get('/busquedaSRI/', controladorClientes.buscarCli_sri);//API consulta cli
|
|||||||
rutas.get('/api_consultaClientes/', controladorClientes.api_consultaCliente);//API consulta clientes
|
rutas.get('/api_consultaClientes/', controladorClientes.api_consultaCliente);//API consulta clientes
|
||||||
|
|
||||||
// --- NUEVAS RUTAS RESTful para CLIENTES (para el frontend Vue) ---
|
// --- NUEVAS RUTAS RESTful para CLIENTES (para el frontend Vue) ---
|
||||||
// Obtener un cliente por su ID (para EditarCliente.vue)
|
// Obtener un cliente por su client_rucCed (para EditarCliente.vue)
|
||||||
rutas.get('/api/clientes/:client_id', controladorClientes.obtenerClienteJsonPorId); // Nuevo endpoint RESTful GET
|
rutas.get('/api/clientes/:client_rucCed', controladorClientes.obtenerClienteJsonPorId); // Nuevo endpoint RESTful GET
|
||||||
// Crear un nuevo cliente (para NuevoCliente.vue)
|
// Crear un nuevo cliente (para NuevoCliente.vue)
|
||||||
rutas.post('/api/clientes', controladorClientes.crearClienteJson); // Nuevo endpoint RESTful POST
|
rutas.post('/api/clientes', controladorClientes.crearClienteJson); // Nuevo endpoint RESTful POST
|
||||||
// Actualizar un cliente existente (para EditarCliente.vue)
|
// Actualizar un cliente existente (para EditarCliente.vue)
|
||||||
rutas.put('/api/clientes/:client_id', controladorClientes.actualizarClienteJson); // Nuevo endpoint RESTful PUT
|
rutas.put('/api/clientes/:client_rucCed', controladorClientes.actualizarClienteJson); // Nuevo endpoint RESTful PUT
|
||||||
// Eliminar un cliente (para ListaClientes.vue)
|
// Eliminar un cliente (para ListaClientes.vue)
|
||||||
rutas.delete('/api/clientes/:client_id', controladorClientes.eliminarClienteJson); // Nuevo endpoint RESTful DELETE
|
rutas.delete('/api/clientes/:client_rucCed', controladorClientes.eliminarClienteJson); // Nuevo endpoint RESTful DELETE
|
||||||
|
|
||||||
// --- Rutas RESTful para TIPOS de Membresías (tabla 'clientes_membresias') ---
|
// --- Rutas RESTful para TIPOS de Membresías (tabla 'clientes_membresias') ---
|
||||||
// Estas rutas apuntarán al nuevo controlador_Membresias
|
// Estas rutas apuntarán al nuevo controlador_Membresias
|
||||||
|
|||||||
Reference in New Issue
Block a user