Kaynağa Gözat

changes calculation

master
Daniel 2 yıl önce
ebeveyn
işleme
49d5548ebb
13 değiştirilmiş dosya ile 77 ekleme ve 143 silme
  1. BIN
      httpdocs/import/mpp_import_benchmark.xlsx
  2. BIN
      httpdocs/import/mpp_import_benchmark_works.xlsx
  3. BIN
      httpdocs/import/mpp_import_din.xlsx
  4. +18
    -18
      httpdocs/public/assets/js/mpp-tool.js
  5. +11
    -8
      httpdocs/public/assets/scss/components/_basic.scss
  6. +11
    -8
      httpdocs/public/assets/scss/styles.css
  7. +1
    -1
      httpdocs/public/assets/scss/styles.css.map
  8. +19
    -24
      httpdocs/src/Controller/UserController.php
  9. +12
    -9
      httpdocs/src/Service/CalculatorService.php
  10. +0
    -49
      httpdocs/templates/pages/catalogue.html.twig
  11. +0
    -16
      httpdocs/templates/pages/catalogue_finished.html.twig
  12. +3
    -8
      httpdocs/templates/pages/risk_analysis.html.twig
  13. +2
    -2
      httpdocs/templates/pages/start.html.twig

BIN
httpdocs/import/mpp_import_benchmark.xlsx Dosyayı Görüntüle


BIN
httpdocs/import/mpp_import_benchmark_works.xlsx Dosyayı Görüntüle


BIN
httpdocs/import/mpp_import_din.xlsx Dosyayı Görüntüle


+ 18
- 18
httpdocs/public/assets/js/mpp-tool.js Dosyayı Görüntüle

