调整接口
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user