DmitrMakeev commited on
Commit
e0a4dec
·
verified ·
1 Parent(s): 0e07bbc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -20
app.py CHANGED
@@ -310,12 +310,7 @@ def plot_ph_week():
310
  try:
311
  # Получаем номер недели из параметров запроса
312
  week_number = request.args.get('week', default=1, type=int)
313
-
314
- # Ограничиваем диапазон недели от 1 до 30
315
- if week_number < 1:
316
- week_number = 1
317
- elif week_number > 30:
318
- week_number = 30
319
 
320
  # Подключаемся к базе данных
321
  conn = sqlite3.connect('system_data.db')
@@ -326,16 +321,21 @@ def plot_ph_week():
326
  table_exists = cursor.fetchone()
327
 
328
  if not table_exists:
 
329
  return render_template('plot_ph_week.html', data=None, week_number=week_number, table_exists=False)
330
 
331
  # Запрашиваем данные за выбранную неделю
332
- cursor.execute('''SELECT date_time, ph, ec, dey, onA, onB, onC, tS, tA, hDm, sVen
333
- FROM system_data WHERE wek = ? ORDER BY date_time''', (week_number,))
 
 
 
 
334
  rows = cursor.fetchall()
335
 
336
- # Закрываем соединение с базой
337
  conn.close()
338
 
 
339
  if not rows:
340
  return render_template('plot_ph_week.html', data=None, week_number=week_number, table_exists=True)
341
 
@@ -343,22 +343,25 @@ def plot_ph_week():
343
  data = {
344
  'week': week_number,
345
  'dates': [row[0] for row in rows],
346
- 'ph': [float(row[1]) for row in rows],
347
- 'ec': [float(row[2]) for row in rows],
348
- 'onA': [float(row[4]) for row in rows],
349
- 'onB': [float(row[5]) for row in rows],
350
- 'onC': [float(row[6]) for row in rows],
351
- 'tS': [float(row[7]) for row in rows], # Температура раствора
352
- 'tA': [float(row[8]) for row in rows], # Температура воздуха
353
- 'hDm': [float(row[9]) for row in rows], # Влажность воздуха
354
- 'sVen': [float(row[10]) for row in rows], # Обороты вентилятора
355
- 'days_of_week': [int(row[3]) for row in rows]
356
  }
357
 
 
358
  return render_template('plot_ph_week.html', data=data, week_number=week_number, table_exists=True)
359
 
360
  except Exception as e:
361
- return jsonify({'status': 'error', 'message': str(e)}), 500
 
 
362
 
363
 
364
 
 
310
  try:
311
  # Получаем номер недели из параметров запроса
312
  week_number = request.args.get('week', default=1, type=int)
313
+ week_number = max(1, min(30, week_number)) # Ограничиваем диапазон 1-30
 
 
 
 
 
314
 
315
  # Подключаемся к базе данных
316
  conn = sqlite3.connect('system_data.db')
 
321
  table_exists = cursor.fetchone()
322
 
323
  if not table_exists:
324
+ conn.close()
325
  return render_template('plot_ph_week.html', data=None, week_number=week_number, table_exists=False)
326
 
327
  # Запрашиваем данные за выбранную неделю
328
+ cursor.execute('''
329
+ SELECT date_time, dey, ph, ec, tS, tA, hDm, sVen, onA, onB, onC
330
+ FROM system_data
331
+ WHERE wek = ?
332
+ ORDER BY date_time
333
+ ''', (str(week_number),)) # Приводим week_number к строке, так как wek имеет тип TEXT
334
  rows = cursor.fetchall()
335
 
 
336
  conn.close()
337
 
338
+ # Если данных нет
339
  if not rows:
340
  return render_template('plot_ph_week.html', data=None, week_number=week_number, table_exists=True)
341
 
 
343
  data = {
344
  'week': week_number,
345
  'dates': [row[0] for row in rows],
346
+ 'days_of_week': [int(row[1]) if row[1] else 0 for row in rows], # Преобразуем dey в int
347
+ 'ph': [float(row[2]) if row[2] else 0.0 for row in rows], # pH
348
+ 'ec': [float(row[3]) if row[3] else 0.0 for row in rows], # EC
349
+ 'tS': [float(row[4]) if row[4] else 0.0 for row in rows], # Температура раствора
350
+ 'tA': [float(row[5]) if row[5] else 0.0 for row in rows], # Температура воздуха
351
+ 'hDm': [float(row[6]) if row[6] else 0.0 for row in rows], # Влажность воздуха
352
+ 'sVen': [float(row[7]) if row[7] else 0.0 for row in rows], # Обороты вентилятора
353
+ 'onA': [float(row[8]) if row[8] else 0.0 for row in rows], # Насос A
354
+ 'onB': [float(row[9]) if row[9] else 0.0 for row in rows], # Насос B
355
+ 'onC': [float(row[10]) if row[10] else 0.0 for row in rows] # Насос C
356
  }
357
 
358
+ # Отправляем данные в HTML-шаблон
359
  return render_template('plot_ph_week.html', data=data, week_number=week_number, table_exists=True)
360
 
361
  except Exception as e:
362
+ # Логируем ошибку в консоль для отладки
363
+ print(f"Ошибка: {str(e)}")
364
+ return render_template('plot_ph_week.html', data=None, week_number=week_number, table_exists=True, message=f"Ошибка: {str(e)}")
365
 
366
 
367