WIP: страницы для правил #62
@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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}">
|
||||||
|
Loading…
Reference in New Issue
Block a user