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
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()