tbl_space_input_item_hourly
数据为例,做了几个表的假数据tbl_spaces
tbl_meters
tbl_spaces_meters
tbl_equipments
tbl_spaces_equipments
tbl_equipment_input_item_hourly
tbl_space_input_item_hourly
在tbl_spaces
表里可以看到space_id=2,3是space_id =1的child space
注意此时最终被汇总的表里只有space_id=1的数据
在执行以下代码的时候,由于tbl_space_input_item_hourly
没有space_id=2,3的数据,所以rows_energy_values为none
由于rows_energy_values为none导致了energy_child_space_hourly这个字典只有key,value为none
由于energy_child_space_hourly
中的value为none,也就是energy_hourly
为none,导致了common_start_datetime_utc
和common_end_datetime_utc
都为none
common_start_datetime_utc
和common_end_datetime_utc
都为none 导致了汇总数据的时候,while循环一直进不去,也就是不会进行汇总
以上代码流程导致结果 :如果tbl_space_input_item_hourly
没有child space的数据,那么这个parent id的所有数据(包括meters,equipment等)都不会进行汇总
tbl_space_input_item_hourly
里没有child space的数据,那么parent id的所有数据都不进行汇总。仔细分析了您的问题,这是正常的功能,由于子空间2(一号楼),3(二号楼)能耗是否汇总(is_input_counted)属性都是true,那一定要等二者都有数据后才能计算上层空间数据,而且上层空间又直接绑定了设备和计量表,要等它们也算出数据,才最终汇总到上层空间1(MyEMS Headquarter),计算逻辑就是这样的。
感谢您的深入分析和讨论。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论