水电表,按钮

This commit is contained in:
李鹏宇
2026-03-18 16:20:56 +08:00
parent 388e5b7d6a
commit def4f78502
2 changed files with 38 additions and 7 deletions
+37 -6
View File
@@ -49,13 +49,21 @@ class HydropowerReport(models.Model):
'房屋名称': property_id.name,
'业户名称': property_id.lessee_id.name if property_id.lessee_id else '',
'水费': 0.0,
'水费期间': '',
'_water_last_meter': None,
'_water_meter_date': None,
'电费': 0.0,
'电费期间': '',
'_electric_last_meter': None,
'_electric_meter_date': None,
'小计': 0.0
}
property_dict[key]['水费'] += water.receivables
property_dict[key]['水费期间'] = f"{start_date}到{end_date}"
# 记录最早 last_meter 和最晚 meter_date
if water.last_meter:
if property_dict[key]['_water_last_meter'] is None or water.last_meter < property_dict[key]['_water_last_meter']:
property_dict[key]['_water_last_meter'] = water.last_meter
if water.meter_date:
if property_dict[key]['_water_meter_date'] is None or water.meter_date > property_dict[key]['_water_meter_date']:
property_dict[key]['_water_meter_date'] = water.meter_date
for electric in electric_data:
for property_id in electric.yuthon_property_ids:
@@ -65,18 +73,41 @@ class HydropowerReport(models.Model):
'房屋名称': property_id.name,
'业户名称': property_id.lessee_id.name if property_id.lessee_id else '',
'水费': 0.0,
'水费期间': '',
'_water_last_meter': None,
'_water_meter_date': None,
'电费': 0.0,
'电费期间': '',
'_electric_last_meter': None,
'_electric_meter_date': None,
'小计': 0.0
}
property_dict[key]['电费'] += electric.receivables
property_dict[key]['电费期间'] = f"{start_date}到{end_date}"
# 记录最早 last_meter 和最晚 meter_date
if electric.last_meter:
if property_dict[key]['_electric_last_meter'] is None or electric.last_meter < property_dict[key]['_electric_last_meter']:
property_dict[key]['_electric_last_meter'] = electric.last_meter
if electric.meter_date:
if property_dict[key]['_electric_meter_date'] is None or electric.meter_date > property_dict[key]['_electric_meter_date']:
property_dict[key]['_electric_meter_date'] = electric.meter_date
rows = []
total_water = 0.0
total_electric = 0.0
for idx, (key, value) in enumerate(property_dict.items(), start=1):
# 拼装水费期间:最早 last_meter 到 最晚 meter_date
w_last = value.pop('_water_last_meter')
w_curr = value.pop('_water_meter_date')
if w_last and w_curr:
value['水费期间'] = f"{w_last}到{w_curr}"
else:
value['水费期间'] = ''
# 拼装电费期间
e_last = value.pop('_electric_last_meter')
e_curr = value.pop('_electric_meter_date')
if e_last and e_curr:
value['电费期间'] = f"{e_last}到{e_curr}"
else:
value['电费期间'] = ''
value['小计'] = round(value['水费'] + value['电费'], 2)
value['水费'] = round(value['水费'], 2)
value['电费'] = round(value['电费'], 2)