Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -789,35 +789,7 @@ class NutrientCalculator:
|
|
| 789 |
print(f"Ошибка при расчёте: {str(e)}")
|
| 790 |
raise
|
| 791 |
|
| 792 |
-
|
| 793 |
-
"""Основной метод расчета с новой логикой"""
|
| 794 |
-
try:
|
| 795 |
-
# 1. Вносим Mg и S
|
| 796 |
-
self._apply("Сульфат магния", "Mg", self.target_profile['Mg'])
|
| 797 |
-
|
| 798 |
-
# 2. Балансируем азот с учетом калия
|
| 799 |
-
self._balance_nitrogen_with_k()
|
| 800 |
-
|
| 801 |
-
# 3. Вносим Ca (остаток)
|
| 802 |
-
ca_needed = self.target_profile['Ca'] - self.actual_profile['Ca']
|
| 803 |
-
if ca_needed > 0.1:
|
| 804 |
-
self._apply("Кальциевая селитра", "Ca", ca_needed)
|
| 805 |
-
|
| 806 |
-
# 4. Вносим P
|
| 807 |
-
p_needed = self.target_profile['P'] - self.actual_profile['P']
|
| 808 |
-
if p_needed > 0.1:
|
| 809 |
-
self._apply("Монофосфат калия", "P", p_needed)
|
| 810 |
-
|
| 811 |
-
# 5. Корректируем K через сульфат калия (если остался дефицит)
|
| 812 |
-
k_needed = self.target_profile['K'] - self.actual_profile['K']
|
| 813 |
-
if k_needed > 0.1:
|
| 814 |
-
self._apply("Калий сернокислый", "K", k_needed)
|
| 815 |
-
|
| 816 |
-
return self.results
|
| 817 |
-
|
| 818 |
-
except Exception as e:
|
| 819 |
-
print(f"Ошибка при расчёте: {str(e)}")
|
| 820 |
-
raise
|
| 821 |
|
| 822 |
def _apply(self, fert_name, main_element, required_ppm):
|
| 823 |
if required_ppm <= 0:
|
|
|
|
| 789 |
print(f"Ошибка при расчёте: {str(e)}")
|
| 790 |
raise
|
| 791 |
|
| 792 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 793 |
|
| 794 |
def _apply(self, fert_name, main_element, required_ppm):
|
| 795 |
if required_ppm <= 0:
|