aboutsummaryrefslogtreecommitdiff
path: root/interface/controllers/dashboard.controller.js
diff options
context:
space:
mode:
authorjmreddy2106 <[email protected]>2022-05-04 02:42:10 -0400
committerjmreddy2106 <[email protected]>2022-05-04 02:42:10 -0400
commit698336a618c0457b5b63544861ae6409145a2d1e (patch)
tree16309e2469cc097d52aab231f9015da24c1798c2 /interface/controllers/dashboard.controller.js
parentb38d10fc7a20cab003afce1258a5329a16cb9402 (diff)
downloadWelfare-Schemes-DMQL-698336a618c0457b5b63544861ae6409145a2d1e.tar.xz
Welfare-Schemes-DMQL-698336a618c0457b5b63544861ae6409145a2d1e.zip
exports.getBeneficiaries = (limit, offset) => {
Diffstat (limited to 'interface/controllers/dashboard.controller.js')
-rw-r--r--interface/controllers/dashboard.controller.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/interface/controllers/dashboard.controller.js b/interface/controllers/dashboard.controller.js
new file mode 100644
index 0000000..c049df5
--- /dev/null
+++ b/interface/controllers/dashboard.controller.js
@@ -0,0 +1,75 @@
+const db = require("../models");
+
+
+// Gender distribution
+
+exports.genderDist = () => {
+ const query = `select gender, count(gender) As gender_dist
+ from citizens
+ group by gender`
+
+ return db.sequelize.query(query, { type: db.sequelize.QueryTypes.SELECT })
+}
+
+// Caste
+exports.casteDist = () => {
+ const query = `select caste, count(caste) as caste_dist from citizens
+ group by caste`
+
+ return db.sequelize.query(query, { type: db.sequelize.QueryTypes.SELECT })
+}
+
+// Marital Status
+exports.maritalDist = () => {
+ const query = `select marital_status, count(marital_status) as marital_dist from citizens
+ group by marital_status`
+
+ return db.sequelize.query(query, { type: db.sequelize.QueryTypes.SELECT })
+}
+
+// Age Distribution
+exports.ageDist = () => {
+ const query = `select Age_Dist, sum(Age_count) from (
+ select *, case when age < 3 then 'Infants'
+ when (age > 3 AND age < 13) then 'Children'
+ when (age > 13 AND age < 18) then 'Teenagers'
+ when (age > 18 AND age < 25) then 'Young Adults'
+ when (age > 25 AND age < 60) then 'Adults'
+ else 'Seniors'
+ end as Age_Dist
+ from (
+ select Age, count(Age) as Age_count from (
+ select date_part('year',age(dob)) as Age from citizens
+ ) A
+ group by Age
+ ) B
+ ) cc
+ group by Age_Dist`
+
+ return db.sequelize.query(query, { type: db.sequelize.QueryTypes.SELECT })
+}
+
+// citizens by District
+exports.citizensByDistrict = () => {
+ const query = `select dm.district_name, count(dm.district_id) as district_dist from citizens cs
+ join village_master vm
+ on cs.village_id = vm.village_id
+ join mandal_master mm
+ on mm.mandal_id = vm.mandal_id
+ join district_master dm
+ on dm.district_id = mm.district_id
+ group by dm.district_id`
+
+ return db.sequelize.query(query, { type: db.sequelize.QueryTypes.SELECT })
+}
+
+// Disable percentage
+exports.disablePercentage = () => {
+ const query = `select disbaled_percentage, count(disbaled_percentage) as disable_count_perc_dist
+ from citizens
+ group by disbaled_percentage
+ order by disbaled_percentage;`
+
+ return db.sequelize.query(query, { type: db.sequelize.QueryTypes.SELECT })
+}
+