3 Commits

Author SHA1 Message Date
Danamir
72f1d53051 Resolve .gitignore merge conflict; consolidate ignore rules 2025-11-10 08:30:45 +03:00
Danamir
b1e0693131 fix run 2025-11-10 08:25:56 +03:00
Danamir
f108e013c2 fix branch 2025-08-04 10:23:40 +03:00
7 changed files with 175 additions and 18 deletions

20
.gitignore vendored
View File

@@ -1,11 +1,9 @@
*.csv .vscode
.vscode .idea
instance venv/
venv/ instance/
123 __pycache__/
*.csv migrations/
*.db *.csv
c*.txt *.db
migrations c*.txt
__pycache__
.idea

2
backend/__init__.py Normal file
View File

@@ -0,0 +1,2 @@
"""Backend package initializer."""

View File

@@ -1,5 +1,6 @@
# backend/main.py # backend/main.py
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.responses import RedirectResponse
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from backend.routers.equipment_types import equipment_types from backend.routers.equipment_types import equipment_types
@@ -28,10 +29,15 @@ def ping():
return {"message": "pong"} return {"message": "pong"}
@app.get("/")
def root():
return RedirectResponse(url="/docs")
# Подключение роутов # Подключение роутов
app.include_router(equipment_types) app.include_router(equipment_types)
app.include_router(auditories) app.include_router(auditories)
app.include_router(oboruds) app.include_router(oboruds)
app.include_router(components) app.include_router(components)
app.include_router(consumables) app.include_router(consumables)
app.include_router(zametki) app.include_router(zametki)

View File

@@ -3,11 +3,9 @@
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime from sqlalchemy import Column, Integer, String, ForeignKey, DateTime
from sqlalchemy.orm import relationship, declarative_base from sqlalchemy.orm import relationship, declarative_base
import datetime import datetime
from flask_sqlalchemy import SQLAlchemy
Base = declarative_base() Base = declarative_base()
db = SQLAlchemy()

View File

@@ -0,0 +1,2 @@
"""Routers package initializer."""

View File

@@ -1,4 +1,5 @@
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends, HTTPException
from typing import Optional
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from .. import models, schemas, database from .. import models, schemas, database
@@ -13,12 +14,15 @@ def create_oborud(item: schemas.OborudCreate, db: Session = Depends(database.get
return obj return obj
@oboruds.get("/", response_model=list[schemas.OborudRead]) @oboruds.get("/", response_model=list[schemas.OborudRead])
def list_oboruds(db: Session = Depends(database.get_db)): def list_oboruds(aud_id: Optional[int] = None, db: Session = Depends(database.get_db)):
return db.query(models.Oboruds).all() query = db.query(models.Oboruds)
if aud_id is not None:
query = query.filter(models.Oboruds.aud_id == aud_id)
return query.all()
@oboruds.get("/{oborud_id}", response_model=schemas.OborudRead) @oboruds.get("/{oborud_id}", response_model=schemas.OborudRead)
def get_oborud(oborud_id: int, db: Session = Depends(database.get_db)): def get_oborud(oborud_id: int, db: Session = Depends(database.get_db)):
obj = db.query(models.Oboruds).filter(models.Oboruds.id == oborud_id).first() obj = db.query(models.Oboruds).filter(models.Oboruds.id == oborud_id).first()
if not obj: if not obj:
raise HTTPException(status_code=404, detail="Oborud not found") raise HTTPException(status_code=404, detail="Oborud not found")
return obj return obj

147
templates/all_OLD.html Normal file
View File

@@ -0,0 +1,147 @@
{% extends 'base.html' %}
{% block content %}
<!-- Modal -->
<div class="modal fade" id="getmodal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-body" id="textarea">
<div class="row">
<a id="modal_invnom"> </a><a id="modal_matcenn"></a>
</div>
<div class="row">
№ из ведомости
<input type="text" class="form-control" id ='modal_vednumber' placeholder="Номер из ведомости">
</div>
<div class="row">
Количество
<input type="text" class="form-control" id ='modal_kolvo' placeholder="Количество">
</div>
<div class="row">
Балансовый счёт
<input type="text" class="form-control" id ='modal_balance' placeholder="Балансовый счёт">
</div>
<div class="row">
Расположение
<input type="text" class="form-control" id ='modal_rapolog' placeholder="Введите расположение">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" id="modalclose">Закрыть</button>
<button type="button" class="btn btn-primary" id="modalsavetodb" >Сохранить изменения</button>
</div>
</div>
</div>
</div>
</div>
<!-- Modal2 -->
<div class="modal fade" id="addmodal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-body" id="textarea">
<div class="row">
<a id="modal_invnom"> </a><a id="modal2_matcenn"></a>
</div>
<div class="row">
№ из ведомости
<input type="text" class="form-control" id ='modal2_vednumber' placeholder="Номер из ведомости">
<div class="row">
Инвентарный номер
<input type="text" class="form-control" id ='modal2_invnom' placeholder="Инвентарный номер">
</div>
</div>
<div class="row">
Название
<input type="text" class="form-control" id ='modal2_nazvanie' placeholder="Название">
</div>
<div class="row">
Количество
<input type="text" class="form-control" id ='modal2_kolvo' placeholder="Количество">
</div>
<div class="row">
Балансовый счёт
<input type="text" class="form-control" id ='modal2_balance' placeholder="Балансовый счёт">
</div>
<div class="row">
Расположение
<input type="text" class="form-control" id ='modal2_rapolog' placeholder="Введите расположение">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" id="modal2close">Закрыть</button>
<button type="button" class="btn btn-primary" id="modal2savetodb" >Сохранить изменения</button>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<h3 id ='123' class=" no-print"> Все мат. ценности </h3>
</div>
<div class="row col-12">
<button class="button" id="printallbutton"> Печать </button>
</div>
<div class="row col-12">
<button class="button" id="addoborud"> Добавить </button>
</div>
<div class="row">
<div class="card col-md-11 table-responsive">
<table id="alldatatable" class="alldatable table pagebreak" >
<thead>
<tr>
<th scope="col"><br>п/п <br>АСУ</th>
<th scope="col">№ п/п <br>вед</th>
<th scope="col">Инв. номер</th>
<th scope="col">Название</th>
<th scope="col">Кол-во</th>
<th scope="col">Счёт</th>
<th scope="col">Ауд - я</th>
<th scope="col">Расположение</th>
</tr>
</thead>
<tr>
</tr>
</table>
</div>
</div>
<script src="{{url_for('static', filename='js/allmatc.js') }}"></script>
{% endblock %}