调整接口

This commit is contained in:
sunjie
2025-10-06 01:01:19 +08:00
parent dacf052740
commit 0965c92fc4
@@ -889,6 +889,87 @@ class AppletAttendance(Controller):
'water': water_result,
})
# 获取楼层列表
@route('/yuthon/meter/reading/floor', methods=['POST'], type='http', auth='none', cors='*', csrf=False)
def yuthon_meter_reading_floor(self, **kw):
'''
获取楼层列表
'''
result = request.env['yuthon.epitope.values'].sudo().search_read( [], fields=['name','type'])
return json.dumps(result)
# 根据楼层,状态(reading, unreading) 类型, 获取 列表数据
@route('/yuthon/meter/reading/list', methods=['POST'], type='http', auth='none', cors='*', csrf=False)
def yuthon_meter_reading_list(self, **kw):
reading_state = kw.get('state')
type = kw.get('type')
floor_id = int(kw.get('floor_id'))
today = datetime.now()
first_day = today.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
last_day = (today.replace(day=1) + timedelta(days=32)).replace(day=1) - timedelta(days=1)
last_day = last_day.replace(hour=23, minute=59, second=59, microsecond=999999)
first_day_str = first_day.strftime('%Y-%m-%d')
last_day_str = last_day.strftime('%Y-%m-%d')
domain = [('state', '=', reading_state),
('epitope_values_id', '=', floor_id),
('meter_date', '>=', first_day_str),
('meter_date', '<=', last_day_str) ]
if type == 'electric':
domain.append( ('archives_state', '!=', 'stop'))
model = 'meter.archives.line'
else:
domain.append(('water_state', '!=', 'stop'))
model = 'meter.water.line'
print(domain)
records = request.env[model].sudo().search(domain)
result = []
for record in records:
property_infos = record.yuthon_property_ids if record.yuthon_property_ids else [None]
for property_info in property_infos:
# 处理空物业信息的情况,所有关联字段设为空
if property_info:
building = '天河商贸大厦'
floor = record.epitope_values_id.name if record.epitope_values_id else ''
room = property_info.units or ''
address = property_info.name or ''
employee_name = property_info.lessee_id.name if property_info.lessee_id else ''
else:
building = '天河商贸大厦'
floor = record.epitope_values_id.name if record.epitope_values_id else ''
room = ''
address = ''
employee_name = ''
state = record.state
tvalue = {
'id': record.id,
'code': record.water_id.name if type == 'water' else record.archives_id.name,
'last_dosage': record.last_dosage or 0,
'mater_data': str(record.meter_date) if record.meter_date else '',
'last_mater_data': str(record.last_meter) if record.last_meter else '',
'meter_type': state,
'employee_name': employee_name,
'address': address,
'building': building,
'floor': floor,
'room': room,
'epitope_values':record.epitope_values_id.name,
'unit_number':record.unit_number,
'state': record.state, # 状态 reading unreading
'last_read': record.last_read,
}
result.append(tvalue)
return json.dumps(result)
@route('/yuthon/meter/dosage', methods=['POST'], type='http', auth='none', cors='*', csrf=False)
def yuthon_meter_dosage(self, **kw):
"""
@@ -1020,6 +1101,7 @@ class AppletAttendance(Controller):
'code': '200',
'message': '成功'
})
@route('/yuthon/wifi/message/create', methods=['POST'], type='http', auth='none', cors='*', csrf=False)
def yuthon_wifi_message_create(self, **kwargs):
# mac, name, bssid, company_id