DmitrMakeev commited on
Commit
a9b7097
·
verified ·
1 Parent(s): 41fd23b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -14
app.py CHANGED
@@ -950,26 +950,33 @@ def handle_calculation():
950
  # Инициализация калькулятора
951
  calculator = NutrientCalculator(volume_liters=float(data['profileSettings'].get('liters', 100)))
952
 
953
- # Настройка целевого профиля
954
- calculator.target_profile = {
955
- 'P': float(data['profileSettings'].get('P', 31.0)),
956
- 'K': float(data['profileSettings'].get('K', 210.0)),
957
- 'Mg': float(data['profileSettings'].get('Mg', 24.0)),
958
- 'Ca': float(data['profileSettings'].get('Ca', 84.0)),
959
- 'S': float(data['profileSettings'].get('S', 56.439)),
960
- 'N (NO3-)': 0.0,
961
- 'N (NH4+)': 0.0
962
  }
963
 
964
- # Извлечение значений для азотов
 
 
 
 
 
965
  total_n = float(data['profileSettings'].get('TOTAL_NITROG', 125.0))
966
  no3_ratio = float(data['profileSettings'].get('NO3_RAT', 8.35)) # Берем значение из запроса
967
  nh4_ratio = 1.0 # Фиксированное значение для NH4
968
 
969
- # Расчет соотношения азотов
970
  total_parts = no3_ratio + nh4_ratio
971
- calculator.target_profile['N (NO3-)'] = total_n * (no3_ratio / total_parts)
972
- calculator.target_profile['N (NH4+)'] = total_n * (nh4_ratio / total_parts)
 
 
 
973
 
974
  # Установка констант удобрений из запроса
975
  calculator.fertilizers = data['fertilizerConstants']
@@ -1013,7 +1020,6 @@ def handle_calculation():
1013
 
1014
 
1015
 
1016
-
1017
 
1018
 
1019
  if __name__ == '__main__':
 
950
  # Инициализация калькулятора
951
  calculator = NutrientCalculator(volume_liters=float(data['profileSettings'].get('liters', 100)))
952
 
953
+ # Базовый профиль (начальные значения)
954
+ BASE_PROFILE = {
955
+ "P": 50, # Фосфор
956
+ "K": 300, # Калий
957
+ "Mg": 120, # Магний
958
+ "Ca": 150, # Кальций
959
+ "S": 100, # Сера
960
+ "N (NO3-)": 0, # Рассчитывается автоматически
961
+ "N (NH4+)": 0 # Рассчитывается автоматически
962
  }
963
 
964
+ # Обновление базового профиля данными из запроса
965
+ for element in BASE_PROFILE:
966
+ if element in data['profileSettings']:
967
+ BASE_PROFILE[element] = float(data['profileSettings'][element])
968
+
969
+ # Расчет соотношения азотов
970
  total_n = float(data['profileSettings'].get('TOTAL_NITROG', 125.0))
971
  no3_ratio = float(data['profileSettings'].get('NO3_RAT', 8.35)) # Берем значение из запроса
972
  nh4_ratio = 1.0 # Фиксированное значение для NH4
973
 
 
974
  total_parts = no3_ratio + nh4_ratio
975
+ BASE_PROFILE['N (NO3-)'] = total_n * (no3_ratio / total_parts)
976
+ BASE_PROFILE['N (NH4+)'] = total_n * (nh4_ratio / total_parts)
977
+
978
+ # Настройка целевого профиля
979
+ calculator.target_profile = BASE_PROFILE
980
 
981
  # Установка констант удобрений из запроса
982
  calculator.fertilizers = data['fertilizerConstants']
 
1020
 
1021
 
1022
 
 
1023
 
1024
 
1025
  if __name__ == '__main__':