Пример #1
0
 def create_ovr(self, numero):
     ovr = OVR()
     ovr.numero = numero
     self.db_session.add(ovr)
     self.db_session.commit()
     self.db_session.refresh(ovr)
     return ovr
Пример #2
0
def processa_fma(session, fma: dict):
    ovr = session.query(OVR).filter(OVR.numero == fma['Numero_FMA']).filter(
        OVR.recinto_id == int(fma['Cod_Recinto'])).filter(
            OVR.ano == fma['Ano_FMA']).first()
    if ovr is not None:
        logger.info('FMA %s - %s já existente, pulando... ' %
                    (fma['Cod_Recinto'], fma['Numero_FMA']))
        return
    ovr = OVR()
    ovr.numero = fma['Numero_FMA']
    ovr.ano = fma['Ano_FMA']
    try:
        ovr.datahora = datetime.strptime(fma['Data_Emissao'], '%Y-%m-%d')
    except Exception as err:
        print(err)
        ovr.datahora = datetime.now()
    try:
        ovr.dataentrada = datetime.strptime(fma['Data_Entrada_Recinto'],
                                            '%Y-%m-%d')
    except Exception as err:
        print(err)
        ovr.dataentrada = ovr.datahora - timedelta(days=90)
    ovr.recinto_id = int(fma['Cod_Recinto'])
    ovr.setor_id = 4  # EQMAB
    ovr.numeroCEmercante = fma['CE_Mercante']
    try:
        conhecimento = get_conhecimento(session, ovr.numeroCEmercante)
        if conhecimento:
            ovr.cnpj_fiscalizado = conhecimento.consignatario
    except Exception as err:
        logger.error(str(err), exc_info=True)
    ovr.tipooperacao = 0
    ovr.fase = 0
    ovr.tipoevento_id = 30
    try:
        session.add(ovr)
        logger.info('Inserindo OVR Recinto %s Numero %s ' %
                    (fma['Cod_Recinto'], fma['Numero_FMA']))
        session.commit()
    except Exception as err:
        print(err)
        session.rollback()