DmprwdUtil.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. from MyUtils.HttpRequestsUtil import *
  2. url = "https://doimp.persagy.com/"
  3. energyId_path = "energy-research/common/api/energy/model/project/list"
  4. rwdId_path = "energy-research/common/api/multi/energy/model/item/list"
  5. query_data = "dmp-rwd/rwd/ipcal/data/queryIPDataInPeriod?groupCode=%s&projectId=%s"
  6. #1.获取项目属于哪个集团,这里博锐属于散楼,groupCode=YS
  7. #2.获取项目能耗模型id,根据以上energyId_path获取id,id=1000001
  8. #3.获取分项树形结构,根据rwdId_path路径和能耗分项item获取rwdId,
  9. # {itemName:博锐尚格总电耗,itemCode:EI1001,rwdId:Vo1101080259f2481ca3604644399f1dacb84e20adae},
  10. # {itemName:照明与插座,itemCode:EI1010202001,rwdId:Vo110108025953894df8d4ae4dbeb7c81ced7df3f83e},
  11. # {itemName:空调末端,itemCode:EI10102010102001,rwdId:Vo11010802590eaef68d3289452d86d89fbee721e6df},
  12. # {itemName:冷热源,itemCode:EI10102010101001,rwdId:Vo1101080259e6dcf338d9be4bbf826f659b0b5a9ab2},
  13. #4.获取数据,根据以上query_data路径和rwdId获取数据
  14. # data_url = url + query_data%(groupcode,projectId)
  15. def get_query_data(startTime,endTime,groupcode, projectId,energy_total,energy_light,energy_cooling,energy_heating,energy_ac_termial):
  16. payload = {
  17. "objects": [
  18. {
  19. "objectId": energy_total,
  20. "infoCodes": [
  21. "subentryAccConsum"
  22. ]
  23. },
  24. {
  25. "objectId": energy_light,
  26. "infoCodes": [
  27. "subentryAccConsum"
  28. ]
  29. },
  30. {
  31. "objectId": energy_cooling,
  32. "infoCodes": [
  33. "subentryAccConsum"
  34. ]
  35. },
  36. {
  37. "objectId": energy_heating,
  38. "infoCodes": [
  39. "subentryAccConsum"
  40. ]
  41. },
  42. {
  43. "objectId": energy_ac_termial,
  44. "infoCodes": [
  45. "subentryAccConsum"
  46. ]
  47. }
  48. ],
  49. "ipType": "1d",
  50. "startTime": startTime,
  51. "endTime": endTime,
  52. "dataStatus": 1
  53. }
  54. headers = {
  55. 'Content-Type': 'application/json'
  56. }
  57. data_url = url + query_data % (groupcode, projectId)
  58. res = HttpRequestsUtil.post(data_url,payload,headers)
  59. data = res["data"]
  60. return data
  61. if __name__ == '__main__':
  62. energy_total = "Vo1101020007a9759e6a1550441dbb4a1bbdf9618a26"
  63. energy_light = "Vo1101020007c5357269d8ea4781848a06f12db1d550"
  64. energy_ac_termial = "Vo110102000768126c407f194cb69bdd39b50dfaaa4a"
  65. energy_cooling = ""
  66. energy_heating = ""
  67. groupcode="YS"
  68. projectId="Pj1101020007"
  69. data = get_query_data("20230725000000","20230726000000",groupcode, projectId,energy_total,energy_light,energy_cooling,energy_heating,energy_ac_termial)
  70. for i in data:
  71. print(i)