Files
sistema_combustible/backend/src/modules/pump-reading/pumpReading.controller.ts

364 lines
6.0 KiB
TypeScript

import {Request, Response } from "express";
import { PumpReadingService } from "./pumpReading.service";
const service = new PumpReadingService();
export class PumpReadingController {
async create(
req:Request,
res:Response
){
try {
const reading = await service.create(
req.body
)
res.status(201).json(reading);
}catch (error){
res.status(500).json({
message:"Error al crear la lectura",
error
});
}
}
async getAll(
req:Request,
res:Response
){
try{
const readings = await service.getAll();
res.json(readings);
}catch(error){
res.status(500).json({
message:"Error al obtener las lecturas",
error
});
}
}
async getById(
req:Request,
res:Response
){
try{
const reading = await service.getById(
req.params.id as string
)
if(!reading){
return res.status(404).json({
message:"Lectura no encontrada"
});
}
res.json(reading);
}catch(error){
res.status(500).json({
message:"Error al obtener la lectura",
error
});
}
}
async update(
req:Request,
res:Response
){
try{
const reading = await service.update(
req.params.id as string,
req.body
);
if(!reading){
return res.status(404).json({
message:"Lectura no encontrada"
});
}
res.json(reading);
}catch(error){
res.status(500).json({
message:"Error al actualizar lectura",
error
});
}
}
async delete(
req:Request,
res:Response
){
try{
const reading = await service.delete(
req.params.id as string
);
if(!reading){
return res.status(404).json({
message:"Lectura no encontrada"
});
}
res.json({
message:"Lectura eliminada"
});
}catch (error){
res.status(500).json({
message:"Error al eliminiar lectura"
});
}
}
async calculateDispensedGallons(
req: Request,
res: Response
) {
try {
const gallons =
await service.calculateDispensedGallons(
req.params.id as string
);
res.json({
gallonsDispensed: gallons
});
} catch (error) {
res.status(500).json({
message: "Error al calcular galones despachados.",
error
});
}
}
// Calcular galones registrados por el sistema
async calculateSystemDispensed(
req: Request,
res: Response
) {
try {
const gallons = await service.calculateSystemDispensed(
req.params.id as string
);
res.json({
systemDispensed: gallons
});
} catch (error) {
res.status(500).json({
message: "Error al calcular galones del sistema.",
error
});
}
}
// Calcular diferencia
async calculateDifference(
req: Request,
res: Response
) {
try {
const difference = await service.calculateDifference(
req.params.id as string
);
res.json({
difference
});
} catch (error) {
res.status(500).json({
message: "Error al calcular la diferencia.",
error
});
}
}
// Actualizar estado
async updateStatus(
req: Request,
res: Response
) {
try {
const status = await service.updateStatus(
req.params.id as string
);
res.json({
status
});
} catch (error) {
res.status(500).json({
message: "Error al actualizar el estado.",
error
});
}
}
//Actualizar Fuel Request relacionadas
async updateFuelRequests(
req: Request,
res: Response
) {
try {
const requests = await service.updateFuelRequests(
req.params.id as string
);
res.json(requests);
} catch (error) {
res.status(500).json({
message: "Error al actualizar las Fuel Request.",
error
});
}
}
//Crear anomalía por diferencia
async createDifferenceAnomaly(
req: Request,
res: Response
) {
try {
const anomaly = await service.creataDifferenceAnomaly(
req.params.id as string
);
res.json(anomaly);
} catch (error) {
res.status(500).json({
message: "Error al crear la anomalía.",
error
});
}
}
//Cerrar lectura
async closeReading(
req: Request,
res: Response
) {
try {
const reading = await service.closeReading(
req.params.id as string
);
res.json(reading);
} catch (error) {
res.status(500).json({
message: "Error al cerrar la lectura.",
error
});
}
}
}