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