WIP: страницы для правил #62

Closed
Ghost wants to merge 132 commits from master into 61-rules-pages
2 changed files with 22 additions and 13 deletions
Showing only changes of commit 9cc721849c - Show all commits

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.model.TimeSeries;
import ru.ulstu.extractor.ts.service.TimeSeriesService; import ru.ulstu.extractor.ts.service.TimeSeriesService;
import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
@Service @Service
public class AssessmentService { public class AssessmentService {
@ -37,6 +39,9 @@ public class AssessmentService {
timeSeries.forEach(ts -> variableValues.put(ts.getTimeSeriesType().name(), timeSeriesService.getLastTimeSeriesTendency(ts))); timeSeries.forEach(ts -> variableValues.put(ts.getTimeSeriesType().name(), timeSeriesService.getLastTimeSeriesTendency(ts)));
return fuzzyInferenceService.getFuzzyInference(dbRules, return fuzzyInferenceService.getFuzzyInference(dbRules,
antecedentValueService.getList(), antecedentValueService.getList(),
variableValues); 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 class="col-md-2 col-sm-12">
Репозиторий-ветка Репозиторий-ветка
</div> </div>
<div class="col-md-6 col-sm-12"> <div class="col-md-7 col-sm-12">
<select id="select-branch" class="selectpicker" data-live-search="true" th:field="*{branchId}" <select id="select-branch" class="selectpicker form-control" data-live-search="true"
data-width="90%"> th:field="*{branchId}">
<option value="">Все ветки</option> <option value="">Все ветки</option>
<option th:each="branch : ${branches}" <option th:each="branch : ${branches}"
th:value="${branch.id}" th:value="${branch.id}"
@ -22,25 +22,29 @@
</option> </option>
</select> </select>
<script th:inline="javascript"> <script th:inline="javascript">
$('#select-branch').val([[ * {branchId}] // @formatter:off
]) $('#select-branch').val([[*{branchId}]]);
;
$('#select-branch').selectpicker('refresh'); $('#select-branch').selectpicker('refresh');
// @formatter:on
</script> </script>
</div>
<div class="col-md-3 col-sm-12">
<input type="submit" class="btn btn-outline-success form-control" value="Применить фильтр"/>
</div> </div>
<input type="submit" class="btn btn-outline-success w-100" value="Применить фильтр"/>
</div> </div>
<div th:if="*{branchId == null}">Выбрерите ветку для получения оценки репозитория</div>
</form> </form>
<div th:if="${assessments != null && #lists.size(assessments) > 0}"> <div th:if="${assessments != null && #lists.size(assessments) > 0}">
<h5>Состояние репозитория по нескольким правилам описывается следующими выражениями:</h5> <h5>Состояние репозитория описывается следующими выражениями:</h5>
<div th:each="assessment: ${assessments}"> <div th:each="assessment, itemStat: ${assessments}">
<span th:text="${itemStat.index+1} + '.' "></span>
<span th:text="${assessment.consequent}"></span> <span th:text="${assessment.consequent}"></span>
вследствие тенденции '<span th:text="${assessment.firstAntecedentTendency}"></span>' показателя '<span вследствие тенденции '<span th:text="${assessment.firstAntecedentTendency}"></span>' показателя '<span
th:text="${assessment.firstAntecedent.description}"></span>' th:text="${assessment.firstAntecedent.description}"></span>'
и тенденции '<span th:text="${assessment.secondAntecedentTendency}"></span>' показателя '<span и тенденции '<span th:text="${assessment.secondAntecedentTendency}"></span>' показателя '<span
th:text="${assessment.secondAntecedent.description}"></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> </div>
<div th:if="${assessments != null && #lists.size(assessments) == 0}"> <div th:if="${assessments != null && #lists.size(assessments) == 0}">