Added Entity 800001 and removed Debug Prints
This commit is contained in:
60
ADIS_LKV.py
60
ADIS_LKV.py
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user