1
|
package vldc.aswi.web.controller;
|
2
|
|
3
|
import org.springframework.beans.factory.annotation.Autowired;
|
4
|
import org.springframework.jdbc.core.JdbcTemplate;
|
5
|
import org.springframework.jdbc.core.RowMapper;
|
6
|
import org.springframework.stereotype.Controller;
|
7
|
import org.springframework.ui.ModelMap;
|
8
|
import org.springframework.web.bind.annotation.GetMapping;
|
9
|
import org.springframework.web.servlet.ModelAndView;
|
10
|
|
11
|
import javax.sql.DataSource;
|
12
|
import java.sql.*;
|
13
|
import java.util.ArrayList;
|
14
|
import java.util.List;
|
15
|
|
16
|
@Controller
|
17
|
public class IndexController {
|
18
|
|
19
|
@Autowired
|
20
|
protected DataSource dataSource;
|
21
|
|
22
|
@GetMapping("/")
|
23
|
public ModelAndView index() throws Exception {
|
24
|
ModelAndView modelAndView = new ModelAndView("index");
|
25
|
|
26
|
ModelMap modelMap = modelAndView.getModelMap();
|
27
|
|
28
|
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
|
29
|
|
30
|
String sql = "SELECT SP.fakulta_SP as fakulta_studia, " +
|
31
|
"SP.kodSP_i as program_studia, " +
|
32
|
"fn_meaning2(SP.typ,'TYP_OBORU') as typ_studia, " +
|
33
|
"fn_meaning2(SP.forma,'FORMA_OBORU_NEW') as forma_studia, " +
|
34
|
"decode(SP.vykazovan,'A',ST.vykazovan,'N') as vykazovan_na_SIMS, " +
|
35
|
"ST.os_cislo as studium, fn_meaning2(ST.stav,'STAV_STUDENTA') as stav_studia, " +
|
36
|
"OS.prijmeni || ' ' || OS.jmeno as osoba, trunc((sysdate - OS.datum_naroz) / 365) as vek, " +
|
37
|
"1 as pocet " +
|
38
|
"FROM studijni_programy SP, studenti ST, osoby OS " +
|
39
|
"WHERE SP.stpridno = ST.stpridno AND ST.osobidno = OS.osobidno AND ROWNUM <= 20";
|
40
|
|
41
|
String resultHeader = "fakulta_studia;typ_studia;forma_studia;vykazovan_na_SIMS;stav_studia;vek;pocet";
|
42
|
List<String> sqlResults = new ArrayList<String>();
|
43
|
sqlResults.add(resultHeader);
|
44
|
sqlResults.addAll(jdbcTemplate.query(
|
45
|
sql,
|
46
|
new RowMapper<String>() {
|
47
|
public String mapRow(ResultSet rs, int rowNum) throws SQLException {
|
48
|
String str =
|
49
|
rs.getString("fakulta_studia") +
|
50
|
";" +
|
51
|
rs.getString("typ_studia") +
|
52
|
";" +
|
53
|
rs.getString("forma_studia") +
|
54
|
";" +
|
55
|
rs.getString("vykazovan_na_SIMS") +
|
56
|
";" +
|
57
|
rs.getString("stav_studia") +
|
58
|
";" +
|
59
|
rs.getString("vek") +
|
60
|
";" +
|
61
|
rs.getString("pocet")
|
62
|
;
|
63
|
return str;
|
64
|
}
|
65
|
})
|
66
|
);
|
67
|
|
68
|
modelMap.addAttribute("message", "Hello World!");
|
69
|
modelMap.addAttribute("sqlResults", sqlResults);
|
70
|
|
71
|
return modelAndView;
|
72
|
}
|
73
|
|
74
|
}
|