Files
KPK/tst_data.py
2026-06-23 15:20:56 +02:00

155 lines
7.8 KiB
Python

# ------------------------------------------------
# --- MODUL PRO VYTVORENI TESTOVACICH DAT
# ------------------------------------------------
import data
import json
# ------------------------------------------------
# --- CENIK
def create_tst_cenik(id_kas: str):
c_pol0 = data.CenPol(
id_card= 101, kod= 101, d_name= "Pivo 12°", ch_name= "Pivo", color= 1, pokl= id_kas, sklad= "01",
ceny= [data.Cena(cena= 45.0, mena= "Kc", dan= "1.21", name= "standard") ,
data.Cena(cena= 29.0, mena= "Kc", dan= "1.21", name= "zamestnanci"),
data.Cena(cena= 42.0, mena= "Kc", dan= "1.21", name="vecernisleva"),],
pos_pc= [data.Position(page= 2,line=5, col= 0 ),data.Position(page= 3,line=0, col= 0 )],
pos_mb= [],
eany= [],
messagepol= [data.MessagePol(text="jen po pracovni dobe",povinna=True),
data.MessagePol(text="ne ridicum", povinna=False)],
atributes= ["perm:0001", "nosale", "only:Kc"])
c_pol1 = data.CenPol( id_card=1, kod=1, color=1, d_name='chl. uherakovy', ch_name='chlebicek uherakovy', pokl=id_kas, sklad='41',
ceny=[data.Cena(cena=44, mena="Kc", dan='1.1', name="standard"),
data.Cena(cena=24, mena="Kc", dan='1.1', name="zamestnanci"),
data.Cena(cena=38, mena="Kc", dan='1.1', name="vecerni sleva"),
data.Cena(cena=1.1, mena="Eur", dan='1.1', name="Euro cena"),],
pos_pc= [data.Position(page= 1,line=0, col= 0 ),data.Position(page= 3,line=1, col= 0 )],
pos_mb= [],
eany= [],
messagepol= [],
atributes= ["standard"])
c_pol2 = data.CenPol( id_card=2, kod=2, color=1, d_name='chl. vajickovy', ch_name='chlebicek vajickovy', pokl=id_kas, sklad='41',
ceny=[data.Cena(cena=42, mena="Kc", dan='1.1', name="standard"),
data.Cena(cena=23, mena="Kc", dan='1.1', name="zamestnanci"),
data.Cena(cena=39, mena="Kc", dan='1.1', name="vecerni sleva"),
data.Cena(cena=1., mena="Eur", dan='1.1', name="Euro cena"),],
pos_pc= [data.Position(page= 1,line=0, col= 1 ),data.Position(page= 3,line=1, col= 1 )],
pos_mb= [],
eany= [],
messagepol= [],
atributes= [])
c_pol3 = data.CenPol( id_card=3, kod=3, color=1, d_name='chl. krabi', ch_name='chlebicek krabi', pokl=id_kas, sklad='41',
pos_pc= [data.Position(page= 1,line=0, col= 2 ),data.Position(page= 3,line=1, col= 2 )],
pos_mb= [],
eany= [],
messagepol= [],
atributes= [],
ceny=[data.Cena(cena=48, mena="Kc", dan='1.1', name="standard"),
data.Cena(cena=27, mena="Kc", dan='1.1', name="zamestnanci"),
data.Cena(cena=41, mena="Kc", dan='1.1', name="vecerni sleva"),
data.Cena(cena=1.3, mena="Eur", dan='1.1', name="Euro cena"),])
c_pol4 = data.CenPol( id_card=4, color=2, d_name='d. sacher', ch_name='dort Sacher', pokl=id_kas, sklad='41',
pos_pc= [data.Position(page= 1,line=1, col= 0 ),data.Position(page= 3,line=2, col= 0 )],
pos_mb= [],
eany= [],
messagepol= [],
atributes= [],
ceny=[data.Cena(cena=108, mena="Kc", dan='1.21', name="standard"),
data.Cena(cena=56, mena="Kc", dan='1.21', name="zamestnanci"),
data.Cena(cena=94, mena="Kc", dan='1.21', name="vecerni sleva"),
data.Cena(cena=4.2, mena="Eur", dan='1.21', name="Euro cena"),])
c_pol5 = data.CenPol( id_card=5, kod= 5, color=1, d_name='chl. s krenem', ch_name='chlebicek s krenem', pokl=id_kas, sklad='41',
pos_pc= [data.Position(page= 1,line=0, col= 3 ),data.Position(page= 3,line=2, col= 3 )],
pos_mb= [],
eany= [],
messagepol= [],
atributes= [],
ceny=[data.Cena(cena=42, mena="Kc", dan='1.1', name="standard"),
data.Cena(cena=23, mena="Kc", dan='1.1', name="zamestnanci"),
data.Cena(cena=39, mena="Kc", dan='1.1', name="vecerni sleva"),
data.Cena(cena=1., mena="Eur", dan='1.1', name="Euro cena"),])
c_pol6 = data.CenPol( id_card=6, kod=6, color=1, d_name='chl. roastbeef', ch_name='chlebicek roastbeef', pokl=id_kas, sklad='41',
pos_pc= [data.Position(page= 1,line=0, col= 5 ),data.Position(page= 3,line=2, col= 5 )],
pos_mb= [],
eany= [],
messagepol= [],
atributes= [],
ceny=[data.Cena(cena=48, mena="Kc", dan='1.1', name="standard"),
data.Cena(cena=27, mena="Kc", dan='1.1', name="zamestnanci"),
data.Cena(cena=41, mena="Kc", dan='1.1', name="vecerni sleva"),
data.Cena(cena=1.3, mena="Eur", dan='1.1', name="Euro cena"),])
c_pol7 = data.CenPol( id_card=7, kod=7, color=3, d_name='d. Praga', ch_name='dort Praga', pokl=id_kas, sklad='41',
pos_pc= [data.Position(page= 1,line=1, col= 1 ),data.Position(page= 3,line=4, col= 1 ),
data.Position(page= 1,line=2, col= 2 ),data.Position(page= 1,line=3, col= 2 ),data.Position(page= 1,line=4, col= 2 ),
data.Position(page= 1,line=5, col= 2 ),data.Position(page= 1,line=7, col= 1 ),],
pos_mb= [],
eany= [],
messagepol= [],
atributes= [],
ceny=[data.Cena(cena=112, mena="Kc", dan='1.21', name="standard"),
data.Cena(cena=58, mena="Kc", dan='1.21', name="zamestnanci"),
data.Cena(cena=98, mena="Kc", dan='1.21', name="vecerni sleva"),
data.Cena(cena=4.4, mena="Eur", dan='1.21', name="Euro cena"),])
c_pol8 = data.CenPol(
id_card=-1,
kod=-1,
d_name="str.napoje",
ch_name="str.napoje",
color=2,
pokl=id_kas,
sklad="",
ceny=[],
pos_pc=[
data.Position(page=1,line=3,col=0),
data.Position(page=3,line=3,col=0),
],
pos_mb=[],
eany=[],
messagepol=[],
atributes=["page"]
)
cenik = data.Cenik(cenpol=[c_pol0,c_pol1,c_pol2,c_pol3,c_pol5,c_pol6,c_pol4,c_pol7,c_pol8])
print(json.dumps(c_pol0.model_dump(), indent=2, ensure_ascii=False))
return cenik
# ------------------------------------------------
# --- UCET
def create_tst_ucet(id_kas, maly: bool = False):
a = data.UcPol(nazev="Chlebicek uhersky", id_card=1, cena=36., pocet=2, delitel=2, dph='1.05', cenhlad='1', kstornu=2)
b = data.UcPol(nazev="Chlebicek s vajickem", id_card=2, pocet=3, delitel=3, cena=39., dph='1.05', cenhlad='1', kstornu=3)
c = data.UcPol(nazev="Dort Sacher", id_card=3, pocet=1, delitel=1, cena=89., dph='1.2', cenhlad='1', kstornu=1)
d = data.UcPol(nazev="Chlebicek s humr", id_card=4, pocet=3, delitel=1, cena=41., dph='1.05', cenhlad='1')
e = data.UcPol(nazev="Pohar Kiwi", id_card=5, pocet=1, delitel=1, cena=139., dph='1.20', cenhlad='1')
f = data.UcPol(nazev="Fresh pomerancovy", id_card=6, pocet=2, delitel=1, cena=55., dph='1.2', cenhlad='1')
polozky = [a,b]
if maly:
polozky.extend([c,d,e,f,])
ucet = data.Ucet(
datetime=data.stime_str(), # ✔️ funkce zavolaná
ucislo="",
stul="2",
id_kas=id_kas,
autor="Petr Kobrle",
poloz=polozky,
platby=[],
dane=[] )
return ucet
# --- ucet pro PosDialog
def make_dummy_ucet():
u = create_tst_ucet(id_kas='01', maly=False)
ue = data.ucet_to_edit(u)
print(ue)
return ue