@@ -132,10 +132,6 @@ function loadDinAssetData() {
method: "get",
data: { assetId: $("#asset").val() },
success: function (data) {
$("#cycle").attr({
"min" : data.cycleMin,
"max" : data.cycleMax
}).val('');

$('#benchmark')
.find('option')
@@ -148,18 +144,12 @@ function loadDinAssetData() {
$('#benchmark').append('<option value="' + i + '">' + data.benchmarkValues[i] + '</option>');
}

if (Object.keys(data.benchmarkValues).length < 1) {
if (Object.keys(data.benchmarkValues).length <= 0) {
$('#no-benchmark-data').show();
$('#benchmark-data').hide();
$('#no-calculation').css('display', 'block');
$('#calculate-first').hide();
$('#worksheet-no-calculation').show();
$('#benchmark').prop( "disabled", true );
} else {
$('#no-benchmark-data').hide();
$('#benchmark-data').show();
$('#calculate-first').css('display', 'block');
$('#no-calculation').hide();
$('#worksheet-no-calculation').hide();
$('#benchmark').prop( "disabled", false );
}
},
error: function (xhr, msg, three) {
@@ -180,10 +170,20 @@ function onCalculate() {
success: function (data) {
$('#resInspection').text(data['recCycleInspection']);
$('#resMaintenance').text(data['recCycleMaintenance']);
$('#resPercentage').text((parseFloat(data['costDiffCurRecPercentage']) * 100) + " %");
let costDiff = data['costDiffCurCycleRecCycle'];
let roundedCostDiff = parseFloat(costDiff).toFixed(2);
$('#resEuro').text(roundedCostDiff.replace(/\./g, ",") + " €");

let percentage = "-";
if (data['costDiffCurRecPercentage'] !== null) {
percentage = (parseFloat(data['costDiffCurRecPercentage']) * 100) + " %";
}
$('#resPercentage').text(percentage);

let costDiff = "-";
if (data['costDiffCurCycleRecCycle'] !== null) {
costDiff = parseFloat(data['costDiffCurCycleRecCycle']).toFixed(2);
costDiff = costDiff.replace(/\./g, ",") + " €";
}
$('#resEuro').text(costDiff);

$("#result-box").addClass("result-existing");
$('html, body').animate({
scrollTop: $('#result-box').offset().top - 200
@@ -221,7 +221,7 @@ function onCreateWorksheet() {
}
});

$("#worksheet-no-calculation").on("click", function (e) {
$("#create-worksheet").on("click", function (e) {
e.preventDefault();
let result = window.confirm("Sie nutzen hiermit einen Ihrer Durchgänge.");
if (result) {


+ 11
- 8
httpdocs/public/assets/scss/components/_basic.scss Dosyayı Görüntüle

@@ -613,6 +613,9 @@ textarea:-ms-input-placeholder {

.result-existing {
display: none;
p {
padding: 1.25rem;
}
}

.result-not-existing {
@@ -631,12 +634,11 @@ textarea:-ms-input-placeholder {
}

ol.worksheets {
padding-left: 26px;

li {
padding-bottom: 10px;
list-style: decimal-leading-zero;

strong {
padding-right: 10px;
}
}

a {
@@ -759,7 +761,6 @@ ol.worksheets {
}
}
}
#no-calculation,
#calculate-first {
width: 100%;
padding-bottom: 20px;
@@ -767,8 +768,10 @@ ol.worksheets {

#no-benchmark-data,
#benchmark-data,
#no-calculation,
#calculate-first,
#worksheet-no-calculation {
#calculate-first {
display: block;
}

#create-worksheet {
display: none;
}

+ 11
- 8
httpdocs/public/assets/scss/styles.css Dosyayı Görüntüle

@@ -762,6 +762,9 @@ textarea:-ms-input-placeholder {
.result-box .result-existing {
display: none;
}
.result-box .result-existing p {
padding: 1.25rem;
}
.result-box .result-not-existing {
display: block;
}
@@ -772,12 +775,11 @@ textarea:-ms-input-placeholder {
display: none;
}

ol.worksheets {
padding-left: 26px;
}
ol.worksheets li {
padding-bottom: 10px;
list-style: decimal-leading-zero;
}
ol.worksheets li strong {
padding-right: 10px;
}
ol.worksheets a {
text-decoration: none;
@@ -879,7 +881,6 @@ ol.worksheets a:hover {
margin: 0 8px;
}

#no-calculation,
#calculate-first {
width: 100%;
padding-bottom: 20px;
@@ -887,9 +888,11 @@ ol.worksheets a:hover {

#no-benchmark-data,
#benchmark-data,
#no-calculation,
#calculate-first,
#worksheet-no-calculation {
#calculate-first {
display: block;
}

#create-worksheet {
display: none;
}



+ 1
- 1
httpdocs/public/assets/scss/styles.css.map Dosyayı Görüntüle

@@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["components/_reset.scss","_variables.scss","components/_basic.scss","_mixins.scss","components/_header.scss","components/_footer.scss","components/_listing.scss"],"names":[],"mappings":"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F;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AACA;EAHF;IAII;IACA;;;AAKF;EACE;;AAEA;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAOV;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OD3cY;EC4cZ;;AAEA;EACE;;AAGF;EACE,YD/cY;;ACkdd;EACE;;;AAIJ;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAIJ;EACE;;AACA;EAFF;IAGI;;;AAYN;EACE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EARF;IASI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAIA;EACE;;AAGF;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;;AAMJ;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAEF;EAPF;IAQI;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AAKF;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EAGE;;AAEF;EACE;;;AAKR;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AEpwBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,YHPY;;AGQZ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;IACA;;;AAEF;EATF;IAUI;IACA;;;AAEF;EAbF;IAcI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EANF;IAOI;IACA;;;AAEF;EACE;EACA;EACA;;AACA;EAJF;IAKI;IACA;;;AAGJ;EACE;;AAKJ;EADF;IAEI;;;AAIN;EACE;;AACA;EAFF;IAGI;;;AAGJ;EACE;;AClEJ;EACE;EACA,OJFY;;AIGZ;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AACA;EACE;;AAEF;EACE;;;AChBN;EACE;;;AAOA;EACE,YLIW;EKHX;EACA;;AACA;EACE,YLDS;;AKGX;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;;AACA;EAFF;IAGI;IACA;IACA;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOZ;EACE;;AAKF;EACE","file":"styles.css"}
{"version":3,"sourceRoot":"","sources":["components/_reset.scss","_variables.scss","components/_basic.scss","_mixins.scss","components/_header.scss","components/_footer.scss","components/_listing.scss"],"names":[],"mappings":"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F;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AACA;EAHF;IAII;IACA;;;AAKF;EACE;;AAEA;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAOV;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OD3cY;EC4cZ;;AAEA;EACE;;AAGF;EACE,YD/cY;;ACkdd;EACE;;;AAIJ;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAIJ;EACE;;AACA;EAFF;IAGI;;;AAYN;EACE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EARF;IASI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AACA;EACE;;AAIJ;EACE;;AAIA;EACE;;AAGF;EACE;;;AAMJ;EACE;;AACA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;;AAMJ;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAEF;EAPF;IAQI;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AAKF;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EAGE;;AAEF;EACE;;;AAKR;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;EACE;;;AEvwBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,YHPY;;AGQZ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;IACA;;;AAEF;EATF;IAUI;IACA;;;AAEF;EAbF;IAcI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EANF;IAOI;IACA;;;AAEF;EACE;EACA;EACA;;AACA;EAJF;IAKI;IACA;;;AAGJ;EACE;;AAKJ;EADF;IAEI;;;AAIN;EACE;;AACA;EAFF;IAGI;;;AAGJ;EACE;;AClEJ;EACE;EACA,OJFY;;AIGZ;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AACA;EACE;;AAEF;EACE;;;AChBN;EACE;;;AAOA;EACE,YLIW;EKHX;EACA;;AACA;EACE,YLDS;;AKGX;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;;AACA;EAFF;IAGI;IACA;IACA;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOZ;EACE;;AAKF;EACE","file":"styles.css"}

+ 19
- 24
httpdocs/src/Controller/UserController.php Dosyayı Görüntüle

@@ -101,8 +101,6 @@ class UserController extends AbstractController
}

$res = [];
$res['cycleMin'] = $dinAsset->getCycleMonthsMin();
$res['cycleMax'] = $dinAsset->getCycleMonthsMax();
$res['benchmarkValues'] = $dinAsset->getBenchMarkSelectValues();
return $this->json($res);
}
@@ -113,8 +111,12 @@ class UserController extends AbstractController
public function calculateRisk(Request $request, CalculatorService $calculatorService)
{
$params = $request->request->all();
$benchMark = $this->getDoctrine()->getRepository(DinAssetBenchmark::class)->find($params['benchmark']);
$res = $calculatorService->calculateRisk($benchMark, $params);
$asset = $this->getDoctrine()->getRepository(DinAsset::class)->find($params['asset']);
$benchMark = null;
if (array_key_exists('benchmark', $params)) {
$benchMark = $this->getDoctrine()->getRepository(DinAssetBenchmark::class)->find($params['benchmark']);
}
$res = $calculatorService->calculateRisk($params, $asset, $benchMark);
return $this->json($res);
}

@@ -139,30 +141,23 @@ class UserController extends AbstractController
}
$assetTasks = $asset->getTasks();

$failureProbability = null;
$failureDamage = null;
$maintenanceAdvantage = null;
$inspectionAdvantage = null;
$cycle = null;
$asset = $this->getDoctrine()->getRepository(DinAsset::class)->find($params['asset']);
$benchMark = null;
$bandwidth = null;
$recCycleMaintenance = null;
$recCycleInspection = null;
$costDiffCurRecPercentage = null;
$costDiffCurCycleRecCycle = null;
if (array_key_exists('benchmark', $params)) {
$benchMark = $em->getRepository(DinAssetBenchmark::class)->find($params['benchmark']);
$calculation = $calculatorService->calculateRisk($benchMark, $params);
$failureProbability = Utils::$riskFailure[$params['failure']][0];
$failureDamage = Utils::$riskCosts[$params['costs']][0];
$maintenanceAdvantage = $params['maintenance'];
$inspectionAdvantage = $params['inspection'];
$cycle = $params['cycle'];
$benchMark = $this->getDoctrine()->getRepository(DinAssetBenchmark::class)->find($params['benchmark']);
$bandwidth = $benchMark->getBandwidth();
$recCycleMaintenance = $calculation['recCycleMaintenance'];
$recCycleInspection = $calculation['recCycleInspection'];
$costDiffCurRecPercentage = $calculation['costDiffCurRecPercentage'];
$costDiffCurCycleRecCycle = $calculation['costDiffCurCycleRecCycle'];
}
$calculation = $calculatorService->calculateRisk($params, $asset, $benchMark);
$failureProbability = Utils::$riskFailure[$params['failure']][0];
$failureDamage = Utils::$riskCosts[$params['costs']][0];
$maintenanceAdvantage = $params['maintenance'];
$inspectionAdvantage = $params['inspection'];
$cycle = $params['cycle'];
$recCycleMaintenance = $calculation['recCycleMaintenance'];
$recCycleInspection = $calculation['recCycleInspection'];
$costDiffCurRecPercentage = $calculation['costDiffCurRecPercentage'];
$costDiffCurCycleRecCycle = $calculation['costDiffCurCycleRecCycle'];

$em->getConnection()->beginTransaction();
try {


+ 12
- 9
httpdocs/src/Service/CalculatorService.php Dosyayı Görüntüle

@@ -15,10 +15,8 @@ class CalculatorService
const KEY_COST_DIFF_CUR_REC_CYCLE = 'costDiffCurCycleRecCycle';
const KEY_COST_DIFF_CUR_REC_PERCENTAGE = 'costDiffCurRecPercentage';

public function calculateRisk(DinAssetBenchmark $benchmark, $params)
public function calculateRisk($params, DinAsset $asset, DinAssetBenchmark $benchmark = null)
{
/** @var DinAsset $asset */
$asset = $benchmark->getDinAsset();
$userCycle = $params['cycle'];

$pointsFailure = Utils::$riskFailure[$params['failure']][1];
@@ -36,8 +34,6 @@ class CalculatorService
$recCycleMaintenance = $asset->getCycleMonthsMin();
}
}
$costsCurrentPerYear = (12 / $userCycle) * $benchmark->getAverageCosts();
$costsRecPerYear = (12 / $recCycleMaintenance) * $benchmark->getAverageCosts();

$recCycleInspection = $asset->getCycleMonthsMax();
if ( ((int)$params['inspection']) === 1 ) {
@@ -46,13 +42,20 @@ class CalculatorService
$recCycleInspection = $asset->getCycleMonthsMin();
}
}
$costDiffCurCycleRecCycle = $costsCurrentPerYear - $costsRecPerYear;
$costDiffCurRecPercentage = 1 - ($userCycle / $recCycleMaintenance);

$costDiffCurCycleRecCycle = null;
$costDiffCurRecPercentage = null;
if ($benchmark !== null) {
$costsCurrentPerYear = (12 / $userCycle) * $benchmark->getAverageCosts();
$costsRecPerYear = (12 / $recCycleMaintenance) * $benchmark->getAverageCosts();
$costDiffCurRecPercentage = round(1 - ($userCycle / $recCycleMaintenance), 2);
$costDiffCurCycleRecCycle = $this->customRounding($costsCurrentPerYear - $costsRecPerYear);
}

$res[self::KEY_REC_CYCLE_MAINTENANCE] = $recCycleMaintenance;
$res[self::KEY_REC_CYCLE_INSPECTION] = $recCycleInspection;
$res[self::KEY_COST_DIFF_CUR_REC_PERCENTAGE] = round($costDiffCurRecPercentage, 2);
$res[self::KEY_COST_DIFF_CUR_REC_CYCLE] = $this->customRounding($costDiffCurCycleRecCycle);
$res[self::KEY_COST_DIFF_CUR_REC_PERCENTAGE] = $costDiffCurRecPercentage;
$res[self::KEY_COST_DIFF_CUR_REC_CYCLE] = $costDiffCurCycleRecCycle;
return $res;
}



+ 0
- 49
httpdocs/templates/pages/catalogue.html.twig Dosyayı Görüntüle

@@ -1,49 +0,0 @@
{% extends 'base.html.twig' %}

{% block title %}Fragenkatalog{% endblock %}

{% block body %}
<h1>Fragenkatalog</h1>
<p id="instruction">Bitte entscheiden Sie sich für eine Antwort und speichern Sie diese. Andernfalls gilt die Frage als nicht beantwortet. Sie können jederzeit von einer Frage zu einer anderen Frage und wieder zurück navigieren. Auch bereits gespeicherte Antworten können Sie später bei Bedarf noch einmal bearbeiten und erneut speichern, solange die Bearbeitung des Fragenkataloges noch nicht abgeschlossen wurde. Das Abschließen des Fragebogens ist nur möglich, wenn alle Fragen beantwortet wurden.</p>
<form method="post" class="form form--catalogue">
<div class="question-count">
<p>Frage: <span data-js="order-no">{{ catalogueDetail.orderNo }}</span>/{{ catalogue.numDetails }}</p>
<div class="progressbar" data-js="progressbar">
<div style="width: calc({{ catalogue.numAnswers }} / {{ catalogue.numDetails }} * 100%);"></div>
</div>
</div>
<div class="form--wrapper form--question">
<h3 data-js="question-type">Handlungsfeld: <span>{{ questionType.type }}</span></h3>
<h2 data-js="question-text">{{ question.questionText }}</h2>
</div>
<div class="form--wrapper form-wrapper--container">
<div class="form--wrapper form--checkbox">
<label for="inputAnswer1"><input type="radio" id="inputAnswer1" name="answer" value="irrelevant" {{ catalogueDetail.answer == 'irrelevant' ? 'checked' : '' }} />(A) Derzeit für meine Organisation nicht relevant</label>
<label for="inputAnswer2"><input type="radio" id="inputAnswer2" name="answer" value="not_fulfilled" {{ catalogueDetail.answer == 'not_fulfilled' ? 'checked' : '' }} />(B) Nicht erfüllt</label>
<label for="inputAnswer3"><input type="radio" id="inputAnswer3" name="answer" value="partly_fulfilled" {{ catalogueDetail.answer == 'partly_fulfilled' ? 'checked' : '' }} />(C) Teilweise erfüllt</label>
<label for="inputAnswer4"><input type="radio" id="inputAnswer4" name="answer" value="widely_fulfilled" {{ catalogueDetail.answer == 'widely_fulfilled' ? 'checked' : '' }} />(D) Weitgehend erfüllt</label>
<label for="inputAnswer5"><input type="radio" id="inputAnswer5" name="answer" value="fulfilled" {{ catalogueDetail.answer == 'fulfilled' ? 'checked' : '' }} />(E) Umfassend erfüllt</label>
</div>
<div class="form--wrapper left">
<label for="inputNote">Feststellung/Anmerkung</label>
<textarea cols="50" rows="5" id="inputNote" name="note" placeholder="Hier können Sie wichtige Feststellungen dokumentieren und wie Sie zu dieser Bewertung gekommen sind.">{{ catalogueDetail.note }}</textarea>
</div>
</div>
<div class="catalogue-nav">
<span>
<span class="btn btn--inverse" data-js="last-question" data-openquestion="yes">Letzte offene Frage</span>
<span class="btn" data-js="last-question" data-openquestion="no">Vorherige Frage</span>
</span>
<div class="save">
<span class="btn btn--correct" data-js="save-question">Antwort speichern</span>
</div>
<span>
<span class="btn" data-js="next-question" data-openquestion="no">Nächste Frage</span>
<span class="btn btn--inverse" data-js="next-question" data-openquestion="yes">Nächste offene Frage</span>
</span>
</div>
<div class="form--wrapper">
<button class="btn" {{ catalogue.numDetails != catalogue.numAnswers ? 'disabled' : ''}} data-js="finish-catalogue">Fragenkatalog abschließen</button>
</div>
</form>
{% endblock %}

+ 0
- 16
httpdocs/templates/pages/catalogue_finished.html.twig Dosyayı Görüntüle

@@ -1,16 +0,0 @@
{% extends 'base.html.twig' %}

{% block title %}Fragenkatalog{% endblock %}

{% block body %}
<h1>Abschluss Fragenkatalog</h1>
<p>
Herzlichen Glückwunsch, Sie haben soeben die Bearbeitung Ihres Fragenkatalogs zu MPPTool abgeschlossen. Die Auswertung Ihrer Antworten liegt als PDF-Download für Sie bereit.
</p>
<h2>"Ihr BIMScore"</h2>
<p>Hier erhalten Sie eine Zusammenfassung Ihrer Antworten zu den Fragen aus MPPTool und das Ergebnis der Auswertung als PDF-Dokument.</p>
<a href="{{ path('download') }}" class="btn">Ergebnis</a>
<br /><br />
<p>Sie können die Bearbeitung des Fragenkataloges noch {{ remainingCatalogues }}-mal durchführen. Dazu haben Sie noch {{ remainingDays }} Tage Zeit.</p>
<a href="{{ path('catalogue') }}" class="btn">Zum Fragenkatalog</a>
{% endblock %}

+ 3
- 8
httpdocs/templates/pages/risk_analysis.html.twig Dosyayı Görüntüle

@@ -73,11 +73,7 @@
<div class="col-box">
<div class="form-fields">
<label for="cycle">Aktueller Zyklus (in Monaten)</label>
{% if initialDinAsset is not null %}
<input name="cycle" type="number" id="cycle" value="" min="{{ initialDinAsset.cycleMonthsMin }}" max ="{{ initialDinAsset.cycleMonthsMax }}">
{% else %}
<input name="cycle" type="number" id="cycle" disabled>
{% endif %}
<input name="cycle" type="number" id="cycle" value="" min="1">
</div>
</div>
<div class="col-box">
@@ -98,9 +94,8 @@
<div class="result-box" id="result-box">
<h3>Ergebnis</h3>
<p class="result-not-existing">
<span id="no-calculation">Kein Potenzial ermittelbar!</span>
<span id="calculate-first">Bitte erst Potenzial ermitteln!</span>
<span class="btn" id="worksheet-no-calculation">Arbeitskarte erstellen</span>
<span class="btn" id="create-worksheet">Arbeitskarte erstellen</span>
</p>
<div class="result-existing">
<dl>
@@ -116,10 +111,10 @@
<dd id="resEuro"></dd>
</dl>
<span class="btn" id="worksheet">Arbeitskarte erstellen</span>
<p class="footnote">* Vergleichskosten sind nach BKI indiziert (März 2023)</p>
</div>
</div>
</div>
</div>
</form>
<p>* Vergleichskosten sind nach BKI indiziert (März 2023)</p>
{% endblock %}

+ 2
- 2
httpdocs/templates/pages/start.html.twig Dosyayı Görüntüle

@@ -25,9 +25,9 @@
{% if (worksheets | length > 0) %}
<h2>Ihre bisher abgeschlossenen Arbeitskarten:</h2>
<ol class="worksheets">
{% for worksheet in worksheets %}
{% for index, worksheet in worksheets %}
<li>
<a href="/worksheet/{{ worksheet.id }}">{{ worksheet.creationDate|date("d.m.Y H:i") }} | {{ worksheet.dinNumber }} - {{ worksheet.dinAssetName }}</a>
<strong>{{ "%02d"|format(index + 1) }}. </strong><a href="/worksheet/{{ worksheet.id }}">{{ worksheet.creationDate|date("d.m.Y H:i") }} | {{ worksheet.dinNumber }} - {{ worksheet.dinAssetName }}</a>
</li>
{% endfor %}
</ol>


Yükleniyor…
İptal
Kaydet