DmitrMakeev commited on
Commit
e193284
·
verified ·
1 Parent(s): ed4919c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -13
app.py CHANGED
@@ -752,9 +752,16 @@ class NutrientCalculator:
752
  # 3. Кальций с контролем NO3
753
  remaining_no3 = max(self.target['NO3'] - self.actual['NO3'], 0)
754
  if remaining_no3 > 0.1:
 
 
 
 
 
 
 
755
  self._apply_fertilizer("Кальциевая селитра", "Ca")
756
 
757
- # 4. Калий с минимальным NO3
758
  k_deficit = self.target['K'] - self.actual['K']
759
  if k_deficit > 0.1:
760
  if self.actual['NO3'] < self.target['NO3']:
@@ -762,7 +769,7 @@ class NutrientCalculator:
762
  else:
763
  self._apply_fertilizer("Калий сернокислый", "K")
764
 
765
- # 5. Сера
766
  s_deficit = self.target['S'] - self.actual['S']
767
  if s_deficit > 0.1:
768
  self._apply_fertilizer("Калий сернокислый", "S")
@@ -786,16 +793,7 @@ class NutrientCalculator:
786
  if content <= 0:
787
  return
788
 
789
- # Корректировка для NO3
790
- if 'NO3' in self.fertilizers[name]:
791
- no3_limit = max(self.target['NO3'] - self.actual['NO3'], 0)
792
- if no3_limit <= 0:
793
- return
794
- max_grams = (no3_limit * self.volume) / (self.fertilizers[name]['NO3'] * 1000)
795
- required_grams = (required_ppm * self.volume) / (content * 1000)
796
- grams = min(required_grams, max_grams)
797
- else:
798
- grams = (required_ppm * self.volume) / (content * 1000)
799
 
800
  # Инициализация записи
801
  if name not in self.results:
@@ -904,6 +902,5 @@ def handle_calculation():
904
 
905
 
906
 
907
-
908
  if __name__ == '__main__':
909
  app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))
 
752
  # 3. Кальций с контролем NO3
753
  remaining_no3 = max(self.target['NO3'] - self.actual['NO3'], 0)
754
  if remaining_no3 > 0.1:
755
+ self._apply_fertilizer("Кальциевая селитра", "Ca",
756
+ min(self.target['Ca'] - self.actual['Ca'],
757
+ remaining_no3 / 0.11863 * 0.16972))
758
+
759
+ # 4. Довносим кальций если остался дефицит
760
+ ca_deficit = self.target['Ca'] - self.actual['Ca']
761
+ if ca_deficit > 0.1:
762
  self._apply_fertilizer("Кальциевая селитра", "Ca")
763
 
764
+ # 5. Калий с минимальным NO3
765
  k_deficit = self.target['K'] - self.actual['K']
766
  if k_deficit > 0.1:
767
  if self.actual['NO3'] < self.target['NO3']:
 
769
  else:
770
  self._apply_fertilizer("Калий сернокислый", "K")
771
 
772
+ # 6. Сера
773
  s_deficit = self.target['S'] - self.actual['S']
774
  if s_deficit > 0.1:
775
  self._apply_fertilizer("Калий сернокислый", "S")
 
793
  if content <= 0:
794
  return
795
 
796
+ grams = (required_ppm * self.volume) / (content * 1000)
 
 
 
 
 
 
 
 
 
797
 
798
  # Инициализация записи
799
  if name not in self.results:
 
902
 
903
 
904
 
 
905
  if __name__ == '__main__':
906
  app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))