#91 -- show assessments

This commit is contained in:
Anton Romanov 2023-04-24 16:09:12 +04:00
parent a4f4679f1e
commit 9cc721849c
2 changed files with 22 additions and 13 deletions

View File

@ -9,9 +9,11 @@ import ru.ulstu.extractor.rule.service.FuzzyInferenceService;
import ru.ulstu.extractor.ts.model.TimeSeries;
import ru.ulstu.extractor.ts.service.TimeSeriesService;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class AssessmentService {
@ -36,7 +38,10 @@ public class AssessmentService {
Map<String, Double> variableValues = new HashMap<>();
timeSeries.forEach(ts -> variableValues.put(ts.getTimeSeriesType().name(), timeSeriesService.getLastTimeSeriesTendency(ts)));
return fuzzyInferenceService.getFuzzyInference(dbRules,
antecedentValueService.getList(),
variableValues);
antecedentValueService.getList(),
variableValues)
.stream()
.sorted(Comparator.comparing(Assessment::getDegree).reversed())
.collect(Collectors.toList());
}
}

View File

@ -12,9 +12,9 @@
<div class="col-md-2 col-sm-12">
Репозиторий-ветка
</div>
<div class="col-md-6 col-sm-12">
<select id="select-branch" class="selectpicker" data-live-search="true" th:field="*{branchId}"
data-width="90%">
<div class="col-md-7 col-sm-12">
<select id="select-branch" class="selectpicker form-control" data-live-search="true"
th:field="*{branchId}">
<option value="">Все ветки</option>
<option th:each="branch : ${branches}"
th:value="${branch.id}"
@ -22,25 +22,29 @@
</option>
</select>
<script th:inline="javascript">
$('#select-branch').val([[ * {branchId}]
])
;
// @formatter:off
$('#select-branch').val([[*{branchId}]]);
$('#select-branch').selectpicker('refresh');
// @formatter:on
</script>
</div>
<div class="col-md-3 col-sm-12">
<input type="submit" class="btn btn-outline-success form-control" value="Применить фильтр"/>
</div>
<input type="submit" class="btn btn-outline-success w-100" value="Применить фильтр"/>
</div>
<div th:if="*{branchId == null}">Выбрерите ветку для получения оценки репозитория</div>
</form>
<div th:if="${assessments != null && #lists.size(assessments) > 0}">
<h5>Состояние репозитория по нескольким правилам описывается следующими выражениями:</h5>
<div th:each="assessment: ${assessments}">
<h5>Состояние репозитория описывается следующими выражениями:</h5>
<div th:each="assessment, itemStat: ${assessments}">
<span th:text="${itemStat.index+1} + '.' "></span>
<span th:text="${assessment.consequent}"></span>
вследствие тенденции '<span th:text="${assessment.firstAntecedentTendency}"></span>' показателя '<span
th:text="${assessment.firstAntecedent.description}"></span>'
и тенденции '<span th:text="${assessment.secondAntecedentTendency}"></span>' показателя '<span
th:text="${assessment.secondAntecedent.description}"></span>';
<span class="badge badge-warning" th:text="${assessment.degree}"></span>
<span class="badge badge-warning" th:text="${#numbers.formatDecimal(assessment.degree,1, 5)}"></span>
<hr/>
</div>
</div>
<div th:if="${assessments != null && #lists.size(assessments) == 0}">