diff --git a/App/Report/__init__.py b/App/Report/__init__.py index 682f139..74ffaad 100644 --- a/App/Report/__init__.py +++ b/App/Report/__init__.py @@ -24,14 +24,16 @@ def create(): title='Создание отчета', items = report_list) else: - data = dict(month=request.form.get('month'), year=request.form.get('year')) - id = request.form.get('category') - with open(path.join(path.dirname(__file__), f'access/{id}.json')) as f: + data = dict(id=request.form.get('category'), + month=request.form.get('month'), + year=request.form.get('year')) + + with open(path.join(path.dirname(__file__), f'access/{data['id']}.json')) as f: report_access = json.load(f) if session['role'] in report_access['write']: proc_name = report_access['procedure'] - ready_report = make_report(data, int(id),proc_name) + ready_report = make_report(data, proc_name) if ready_report.status: return render_template("OK.html") else: @@ -48,11 +50,11 @@ def view(): title='Просмотр отчета', items = report_list) else: - data = dict(month=request.form.get('month'), - year=request.form.get('year'), - id = request.form.get('category')) - id = request.form.get('category') - with open(path.join(path.dirname(__file__), f'access/{id}.json')) as f: + data = dict(id=request.form.get('category'), + month=request.form.get('month'), + year=request.form.get('year')) + + with open(path.join(path.dirname(__file__), f'access/{data['id']}.json')) as f: report_access = json.load(f) if session['role'] in report_access['read']: diff --git a/App/Report/report_model.py b/App/Report/report_model.py index d38310c..c875da2 100644 --- a/App/Report/report_model.py +++ b/App/Report/report_model.py @@ -33,14 +33,14 @@ def view_report(input_data: dict, view_script: str) -> InfoRespronse: status=False) return InfoRespronse(result, error_message='', status=True) -def make_report(input_data: dict, report_id: int, proc_name: str) -> InfoRespronse: +def make_report(input_data: dict, proc_name: str) -> InfoRespronse: status = check_report(input_data) if status: return InfoRespronse((), error_message = 'Отчет уже существует', status=False) - data = (report_id,*input_data.values()) + data = tuple(input_data.values()) result = procedure(current_app.config['db_config'], proc_name, data) if result is None: return InfoRespronse((), diff --git a/App/Report/sql/check_report.sql b/App/Report/sql/check_report.sql index 3c42460..7e6106a 100644 --- a/App/Report/sql/check_report.sql +++ b/App/Report/sql/check_report.sql @@ -1,4 +1,4 @@ SELECT EXISTS ( SELECT 1 FROM reports - WHERE month = $month AND year = $year + WHERE report_category_id = '$id' AND (month = '$month' AND year = '$year') ) AS exist; \ No newline at end of file diff --git a/App/Report/sql/sellers_report.sql b/App/Report/sql/sellers_report.sql new file mode 100644 index 0000000..b02253a --- /dev/null +++ b/App/Report/sql/sellers_report.sql @@ -0,0 +1,8 @@ +SELECT + s.name AS Поставщик, + SUM(reports.count) AS 'Количество поставок', + SUM(reports.sum) AS Сумма +FROM reports +JOIN sellers s ON reports.item_id = s.sel_id +WHERE report_category_id = '$id' AND (month = '$month' AND year = '$year') +GROUP BY s.name; \ No newline at end of file diff --git a/App/data/db_access.json b/App/data/db_access.json index a64f3e9..a6ba414 100644 --- a/App/data/db_access.json +++ b/App/data/db_access.json @@ -5,7 +5,8 @@ "Управляющий": [ "requests_bp", "report_bp"], + "Бухгалтер": [ + "report_bp"], "Поставщик": [ "waybill_bp"] - } \ No newline at end of file