添加功能
This commit is contained in:
@@ -764,13 +764,17 @@ class AppletAttendance(Controller):
|
||||
('meter_date', '<=', last_day_str)
|
||||
])
|
||||
|
||||
# 接口调整, 电表,水表数据拆分.
|
||||
# 先根据状态,再根据楼层
|
||||
|
||||
# 电表数据
|
||||
# 处理电表
|
||||
electric_result_dict = {}
|
||||
|
||||
# 处理电表
|
||||
for electric in electric_records:
|
||||
property_infos = electric.yuthon_property_ids if electric.yuthon_property_ids else [None]
|
||||
for property_info in property_infos:
|
||||
# 处理物业信息
|
||||
# 处理空物业信息的情况,所有关联字段设为空
|
||||
if property_info:
|
||||
building = property_info.property_building_id.name if property_info.property_building_id else ''
|
||||
floor = property_info.property_floor_id.name if property_info.property_floor_id else ''
|
||||
@@ -783,8 +787,7 @@ class AppletAttendance(Controller):
|
||||
room = ''
|
||||
address = ''
|
||||
employee_name = ''
|
||||
|
||||
# 构建电表数据
|
||||
state = electric.state
|
||||
electric_value = {
|
||||
'code': electric.name or '',
|
||||
'last_dosage': electric.last_dosage or 0,
|
||||
@@ -796,32 +799,39 @@ class AppletAttendance(Controller):
|
||||
'building': '天河商贸大厦',
|
||||
'floor': floor,
|
||||
'room': room,
|
||||
'epitope_values': electric.epitope_values,
|
||||
'unit_number': electric.unit_number,
|
||||
'epitope_values':electric.epitope_values,
|
||||
'unit_number':electric.unit_number,
|
||||
'state': electric.state, # 状态 reading unreading
|
||||
}
|
||||
|
||||
electric_result_dict.setdefault(building, {}).setdefault(floor, []).append(electric_value)
|
||||
electric_result_dict.setdefault(state, {}).setdefault(building,{}).setdefault(floor, []).append(electric_value)
|
||||
|
||||
# 整理电表结果
|
||||
electric_result = []
|
||||
for building, floor_dict in electric_result_dict.items():
|
||||
floor_list = []
|
||||
for floor, data_list in floor_dict.items():
|
||||
floor_list.append({
|
||||
'floor': floor,
|
||||
'data_list': data_list
|
||||
for state, building_dict in electric_result_dict.items():
|
||||
building_list = []
|
||||
for building, floor_dict in building_dict.items():
|
||||
floor_list = []
|
||||
for floor, data_list in floor_dict.items():
|
||||
floor_list.append({
|
||||
'floor': floor,
|
||||
'data_list': data_list
|
||||
})
|
||||
building_list.append({
|
||||
'building': building,
|
||||
'floor_list': floor_list
|
||||
})
|
||||
electric_result.append({
|
||||
'building': building,
|
||||
'floor_list': floor_list
|
||||
'state': state,
|
||||
'building_list': building_list
|
||||
})
|
||||
|
||||
# 处理水表
|
||||
water_result_dict = {}
|
||||
# 处理水表
|
||||
for water in water_records:
|
||||
property_infos = water.yuthon_property_ids if water.yuthon_property_ids else [None]
|
||||
|
||||
for property_info in property_infos:
|
||||
# 处理物业信息
|
||||
# 处理空物业信息的情况,所有关联字段设为空
|
||||
if property_info:
|
||||
building = property_info.property_building_id.name if property_info.property_building_id else ''
|
||||
floor = property_info.property_floor_id.name if property_info.property_floor_id else ''
|
||||
@@ -829,13 +839,12 @@ class AppletAttendance(Controller):
|
||||
address = property_info.name or ''
|
||||
employee_name = property_info.lessee_id.name if property_info.lessee_id else ''
|
||||
else:
|
||||
building = '天河商贸大厦'
|
||||
building = ''
|
||||
floor = ''
|
||||
room = ''
|
||||
address = ''
|
||||
employee_name = ''
|
||||
|
||||
# 构建水表数据(保留state字段但不用于分组)
|
||||
state = water.state
|
||||
water_value = {
|
||||
'code': water.name or '',
|
||||
'last_dosage': water.last_dosage or 0,
|
||||
@@ -844,26 +853,32 @@ class AppletAttendance(Controller):
|
||||
'meter_type': 'water',
|
||||
'employee_name': employee_name,
|
||||
'address': address,
|
||||
'building': '天河商贸大厦',
|
||||
'building': building,
|
||||
'floor': floor,
|
||||
'room': room,
|
||||
'epitope_values': water.epitope_values,
|
||||
'unit_number': water.unit_number,
|
||||
'epitope_values':water.epitope_values,
|
||||
'unit_number':water.unit_number,
|
||||
'state': water.state, # 状态 reading unreading
|
||||
}
|
||||
water_result_dict.setdefault(building, {}).setdefault(floor, []).append(water_value)
|
||||
water_result_dict.setdefault(state, {}).setdefault(building,{}).setdefault(floor, []).append(water_value)
|
||||
|
||||
# 整理水表结果
|
||||
water_result = []
|
||||
for building, floor_dict in water_result_dict.items():
|
||||
floor_list = []
|
||||
for floor, data_list in floor_dict.items():
|
||||
floor_list.append({
|
||||
'floor': floor,
|
||||
'data_list': data_list
|
||||
for state, building_dict in water_result_dict.items():
|
||||
building_list = []
|
||||
for building, floor_dict in building_dict.items():
|
||||
floor_list = []
|
||||
for floor, data_list in floor_dict.items():
|
||||
floor_list.append({
|
||||
'floor': floor,
|
||||
'data_list': data_list
|
||||
})
|
||||
building_list.append({
|
||||
'building': building,
|
||||
'floor_list': floor_list
|
||||
})
|
||||
water_result.append({
|
||||
'building': building,
|
||||
'floor_list': floor_list
|
||||
'state': state,
|
||||
'building_list': building_list
|
||||
})
|
||||
|
||||
# 按“楼盘->楼层”分组
|
||||
|
||||
@@ -167,6 +167,7 @@ class MeterArchivesLine(models.Model):
|
||||
is_push = fields.Boolean(string='已推送')
|
||||
archives_state = fields.Selection([('stop', '停用'), ('use', '正常'), ('rent', '出租')], string='状态',
|
||||
default='use')
|
||||
state = fields.Selection([('reading', '已抄'), ('unreading', '未抄')], string='抄表状态', default='unreading')
|
||||
maximum_count = fields.Integer(string='最大位数')
|
||||
|
||||
@api.depends('line_loss', 'current_meter', 'unit')
|
||||
|
||||
@@ -134,6 +134,7 @@ class MeterWaterLine(models.Model):
|
||||
line_loss = fields.Float(string="线损", default=0.02)
|
||||
end_time = fields.Date(string="拆除日期")
|
||||
water_state = fields.Selection([('stop', '停用'), ('use', '使用'), ('rent', '出租')], string='状态')
|
||||
state = fields.Selection([('reading', '已抄'), ('unreading', '未抄')], string='抄表状态', default='unreading')
|
||||
remarks = fields.Text(string='备注')
|
||||
employee_ids = fields.Many2many('hr.employee', string='抄表人')
|
||||
maximum_count = fields.Integer(string='最大位数')
|
||||
|
||||
Reference in New Issue
Block a user