def CreateAreaFromWells(new_route_name, well_list, Update_User): from Model import ModelLayer as m from Model import QueryFile as qf from Model import BPXDatabase as bpx from datetime import datetime import pandas as pd Success = True Messages = [] try: WellQuery = qf.EDWKeyQueryFromWellName(well_list) obj = bpx.GetDBEnvironment('ProdEDW', 'OVERRIDE') wells, wells_df = obj.Query(WellQuery) for idx, well in wells_df.iterrows(): WellName = well['WellName'] corpID = well['CorpID'] AggregateRowObj = m.AreaAggregationRow(new_route_name, WellName, corpID, '') Row_Success, Message = AggregateRowObj.Write( Update_User, datetime.now()) if not Row_Success: Messages.append(Message) except Exception as ex: Success = False Messages.append( 'Error during the creation of the area from well list. ' + str(ex)) return Success, Messages
def CreateAreaWellsFromRoute(new_route_name, db_route_name, Update_User): from Model import ModelLayer as m from Model import QueryFile as qf from Model import BPXDatabase as bpx from datetime import datetime import pandas as pd Success = True Messages = [] try: ODSObj = bpx.GetDBEnvironment('ProdODS', 'OVERRIDE') EDWObj = bpx.GetDBEnvironment('ProdEDW', 'OVERRIDE') query = qf.RouteQuery([db_route_name]) results = ODSObj.Query(query) for idx, row in results[1].iterrows(): wellflac_query = qf.EDWKeyQueryFromWellFlac([row['wellflac']]) corpIDres = EDWObj.Query(wellflac_query) if not corpIDres[1].empty: corpID = corpIDres[1]['CorpID'].iloc[0] AggregateRowObj = m.AreaAggregationRow(new_route_name, row['name'], corpID, '') Row_Success, Message = AggregateRowObj.Write( Update_User, datetime.now()) if not Row_Success: Messages.append(Message) else: Messages.append('Missing well entry in key database EDW: ' + row['name']) except Exception as ex: Success = False Messages.append( 'Error during Area Aggegation interface from Enbase. ' + str(ex)) return Success, Messages