Add dynamic date to some grades

This commit is contained in:
Rafał Borcz 2021-06-23 23:19:35 +02:00
parent 33aaaa4269
commit 05a23ccb8b

View file

@ -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 {