1 Star 3 Fork 3

高艳鹏/Pandora

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
dienstenMutaties.py 56.37 KB
一键复制 编辑 原始数据 按行查看 历史
Dirk Jansen 提交于 2020-02-11 10:55 . Add files via upload
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095
from login import hoofdMenu
import datetime
from PyQt5.QtCore import Qt, QRegExp, QAbstractTableModel
from PyQt5.QtGui import QFont, QPixmap, QRegExpValidator, QIcon
from PyQt5.QtWidgets import QLabel, QPushButton, QCheckBox,\
QMessageBox, QLineEdit, QGridLayout, QDialog, QComboBox, QWidget, QTableView
from sqlalchemy import (Table, Column, String, Integer, Float, MetaData, \
ForeignKey, create_engine, insert, select, update, func, and_)
def refresh(keuze, zoekterm, m_email, self):
self.close()
toonMutaties(keuze,zoekterm, m_email)
def _11check(mcontr):
number = str(mcontr)
total = 0
fullnumber = number
for i in range(8):
total += int(fullnumber[i])*(9-i)
checkdigit = total % 11
if checkdigit == 10:
checkdigit = 0
if checkdigit == int(fullnumber[8]):
return True
else:
return False
def windowSluit(self, m_email):
self.close()
hoofdMenu(m_email)
def invoerOK():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Information)
msg.setText('Invoer gelukt!')
msg.setWindowTitle('INVOER')
msg.exec_()
def foutCombinatie():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Warning)
msg.setText('De combinatie van inkooporder,\nkostensoort en orderregel\nkomt niet voor!')
msg.setWindowTitle('INVOERFOUT')
msg.exec_()
def foutInkooporder():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Critical)
msg.setText('Foutief Inkooporder\nopgegeven!')
msg.setWindowTitle('INVOERFOUT')
msg.exec_()
def foutWerk():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Critical)
msg.setText('Foutief werknummer\nopgegeven!')
msg.setWindowTitle('INVOERFOUT')
msg.exec_()
def geenSoort():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Warning)
msg.setText('Geen kostensoort gekozen')
msg.setWindowTitle('INVOERFOUT')
msg.exec_()
def geenRegel():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Warning)
msg.setText('Geen regelnummer ingevoerd')
msg.setWindowTitle('INVOERFOUT')
msg.exec_()
def geenRecord():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setWindowIcon(QIcon('./images/logos/logo.jpg'))
msg.setIcon(QMessageBox.Warning)
msg.setText('Geen record gevonden\nmaak een andere selektie s.v.p.!')
msg.setWindowTitle('Materialen uitgeven/ printen')
msg.exec_()
def geenKeuze():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Warning)
msg.setText('Geen kostensoort\nkeuze gemaakt')
msg.setWindowTitle('INVOERFOUT')
msg.exec_()
def werkGereed():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setIcon(QMessageBox.Warning)
msg.setText('Werknummer is afgemeld,\nboekingen niet meer mogelijk!')
msg.setWindowTitle('Gegevens!')
msg.exec_()
def ongInvoer():
msg = QMessageBox()
msg.setStyleSheet("color: black; background-color: gainsboro")
msg.setWindowIcon(QIcon('./images/logos/logo.jpg'))
msg.setIcon(QMessageBox.Warning)
msg.setText('Foutieve invoer\nzoekterm opnieuw invoeren s.v.p.!')
msg.setWindowTitle('Artikelen opvragen')
msg.exec_()
def jaarweek():
dt = datetime.datetime.now()
week = str(dt.isocalendar()[1])
jaar = str(dt.isocalendar()[0])
if len(week)== 1:
week = '0'+week
jrwk = jaar+week
return(jrwk)
def mutatieKeuze(m_email):
class Widget(QDialog):
def __init__(self, parent=None):
super(Widget, self).__init__(parent)
self.setWindowTitle("Opvragen Mutaties Diensten-Portal Boekhouding")
self.setWindowIcon(QIcon('./images/logos/logo.jpg'))
self.setFont(QFont('Arial', 10))
self.Keuze = QLabel()
k0Edit = QComboBox()
k0Edit.setFixedWidth(230)
k0Edit.setFont(QFont("Arial",10))
k0Edit.setStyleSheet("color: black; background-color: #F8F7EE")
k0Edit.addItem(' Sorteersleutel voor zoeken')
k0Edit.addItem('1. Alle diensten')
k0Edit.addItem('2. Werknummer')
k0Edit.addItem('3. Werkomschrijving')
k0Edit.addItem('4. Leveranciernummer')
k0Edit.addItem('5. Bedrijfsnaam')
k0Edit.addItem('6. Op verkooporder')
k0Edit.addItem('7. Kostensoort (1-9)')
k0Edit.activated[str].connect(self.k0Changed)
self.Zoekterm = QLabel()
zktermEdit = QLineEdit()
zktermEdit.setFixedWidth(230)
zktermEdit.setFont(QFont("Arial",10))
zktermEdit.textChanged.connect(self.zktermChanged)
grid = QGridLayout()
grid.setSpacing(20)
lbl = QLabel()
pixmap = QPixmap('./images/logos/verbinding.jpg')
lbl.setPixmap(pixmap)
grid.addWidget(lbl , 0, 0, 1, 2)
logo = QLabel()
pixmap = QPixmap('./images/logos/logo.jpg')
logo.setPixmap(pixmap)
grid.addWidget(logo , 0, 1, 1, 1, Qt.AlignRight)
grid.addWidget(k0Edit, 1, 1)
lbl1 = QLabel('Zoekterm')
lbl1.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
grid.addWidget(lbl1, 2, 0)
grid.addWidget(zktermEdit, 2, 1)
self.setLayout(grid)
self.setGeometry(500, 300, 150, 150)
grid.addWidget(QLabel('\u00A9 2017 all rights reserved dj.jansen@casema.nl'), 4, 0, 1, 3 , Qt.AlignCenter)
applyBtn = QPushButton('Zoeken')
applyBtn.clicked.connect(self.accept)
grid.addWidget(applyBtn, 3, 1, 1, 1, Qt.AlignRight)
applyBtn.setFont(QFont("Arial",10))
applyBtn.setFixedWidth(100)
applyBtn.setStyleSheet("color: black; background-color: gainsboro")
cancelBtn = QPushButton('Sluiten')
cancelBtn.clicked.connect(lambda: windowSluit(self, m_email))
grid.addWidget(cancelBtn, 3, 1)
cancelBtn.setFont(QFont("Arial",10))
cancelBtn.setFixedWidth(100)
cancelBtn.setStyleSheet("color: black; background-color: gainsboro")
def k0Changed(self, text):
self.Keuze.setText(text)
def zktermChanged(self, text):
self.Zoekterm.setText(text)
def returnk0(self):
return self.Keuze.text()
def returnzkterm(self):
return self.Zoekterm.text()
@staticmethod
def getData(parent=None):
dialog = Widget(parent)
dialog.exec_()
return [dialog.returnk0(), dialog.returnzkterm()]
window = Widget()
data = window.getData()
if not data[0] or data[0][0] == ' ':
keuze = 0
elif data[0]:
keuze = int(data[0][0])
else:
keuze = 0
if data[1]:
zoekterm = data[1]
else:
zoekterm = ''
toonMutaties(keuze, zoekterm, m_email)
def toonMutaties(keuze,zoekterm, m_email):
import validZt
metadata = MetaData()
orders_inkoop_diensten = Table('orders_inkoop_diensten', metadata,
Column('orddienstlevID', Integer, primary_key=True),
Column('werknummerID', None, ForeignKey('werken.werknummerID')),
Column('orderinkoopID', None, ForeignKey('orders_inkoop.orderinkoopID')),
Column('acceptatie_gereed', Float),
Column('acceptatie_datum', String),
Column('werkomschr', String),
Column('omschrijving', String),
Column('meerminderwerk', Integer),
Column('aanneemsom', Float),
Column('regel', Integer))
werken = Table('werken', metadata,
Column('werknummerID', Integer(), primary_key=True),
Column('werkomschrijving', String(50)))
orders_inkoop = Table('orders_inkoop', metadata,
Column('orderinkoopID', Integer, primary_key=True),
Column('leverancierID', None, ForeignKey('leveranciers.leverancierID')))
leveranciers = Table('leveranciers', metadata,
Column('leverancierID', Integer, primary_key=True),
Column('bedrijfsnaam', String),
Column('rechtsvorm', String))
engine = create_engine('postgresql://postgres@localhost/bisystem')
conn = engine.connect()
if keuze == 1:
sel = select([orders_inkoop_diensten, werken, orders_inkoop, leveranciers])\
.where(and_(werken.c.werknummerID==orders_inkoop_diensten.c.werknummerID,\
leveranciers.c.leverancierID == orders_inkoop.c.leverancierID,\
orders_inkoop.c.orderinkoopID==orders_inkoop_diensten.c.orderinkoopID))\
.order_by(werken.c.werknummerID)
elif keuze == 2:
sel = select([orders_inkoop_diensten, werken, orders_inkoop, leveranciers])\
.where(and_(werken.c.werknummerID==orders_inkoop_diensten.c.werknummerID,\
leveranciers.c.leverancierID == orders_inkoop.c.leverancierID,\
orders_inkoop.c.orderinkoopID==orders_inkoop_diensten.c.orderinkoopID,\
werken.c.werknummerID== int(zoekterm)))
elif keuze == 3:
sel = select([orders_inkoop_diensten, werken, orders_inkoop, leveranciers])\
.where(and_(werken.c.werknummerID==orders_inkoop_diensten.c.werknummerID,\
leveranciers.c.leverancierID == orders_inkoop.c.leverancierID,\
orders_inkoop.c.orderinkoopID==orders_inkoop_diensten.c.orderinkoopID,\
werken.c.werkomschrijving.ilike('%'+zoekterm+'%')))\
.order_by(werken.c.werknummerID)
elif keuze == 4 and validZt.zt(zoekterm, 3):
sel = select([orders_inkoop_diensten, werken, orders_inkoop, leveranciers])\
.where(and_(werken.c.werknummerID==orders_inkoop_diensten.c.werknummerID,\
leveranciers.c.leverancierID == orders_inkoop.c.leverancierID,\
orders_inkoop.c.orderinkoopID==orders_inkoop_diensten.c.orderinkoopID,\
leveranciers.c.leverancierID == int(zoekterm)))
elif keuze == 5:
sel = select([orders_inkoop_diensten, werken, orders_inkoop, leveranciers])\
.where(and_(werken.c.werknummerID==orders_inkoop_diensten.c.werknummerID,\
leveranciers.c.leverancierID == orders_inkoop.c.leverancierID,\
orders_inkoop.c.orderinkoopID==orders_inkoop_diensten.c.orderinkoopID,\
leveranciers.c.bedrijfsnaam.ilike('%'+zoekterm+'%')))
elif keuze == 6 and validZt.zt(zoekterm, 5):
sel = select([orders_inkoop_diensten, werken, orders_inkoop, leveranciers])\
.where(and_(werken.c.werknummerID==orders_inkoop_diensten.c.werknummerID,\
leveranciers.c.leverancierID == orders_inkoop.c.leverancierID,\
orders_inkoop.c.orderinkoopID==orders_inkoop_diensten.c.orderinkoopID,\
orders_inkoop.c.orderinkoopID== int(zoekterm)))
elif keuze == 7 and validZt.zt(zoekterm, 16):
sel = select([orders_inkoop_diensten, werken, orders_inkoop, leveranciers])\
.where(and_(werken.c.werknummerID==orders_inkoop_diensten.c.werknummerID,\
leveranciers.c.leverancierID == orders_inkoop.c.leverancierID,\
orders_inkoop.c.orderinkoopID==orders_inkoop_diensten.c.orderinkoopID,\
orders_inkoop_diensten.c.werkomschr.like(zoekterm+'%')))\
.order_by(orders_inkoop_diensten.c.werkomschr)
else:
ongInvoer()
mutatieKeuze(m_email)
if conn.execute(sel).fetchone():
rp = conn.execute(sel)
else:
geenRecord()
mutatieKeuze(m_email)
class MyWindow(QDialog):
def __init__(self, data_list, header, *args):
QWidget.__init__(self, *args,)
self.setWindowTitle('Kosten diensten muteren')
self.setWindowIcon(QIcon('./images/logos/logo.jpg'))
self.setWindowFlags(self.windowFlags()| Qt.WindowSystemMenuHint |
Qt.WindowMinMaxButtonsHint)
self.setFont(QFont('Arial', 10))
grid = QGridLayout()
grid.setSpacing(20)
table_model = MyTableModel(self, data_list, header)
table_view = QTableView()
table_view.setModel(table_model)
font = QFont("Arial", 10)
table_view.setFont(font)
table_view.resizeColumnsToContents()
table_view.setSelectionBehavior(QTableView.SelectRows)
table_view.setColumnHidden(13, True)
table_view.setColumnHidden(7, True)
table_view.clicked.connect(dienstenMut)
grid.addWidget(table_view, 0, 0, 1, 16)
lbl = QLabel()
pixmap = QPixmap('./images/logos/verbinding.jpg')
lbl.setPixmap(pixmap)
grid.addWidget(lbl, 1, 0, 1, 2)
logo = QLabel()
pixmap = QPixmap('./images/logos/logo.jpg')
logo.setPixmap(pixmap)
grid.addWidget(logo , 1, 15, 1, 1, Qt.AlignRight)
freshBtn = QPushButton('Verversen')
freshBtn.clicked.connect(lambda: refresh(keuze, zoekterm, m_email, self))
freshBtn.setFont(QFont("Arial",10))
freshBtn.setFixedWidth(100)
freshBtn.setStyleSheet("color: black; background-color: gainsboro")
grid.addWidget(freshBtn, 1, 14, 1, 1, Qt.AlignRight)
sluitBtn = QPushButton('Sluiten')
sluitBtn.clicked.connect(self.close)
sluitBtn.setFont(QFont("Arial",10))
sluitBtn.setFixedWidth(100)
sluitBtn.setStyleSheet("color: black; background-color: gainsboro")
grid.addWidget(sluitBtn, 1, 13, 1, 1, Qt.AlignRight)
grid.addWidget(QLabel('\u00A9 2017 all rights reserved dj.jansen@casema.nl'), 1, 0, 1, 16, Qt.AlignCenter)
self.setLayout(grid)
self.setGeometry(50, 50, 1800, 900)
self.setLayout(grid)
class MyTableModel(QAbstractTableModel):
def __init__(self, parent, mylist, header, *args):
QAbstractTableModel.__init__(self, parent, *args)
self.mylist = mylist
self.header = header
def rowCount(self, parent):
return len(self.mylist)
def columnCount(self, parent):
return len(self.mylist[0])
def data(self, index, role):
veld = self.mylist[index.row()][index.column()]
if not index.isValid():
return None
elif role == Qt.TextAlignmentRole and (type(veld) == float or type(veld) == int):
return Qt.AlignRight | Qt.AlignVCenter
elif role != Qt.DisplayRole:
return None
if type(veld) == float:
return '{:12.2f}'.format(veld)
else:
return veld
def headerData(self, col, orientation, role):
if orientation == Qt.Horizontal and role == Qt.DisplayRole:
return self.header[col]
return None
header = ['Mutatienummer','Werknummer', 'OrderinkoopID','Boekbedrag', 'Boekdatun', 'Categorie',\
'Categorie-Omschrijving','BTW-hoog', 'Aanneemsom', 'Regelnummer', 'Werknummer', 'Omschrijving',\
'OrderinkoopID', 'LeverancierID', 'LeverancierID','Bedrijfsnaam', 'Rechtsvorm']
data_list=[]
for row in rp:
data_list += [(row)]
def dienstenMut(idx):
mordinkdnst = idx.data()
metadata = MetaData()
orders_inkoop_diensten = Table('orders_inkoop_diensten', metadata,
Column('orddienstlevID', Integer, primary_key=True),
Column('werknummerID', None, ForeignKey('werken.werknummerID')),
Column('orderinkoopID', None, ForeignKey('orders_inkoop.orderinkoopID')),
Column('acceptatie_gereed', Float),
Column('acceptatie_datum', String),
Column('werkomschr', String),
Column('omschrijving', String),
Column('meerminderwerk', Integer),
Column('aanneemsom', Float),
Column('regel', Integer))
engine = create_engine('postgresql+psycopg2://postgres@localhost/bisystem')
con = engine.connect()
if idx.column() == 0:
selorddnst = select([orders_inkoop_diensten]).where(orders_inkoop_diensten.c.\
orddienstlevID == mordinkdnst)
rporddnst = con.execute(selorddnst).first()
mwerknr = rporddnst[1]
msoort = rporddnst[5]
momschr = rporddnst[6]
mregel = rporddnst[9]
minkordernr = rporddnst[2]
class Widget(QDialog):
def __init__(self, parent=None):
super(Widget, self).__init__(parent)
self.setWindowTitle("Kosten Diensten Muteren")
self.setWindowIcon(QIcon('./images/logos/logo.jpg'))
self.setFont(QFont('Arial', 10))
self.Werknummer = QLabel()
zkwerknEdit = QLineEdit(str(mwerknr))
zkwerknEdit.setAlignment(Qt.AlignRight)
zkwerknEdit.setFixedWidth(150)
zkwerknEdit.setFont(QFont("Arial",10))
zkwerknEdit.setDisabled(True)
self.Inkoopordernummer = QLabel()
q1Edit = QLineEdit(str(minkordernr))
q1Edit.setFixedWidth(150)
q1Edit.setAlignment(Qt.AlignRight)
q1Edit.setFont(QFont("Arial",10))
q1Edit.setDisabled(True)
self.Soort = QLabel()
k0Edit = QLineEdit(str(msoort))
k0Edit.setFixedWidth(200)
k0Edit.setFont(QFont("Arial",10))
k0Edit.setDisabled(True)
self.Bedrag = QLabel()
q2Edit = QLineEdit()
q2Edit.setFixedWidth(150)
q2Edit.setFont(QFont("Arial",10))
q2Edit.textChanged.connect(self.q2Changed)
reg_ex = QRegExp("^[-+]?[0-9]*\.?[0-9]+$")
input_validator = QRegExpValidator(reg_ex, q2Edit)
q2Edit.setValidator(input_validator)
self.Regel = QLabel()
q3Edit = QLineEdit(str(mregel))
q3Edit.setFixedWidth(40)
q3Edit.setAlignment(Qt.AlignRight)
q3Edit.setFont(QFont("Arial",10))
q3Edit.setDisabled(True)
self.Omschrijving = QLabel()
q4Edit = QLineEdit(str(momschr))
q4Edit.setFixedWidth(400)
q4Edit.setFont(QFont("Arial",10))
q4Edit.textChanged.connect(self.q4Changed)
reg_ex = QRegExp("^.{0,40}$")
input_validator = QRegExpValidator(reg_ex, q3Edit)
q4Edit.setValidator(input_validator)
grid = QGridLayout()
grid.setSpacing(20)
lbl = QLabel()
pixmap = QPixmap('./images/logos/verbinding.jpg')
lbl.setPixmap(pixmap)
grid.addWidget(lbl ,0 , 0)
logo = QLabel()
pixmap = QPixmap('./images/logos/logo.jpg')
logo.setPixmap(pixmap)
grid.addWidget(logo , 0, 2, 1, 1, Qt.AlignRight)
lblt = QLabel('Mutaties (kosten derden) niet cumulatief.\nVoor \'Sluiten\' geen bedrag invullen.')
grid.addWidget(lblt , 8, 0, 1, 3, Qt.AlignCenter)
grid.addWidget(QLabel('\u00A9 2017 all rights reserved - dj.jansen@casema.nl'), 9, 0, 1, 3, Qt.AlignCenter )
lbl1 = QLabel(' Meer/Minderwerk = Checkbox actief')
grid.addWidget(lbl1, 7 , 1)
lbl2 = QLabel('Werknummer')
lbl2.setAlignment(Qt.AlignRight)
grid.addWidget(lbl2, 1, 0)
grid.addWidget(zkwerknEdit,1, 1)
q1 = QLabel('Inkoopordernummer')
q1.setAlignment(Qt.AlignRight)
grid.addWidget(q1, 3, 0)
grid.addWidget(q1Edit,3, 1)
lbl3 = QLabel('Discipline')
lbl3.setAlignment(Qt.AlignRight)
grid.addWidget(lbl3, 4, 0)
grid.addWidget(k0Edit, 4, 1)
lbl4 = QLabel('Omschrijving')
lbl4.setAlignment(Qt.AlignRight)
grid.addWidget(lbl4, 5, 0)
grid.addWidget(q4Edit, 5, 1, 1, 3)
lbl5 = QLabel('Bedrag')
lbl5.setAlignment(Qt.AlignRight)
grid.addWidget(lbl5, 6, 0)
grid.addWidget(q2Edit,6, 1)
lbl6 = QLabel(' Orderregel')
grid.addWidget(lbl6, 4, 2)
grid.addWidget(q3Edit, 4, 2, 1, 2)
self.setLayout(grid)
self.setGeometry(500, 100, 150, 150)
applyBtn = QPushButton('Muteren\nSluiten')
applyBtn.clicked.connect(self.accept)
grid.addWidget(applyBtn, 8, 2, 1 , 1, Qt.AlignRight)
applyBtn.setFont(QFont("Arial",10))
applyBtn.setFixedWidth(100)
applyBtn.setStyleSheet("color: black; background-color: gainsboro")
cBox = QCheckBox(' Meerwerk')
cBox.stateChanged.connect(self.cBoxChanged)
grid.addWidget(cBox, 6, 2)
def q2Changed(self,text):
self.Bedrag.setText(text)
def q4Changed(self,text):
self.Omschrijving.setText(text)
state = False
def cBoxChanged(self, state):
if state == Qt.Checked :
self.state = True
if state == Qt.Unchecked:
self.state = False
def returnq2(self):
return self.Bedrag.text()
def returnq4(self):
return self.Omschrijving.text()
def returncBox(self):
return self.state
@staticmethod
def getData(parent=None):
dialog = Widget(parent)
dialog.exec_()
return [dialog.returnq2(), dialog.returnq4(), dialog.returncBox()]
window = Widget()
data = window.getData()
if data[0]:
mbedrag = float(data[0])
elif not data[0] or data[0] == '0':
return()
if data[1]:
momschr = data[1]
else:
momschr = rporddnst[6]
if data[2]:
mmmwerk = True
else:
mmmwerk = False
metadata = MetaData()
werken = Table('werken', metadata,
Column('werknummerID', Integer(), primary_key=True),
Column('kosten_materieel', Float),
Column('kosten_huisv', Float),
Column('kosten_leiding', Float),
Column('kosten_overig', Float),
Column('kosten_vervoer', Float),
Column('kosten_inhuur', Float),
Column('beton_bvl', Float),
Column('kabelwerk', Float),
Column('grondverzet', Float),
Column('meerminderwerk', Float),
Column('voortgangstatus', String))
engine = create_engine('postgresql+psycopg2://postgres@localhost/bisystem')
con = engine.connect()
selwerk = select([werken]).where(werken.c.werknummerID == mwerknr)
rpwerk = con.execute(selwerk).first()
if rpwerk[11] == 'H':
werkGereed()
return('', minkordernr, mregel)
metadata = MetaData()
dienstenmutaties = Table('dienstenmutaties', metadata,
Column('mutatieID', Integer, primary_key=True),
Column('werknummerID', None, ForeignKey('werken.werknummerID')),
Column('orderinkoopID', None, ForeignKey('orders_inkoop.orderinkoopID')),
Column('leverancierID', Float),
Column('werkomschr', String),
Column('boekbedrag', Float),
Column('boekdatum', Float),
Column('btw_hoog', Float),
Column('btw_laag', Float),
Column('regel', Integer),
Column('omschrijving', String))
orders_inkoop = Table('orders_inkoop', metadata,
Column('orderinkoopID', Integer, primary_key=True),
Column('leverancierID', None, ForeignKey('leveranciers.c.leverancierID')))
orders_inkoop_diensten = Table('orders_inkoop_diensten', metadata,
Column('orddienstlevID', Integer, primary_key=True),
Column('orderinkoopID', None, ForeignKey('orders_inkoop.orderinkoopID')),
Column('acceptatie_gereed', Float),
Column('acceptatie_datum', String),
Column('werkomschr', String),
Column('regel', Integer),
Column('meerminderwerk', Float),
Column('werknummerID', None, ForeignKey('werken.werknummerID')))
engine = create_engine('postgresql+psycopg2://postgres@localhost/bisystem')
con = engine.connect()
mboekd = (datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))[0:10]
s = select([orders_inkoop_diensten]).where(and_(orders_inkoop_diensten.c.\
orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == msoort, orders_inkoop_diensten.\
c.werknummerID == mwerknr))
rps = con.execute(s).first()
if not rps:
foutCombinatie()
elif data[0] and msoort[0] == '1' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = int(minkordernr),\
boekbedrag = -mbedrag, boekdatum = mboekd, werkomschr =\
'1. Materieel meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '1. Materieel'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_materieel = werken.c.kosten_materieel+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '1':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'1. Materieel bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '1. Materieel'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_materieel = werken.c.kosten_materieel+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '2' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'2. Leiding meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '2. Leiding'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_leiding = werken.c.kosten_leiding+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '2':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'2. Leiding bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '2. Leiding'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_leiding = werken.c.kosten_leiding+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '3' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'3. Huisvesting meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '3. Huisvesting'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_huisv = werken.c.kosten_huisv+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '3':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'3. Huisvesting bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '3. Huisvesting'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_huisv = werken.c.kosten_huisv+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '4' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'4. Overig meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '4. Overig'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_overig = werken.c.kosten_overig+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort [0]== '4':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'4. Overig bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '4. Overig'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_overig = werken.c.kosten_overig+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '5' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'5. Inhuur meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '5. Inhuur'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_inhuur = werken.c.kosten_inhuur+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '5':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'5. Inhuur bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '5. Inhuur'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_inhuur = werken.c.kosten_inhuur+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '6' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'6. Vervoer meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '6. Vervoer'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_vervoer = werken.c.kosten_vervoer+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '6':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'6. Vervoer bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '6. Vervoer'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kosten_vervoer = werken.c.kosten_vervoer+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '7' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'7. Beton meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr -- '7. Beton'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(beton_bvl = werken.c.beton_bvl+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '7':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'7. Beton bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '7. Beton'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(beton_bvl = werken.c.beton_bvl+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '8' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'8. Kabelwerk meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '8. Kabelwerk'))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kabelwerk = werken.c.kabelwerk+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '8':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'8. Kabelwerk bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '8. Kabelwerk'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(kabelwerk = werken.c.kabelwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '9' and mmmwerk:
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'9. Grondverzet meerminderwerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '9. Grondverzet' ))\
.values(acceptatie_datum = mboekd, meerminderwerk =\
orders_inkoop_diensten.c.meerminderwerk + mbedrag)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(grondverzet = werken.c.grondverzet+mbedrag,
meerminderwerk = werken.c.meerminderwerk+mbedrag)
con.execute(stmt)
invoerOK()
elif data[0] and msoort[0] == '9':
sel = select([orders_inkoop])\
.where(orders_inkoop.c.orderinkoopID == minkordernr)
rp = con.execute(sel).first()
mlevnr = rp[1]
mutatienr=(con.execute(select([func.max(dienstenmutaties.c.mutatieID,\
type_=Integer).label('mutatienr')])).scalar())
mutatienr += 1
inscb = insert(dienstenmutaties).values(mutatieID = mutatienr,\
werknummerID = mwerknr, orderinkoopID = minkordernr,\
boekbedrag = mbedrag, boekdatum = mboekd, werkomschr =\
'9. Grondverzet bestekswerk', leverancierID = mlevnr,\
btw_hoog = mbedrag*.21, regel = mregel, omschrijving = momschr)
con.execute(inscb)
upd = update(orders_inkoop_diensten).where(and_(orders_inkoop_diensten.\
c.orderinkoopID == minkordernr, orders_inkoop_diensten.c.regel == mregel,\
orders_inkoop_diensten.c.werkomschr == '9. Grondverzet'))\
.values(acceptatie_gereed = orders_inkoop_diensten.c.acceptatie_gereed\
+ mbedrag, acceptatie_datum = mboekd)
con.execute(upd)
stmt = update(werken).where(werken.c.werknummerID == mwerknr).\
values(grondverzet = werken.c.grondverzet+mbedrag)
con.execute(stmt)
invoerOK()
con.close
win = MyWindow(data_list, header)
win.exec_()
mutatieKeuze(m_email)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/gapyanpeng/Pandora.git
git@gitee.com:gapyanpeng/Pandora.git
gapyanpeng
Pandora
Pandora
master

搜索帮助