Added Business information
This commit is contained in:
50
ADIS_LKV.py
50
ADIS_LKV.py
@@ -80,7 +80,8 @@ class ADIS:
|
||||
def __init__ (self, loglevel):
|
||||
self.loglevel = loglevel
|
||||
#Optional Fields for an entity
|
||||
self.entityfields = {'880022': ['00900042', '00800123'],
|
||||
self.entityfields = {'880001': [],
|
||||
'880022': ['00900042', '00800123'],
|
||||
'990001': [ '00900007', '00900009']}
|
||||
self.businessinfos = {}
|
||||
|
||||
@@ -106,6 +107,11 @@ class ADIS:
|
||||
self.businessinfos = businessinfos
|
||||
if not 'businessid' in businessinfos or businessinfos ['businessid'] == "":
|
||||
businessinfos ['businessid'] = 0
|
||||
|
||||
#Betriebsnummer in ADIS ID Aendern
|
||||
businessinfos ['00800004'] = businessinfos ['businessid']
|
||||
del businessinfos ['businessid']
|
||||
|
||||
|
||||
|
||||
def generated (self, entity):
|
||||
@@ -117,10 +123,11 @@ class ADIS:
|
||||
return l
|
||||
|
||||
|
||||
def createaheader (self, fields):
|
||||
def createaheader (self):
|
||||
"""
|
||||
Header
|
||||
"""
|
||||
fields = entities ['990001']
|
||||
|
||||
data = {'00000000': 'DD'}
|
||||
data ['00900002'] = 1996
|
||||
@@ -147,6 +154,32 @@ class ADIS:
|
||||
self.log (ds, 9)
|
||||
return ds
|
||||
|
||||
|
||||
def createbusinessinfos (self):
|
||||
"""
|
||||
Betriebsdaten am Prueftag
|
||||
"""
|
||||
fields = entities ['880001']
|
||||
data = self.businessinfos
|
||||
data ['00900032'] = datetime.now().strftime ('%Y%m%d')
|
||||
|
||||
ds = "VN880001"
|
||||
for nr, art, item, name, datatype, length, resolution, unit, code in fields:
|
||||
if art in ['KEY', 'MAN'] or item in self.entityfields ['880001']:
|
||||
self.log ("Item %s needed" % item, 9)
|
||||
if item in data:
|
||||
if datatype == 'AN':
|
||||
_v = str (data[item]).rjust (int (length))
|
||||
ds += _v [len (_v) - int (length):]
|
||||
elif datatype == 'N':
|
||||
_v = "%d" % (int (data[item] * (10**int (resolution))))
|
||||
_v = _v.rjust (int (length))
|
||||
ds += _v[len (_v) - int (length):]
|
||||
else:
|
||||
ds += '?' * length
|
||||
self.log (ds, 9)
|
||||
return ds
|
||||
|
||||
|
||||
def createmilkdataset (self, animalinfo, milkdata):
|
||||
"""
|
||||
@@ -168,7 +201,7 @@ class ADIS:
|
||||
retval = ""
|
||||
for ammount, time, mdate, starttime in milkdata:
|
||||
data = {'00900070': animalnr}
|
||||
data ['00800004'] = self.businessinfos ['businessid']
|
||||
data ['00800004'] = self.businessinfos ['00800004']
|
||||
data ['00800043'] = '9'
|
||||
data ['00900080'] = earmark
|
||||
data ['00800143'] = rfid
|
||||
@@ -210,9 +243,16 @@ def createlkv (businessinfos, animalinfos, milkdata):
|
||||
dh = adis.generated ('990001').replace ('DN', 'DH')
|
||||
retval += dh + "\n"
|
||||
|
||||
header = adis.createaheader (entities ['990001'])
|
||||
header = adis.createaheader ()
|
||||
retval += header + "\n" + "TN\n"
|
||||
|
||||
#Datendefinition und Daten Betriebsdaten am Prueftag generieren
|
||||
dd = adis.generated ('880001')
|
||||
retval += dd + "\n"
|
||||
|
||||
ds = adis.createbusinessinfos ()
|
||||
retval += ds + "\n"
|
||||
|
||||
#Datendefinition Melkungen generieren
|
||||
dd = adis.generated ('880022')
|
||||
retval += dd + "\n"
|
||||
@@ -234,6 +274,6 @@ 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 (businessinfos, animalinfos, milkdata)
|
||||
print (createlkv (businessinfos, animalinfos, milkdata))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user