Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -779,15 +779,22 @@ class NutrientCalculator:
|
|
| 779 |
"""Балансировка калия и серы"""
|
| 780 |
k_needed = self.target["K"] - self.actual["K"]
|
| 781 |
s_needed = self.target["S"] - self.actual["S"]
|
| 782 |
-
|
| 783 |
if k_needed > 0 and s_needed > 0:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 784 |
k_from_k2so4 = min(k_needed, s_needed * k_fraction / s_fraction)
|
| 785 |
self._apply_fertilizer("Калий сернокислый", "K", k_from_k2so4)
|
| 786 |
-
|
| 787 |
remaining_k = self.target["K"] - self.actual["K"]
|
| 788 |
if remaining_k > 0:
|
| 789 |
self._apply_fertilizer("Калий азотнокислый", "K", remaining_k)
|
| 790 |
-
|
| 791 |
def _distribute_calcium(self):
|
| 792 |
"""Распределение кальция между селитрой и хлоридом"""
|
| 793 |
ca_target = self.target["Ca"] # Общий кальций
|
|
|
|
| 779 |
"""Балансировка калия и серы"""
|
| 780 |
k_needed = self.target["K"] - self.actual["K"]
|
| 781 |
s_needed = self.target["S"] - self.actual["S"]
|
| 782 |
+
|
| 783 |
if k_needed > 0 and s_needed > 0:
|
| 784 |
+
# Берем динамические значения из fertilizerConstants
|
| 785 |
+
k_fraction = self.fertilizers["Калий сернокислый"].get("K", 0)
|
| 786 |
+
s_fraction = self.fertilizers["Калий сернокислый"].get("S", 0)
|
| 787 |
+
|
| 788 |
+
if k_fraction == 0 or s_fraction == 0:
|
| 789 |
+
print("ПРЕДУПРЕЖДЕНИЕ: Удобрение 'Калий сернокислый' содержит нулевые значения для K или S!")
|
| 790 |
+
return
|
| 791 |
+
|
| 792 |
k_from_k2so4 = min(k_needed, s_needed * k_fraction / s_fraction)
|
| 793 |
self._apply_fertilizer("Калий сернокислый", "K", k_from_k2so4)
|
| 794 |
+
|
| 795 |
remaining_k = self.target["K"] - self.actual["K"]
|
| 796 |
if remaining_k > 0:
|
| 797 |
self._apply_fertilizer("Калий азотнокислый", "K", remaining_k)
|
|
|
|
| 798 |
def _distribute_calcium(self):
|
| 799 |
"""Распределение кальция между селитрой и хлоридом"""
|
| 800 |
ca_target = self.target["Ca"] # Общий кальций
|