DmitrMakeev commited on
Commit
89174bc
·
verified ·
1 Parent(s): e60a9c5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -34
app.py CHANGED
@@ -962,41 +962,16 @@ class NutrientCalculator:
962
  self._apply_fertilizer(fert_name, min(small_amount, 2.0)) # Не больше 2 г
963
 
964
  def generate_report(self):
965
- """Генерация отчета о питательном растворе"""
966
  try:
967
- actual_composition = Composition('Actual Profile', list(self.actual_profile.values()))
968
- report = actual_composition.table(sparse=True, ref=self.target_composition)
969
-
970
- # Добавляем анализ дефицита элементов и расчет количества удобрений
971
- deficit_report = "\n\nАнализ дефицита элементов и требуемых удобрений:\n"
972
- for nutrient in nutrients_stencil:
973
- actual_value = self.actual_profile[nutrient]
974
- target_value = self.target_profile[nutrient]
975
- deficit = target_value - actual_value
976
-
977
- if deficit > 0:
978
- # Если не хватает элемента, рассчитываем, сколько нужно добавить удобрений
979
- fertilizers_for_nutrient = []
980
- for fert_name, fert_composition in self.fertilizers.items():
981
- fert_content = fert_composition.vector[nutrients_stencil.index(nutrient)]
982
- if fert_content > 0: # Если удобрение содержит этот элемент
983
- required_grams = (deficit * self.volume) / (fert_content * 1000)
984
- fertilizers_for_nutrient.append((fert_name, required_grams))
985
-
986
- # Формируем строку с рекомендациями
987
- if fertilizers_for_nutrient:
988
- deficit_report += f" - Элемент {nutrient}: не хватает {deficit:.2f} ppm\n"
989
- for fert_name, grams in fertilizers_for_nutrient:
990
- deficit_report += f" - Добавьте {grams:.2f} г удобрения '{fert_name}'\n"
991
- else:
992
- deficit_report += f" - Элемент {nutrient}: не хватает {deficit:.2f} ppm, но подходящих удобрений нет.\n"
993
-
994
- elif deficit < 0:
995
- deficit_report += f" - Элемент {nutrient}: избыток {-deficit:.2f} ppm\n"
996
- else:
997
- deficit_report += f" - Элемент {nutrient}: точное совпадение\n"
998
-
999
- return report + deficit_report
1000
  except Exception as e:
1001
  print(f"Ошибка при выводе отчёта: {str(e)}")
1002
  raise
 
962
  self._apply_fertilizer(fert_name, min(small_amount, 2.0)) # Не больше 2 г
963
 
964
  def generate_report(self):
965
+ """Генерация отчета с фактическими данными"""
966
  try:
967
+ # Добавляем информацию о добавленных удобрениях
968
+ fertilizer_report = "Фактически добавленные удобрения (в граммах):\n"
969
+ for fert_name, data in self.results.items():
970
+ grams = data['граммы']
971
+ if grams > 0: # Выводим только те удобрения, которые были добавлены
972
+ fertilizer_report += f" - {fert_name}: {grams:.2f} г\n"
973
+
974
+ return fertilizer_report
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
975
  except Exception as e:
976
  print(f"Ошибка при выводе отчёта: {str(e)}")
977
  raise