#21 -- Fix
This commit is contained in:
parent
a22c180aa8
commit
633d5ad58f
@ -66,7 +66,7 @@ public class ReportController {
|
|||||||
|
|
||||||
@GetMapping("edit-report/{reportId}")
|
@GetMapping("edit-report/{reportId}")
|
||||||
public String editReportWithoutReportPeriod(@PathVariable("reportId") Integer reportId, Model model) {
|
public String editReportWithoutReportPeriod(@PathVariable("reportId") Integer reportId, Model model) {
|
||||||
List<Indicator> indicators = aspirantService.getCurrentAspirantIndicators();
|
List<Indicator> indicators = reportService.getIndicators(reportId);
|
||||||
model.addAttribute("report", new ReportDto(reportService.getReportById(reportId), indicators));
|
model.addAttribute("report", new ReportDto(reportService.getReportById(reportId), indicators));
|
||||||
return "report/editReport";
|
return "report/editReport";
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
|||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.data.repository.query.Param;
|
import org.springframework.data.repository.query.Param;
|
||||||
import ru.ulstu.aspirant.model.Aspirant;
|
import ru.ulstu.aspirant.model.Aspirant;
|
||||||
|
import ru.ulstu.indicator.model.Indicator;
|
||||||
import ru.ulstu.report.model.Report;
|
import ru.ulstu.report.model.Report;
|
||||||
import ru.ulstu.report.model.ReportPeriod;
|
import ru.ulstu.report.model.ReportPeriod;
|
||||||
import ru.ulstu.statistic.model.RatingItem;
|
import ru.ulstu.statistic.model.RatingItem;
|
||||||
@ -18,4 +19,7 @@ public interface ReportRepository extends JpaRepository<Report, Integer> {
|
|||||||
|
|
||||||
@Query("SELECT new ru.ulstu.statistic.model.RatingItem(r.aspirant, (SELECT cast(sum(rv.indicatorValue) AS Integer) FROM ReportValue rv WHERE rv MEMBER OF r.values)) FROM Report r JOIN r.reportPeriod rp WHERE rp.id = :reportPeriodId")
|
@Query("SELECT new ru.ulstu.statistic.model.RatingItem(r.aspirant, (SELECT cast(sum(rv.indicatorValue) AS Integer) FROM ReportValue rv WHERE rv MEMBER OF r.values)) FROM Report r JOIN r.reportPeriod rp WHERE rp.id = :reportPeriodId")
|
||||||
List<RatingItem> getRating(@Param("reportPeriodId") Integer reportPeriodId);
|
List<RatingItem> getRating(@Param("reportPeriodId") Integer reportPeriodId);
|
||||||
|
|
||||||
|
@Query("SELECT DISTINCT v.indicator FROM Report r JOIN r.values v WHERE r.id = :reportId")
|
||||||
|
List<Indicator> getIndicatorsById(@Param("reportId") Integer reportId);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package ru.ulstu.report.service;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ru.ulstu.aspirant.model.Aspirant;
|
import ru.ulstu.aspirant.model.Aspirant;
|
||||||
import ru.ulstu.aspirant.service.AspirantService;
|
import ru.ulstu.aspirant.service.AspirantService;
|
||||||
|
import ru.ulstu.indicator.model.Indicator;
|
||||||
import ru.ulstu.report.model.Report;
|
import ru.ulstu.report.model.Report;
|
||||||
import ru.ulstu.report.model.ReportPeriod;
|
import ru.ulstu.report.model.ReportPeriod;
|
||||||
import ru.ulstu.report.model.ReportValue;
|
import ru.ulstu.report.model.ReportValue;
|
||||||
@ -34,7 +35,7 @@ public class ReportService {
|
|||||||
|
|
||||||
public boolean canCreateReport(ReportPeriod reportPeriod) {
|
public boolean canCreateReport(ReportPeriod reportPeriod) {
|
||||||
Aspirant currentAspirant = aspirantService.getAspirantByUser(userService.getCurrentUser());
|
Aspirant currentAspirant = aspirantService.getAspirantByUser(userService.getCurrentUser());
|
||||||
return reportRepository.findByReportPeriodAndAspirant(reportPeriod, currentAspirant) == null;
|
return currentAspirant != null && reportRepository.findByReportPeriodAndAspirant(reportPeriod, currentAspirant) == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Report saveReport(ReportDto reportDto) {
|
public Report saveReport(ReportDto reportDto) {
|
||||||
@ -69,4 +70,8 @@ public class ReportService {
|
|||||||
report.getValues().add(reportValue);
|
report.getValues().add(reportValue);
|
||||||
reportRepository.save(report);
|
reportRepository.save(report);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Indicator> getIndicators(Integer reportId) {
|
||||||
|
return reportRepository.getIndicatorsById(reportId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user