Projekt

Obecné

Profil

« Předchozí | Další » 

Revize dc536499

Přidáno uživatelem Dominik Poch před téměř 6 roky(ů)

  • ID dc536499f46f6d3a515028490ab2810b28febf01
  • Rodič e4bc63c3

Re #7442 Basic database queries

Zobrazit rozdíly:

server/src/main/java/cz/zcu/yamanager/dto/AuthorizationRequest.java
29 29
        this.user.name = name;
30 30
    }
31 31

  
32
    public void setUserName(String firstName, String lastName) {
33
        UserName name = new UserName();
34
        name.setFirst(firstName);
35
        name.setLast(lastName);
36
        this.setUserName(name);
37
    }
38

  
32 39
    public LocalDateTime getDate() {
33 40
        return date;
34 41
    }
server/src/main/java/cz/zcu/yamanager/dto/BasicProfileUser.java
24 24
        this.name = name;
25 25
    }
26 26

  
27
    public void setName(String firstName, String lastName) {
28
        UserName name = new UserName();
29
        name.setFirst(firstName);
30
        name.setLast(lastName);
31
        this.setName(name);
32
    }
33

  
27 34
    public String getPhoto() {
28 35
        return photo;
29 36
    }
server/src/main/java/cz/zcu/yamanager/dto/DefaultSettings.java
14 14
        this.sickDay = sickDay;
15 15
    }
16 16

  
17
    public void setSickDay(short count, VacationUnit unit) {
18
        VacationInfo info = new VacationInfo();
19
        info.setValue(count);
20
        info.setUnit(unit);
21
        this.setSickDay(info);
22
    }
23

  
17 24
    public LocalDateTime getNotification() {
18 25
        return notification;
19 26
    }
server/src/main/java/cz/zcu/yamanager/dto/FullUserProfile.java
1 1
package cz.zcu.yamanager.dto;
2 2

  
3

  
3 4
import java.time.LocalDateTime;
4 5

  
5 6
public class FullUserProfile {
......
33 34
        this.name = name;
34 35
    }
35 36

  
37
    public void setName(String firstName, String lastName) {
38
        UserName name = new UserName();
39
        name.setFirst(firstName);
40
        name.setLast(lastName);
41
        this.setName(name);
42
    }
43

  
36 44
    public String getPhoto() {
37 45
        return photo;
38 46
    }
......
58 66
        this.vacation = vacation;
59 67
    }
60 68

  
69
    public void setVacation(float count, VacationUnit unit) {
70
        VacationInfo info = new VacationInfo();
71
        info.setValue(count);
72
        info.setUnit(unit);
73
        this.setVacation(info);
74
    }
75

  
61 76
    public VacationInfo getSickDay() {
62 77
        return sickDay;
63 78
    }
......
66 81
        this.sickDay = sickDay;
67 82
    }
68 83

  
84
    public void setSickDay(short count, VacationUnit unit) {
85
        VacationInfo info = new VacationInfo();
86
        info.setValue(count);
87
        info.setUnit(unit);
88
        this.setSickDay(info);
89
    }
90

  
69 91
    public UserStatus getStatus() {
70 92
        return status;
71 93
    }
server/src/main/java/cz/zcu/yamanager/repository/TestRepository.java
1 1
package cz.zcu.yamanager.repository;
2 2

  
3
import cz.zcu.yamanager.domain.Test;
3
import cz.zcu.yamanager.dto.*;
4 4
import org.slf4j.Logger;
5 5
import org.slf4j.LoggerFactory;
6 6
import org.springframework.beans.factory.annotation.Autowired;
7 7
import org.springframework.jdbc.core.JdbcTemplate;
8 8
import org.springframework.stereotype.Repository;
9 9

  
10
import java.sql.ResultSet;
11
import java.time.LocalDate;
10 12
import java.util.List;
11 13

  
12 14
@Repository
......
21 23
        this.jdbc = jdbc;
22 24
    }
