Added Entity 800001 and removed Debug Prints

This commit is contained in:
2019-10-14 17:07:28 +02:00
parent 565350268c
commit 3fb7ab59a4

View File

@@ -5,7 +5,7 @@ import os
entities = {}
"""
Entity 990001
Header AGRO 2014
Header AGRO 2015
"""
#NR, ART, ITEM, NAME, TYPE, LEN, RESOLUTION, UNIT, CODE
entities ['990001'] = [
@@ -24,9 +24,34 @@ entities ['990001'] = [
]
"""
Entity 880001
Betriebsdaten am Prueftag
"""
#NR, ART, ITEM, NAME, TYPE, LEN, RESOLUTION, UNIT, CODE
entities ['880001'] = [
(1, 'MAN', '00800004', 'Betrieb Nr', 'N', 15, 0, '', 0),
(2, 'OPT', '00800043', 'Betriebstaette (AE)', 'N', 2, 0, '', 0),
(3, 'KEY', '00900032', 'Pruefdatum', 'N', 8, 0, 'CCYYMMDD', 0),
(4, 'OPT', '00800136', 'Pruefmethode', 'AN', 1, 0, '', 0),
(5, 'OPT', '00800138', 'Pruefschema', 'AN', 1, 0, '', 0),
(6, 'OPT', '00800139', 'Pruefintervall', 'AN', 1, 0, '', 0),
(7, 'OPT', '00800140', 'Melkfrequenz', 'AN', 1, 0, '', 0),
(8, 'OPT', '00800025', 'Pruefbezirksnummer', 'N', 4, 0, '', 0),
(9, 'OPT', '00800027', 'Probenehmernummer', 'N', 15, 0, '', 0),
(10, 'OPT', '00800028', 'Personalnummer KA', 'N', 15, 0, '', 0),
(11, 'OPT', '00800704', 'Melkbeginnzeit abends', 'N', 14, 0, '', 0),
(12, 'OPT', '00800707', 'Melkendezeit abends', 'N', 14, 0, '', 0),
(13, 'OPT', '00800705', 'Melkbeginnzeit morgens', 'N', 14, 0, '', 0),
(14, 'OPT', '00800708', 'Melkendezeit morgens', 'N', 14, 0, '', 0),
(15, 'OPT', '00800706', 'Gemelk f. alternierende Probenentnahme', 'AN', 1, 0, '', 0),
(11, 'OPT', '00800001', 'Schluesselart Betrieb', 'N', 1, 0, '', 0)
]
"""
Entity 880022
Gemelkerfassung AGRO 2014
Gemelkerfassung AGRO 2015
"""
#NR, ART, ITEM, NAME, TYPE, LEN, RESOLUTION, UNIT, CODE
entities ['880022'] = [
@@ -57,6 +82,7 @@ class ADIS:
#Optional Fields for an entity
self.entityfields = {'880022': ['00900042', '00800123'],
'990001': [ '00900007', '00900009']}
self.businessinfos = {}
def log (self, msg, _level = 3):
@@ -72,6 +98,15 @@ class ADIS:
file.write ("%4d-%02d-%02d %02d:%02d:%02d.%06d: " %(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.microsecond) + msg + "\n")
file.close ()
def updatebusinessinfos (self, businessinfos):
"""
Betriebsdaten
updaten
"""
self.businessinfos = businessinfos
if not 'businessid' in businessinfos or businessinfos ['businessid'] == "":
businessinfos ['businessid'] = 0
def generated (self, entity):
#Generate Datadefiniton
@@ -94,12 +129,11 @@ class ADIS:
data ['00900006'] = 'Siliconform'
data ['00900007'] = 'LKV'
data ['00900008'] = '1.00'
data ['00900009'] = 'AGRO2018'
data ['00900009'] = 'AGRO2015'
ds = "VH990001"
for nr, art, item, name, datatype, length, resolution, unit, code in fields:
if art in ['KEY', 'MAN'] or item in self.entityfields ['990001']:
self.log ("Item %s needed" % item, 9)
print ("Item %s" % item)
if item in data:
if datatype == 'AN':
_v = str (data[item]).rjust (int (length))
@@ -109,7 +143,6 @@ class ADIS:
_v = _v.rjust (int (length))
ds += _v[len (_v) - int (length):]
else:
print ("do")
ds += '?' * length
self.log (ds, 9)
return ds
@@ -135,7 +168,7 @@ class ADIS:
retval = ""
for ammount, time, mdate, starttime in milkdata:
data = {'00900070': animalnr}
data ['00800004'] = '0'
data ['00800004'] = self.businessinfos ['businessid']
data ['00800043'] = '9'
data ['00900080'] = earmark
data ['00800143'] = rfid
@@ -166,46 +199,41 @@ class ADIS:
def createlkv (animalinfos, milkdata):
def createlkv (businessinfos, animalinfos, milkdata):
"""
LKV Daten generieren
"""
adis = ADIS (loglevel = 0)
adis.updatebusinessinfos (businessinfos)
retval =""
#Datendefinition und Header generieren
dh = adis.generated ('990001').replace ('DN', 'DH')
print ("Debug HEADER DEF:\n" + dh)
retval += dh + "\n"
header = adis.createaheader (entities ['990001'])
print ("Debug HEADER:\n" + header)
retval += header + "\n" + "TN\n"
#Datendefinition Melkungen generieren
print ("DEBUG MDEF\n")
dd = adis.generated ('880022')
print (dd)
retval += dd + "\n"
if animalinfos:
for animalnr, earmark, rfid, forbidmilk, tsforbidstart, tsforbidend in animalinfos:
if animalnr in milkdata:
ds = adis.createmilkdataset ((animalnr, earmark, rfid, forbidmilk, tsforbidstart, tsforbidend), milkdata[animalnr])
print ("Debug Dataset")
print (ds)
retval += ds
else:
return "help"
retval += "TN\n"
retval += "ZN\n"
print ("Debug End")
print (retval)
return retval
if __name__ == "__main__":
businessinfos = {'businessid' : '123567'}
animalinfos = [(100, '2730000000000000', '', '1', '2019-09-11', '2019-09-20')]
milkdata = {100: [(3462, 177.6, '2019-08-11', '06:26:47'), (1235, 421.6, '2019-08-07', '18:06:43')]}
createlkv (animalinfos, milkdata)
createlkv (businessinfos, animalinfos, milkdata)