Переделанный второй запрос
This commit is contained in:
@@ -40,18 +40,18 @@ def sklad_zapros():
|
||||
@check_auth
|
||||
def zagotovki_ship():
|
||||
if request.method == 'GET':
|
||||
zagotovki = route(session['db_config'], {}, sql_provider, 'zagotovki.sql')
|
||||
zagotovki = route(session['db_config'], {}, sql_provider, 'sellers.sql')
|
||||
if zagotovki.status:
|
||||
date_from = '2000-01-01'
|
||||
date_to = date.today().strftime('%Y-%m-%d')
|
||||
return render_template('zagotovki_ship.html', materials=zagotovki.result, date_from=date_from, date_to=date_to)
|
||||
min_year = '2000'
|
||||
max_year = str(date.today().year)
|
||||
return render_template('zagotovki_ship.html', sellers=zagotovki.result, year_from=min_year, year_to=max_year)
|
||||
else:
|
||||
return render_template('error.html', error_message=zagotovki.error_message)
|
||||
else:
|
||||
material = dict(request.form)
|
||||
zagotovki = route(session['db_config'], material, sql_provider, 'zapros2.sql')
|
||||
seller = dict(request.form)
|
||||
zagotovki = route(session['db_config'], seller, sql_provider, 'zapros2.sql')
|
||||
if zagotovki.status:
|
||||
header = f'Поставленные заготовки из материала \'{material["material"]}\''
|
||||
header = f'Заготовки, поставленные поставщиком \'{seller['seller']}\''
|
||||
return render_template('output.html', items=zagotovki.result, object=header)
|
||||
else:
|
||||
return render_template('error.html', error_message=zagotovki.error_message)
|
||||
3
App/Requests/sql/sellers.sql
Normal file
3
App/Requests/sql/sellers.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
SELECT name FROM sellers
|
||||
ORDER BY name
|
||||
LIMIT 100;
|
||||
@@ -1,11 +1,9 @@
|
||||
SELECT sellers.name AS 'Поставщик',
|
||||
w.date_of_delivery AS 'Дата поставки',
|
||||
SUM(wl.count) AS 'Общее количество заготовок',
|
||||
SUM(wl.price) AS 'Общая стоимость поставленных заготовок'
|
||||
SELECT w.date_of_delivery AS 'Дата поставки',
|
||||
SUM(w.sum) AS 'Общая сумма',
|
||||
SUM(wl.cnt) as 'Количество'
|
||||
FROM waybill w
|
||||
JOIN waybill_lines wl USING(waybill_id)
|
||||
JOIN workpiece USING(work_id)
|
||||
JOIN (SELECT waybill_id, SUM(count) AS cnt FROM waybill_lines wl GROUP BY waybill_id)wl USING (waybill_id)
|
||||
JOIN sellers USING(sel_id)
|
||||
WHERE workpiece.material = '${material}'
|
||||
AND (w.date_of_delivery BETWEEN '${date_from}' AND '${date_to}')
|
||||
GROUP BY sellers.name, w.date_of_delivery;
|
||||
WHERE sellers.name = '${seller}'
|
||||
AND YEAR(date_of_delivery) = '${date}'
|
||||
GROUP BY date_of_delivery
|
||||
@@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Поставки заготовок</title>
|
||||
<title>Поставки за год</title>
|
||||
<link href="/static/css/main.css" type="text/css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
@@ -10,21 +10,22 @@
|
||||
<a href="{{ url_for('logout') }}"><button>Выход</button></a>
|
||||
</div>
|
||||
<!-- Input -->
|
||||
<h1>Поставки заготовок</h1>
|
||||
<p>Выберите материал</p>
|
||||
<form action="" method="post">
|
||||
<select name="material">
|
||||
{% for item in materials %}
|
||||
<option value="{{ item['material'] }}">{{ item['material'] }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<p>Выберите даты:</p>
|
||||
<p>с <input type="date" name="date_from" required min={{ date_from }} max={{ date_to }} id="date_from"></p>
|
||||
<p>по <input type="date" name="date_to" required min={{ date_from }} max= {{ date_to }}" id="date_to"></p>
|
||||
<input type="submit" value="Отправить">
|
||||
</form>
|
||||
<div class="return">
|
||||
<a href="{{ url_for('requests_bp.requests') }}"><button>Обратно в меню запросов</button></a>
|
||||
<h1>Поставки за год</h1>
|
||||
<div class="form">
|
||||
<p>Выберите поставщика</p>
|
||||
<form action="" method="post">
|
||||
<select name="seller">
|
||||
{% for item in sellers %}
|
||||
<option value="{{ item['name'] }}">{{ item['name'] }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<p>Выберите год:</p>
|
||||
<p><input type="number" name="date" required min={{ year_from }} max={{ year_to }} value="2024"></p>
|
||||
<input type="submit" value="Отправить">
|
||||
</form>
|
||||
<div class="return">
|
||||
<a href="{{ url_for('requests_bp.requests') }}"><button>Обратно в меню запросов</button></a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[
|
||||
{"name": "Материалы заготовок", "url": "requests_bp.sklad_zapros", "roles" : "admin, user"},
|
||||
{"name": "Поставки заготовок", "url": "requests_bp.zagotovki_ship", "roles" : "admin, user"}
|
||||
{"name": "Поставки заготовок за год", "url": "requests_bp.zagotovki_ship", "roles" : "admin, user"}
|
||||
]
|
||||
Reference in New Issue
Block a user