From 05a23ccb8b54e0476f7a279c3d6eea352ad1ae3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Borcz?= Date: Wed, 23 Jun 2021 23:19:35 +0200 Subject: [PATCH] Add dynamic date to some grades --- src/routes/uonetplus-uczen.js | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/routes/uonetplus-uczen.js b/src/routes/uonetplus-uczen.js index 869f13a..f8eaa7b 100644 --- a/src/routes/uonetplus-uczen.js +++ b/src/routes/uonetplus-uczen.js @@ -5,8 +5,8 @@ const dictMap = require('../utils/dictMap'); const converter = require('../utils/converter'); const Tokens = require('csrf'); const _ = require('lodash'); -const {getGradeColorByCategoryName} = require("../utils/gradeColor"); -const {format, fromUnixTime, getYear, addYears, addMonths, addDays, subDays, differenceInDays, parseISO, startOfWeek} = require('date-fns'); +const { getGradeColorByCategoryName } = require("../utils/gradeColor"); +const { format, fromUnixTime, getYear, addYears, addMonths, addDays, subDays, differenceInDays, parseISO, startOfWeek } = require('date-fns'); router.get("/", (req, res) => { const base = protocol(req) + "://" + req.get('host') + "/powiatwulkanowy/123456"; @@ -409,25 +409,33 @@ router.all("/Oceny.mvc/Get", (req, res) => { return { "Przedmiot": item.Nazwa, "Pozycja": item.Pozycja, - "OcenyCzastkowe": require("../../data/api/student/Oceny").filter(grade => grade.IdPrzedmiot === item.Id).map(item => { + "OcenyCzastkowe": require("../../data/api/student/Oceny").filter(grade => grade.IdPrzedmiot === item.Id).map((item, index) => { const teacher = dictMap.getByValue(teachers, "Id", item.IdPracownikD); const category = dictMap.getByValue(subjectCategories, "Id", item.IdKategoria); + let gradeDate; + + if (index == 0) { + gradeDate = converter.formatDate(new Date()); + } else { + gradeDate = converter.formatDate(new Date(item.DataUtworzenia * 1000)); + } + return { "Nauczyciel": `${teacher.Imie} ${teacher.Nazwisko}`, "Wpis": item.Wpis, "Waga": Math.round(item.WagaOceny), "NazwaKolumny": item.Opis, "KodKolumny": category.Kod, - "DataOceny": converter.formatDate(new Date(item.DataUtworzenia * 1000)), + "DataOceny": gradeDate, "KolorOceny": parseInt(getGradeColorByCategoryName(category.Nazwa), 16) }; }), - "ProponowanaOcenaRoczna": dictMap.getByValue(summary.OcenyPrzewidywane, "IdPrzedmiot", item.Id, {"Wpis": ""}).Wpis, - "OcenaRoczna": dictMap.getByValue(summary.OcenyKlasyfikacyjne, "IdPrzedmiot", item.Id, {"Wpis": ""}).Wpis, + "ProponowanaOcenaRoczna": dictMap.getByValue(summary.OcenyPrzewidywane, "IdPrzedmiot", item.Id, { "Wpis": "" }).Wpis, + "OcenaRoczna": dictMap.getByValue(summary.OcenyKlasyfikacyjne, "IdPrzedmiot", item.Id, { "Wpis": "" }).Wpis, "ProponowanaOcenaRocznaPunkty": index * 2.5 + 1 + "", "OcenaRocznaPunkty": index * 3 + 2 + "", - "Srednia": parseFloat(dictMap.getByValue(summary.SrednieOcen, "IdPrzedmiot", item.Id, {"SredniaOcen": "0"}).SredniaOcen.replace(/,/, '.')), - "SumaPunktow": dictMap.getByValue(summary.SrednieOcen, "IdPrzedmiot", item.Id, {"SumaPunktow": null}).SumaPunktow, + "Srednia": parseFloat(dictMap.getByValue(summary.SrednieOcen, "IdPrzedmiot", item.Id, { "SredniaOcen": "0" }).SredniaOcen.replace(/,/, '.')), + "SumaPunktow": dictMap.getByValue(summary.SrednieOcen, "IdPrzedmiot", item.Id, { "SumaPunktow": null }).SumaPunktow, "WidocznyPrzedmiot": false }; }), @@ -457,7 +465,7 @@ router.all("/Oplaty.mvc/Get", (req, res) => { router.all("/PlanZajec.mvc/Get", (req, res) => { const requestDate = req.body.data ? parseISO(req.body.data.replace("T", " ").replace(/Z$/, '')) : - startOfWeek(new Date(), {weekStartsOn: 1}); + startOfWeek(new Date(), { weekStartsOn: 1 }); const teachers = require("../../data/api/dictionaries/Nauczyciele"); const lessons = _.map(_.groupBy(require("../../data/api/student/PlanLekcjiZeZmianami").filter((item) => item.PlanUcznia).map((item) => { @@ -591,7 +599,7 @@ router.all("/Pomoc.mvc/Get", (req, res) => { router.all("/RejestracjaUrzadzeniaToken.mvc/Get", (req, res) => { const student = require('../../data/api/ListaUczniow')[1]; const base = protocol(req) + "://" + req.get('host'); - const token = new Tokens({secretLength: 97, saltLength: 4}); + const token = new Tokens({ secretLength: 97, saltLength: 4 }); const secret = token.secretSync(); res.json({ "data": { @@ -668,7 +676,7 @@ router.all("/Statystyki.mvc/GetOcenyCzastkowe", (req, res) => { res.json({ "data": _.chain(require("../../data/opiekun/oceny-statystyki-czastkowe")) .groupBy("subject") - .map((series, subject) => ({subject, series})) + .map((series, subject) => ({ subject, series })) .value() .map(item => { average += 0.1; @@ -705,7 +713,7 @@ router.all("/Statystyki.mvc/GetOcenyRoczne", (req, res) => { res.json({ "data": _.chain(require("../../data/opiekun/oceny-statystyki-roczne")) .groupBy("subject") - .map((series, subject) => ({subject, series})) + .map((series, subject) => ({ subject, series })) .value() .map(item => { return {