Add grades stats

This commit is contained in:
Mikołaj Pich 2018-09-29 22:34:17 +02:00
parent 8df2bc1248
commit f24f08c546
No known key found for this signature in database
GPG key ID: F62B26E36D4C4BAA
6 changed files with 228 additions and 1 deletions

View file

@ -0,0 +1,74 @@
[
{
"subject": "Język polski",
"grade": "6",
"pupilAmount": 0,
"classAmount": 0
},
{
"subject": "Język polski",
"grade": "5",
"pupilAmount": 0,
"classAmount": 24
},
{
"subject": "Język polski",
"grade": "4",
"pupilAmount": 0,
"classAmount": 42
},
{
"subject": "Język polski",
"grade": "3",
"pupilAmount": 2,
"classAmount": 63
},
{
"subject": "Język polski",
"grade": "2",
"pupilAmount": 4,
"classAmount": 65
},
{
"subject": "Język polski",
"grade": "1",
"pupilAmount": 3,
"classAmount": 60
},
{
"subject": "Matematyka",
"grade": "6",
"pupilAmount": 0,
"classAmount": 2
},
{
"subject": "Matematyka",
"grade": "5",
"pupilAmount": 1,
"classAmount": 40
},
{
"subject": "Matematyka",
"grade": "4",
"pupilAmount": 1,
"classAmount": 26
},
{
"subject": "Matematyka",
"grade": "3",
"pupilAmount": 1,
"classAmount": 35
},
{
"subject": "Matematyka",
"grade": "2",
"pupilAmount": 0,
"classAmount": 55
},
{
"subject": "Matematyka",
"grade": "1",
"pupilAmount": 3,
"classAmount": 40
}
]

View file

@ -0,0 +1,32 @@
[
{
"subject": "Język angielski",
"grade": "celujący",
"amount": 0
},
{
"subject": "Język angielski",
"grade": "bardzo dobry",
"amount": 4
},
{
"subject": "Język angielski",
"grade": "dobry",
"amount": 8
},
{
"subject": "Język angielski",
"grade": "dostateczny",
"amount": 9
},
{
"subject": "Język angielski",
"grade": "dopuszczający",
"amount": 7
},
{
"subject": "Język angielski",
"grade": "niedostateczny",
"amount": 3
}
]

View file

@ -95,6 +95,40 @@ router.get("/Default/123456/Oceny(\.mvc|)/Wszystkie", (req, res) => {
});
});
router.get("/Default/123456/Statystyki.mvc/Uczen", (req, res) => {
let data;
let viewPath;
if (req.query.rodzajWidoku === '1') {
viewPath = "opiekun/oceny-statystyki-czastkowe";
data = require("../../data/opiekun/oceny-statystyki-czastkowe").map(item => {
return {
subject: item.subject,
grade: item.grade,
pupilAmount: item.pupilAmount,
pupilPercent: item.pupilAmount !== 0 ? 25.000003 : 0,
classAmount: item.classAmount,
classPercent: item.classAmount !== 0 ? 25.000003 : 0
};
});
} else {
viewPath = "opiekun/oceny-statystyki-roczne";
data = require("../../data/opiekun/oceny-statystyki-roczne").map(item => {
return {
subject: item.subject,
grade: item.grade,
amount: item.amount,
percent: item.amount !== 0 ? 25.000003 : 0
};
});
}
res.render(viewPath, {
title: "Witryna ucznia i rodzica Statystyki ucznia",
data: data
});
});
router.get('/Default/123456/Frekwencja.mvc', (req, res) => {
const sumStats = require("../../data/opiekun/frekwencja-statystyki").reduce((prev, current) => {
return {

View file

@ -34,7 +34,7 @@ prepend content
li
a(href=opiekunRoot + "/UwagiOsiagniecia.mvc/Wszystkie") Uwagi i osiągnięcia
li
a(href="#" + opiekunRoot + "/Statystyki.mvc/Uczen") Uczeń na tle klasy
a(href=opiekunRoot + "/Statystyki.mvc/Uczen") Uczeń na tle klasy
li
a(href=opiekunRoot + "/Uczen.mvc/DanePodstawowe") Dane ucznia
ul

View file

@ -0,0 +1,45 @@
extends layout
append extraFooter
script
| document.querySelector("#ocenyRoczneRadio").addEventListener("change", () => {
| location = 'Uczen?rodzajWidoku=2';
| });
append content
main.mainContainer
h1 Uczeń na tle klasy
form
fieldset.pseudoForm
div.floatLeft
input#ocenyCzastkoweRadio(type="radio" value="1" name="wyborWidokuZadan" checked="checked")
label(for="ocenyCzastkoweRadio") Oceny cząstkowe
div.floatLeft
input#ocenyRoczneRadio(type="radio" value="2" name="wyborWidokuZadan")
label(for="ocenyRoczneRadio") Oceny śródroczne/roczne
br
fieldset.pseudoForm
div.float-left
label(for="okresyKlasyfikacyjneDropDownList") Okres klasyfikacyjny:
select#okresyKlasyfikacyjneDropDownList(name="okresyKlasyfikacyjneDropDownList")
option(selected="selected", value="122") 1
option(value="123") 2
div
h2 Rozkład ocen cząstkowych
div
table
thead
tr
th Przedmiot
th Oceny
th Uczeń
th Klasa
tbody
each item in data
tr
td= item.subject
td #{item.grade}, #{item.grade}-, #{item.grade}+
td Uczeń ocen: #{item.pupilAmount}#{item.pupilPercent ? ", " + item.pupilPercent + "% wszystkich" : "" }
td Klasa ocen: #{item.classAmount}#{item.classPercent ? ", " + item.classPercent + "% wszystkich" : "" }

View file

@ -0,0 +1,42 @@
extends layout
append extraFooter
script
| document.querySelector("#ocenyCzastkoweRadio").addEventListener("change", () => {
| location = 'Uczen?rodzajWidoku=1';
| });
append content
main.mainContainer
h1 Uczeń na tle klasy
form
fieldset.pseudoForm
div.floatLeft
input#ocenyCzastkoweRadio(type="radio" value="1" name="wyborWidokuZadan")
label(for="ocenyCzastkoweRadio") Oceny cząstkowe
div.floatLeft
input#ocenyRoczneRadio(type="radio" value="2" name="wyborWidokuZadan" checked="checked")
label(for="ocenyRoczneRadio") Oceny śródroczne/roczne
br
fieldset.pseudoForm
div.float-left
label(for="okresyKlasyfikacyjneDropDownList") Okres klasyfikacyjny:
select#okresyKlasyfikacyjneDropDownList(name="okresyKlasyfikacyjneDropDownList")
option(selected="selected", value="122") 1
option(value="123") 2
h2 Rozkład ocen rocznych i śródrocznych
div
table
thead
tr
th Przedmiot
th Oceny
th Klasa
tbody
each item in data
tr
td= item.subject
td= item.grade
td Klasa ocen: #{item.amount}#{item.percent ? ", " + item.percent + "% wszystkich" : "" }