add sorting func
This commit is contained in:
74
app.py
74
app.py
@@ -9,12 +9,14 @@ import random
|
||||
from urllib.parse import unquote
|
||||
from flask_httpauth import HTTPBasicAuth
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
from openpyxl import load_workbook
|
||||
|
||||
import xlrd
|
||||
import xlwt
|
||||
import xlsxwriter
|
||||
from xlutils.copy import copy
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///project.db"
|
||||
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///PRODproject.db"
|
||||
app.jinja_env.auto_reload = True
|
||||
app.config['TEMPLATES_AUTO_RELOAD'] = True
|
||||
|
||||
@@ -25,13 +27,11 @@ db.init_app(app)
|
||||
migrate = Migrate(app, db)
|
||||
|
||||
|
||||
|
||||
@app.route("/login", methods=['GET', 'POST'])
|
||||
def login():
|
||||
return render_template('login.html')
|
||||
|
||||
|
||||
|
||||
@app.route("/", methods=['GET', 'POST'])
|
||||
def index():
|
||||
results = []
|
||||
@@ -155,8 +155,6 @@ def getall():
|
||||
'numberved': oboruds.numberved,
|
||||
'aud': aud.audnazvanie})
|
||||
|
||||
|
||||
|
||||
return jsonify(results)
|
||||
|
||||
|
||||
@@ -211,12 +209,10 @@ def zamsearch():
|
||||
@app.route('/addraspved', methods=['GET', 'POST'])
|
||||
def addraspved():
|
||||
if request.method == 'POST':
|
||||
|
||||
query_string = request.data.decode()
|
||||
|
||||
un_query_string = unquote(unquote(query_string)).split(',')
|
||||
|
||||
|
||||
ob = db.session.query(Oboruds).filter_by(invNumber=un_query_string[0]).first()
|
||||
|
||||
ob.numberved = un_query_string[1]
|
||||
@@ -224,18 +220,15 @@ def addraspved():
|
||||
ob.balancenumber = un_query_string[3]
|
||||
ob.raspologenie = un_query_string[4]
|
||||
|
||||
|
||||
db.session.commit()
|
||||
db.session.close()
|
||||
|
||||
|
||||
return jsonify({'success': True}, 200, {'ContentType': 'application/json'})
|
||||
|
||||
|
||||
@app.route('/addoborudasu', methods=['GET', 'POST'])
|
||||
def addoborud():
|
||||
if request.method == 'POST':
|
||||
|
||||
query_string = request.data.decode()
|
||||
|
||||
un_query_string = unquote(unquote(query_string)).split(',')
|
||||
@@ -251,17 +244,17 @@ def addoborud():
|
||||
|
||||
db.session.commit()
|
||||
|
||||
|
||||
return jsonify({'success': True}, 200, {'ContentType': 'application/json'})
|
||||
|
||||
|
||||
# ==================================================================================
|
||||
|
||||
|
||||
def ranomraspr():
|
||||
with app.app_context():
|
||||
while len(db.session.query(Oboruds).filter(Oboruds.aud_id == None).all()) > 0:
|
||||
while len(db.session.query(Oboruds).filter(Oboruds.aud_id is None).all()) > 0:
|
||||
audid = random.choice(db.session.query(Auditory).all())
|
||||
oborud = random.choice(db.session.query(Oboruds).filter(Oboruds.aud_id == None).all())
|
||||
oborud = random.choice(db.session.query(Oboruds).filter(Oboruds.aud_id is None).all())
|
||||
oborud.aud_id = audid.id
|
||||
db.session.commit()
|
||||
|
||||
@@ -308,32 +301,49 @@ def createdb():
|
||||
|
||||
db.session.commit()
|
||||
|
||||
def write2excell():
|
||||
wb = load_workbook("VedomostMOL.xlsx")
|
||||
sheet = wb.worksheets[0]
|
||||
|
||||
x=19314
|
||||
def write2excell():
|
||||
wb = xlrd.open_workbook("VedIsh.xls")
|
||||
sheet = wb.sheet_by_index(0)
|
||||
|
||||
newFile = copy(wb)
|
||||
newSheet = newFile.get_sheet(0)
|
||||
invNomerColum = 6
|
||||
|
||||
column_index = 1
|
||||
for row_idx in range(sheet.nrows):
|
||||
cell_value = sheet.cell(row_idx, column_index)
|
||||
|
||||
if cell_value:
|
||||
|
||||
tmp_inv_number = str(cell_value).split(':')[1]
|
||||
|
||||
try:
|
||||
a = tmp_inv_number[1:-1]
|
||||
|
||||
inv_number = int(tmp_inv_number[1:-1])
|
||||
|
||||
with app.app_context():
|
||||
joinQuery = db.session.query(Oboruds, Auditory).filter(
|
||||
Oboruds.aud_id == Auditory.id).filter(
|
||||
Oboruds.invNumber==x)
|
||||
|
||||
print(joinQuery.all())
|
||||
|
||||
|
||||
|
||||
for i in range(10):
|
||||
cell = 'B'+str(i+6)
|
||||
|
||||
auditory_obj = db.session.query(Auditory).join(Oboruds, Oboruds.aud_id == Auditory.id).filter(
|
||||
Oboruds.invNumber == inv_number).first()
|
||||
|
||||
print(auditory_obj.audnazvanie)
|
||||
|
||||
# cur.execute("SELECT aud.audnazvanie FROM oboruds AS ob JOIN auditory AS aud ON ob.aud_id = aud.id WHERE ob.invNumber = ?", (inv_number,))
|
||||
|
||||
|
||||
except:
|
||||
pass
|
||||
|
||||
"""
|
||||
else:
|
||||
#newSheet.write(row_idx, invNomerColum, "Нет инв номера")
|
||||
pass
|
||||
newFile.save("Ved31.xls")
|
||||
"""
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
#write2excell()
|
||||
#ranomraspr()
|
||||
#createdb()
|
||||
|
||||
app.run(debug=True, host='0.0.0.0', port='3800')
|
||||
|
||||
@@ -105,7 +105,6 @@ $('#modalclose').click(function(){
|
||||
let rasp = document.getElementById('modal_rapolog')
|
||||
|
||||
|
||||
|
||||
vednumber.value = '';
|
||||
kolvo.value = '';
|
||||
balancenumber.value = '';
|
||||
@@ -114,7 +113,6 @@ $('#modalclose').click(function(){
|
||||
$('#getmodal').modal('hide')
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
$('#modalsavetodb').click(function () {
|
||||
@@ -128,8 +126,6 @@ $('#modalsavetodb').click(function(){
|
||||
let nazv = document.getElementById('modal_nazvanie')
|
||||
|
||||
|
||||
|
||||
|
||||
let changeddata = new Array()
|
||||
|
||||
changeddata[0] = invnom.text;
|
||||
@@ -139,7 +135,6 @@ $('#modalsavetodb').click(function(){
|
||||
changeddata[4] = rasp.value;
|
||||
|
||||
|
||||
|
||||
let sendData = changeddata.join(',')
|
||||
console.log(sendData)
|
||||
|
||||
@@ -185,8 +180,6 @@ $('#modal2savetodb').click(function(){
|
||||
let nazv = document.getElementById('modal2_nazvanie')
|
||||
|
||||
|
||||
|
||||
|
||||
let changeddata = new Array()
|
||||
|
||||
changeddata[0] = invnomer.value;
|
||||
@@ -197,7 +190,6 @@ $('#modal2savetodb').click(function(){
|
||||
changeddata[5] = nazv.value;
|
||||
|
||||
|
||||
|
||||
let sendData = changeddata.join(',')
|
||||
console.log(sendData)
|
||||
|
||||
@@ -240,7 +232,6 @@ $('#modal2close').click(function(){
|
||||
let rasp = document.getElementById('modal2_rapolog')
|
||||
|
||||
|
||||
|
||||
vednumber.value = '';
|
||||
invnomer.value = '';
|
||||
nazvanie.value = '';
|
||||
@@ -252,9 +243,40 @@ $('#modal2close').click(function(){
|
||||
$('#addmodal').modal('hide')
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
$('#modal2').on('hidden.bs.modal', function () {
|
||||
location.reload();
|
||||
})
|
||||
|
||||
$(document).ready(function () {
|
||||
// Слушаем событие клика по заголовкам таблицы
|
||||
$('#alldatatable thead th').on('click', function () {
|
||||
var columnIndex = $(this).index(); // Индекс колонки
|
||||
var sortColumn = $(this).text().toLowerCase(); // Текст заголовка колонки
|
||||
|
||||
// Сортируем таблицу по выбранной колонке
|
||||
$('#alldatatable tbody tr').sort(function (a, b) {
|
||||
var valA;
|
||||
var valB;
|
||||
|
||||
if (isNaN(parseFloat($(a).find('td:eq(' + columnIndex + ')').text()))) {
|
||||
// если это текстовая колонка, то сортируем по алфавиту
|
||||
valA = $(a).find('td:eq(' + columnIndex + ')').text().toLowerCase();
|
||||
valB = $(b).find('td:eq(' + columnIndex + ')').text().toLowerCase();
|
||||
} else {
|
||||
// если это числовая колонка, то сортируем по числовому значению
|
||||
valA = parseFloat($(a).find('td:eq(' + columnIndex + ')').text());
|
||||
valB = parseFloat($(b).find('td:eq(' + columnIndex + ')').text());
|
||||
}
|
||||
|
||||
if (valA < valB) return -1;
|
||||
if (valA > valB) return 1;
|
||||
return 0;
|
||||
}).appendTo('#alldatatable tbody');
|
||||
|
||||
// Обновляем классы для активной колонки
|
||||
$('#alldatatable thead th').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user