diff --git a/CHANGELOG.md b/CHANGELOG.md index 39d05f2512d8ab1433ed5b11d1d0b23189424841..ad61ef515ed1da4792bde55953f54e7c63caefd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## 1.0.3 - 2018-04-27 +### Changed +- Fixed bug undefined field in some indicators + ## 1.0.2 - 2018-04-18 ### Changed - Fixed bug in pibpercapita route diff --git a/src/libs/middlewares/addMissing.js b/src/libs/middlewares/addMissing.js index 2c6ac526651c9d1f362bd831018003135fe64fdb..aaa451fbb4438b1480f3454212fd8dde39f3675d 100644 --- a/src/libs/middlewares/addMissing.js +++ b/src/libs/middlewares/addMissing.js @@ -5,7 +5,7 @@ module.exports = function addMissing(rqf){ if(dims.length != 2) return next(); if(req.filter.min_year != req.filter.max_year) return next(); if(req.result.length === 0) return next(); - + let result = req.result; let dimsValues = {}; result.forEach((r) => { @@ -19,29 +19,29 @@ module.exports = function addMissing(rqf){ } }) }); - + let G = {}; let rqfName = rqf.fieldValues[dims[0]].resultField; let rqfName2 = rqf.fieldValues[dims[1]].resultField; G[rqfName] = {}; dimsValues[rqfName].forEach((value) => { let secondDim = {}; - + dimsValues[rqfName2].forEach((dValue) => { secondDim[dValue] = false; }); - + G[rqfName][value] = {}; G[rqfName][value][rqfName2] = secondDim; }); - + result.forEach((r) => { let resultDim1 = r[rqfName]; let resultDim2 = r[rqfName2]; - + G[rqfName][resultDim1][rqfName2][resultDim2] = true; }); - + Object.keys(G[rqfName]).forEach((dim1Value) => { Object.keys(G[rqfName][dim1Value][rqfName2]).forEach((dim2Value) => { let value = G[rqfName][dim1Value][rqfName2][dim2Value]; @@ -55,14 +55,16 @@ module.exports = function addMissing(rqf){ if(r[rqfName] > newEntry[rqfName]) break; if(r[rqfName] == newEntry[rqfName] && r[rqfName2] > newEntry[rqfName2]) break; } - let newResult = [...result.slice(0, index), newEntry, ...result.slice(index, result.length)]; - result = newResult; + if (newEntry.dim1Value != undefined && newEntry.dim2Value != undefined) { + let newResult = [...result.slice(0, index), newEntry, ...result.slice(index, result.length)]; + result = newResult; + } } }); }); - + req.result = result; - + next(); }; -}; \ No newline at end of file +};