diff --git a/yuthon_report/models/hydropower_report.py b/yuthon_report/models/hydropower_report.py
index 40d5e0112..70bb598a8 100644
--- a/yuthon_report/models/hydropower_report.py
+++ b/yuthon_report/models/hydropower_report.py
@@ -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)
diff --git a/yuthon_salary/views/yuthon_meal_expenses_views.xml b/yuthon_salary/views/yuthon_meal_expenses_views.xml
index 26a154c58..13f5b6f8d 100644
--- a/yuthon_salary/views/yuthon_meal_expenses_views.xml
+++ b/yuthon_salary/views/yuthon_meal_expenses_views.xml
@@ -55,7 +55,7 @@
-
+