1 Star 3 Fork 3

高艳鹏/Pandora

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Pandora.py 3.07 KB
一键复制 编辑 原始数据 按行查看 历史
Dirk Jansen 提交于 2020-01-26 08:00 . Update Pandora.py
import os, sys
from datetime import date
from PyQt5.QtWidgets import QApplication
from sqlalchemy import Table, Column, Integer, Float, String, MetaData, create_engine,\
insert, select, update, func
# set lock voor maximaal 1 sessie per PC
home = os.path.expanduser("~")
if os.path.isfile(str(home)+'/.pandora_lock'):
sys.exit()
else:
open(str(home)+'/.pandora_lock', 'w')
# volgende regels tbv jaarverbruik artikelen even/oneven jaar per jaar
# en berekenen van voorraadwaarde magazijnen t.b.v. grafieken per maand
metadata = MetaData()
artikelen = Table('artikelen', metadata,
Column('artikelID', Integer(), primary_key=True),
Column('artikelprijs', Float),
Column('art_voorraad', Float),
Column('mutatiedatum', String),
Column('jaarverbruik_1', Float),
Column('jaarverbruik_2', Float))
params = Table('params', metadata,
Column('paramID', Integer, primary_key=True),
Column('tarief', Float))
magazijnvoorraad = Table('magazijnvoorraad', metadata,
Column('jaarmaand', String, primary_key=True),
Column('totaal', Float),
Column('courant', Float),
Column('incourant', Float))
engine = create_engine('postgresql+psycopg2://postgres@localhost/bisystem')
con = engine.connect()
selpar = select([params]).where(params.c.paramID == 99)
rppar = con.execute(selpar).first()
mjaar = int(str(date.today())[0:4])
if mjaar%2 == 1 and int(rppar[1]) == 0:
updpar = update(params).where(params.c.paramID == 99).values(tarief = 1)
con.execute(updpar)
updart = update(artikelen).values(jaarverbruik_2 = 0)
con.execute(updart)
elif mjaar%2 == 0 and int(rppar[1]) == 1:
updpar = update(params).where(params.c.paramID == 99).values(tarief = 0)
con.execute(updpar)
updart = update(artikelen).values(jaarverbruik_1 = 0)
con.execute(updart)
mhjrmnd = str(date.today())[0:7]
mvjrmnd = int(str(int(str(date.today())[0:4])-1)+str(date.today())[5:7])
mdbjrmnd = (con.execute(select([func.max(magazijnvoorraad.c.jaarmaand, type_=Integer)\
.label('mdbjrmnd')])).scalar())
if mhjrmnd != mdbjrmnd:
insdb = insert(magazijnvoorraad).values(jaarmaand = mhjrmnd)
con.execute(insdb)
selart = select([artikelen])
rpart = con.execute(selart)
mtotaal = 0
mcourant = 0
mincourant = 0
for row in rpart:
mtotaal = mtotaal + row[1]*row[2]
if mvjrmnd < int(str(row[3][0:4])+str(row[3])[5:7]):
mcourant = mcourant + row[1]*row[2]
else:
mincourant = mincourant + row[1]*row[2]
updmvrd = update(magazijnvoorraad).where(magazijnvoorraad.c.jaarmaand == mhjrmnd)\
.values(totaal = int(mtotaal), courant = int(mcourant), incourant = int(mincourant))
con.execute(updmvrd)
if __name__ == '__main__':
app = QApplication(sys.argv)
if sys.platform == 'win32':
app.setStyle("Windows")
else:
app.setStyle("Fusion") #['windowsvista', 'Windows', 'Fusion']
from login import inlog
inlog()
app.exec_()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/gapyanpeng/Pandora.git
git@gitee.com:gapyanpeng/Pandora.git
gapyanpeng
Pandora
Pandora
master

搜索帮助