コード例 #1
0
ファイル: tasks.py プロジェクト: jerrye24/vodomat
def data_to_table():
    lines = DataFromAvtomat.objects.filter(flag=False)
    for line in lines:
        string_from_avtomat = line.line
        time = line.time
        if len(string_from_avtomat) == 38:
            data = parsing_line38(string_from_avtomat)
            if data == 'error':
                continue
        elif len(string_from_avtomat) == 48:
            data = parsing_line48(string_from_avtomat)
            if data == 'error':
                continue
        try:
            avtomat = Avtomat.objects.get(number=data['number'])
        except Avtomat.DoesNotExist:
            avtomat = Avtomat(number=data['number'])
            avtomat.save()
        try:
            status = Status.objects.get(avtomat=avtomat)
        except Status.DoesNotExist:
            status = Status(avtomat=avtomat, time=time)
        if len(string_from_avtomat) == 48 and status.grn == data['grn']:
            status.ev_bill_time += int((time - status.time).total_seconds() / 60)
        else:
            status.ev_bill_time = 0
        if len(string_from_avtomat) == 48 and status.kop == data['kop']:
            status.ev_coin_time += int((time - status.time).total_seconds() / 60)
        else:
            status.ev_coin_time = 0
        status.time = time
        status.how_money = data['how_money']
        status.water_balance = data['water_balance']
        status.water_price = data['water_price']
        status.ev_water = data['ev_water']
        status.ev_bill = data['ev_bill']
        status.ev_volt = data['ev_volt']
        status.ev_counter_water = data['ev_counter_water']
        status.event = data['event']
        status.ev_register = data['ev_register']
        status.grn = data['grn']
        status.kop = data['kop']
        status.time_to_block = data['time_to_block']
        status.save()
        Statistic(avtomat=avtomat, time=time, water_balance=data['water_balance'], how_money=data['how_money'],
                  water_price=data['water_price'], ev_water=data['ev_water'], ev_bill=data['ev_bill'],
                  ev_volt=data['ev_volt'], ev_counter_water=data['ev_counter_water'], ev_register=data['ev_register'],
                  grn=data['grn'], kop=data['kop'], event=data['event']).save(force_insert=True)
        if data['event'] == 3:
            Collection(avtomat=avtomat, how_money=data['how_money'], time=time, time_in_message=data['time_in_message']).save(force_insert=True)
        line.delete()
コード例 #2
0
ファイル: tasks.py プロジェクト: jerrye24/vodomat
def data_to_table():
    lines = DataFromAvtomat.objects.filter(flag=False)
    for line in lines:
        string_from_avtomat = line.line
        time = line.time
        if len(string_from_avtomat) == 38:
            data = parsing_line38(string_from_avtomat)
            if data == 'error':
                continue
        elif len(string_from_avtomat) == 48:
            data = parsing_line48(string_from_avtomat)
            if data == 'error':
                continue
        try:
            avtomat = Avtomat.objects.get(number=data['number'])
        except Avtomat.DoesNotExist:
            avtomat = Avtomat(number=data['number'])
            avtomat.save()
        try:
            status = Status.objects.get(avtomat=avtomat)
        except Status.DoesNotExist:
            status = Status(avtomat=avtomat, time=time)
        if len(string_from_avtomat) == 48 and status.grn == data['grn']:
            status.ev_bill_time += int(
                (time - status.time).total_seconds() / 60)
        else:
            status.ev_bill_time = 0
        if len(string_from_avtomat) == 48 and status.kop == data['kop']:
            status.ev_coin_time += int(
                (time - status.time).total_seconds() / 60)
        else:
            status.ev_coin_time = 0
        status.time = time
        status.how_money = data['how_money']
        status.water_balance = data['water_balance']
        status.water_price = data['water_price']
        status.ev_water = data['ev_water']
        status.ev_bill = data['ev_bill']
        status.ev_volt = data['ev_volt']
        status.ev_counter_water = data['ev_counter_water']
        status.event = data['event']
        status.ev_register = data['ev_register']
        status.grn = data['grn']
        status.kop = data['kop']
        status.time_to_block = data['time_to_block']
        status.save()
        Statistic(avtomat=avtomat,
                  time=time,
                  water_balance=data['water_balance'],
                  how_money=data['how_money'],
                  water_price=data['water_price'],
                  ev_water=data['ev_water'],
                  ev_bill=data['ev_bill'],
                  ev_volt=data['ev_volt'],
                  ev_counter_water=data['ev_counter_water'],
                  ev_register=data['ev_register'],
                  grn=data['grn'],
                  kop=data['kop'],
                  event=data['event']).save(force_insert=True)
        if data['event'] == 3:
            Collection(avtomat=avtomat,
                       how_money=data['how_money'],
                       time=time,
                       time_in_message=data['time_in_message']).save(
                           force_insert=True)
        line.delete()