23 25

  
24
    public List<Test> all() {
25
        return jdbc.query("SELECT id, message FROM test",
26
                (rs, rowNum) -> new Test(rs.getLong("id"), rs.getString("message")));
26
    public List<AuthorizationRequest> getAllUserRequests() {
27
        return jdbc.query("SELECT id, first_name, last_name FROM end_user", (ResultSet rs, int rowNum) -> {
28
            AuthorizationRequest request = new AuthorizationRequest();
29
            request.setId(rs.getLong("id"));
30
            request.setUserName(rs.getString("first_name"), rs.getString("last_name"));
31

  
32
            // No timestamp
33

  
34
            return request;
35
        });
36
    }
37

  
38
    public List<AuthorizationRequest> getAllPendingUserRequests() {
39
        return jdbc.query("SELECT id, first_name, last_name FROM end_user WHERE status_id=2", (ResultSet rs, int rowNum) -> {
40
            AuthorizationRequest request = new AuthorizationRequest();
41
            request.setId(rs.getLong("id"));
42
            request.setUserName(rs.getString("first_name"), rs.getString("last_name"));
43

  
44
            // No timestamp
45

  
46
            return request;
47
        });
48
    }
49

  
50
    public void updateApproval(BasicRequest request) {
51
        if (request.getType() == RequestType.AUTHORIZATION) {
52
            jdbc.update("UPDATE end_user SET status_id=? WHERE id=?", request.getStatus().ordinal(), request.getId());
53
        } else {
54
            jdbc.update("UPDATE vacation_day SET status_id=? WHERE id=?", request.getStatus().ordinal(), request.getId());
55
        }
56
    }
57

  
58
    public List<CalendarItem> getCalendarItems(long userId, LocalDate from, LocalDate to) {
59
        return jdbc.query("SELECT vacation_date, time_from, time_to, type_id, status_id FROM vacation_day WHERE user_id=? AND vacation_date >= ? AND vacation_date <= ?",
60
                new Object[]{userId, from, to}, (ResultSet rs, int rowNum) -> {
61
            CalendarItem item = new CalendarItem();
62
            item.setDate(rs.getDate("day.vacation_date").toLocalDate());
63
            item.setFrom(rs.getTime("day.time_from").toLocalTime());
64
            item.setTo(rs.getTime("day.time_to").toLocalTime());
65
            item.setType(VacationType.values()[rs.getByte("type_id")]);
66
            item.setStatus(RequestStatus.values()[rs.getByte("status_id")]);
67
            return item;
68
        });
69
    }
70

  
71
    /*public void insertCalendarItem(CalendarItem item) {
72
        jdbc.update("INSERT INTO vacation_day (vacation_date, time_from, time_to, user_id, status_id, type_id) VALUES (?,?,?,?,?,?)",
73
                item.getDate(), item.getFrom(), item.getTo(), item.getUserId(), item.getStatus().ordinal(), item.getType().ordinal());
74
    }
75

  
76
    public void updateCalendarItem(CalendarItem item) {
77
        jdbc.update("UPDATE vacation_day SET vacation_date=?, time_from=?, time_to=?, user_id=?, status_id=?, type_id=? WHERE id=?",
78
                item.getDate(), item.getFrom(), item.getTo(), item.getUserId(), item.getStatus().ordinal(), item.getType().ordinal(), item.getId());
79
    }*/
80

  
81
    public DefaultSettings getLastSettings() {
82
        return jdbc.queryForObject("SELECT * FROM default_settings ORDER BY id DESC LIMIT 1", (ResultSet rs, int rowNum) -> {
83
            DefaultSettings settings = new DefaultSettings();
84
            settings.setSickDay(rs.getShort("no_sick_days"), VacationUnit.DAY);
85
            settings.setNotification(rs.getTimestamp("alert").toLocalDateTime());
86
            return settings;
87
        });
88
    }
89

  
90
    public void insertSettings(DefaultSettings settings) {
91
        jdbc.update("INSERT INTO default_settings (no_sick_days, alert) VALUES (?, ?)", settings.getSickDay().getValue(), settings.getNotification());
92
    }
93

  
94
    public List<BasicProfileUser> getAllBasicUsers() {
95
        return jdbc.query("SELECT id, first_name, last_name, photo FROM end_user", (ResultSet rs, int rowNum) -> {
96
            BasicProfileUser user = new BasicProfileUser();
97
            user.setId(rs.getLong("id"));
98
            user.setName(rs.getString("first_name"), rs.getString("last_name"));
99
            user.setPhoto(rs.getString("photo"));
100
            return user;
101
        });
102
    }
103

  
104
    public FullUserProfile getFullUser(long id) {
105
        return jdbc.queryForObject("SELECT first_name, last_name, no_vacation, no_sick_days, alert, photo, role_id, status_id FROM end_user WHERE id=?",
106
                new Object[]{id}, (ResultSet rs, int rowNum) -> {
107
            FullUserProfile user = new FullUserProfile();
108
            user.setId(id);
109
            user.setName(rs.getString("first_name"), rs.getString("last_name"));
110
            user.setVacation(rs.getFloat("no_vacation"), VacationUnit.HOUR);
111
            user.setSickDay(rs.getShort("no_sick_days"), VacationUnit.DAY);
112
            user.setNotification(rs.getTimestamp("alert").toLocalDateTime());
113
            user.setPhoto(rs.getString("photo"));
114
            user.setRole(UserRole.values()[rs.getByte("role_id")]);
115
            user.setStatus(UserStatus.values()[rs.getByte("status_id")]);
116
            return user;
117
        });
118
    }
119

  
120
    public FullUserProfile getFullUser(String token) {
121
        return jdbc.queryForObject("SELECT id, first_name, last_name, no_vacation, no_sick_days, alert, photo, role_id, status_id FROM end_user WHERE token=?",
122
                new Object[]{token}, (ResultSet rs, int rowNum) -> {
123
            FullUserProfile user = new FullUserProfile();
124
            user.setId(rs.getLong("id"));
125
            user.setName(rs.getString("first_name"), rs.getString("last_name"));
126
            user.setVacation(rs.getFloat("no_vacation"), VacationUnit.HOUR);
127
            user.setSickDay(rs.getShort("no_sick_days"), VacationUnit.DAY);
128
            user.setNotification(rs.getTimestamp("alert").toLocalDateTime());
129
            user.setPhoto(rs.getString("photo"));
130
            user.setRole(UserRole.values()[rs.getByte("role_id")]);
131
            user.setStatus(UserStatus.values()[rs.getByte("status_id")]);
132
            return user;
133
        });
27 134
    }
28 135
}

Také k dispozici: Unified diff