DmitrMakeev commited on
Commit
efcdc74
·
verified ·
1 Parent(s): 7a7932a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -0
app.py CHANGED
@@ -793,6 +793,9 @@ class NutrientCalculator:
793
  # Третий проход: компенсация второстепенных элементов
794
  self._compensate_secondary_elements()
795
 
 
 
 
796
  return self.results
797
  except Exception as e:
798
  print(f"Ошибка при расчёте: {str(e)}")
@@ -862,6 +865,14 @@ class NutrientCalculator:
862
  print(f"Ошибка: отсутствует элемент {str(e)} в удобрении {fert_name}")
863
  raise
864
 
 
 
 
 
 
 
 
 
865
  def calculate_ec(self):
866
  return round(self.total_ec, 2)
867
 
 
793
  # Третий проход: компенсация второстепенных элементов
794
  self._compensate_secondary_elements()
795
 
796
+ # Четвертый проход: корректировка перебора
797
+ self._adjust_overages()
798
+
799
  return self.results
800
  except Exception as e:
801
  print(f"Ошибка при расчёте: {str(e)}")
 
865
  print(f"Ошибка: отсутствует элемент {str(e)} в удобрении {fert_name}")
866
  raise
867
 
868
+ def _adjust_overages(self):
869
+ """Корректировка перебора элементов"""
870
+ for element in self.actual_profile:
871
+ if self.actual_profile[element] > self.target_profile[element]:
872
+ overage = self.actual_profile[element] - self.target_profile[element]
873
+ self.actual_profile[element] -= overage
874
+ print(f"Корректировка перебора: {element} уменьшен на {overage:.2f} ppm")
875
+
876
  def calculate_ec(self):
877
  return round(self.total_ec, 2)
878