Exemple #1
0
def stock():
    for item in current_user.get_added():
        db.session.delete(item)
        current_user.added.remove(item)
        db.session.commit()
    stock_db = list(set(db.session.query(Stock.component_id).all()))
    stock = []
    print(stock_db)
    for item in stock_db:
        stock.append(Stock.query.filter(Stock.component_id == item[0]).first())
    print(stock)
    form = SpecificationForm()
    if request.method == 'POST':
        if form.count.data is None:
            flash('Используйте "." вместо ","')
            return redirect(url_for('stock', form=form, stock=stock))
        document = Document(datetime.today().strftime("%Y/%m/%d %H:%M"),
                            current_user.id, form.document_type.data,
                            form.text.data)
        db.session.add(document)
        db.session.commit()
        last_count = Stock.query.filter(
            Stock.component_id == form.id.data).first().get_count()
        stock = Stock(document.id, form.id.data, form.count.data)
        db.session.add(stock)
        db.session.commit()
        if form.document_type.data == 'Приход':
            flash('Приход {} на склад'.format(stock.get_name()), 'message')
        elif form.document_type.data == 'Расход':
            if stock.get_count() != 0 and stock.get_count() == last_count:
                flash(
                    'Расход детали {} со склада невозможен. Недостаточно деталей'
                    .format(stock.get_name()), 'message')
            else:
                flash('Расход детали {} со склада'.format(stock.get_name()),
                      'message')
        else:
            flash('Деталь {} списана'.format(stock.get_name()), 'message')
        return redirect(url_for('stock', form=form, stock=stock))
    return render_template('stock.html', form=form, stock=stock)
Exemple #2
0
def stock_adding(doc_type, doc):
    all_stock = Stock.query.all()
    today = datetime.today()
    form = SpecificationForm()
    form1 = DocumentForm()
    modal_component = ModalComponent.query.first()
    last_stocked = Stock.query.first()
    added = current_user.added
    components = Component.query.order_by(Component.component_name).all()
    document = Document(' ', current_user.id, doc_type, ' ')
    if doc != 'False':
        document = Document.query.filter(Document.id == doc).first()
    db.session.add(document)
    db.session.commit()
    stock_db = list(set(db.session.query(Stock.component_id).all()))
    stock = []
    for item in stock_db:
        stock.append(Stock.query.filter(Stock.component_id == item[0]).first())

    if request.method == 'POST':
        if form.id.data == 'comment':
            for item in current_user.get_added():
                item.get_document().date = today.strftime("%Y/%m/%d %H:%M")
                item.get_document().comment = form1.text.data
                db.session.commit()
                current_user.added.remove(item)
                db.session.commit()
            flash('Склад обновлён', 'message')
        else:
            if form.count.data is None:
                flash('Используйте "." вместо ","')
                return redirect(
                    url_for('stock_adding',
                            doc=doc,
                            doc_type=doc_type,
                            stock=stock,
                            form1=form1,
                            added=added,
                            last_stocked=last_stocked,
                            form=form,
                            component=components,
                            modal_component=modal_component))
            print(document.id)
            stock = Stock(document.id, form.id.data, form.count.data)

            db.session.add(stock)
            db.session.commit()
            current_user.append_stock(stock.id)
            flash('Деталь {} добавлена в список'.format(stock.get_name()),
                  'message')
        return redirect(
            url_for('stock_adding',
                    doc=doc,
                    doc_type=doc_type,
                    stock=stock,
                    form1=form1,
                    added=added,
                    form=form,
                    last_stocked=last_stocked,
                    component=components,
                    modal_component=modal_component))

    return render_template('stock_adding.html',
                           doc=doc,
                           doc_type=doc_type,
                           stock=stock,
                           form1=form1,
                           added=added,
                           form=form,
                           last_stocked=last_stocked,
                           components=components,
                           modal_component=modal_component)