from MyUtils.HttpRequestsUtil import * url = "https://doimp.persagy.com/" energyId_path = "energy-research/common/api/energy/model/project/list" rwdId_path = "energy-research/common/api/multi/energy/model/item/list" query_data = "dmp-rwd/rwd/ipcal/data/queryIPDataInPeriod?groupCode=%s&projectId=%s" #1.获取项目属于哪个集团,这里博锐属于散楼,groupCode=YS #2.获取项目能耗模型id,根据以上energyId_path获取id,id=1000001 #3.获取分项树形结构,根据rwdId_path路径和能耗分项item获取rwdId, # {itemName:博锐尚格总电耗,itemCode:EI1001,rwdId:Vo1101080259f2481ca3604644399f1dacb84e20adae}, # {itemName:照明与插座,itemCode:EI1010202001,rwdId:Vo110108025953894df8d4ae4dbeb7c81ced7df3f83e}, # {itemName:空调末端,itemCode:EI10102010102001,rwdId:Vo11010802590eaef68d3289452d86d89fbee721e6df}, # {itemName:冷热源,itemCode:EI10102010101001,rwdId:Vo1101080259e6dcf338d9be4bbf826f659b0b5a9ab2}, #4.获取数据,根据以上query_data路径和rwdId获取数据 # data_url = url + query_data%(groupcode,projectId) def get_query_data(startTime,endTime,groupcode, projectId,energy_total,energy_light,energy_cooling,energy_heating,energy_ac_termial): payload = { "objects": [ { "objectId": energy_total, "infoCodes": [ "subentryAccConsum" ] }, { "objectId": energy_light, "infoCodes": [ "subentryAccConsum" ] }, { "objectId": energy_cooling, "infoCodes": [ "subentryAccConsum" ] }, { "objectId": energy_heating, "infoCodes": [ "subentryAccConsum" ] }, { "objectId": energy_ac_termial, "infoCodes": [ "subentryAccConsum" ] } ], "ipType": "1d", "startTime": startTime, "endTime": endTime, "dataStatus": 1 } headers = { 'Content-Type': 'application/json' } data_url = url + query_data % (groupcode, projectId) res = HttpRequestsUtil.post(data_url,payload,headers) data = res["data"] return data if __name__ == '__main__': energy_total = "Vo1101020007a9759e6a1550441dbb4a1bbdf9618a26" energy_light = "Vo1101020007c5357269d8ea4781848a06f12db1d550" energy_ac_termial = "Vo110102000768126c407f194cb69bdd39b50dfaaa4a" energy_cooling = "" energy_heating = "" groupcode="YS" projectId="Pj1101020007" data = get_query_data("20230725000000","20230726000000",groupcode, projectId,energy_total,energy_light,energy_cooling,energy_heating,energy_ac_termial) for i in data: print(i)