#42 this don't work
parent
f7d766f02d
commit
bd3513118c
@ -0,0 +1,54 @@
|
|||||||
|
package ru.ulstu.grant.model;
|
||||||
|
|
||||||
|
import ru.ulstu.user.model.UserDto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class GrantUserFilterDto {
|
||||||
|
private List<UserDto> users;
|
||||||
|
private boolean leader;
|
||||||
|
private boolean birthDate;
|
||||||
|
private boolean degree;
|
||||||
|
|
||||||
|
public GrantUserFilterDto() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public GrantUserFilterDto(List<UserDto> users, boolean leader, boolean birthDate, boolean degree) {
|
||||||
|
this.users = users;
|
||||||
|
this.leader = leader;
|
||||||
|
this.birthDate = birthDate;
|
||||||
|
this.degree = degree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<UserDto> getUsers() {
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsers(List<UserDto> users) {
|
||||||
|
this.users = users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isLeader() {
|
||||||
|
return leader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLeader(boolean leader) {
|
||||||
|
this.leader = leader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isBirthDate() {
|
||||||
|
return birthDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBirthDate(boolean birthDate) {
|
||||||
|
this.birthDate = birthDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDegree() {
|
||||||
|
return degree;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDegree(boolean degree) {
|
||||||
|
this.degree = degree;
|
||||||
|
}
|
||||||
|
}
|
@ -1,8 +1,29 @@
|
|||||||
package ru.ulstu.grant.repository;
|
package ru.ulstu.grant.repository;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
import org.springframework.data.repository.query.Param;
|
||||||
import ru.ulstu.grant.model.Grant;
|
import ru.ulstu.grant.model.Grant;
|
||||||
|
import ru.ulstu.user.model.User;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface GrantRepository extends JpaRepository<Grant, Integer> {
|
public interface GrantRepository extends JpaRepository<Grant, Integer> {
|
||||||
|
// @Query(value = "SELECT u.last_name " +
|
||||||
|
// "FROM users u, grants g " +
|
||||||
|
// "WHERE (g.leader_id = u.id) " +
|
||||||
|
// "AND (u.birth_date < 35) " +
|
||||||
|
// "AND (u.degree = 'CANDIDATE')" +
|
||||||
|
// "Group by u.last_name",
|
||||||
|
// nativeQuery = true)
|
||||||
|
// List<User> filter(@Param("leader") Integer leader, @Param("birthYear") Date birthYear, @Param("degree") String degree);
|
||||||
|
|
||||||
|
@Query("SELECT u.lastName FROM User u, Grant g WHERE (g.leader = u.id OR :leader IS FALSE) " +
|
||||||
|
"AND (extract(year from interval (age(birth_date::date))) < 35 OR :birthDate IS FALSE) " +
|
||||||
|
"AND (u.degree = 'CANDIDATE' OR :degree IS FALSE)" +
|
||||||
|
"GROUP BY u.lastName")
|
||||||
|
List<User> filterUsers(@Param("leader") boolean leader,
|
||||||
|
@Param("birthDate") boolean birthDate,
|
||||||
|
@Param("degree") boolean degree);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue