---
title: "Matematika 2 - usmeni"
output: 
  flexdashboard::flex_dashboard:
    social: menu
    orientation: columns
    vertical_layout: fill
    source_code: embed
---

```{css, echo=FALSE}
.sidebar { overflow: auto; }
.dataTables_scrollBody {
    height:95% !important;
    max-height:95% !important;
}
.chart-stage-flex {
    overflow:auto !important;
}
```

```{r setup, include=FALSE}
library(tidyverse)
library(readxl)
library(knitr)
library(kableExtra)

raz <- read_excel("IPS_MAT2_RAZ.xlsx") %>%
  select(`Adresa e-pošte`)

izvanredni <- read_excel("IPS_MAT2_IZV.xlsx") %>%
  select(`Adresa e-pošte`) %>%
  bind_rows(raz) %>% distinct(`Adresa e-pošte`, .keep_all = TRUE)

podaci <- read_excel("IPS_MAT2 Ocjene.xlsx") %>%
  mutate_at(vars(ANKETA:DZ_KVIZ), as.numeric) %>%
  mutate(Status = case_when(`Adresa e-pošte` %in% izvanredni$`Adresa e-pošte` ~ "IZV",
                            .default = "RED")) %>%
  mutate(DZ = rowSums(across(DZ1:DZ0)), KVIZ = DZ_KVIZ - DZ) %>%
  relocate(Status, .after = Prezime) %>%
  relocate(DZ:KVIZ, .after = `Adresa e-pošte`) %>%
  select(Ime:KOL) %>%
  mutate(UKUPNO = case_when(Status == "RED" ~ rowSums(across(DZ:KOL3)),
                            Status == "IZV" ~ rowSums(across(ANKETA:KOL3))))

za_usmeni_redovni <- podaci %>%
  filter(Status == "RED", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL >= 25, UKUPNO >= 50)

za_usmeni_izv <- podaci %>%
  filter(Status == "IZV", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL >= 25, UKUPNO >= 35)

za_usmeni <- za_usmeni_redovni %>% bind_rows(za_usmeni_izv) %>%
  arrange(desc(Status), desc(UKUPNO), desc(KOL))

n_student <- za_usmeni %>% count() %>% pull(n)

# nedostaju ukupni bodovi, dovoljno na kolokvijima
fali_ukupno_redovni <- podaci %>%
  filter(Status == "RED", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL >=25, 
         UKUPNO < 50) %>%
  arrange(desc(UKUPNO), desc(KOL))

fali_ukupno_izv <- podaci %>%
  filter(Status == "IZV", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL >=25, 
         UKUPNO < 35) %>%
  arrange(desc(UKUPNO), desc(KOL))

fali_ukupno <- fali_ukupno_redovni %>% bind_rows(fali_ukupno_izv) %>%
  mutate(id=row_number()) %>%
  relocate(id)

# dovoljno ukupno bodova, ali nedovoljno na kolokvijima
fali_kolokvij_redovni <- podaci %>%
  filter(Status == "RED", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL < 25, 
         UKUPNO >= 50) %>%
  arrange(desc(UKUPNO), desc(KOL))

fali_kolokvij_izv <- podaci %>%
  filter(Status == "IZV", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL < 25, 
         UKUPNO >= 35) %>%
  arrange(desc(UKUPNO), desc(KOL))

fali_kolokvij <- fali_kolokvij_redovni %>% bind_rows(fali_kolokvij_izv) %>%
  mutate(id=row_number()) %>%
  relocate(id)

# nedostaju najviše 3 boda u sumi i najviše tri boda na kolokvijima
fali_sve_pomalo_redovni <- podaci %>%
  filter(Status == "RED", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL < 25, KOL >= 22,
         UKUPNO < 50, UKUPNO >= 47) %>%
  arrange(desc(UKUPNO), desc(KOL))

fali_sve_pomalo_izv <- podaci %>%
  filter(Status == "IZV", KOL1 >= 3, KOL2 >= 3, KOL3 >= 3, KOL < 25, KOL >= 22,
         UKUPNO < 35, UKUPNO >= 32) %>%
  arrange(desc(UKUPNO), desc(KOL))

fali_sve_pomalo <- fali_sve_pomalo_redovni %>% bind_rows(fali_sve_pomalo_izv) %>%
  mutate(id=row_number()) %>%
  relocate(id)

bez_potpisa <- podaci %>% filter(Status == "RED", UKUPNO < 20) %>%
  arrange(desc(UKUPNO), desc(KOL)) %>%
  mutate(id=row_number()) %>%
  relocate(id)
```

# Popis za usmeni

### Popis za usmeni

```{r}
za_usmeni %>% 
  kbl(caption = paste0("Popis za usmeni - model za redovne studente (ukupno ", n_student, " studenata)")) %>%
  kable_classic("hover",full_width = F, html_font = "Cambria")
```

# Nedostaju ukupni bodovi

### **REDOVNI:** manje od 50 bodova ukupno, **IZVANREDNI:** manje od 35 bodova ukupno

```{r}
fali_ukupno %>% 
  kbl(caption = "**UKUPNO:** nedostaju bodovi. **KOLOKVIJI:** dovoljno bodova.") %>%
  kable_classic("hover",full_width = F, html_font = "Cambria")
```

# Nedostaju kolokviji

### Manje od 25 bodova na kolokvijima

```{r}
fali_kolokvij %>% 
  kbl(caption = "**UKUPNO:** dovoljno bodova. **KOLOKVIJI:** nedostaju bodovi.") %>%
  kable_classic("hover",full_width = F, html_font = "Cambria")
```

# Nedostaje svega pomalo

### Nedostaje svega pomalo: najviše 3 boda u sumi i najviše tri boda na kolokvijima

```{r}
fali_sve_pomalo %>% 
  kbl(caption = "**UKUPNO:** nedostaju bodovi. **KOLOKVIJI:** nedostaju bodovi.") %>%
  kable_classic("hover",full_width = F, html_font = "Cambria")
```

# Bez potpisa

### Studenti bez prava na potpis

```{r}
bez_potpisa %>% 
  kbl(caption = "Studenti bez prava na potpis") %>%
  kable_classic("hover",full_width = F, html_font = "Cambria")
```

