aliAproved
This commit is contained in:
@@ -8,103 +8,91 @@ class BuilderAverage {
|
||||
var data = snapshot.data;
|
||||
|
||||
Map<String, Map> dic = {
|
||||
"page1":{},
|
||||
"page2": {
|
||||
"q1" : 0,
|
||||
"q2" : 0,
|
||||
"avg_q1": 0,
|
||||
"avg_q2": 0,
|
||||
"counter" : 0
|
||||
},
|
||||
"page3": {
|
||||
"q1" : 0,
|
||||
"q2" : 0,
|
||||
"avg_q1": 0,
|
||||
"avg_q2": 0,
|
||||
"counter" : 0
|
||||
}
|
||||
"page1": {},
|
||||
"page2": {"q1": 0, "q2": 0, "avg_q1": 0, "avg_q2": 0, "counter": 0},
|
||||
"page3": {"q1": 0, "q2": 0, "avg_q1": 0, "avg_q2": 0, "counter": 0}
|
||||
};
|
||||
|
||||
for (Map bewertung in data){
|
||||
for (Map bewertung in data) {
|
||||
for (var page in bewertung["ratings"].keys) {
|
||||
var tmp_dic = bewertung["ratings"][page];
|
||||
switch (page){
|
||||
switch (page) {
|
||||
case "page1":
|
||||
var curKey = tmp_dic["food"].split(": ")[1];
|
||||
if (!dic["page1"]!.containsKey(curKey)){
|
||||
if (!dic["page1"]!.containsKey(curKey)) {
|
||||
dic["page1"]![curKey] = {
|
||||
"q1" : 0,
|
||||
"q2" : 0,
|
||||
"q1": 0,
|
||||
"q2": 0,
|
||||
"avg_q1": 0,
|
||||
"avg_q2": 0,
|
||||
"counter" : 0
|
||||
"counter": 0
|
||||
};
|
||||
}
|
||||
dic["page1"]![curKey]["q1"] += tmp_dic["q1"];
|
||||
dic["page1"]![curKey]["q2"] += tmp_dic["q2"];
|
||||
dic["page1"]![curKey]["counter"] += tmp_dic["q1"] == 0 ? 0 : 1 ;
|
||||
dic["page1"]![curKey]["counter"] += tmp_dic["q1"] == 0 ? 0 : 1;
|
||||
break;
|
||||
|
||||
case "page2":
|
||||
dic["page2"]!["q1"] += tmp_dic["q1"];
|
||||
dic["page2"]!["q2"] += tmp_dic["q2"];
|
||||
dic["page2"]!["counter"] += tmp_dic["q1"] == 0 ? 0 : 1 ;
|
||||
dic["page2"]!["counter"] += tmp_dic["q1"] == 0 ? 0 : 1;
|
||||
break;
|
||||
|
||||
case "page3":
|
||||
dic["page3"]!["q1"] += tmp_dic["q1"];
|
||||
dic["page3"]!["q2"] += tmp_dic["q2"];
|
||||
dic["page3"]!["counter"] += tmp_dic["q1"] == 0 ? 0 : 1 ;
|
||||
dic["page3"]!["counter"] += tmp_dic["q1"] == 0 ? 0 : 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Map finalDic = {
|
||||
"Service": {"q1": 0, "q2": 0, "org": "page2"},
|
||||
"Essenswünsche": {"q1": 0, "q2": 0, "org": "page3"}
|
||||
};
|
||||
Map finalDic = {};
|
||||
|
||||
finalDic["Service"]!["q1"] = dic["page2"]!["q1"] ~/ dic["page2"]!["counter"];
|
||||
finalDic["Service"]!["q2"] = dic["page2"]!["q2"] ~/ dic["page2"]!["counter"];
|
||||
if (dic["page2"]!["q1"] != 0) {
|
||||
finalDic["Service"] = {"org": "page2", "q1": 0, "q2": 0};
|
||||
finalDic["Service"]!["q1"] = (dic["page2"]!["q1"] / dic["page2"]!["counter"]).round().toInt();
|
||||
finalDic["Service"]!["q2"] = (dic["page2"]!["q2"] / dic["page2"]!["counter"]).round().toInt();
|
||||
}
|
||||
|
||||
finalDic["Essenswünsche"]!["q1"] = dic["page3"]!["q1"] ~/ dic["page3"]!["counter"];
|
||||
finalDic["Essenswünsche"]!["q2"] = dic["page3"]!["q2"] ~/ dic["page3"]!["counter"];
|
||||
if (dic["page3"]!["q2"] != 0) {
|
||||
finalDic["Essenswünsche"] = {"org": "page3", "q1": 0, "q2": 0};
|
||||
finalDic["Essenswünsche"]!["q1"] = (dic["page3"]!["q1"] / dic["page3"]!["counter"]).round().toInt();
|
||||
finalDic["Essenswünsche"]!["q2"] = (dic["page3"]!["q2"] / dic["page3"]!["counter"]).round().toInt();
|
||||
}
|
||||
|
||||
for (var food in dic["page1"]!.keys) {
|
||||
var foodData = dic["page1"]![food];
|
||||
finalDic[food] = {"q1": 0, "q2": 0, "org": "page1"};
|
||||
finalDic[food]["q1"] = foodData["q1"] ~/ foodData["counter"];
|
||||
finalDic[food]?["q2"] = foodData["q2"] ~/ foodData["counter"];
|
||||
finalDic[food]["q1"] = (foodData["q1"] / foodData["counter"]).round().toInt();
|
||||
finalDic[food]?["q2"] = (foodData["q2"] / foodData["counter"]).round().toInt();
|
||||
}
|
||||
|
||||
|
||||
List<Widget> cards = [];
|
||||
|
||||
if (data == null) {
|
||||
return const Center();
|
||||
}
|
||||
|
||||
var i = 0;
|
||||
for (var title in finalDic.keys) {
|
||||
List<Widget> children = [];
|
||||
var rating = finalDic[title];
|
||||
|
||||
if (rating["q1"] != 0) {
|
||||
Widget card = RatingCard(
|
||||
rating1: rating["q1"],
|
||||
rating2: rating["q2"],
|
||||
text: "",
|
||||
title: title,
|
||||
rating1Title: ratingNames[rating["org"]]!["q1"]!,
|
||||
rating2Title: ratingNames[rating["org"]]!["q2"]!,
|
||||
);
|
||||
children.add(card);
|
||||
children.add(const SizedBox(
|
||||
width: 10,
|
||||
));
|
||||
}
|
||||
var rating = finalDic[title];
|
||||
|
||||
if (rating["q1"] != 0) {
|
||||
Widget card = RatingCard(
|
||||
rating1: rating["q1"],
|
||||
rating2: rating["q2"],
|
||||
text: "",
|
||||
title: title,
|
||||
rating1Title: ratingNames[rating["org"]]!["q1"]!,
|
||||
rating2Title: ratingNames[rating["org"]]!["q2"]!,
|
||||
);
|
||||
children.add(card);
|
||||
children.add(const SizedBox(
|
||||
width: 10,
|
||||
));
|
||||
}
|
||||
|
||||
cards.add(Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
@@ -138,7 +126,6 @@ class BuilderAverage {
|
||||
),
|
||||
],
|
||||
));
|
||||
i++;
|
||||
}
|
||||
|
||||
return Center(
|
||||
@@ -154,7 +141,8 @@ class BuilderAverage {
|
||||
Consumer<TimeProvider>(
|
||||
builder: (context, timeProvider, child) {
|
||||
// Dynamischer Text basierend auf TimeProvider
|
||||
String text = timeProvider.timeList[timeProvider.selectedTime]!;
|
||||
String text =
|
||||
timeProvider.timeList[timeProvider.selectedTime]!;
|
||||
return Text(
|
||||
text + " - Durchschnitt",
|
||||
style: const TextStyle(fontSize: 25),
|
||||
|
||||
Reference in New Issue
Block a user