From 797b4633db3f4650476e9a8bc36a6990d552c653 Mon Sep 17 00:00:00 2001 From: Agustin Ruiz Diaz <agustin.ruiz.diaz@fing.edu.uy> Date: Thu, 16 Sep 2021 19:05:10 -0300 Subject: [PATCH] calculator route updated, AgeGroupJSON new definition, EnergeticRequirement totalOfPeople field added, Parser updated. --- src/DTOs/AgeGroupJSON.ts | 4 ++-- src/DTOs/EnergeticRequirementDTO.ts | 1 + src/Services/ERCalculator.ts | 1 + src/Services/ParserService.ts | 15 ++++++++------- src/routes.ts | 5 ++++- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/DTOs/AgeGroupJSON.ts b/src/DTOs/AgeGroupJSON.ts index b004c5b..c8a111c 100644 --- a/src/DTOs/AgeGroupJSON.ts +++ b/src/DTOs/AgeGroupJSON.ts @@ -1,8 +1,8 @@ type AgeGroupJSON = { edad: string; sexo: string; - pesoMediano: number; - cantidad: number; + pesoMediano: string; + cantidad: string; }; export default AgeGroupJSON; diff --git a/src/DTOs/EnergeticRequirementDTO.ts b/src/DTOs/EnergeticRequirementDTO.ts index fbf14e4..ef11f41 100644 --- a/src/DTOs/EnergeticRequirementDTO.ts +++ b/src/DTOs/EnergeticRequirementDTO.ts @@ -1,6 +1,7 @@ type EnergeticRequirement = { requerimientoEnergeticoPerCapita: number; requerimientoEnergeticoTotal: number; + poblacionTotal: number; }; export default EnergeticRequirement; diff --git a/src/Services/ERCalculator.ts b/src/Services/ERCalculator.ts index e656ef9..6be7f98 100644 --- a/src/Services/ERCalculator.ts +++ b/src/Services/ERCalculator.ts @@ -76,6 +76,7 @@ const calculateER = (groupParameters: Map<number[], AgeGroup>): CalculatorRespon const totalER: EnergeticRequirement = { requerimientoEnergeticoPerCapita: totalRequirement / totalOfPeople, requerimientoEnergeticoTotal: totalRequirement, + poblacionTotal: totalOfPeople, }; const result: CalculatorResponse = { diff --git a/src/Services/ParserService.ts b/src/Services/ParserService.ts index 9600284..b9aedc9 100644 --- a/src/Services/ParserService.ts +++ b/src/Services/ParserService.ts @@ -162,14 +162,15 @@ import Sex from '../Enum/Sex'; const parseGroups = (groups: AgeGroupJSON[]): AgeGroup[] => { const retGroups: AgeGroup[] = []; groups.forEach((obj: AgeGroupJSON) => { - if (typeof (obj.pesoMediano) !== 'number' || typeof (obj.cantidad) !== 'number') { - throw new Error('Parsing error, attributes do not respect format'); - } + // if (typeof (obj.pesoMediano) !== 'number' || typeof (obj.cantidad) !== 'number') { + // console.log('Estas haciendo cualquiera flaco'); + // throw new Error('Parsing error, attributes do not respect format'); + // } const group: AgeGroup = { edad: obj.edad as AgeBracket, sexo: obj.sexo as Sex, - pesoMediano: obj.pesoMediano, - cantidad: obj.cantidad, + pesoMediano: parseFloat(obj.pesoMediano), + cantidad: parseFloat(obj.cantidad), }; retGroups.push(group); }); @@ -180,8 +181,8 @@ const unparseGroup = (group: AgeGroup): AgeGroupJSON => { const retGroup: AgeGroupJSON = { edad: group.edad as string, sexo: group.sexo as string, - pesoMediano: group.pesoMediano, - cantidad: group.cantidad, + pesoMediano: String(group.pesoMediano), + cantidad: String(group.cantidad), }; return retGroup; }; diff --git a/src/routes.ts b/src/routes.ts index 1e83e85..c0ea909 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,6 +1,7 @@ import { Request, Response, Router } from 'express'; import SheetController from './Controllers/SheetController'; import CalculatorController from './Controllers/CalculatorController'; +import ParameterController from './Controllers/ParameterController'; const router = Router(); @@ -10,6 +11,8 @@ router.get('/', (req: Request, res: Response): void => { router.use('/sheetParser', SheetController); -router.use('/REPcalculator', CalculatorController); +router.use('/repCalculator', CalculatorController); + +router.use('/parameters', ParameterController); export default router; -- GitLab