def extractLoad(db_url, list_data, var): if var == 0: loadConnection.execute(text('TRUNCATE teacher_rating_300;')) Session = sessionmaker(bind=loadConnection) session = Session() i = 0 updated_time = str(time_report) for line in list_data: d = Connection.dict2Object(line, Revenues()) d.updated_time = updated_time session.add(d) i += 1 if i > 0: session.commit() session.close() loadConnection.close()
# if start_time is None: # start_time = (int((int( # datetime.now().timestamp()) - 1578790800) / delay_scheduel)) * delay_scheduel + 1578790800 + config_time # else: # if start_time > int(datetime.now().timestamp()): # time.sleep(delay_time) # continue sql = text("select * from ht50_revenues") sqlMonth = text( "select r.CustomerCode as code,r.Role_PT as role_pt,r.Role_CS as role_cs,SUM(r.payment) as sums from dbo.Receivables r where r.DocDate>='2021-04-01' and r.DocDate<'2021-05-01' group by r.CustomerCode,r.Role_PT,r.Role_CS order by sums") data = extractConnection.execute(sql) mapObject = {} for line in data: d = Connection.dict2Object(line, Revenues()) d.updated_time = time_report mapObject[d.code] = d monthResult = loadConnection.execute(sqlMonth) for month in monthResult: if month.code in mapObject: object = mapObject[month.code] object.t4 = month.sums object.coin = object.coin + month.sums / 200000 if object.total > y2021(object): object.level = checkLevel(object.total) else: object.level = checkLevel(y2021(object)) object.updated_at = time_report object.role_pt = month.role_pt object.role_cs = month.role_cs