添加功能
This commit is contained in:
@@ -132,4 +132,105 @@ class EleWaterReading(Controller):
|
||||
'message': 'OK',
|
||||
}
|
||||
_logger.info("-----------------测试成功----------------")
|
||||
return json.dumps(return_data)
|
||||
return json.dumps(return_data)
|
||||
|
||||
@route('/yuthon/meter/reading', methods=['POST'], type='json', auth='none', csrf=False)
|
||||
def yuthon_meter_reading(self, **kw):
|
||||
"""
|
||||
水电表抄表
|
||||
:return:
|
||||
{
|
||||
'code': 编号,
|
||||
'property_id': '物业地址'
|
||||
'contract_id': '合同'
|
||||
'lessee_id': '承租方'
|
||||
'last_dosage': '上次用量',
|
||||
'current_meter': '本次用量',
|
||||
'dosage': '用量',
|
||||
'employee_list': [抄表人姓名],
|
||||
'meter_type': '抄表类型(电表或水表)',
|
||||
}
|
||||
"""
|
||||
electric_records = request.env['property.electric.reading'].search([('reading_type', '=', '待抄')])
|
||||
water_records = request.env['property.water.reading'].search([('reading_type', '=', '待抄')])
|
||||
result_list = []
|
||||
# 处理电表记录
|
||||
for record in electric_records:
|
||||
employee_names = [emp.name for emp in record.employee_ids]
|
||||
employee_list = ", ".join(employee_names)
|
||||
|
||||
record_data = {
|
||||
'code': record.property_id.code,
|
||||
'property_id': record.property_id.name,
|
||||
'contract_id': record.contract_id.name,
|
||||
'lessee_id': record.contract_id.lessee_id.name,
|
||||
'last_dosage': record.last_dosage,
|
||||
'current_meter': record.current_meter,
|
||||
'dosage': record.dosage,
|
||||
'employee_list': employee_list,
|
||||
'meter_type': 'electric', # 添加仪表类型
|
||||
}
|
||||
result_list.append(record_data)
|
||||
|
||||
# 处理水表记录
|
||||
for record in water_records:
|
||||
employee_names = [emp.name for emp in record.employee_ids]
|
||||
employee_list = ", ".join(employee_names)
|
||||
|
||||
record_data = {
|
||||
'code': record.property_id.code,
|
||||
'property_id': record.property_id.name,
|
||||
'contract_id': record.contract_id.name,
|
||||
'lessee_id': record.contract_id.lessee_id.name,
|
||||
'last_dosage': record.last_dosage,
|
||||
'current_meter': record.current_meter,
|
||||
'dosage': record.dosage,
|
||||
'employee_list': employee_list,
|
||||
'meter_type': 'water',
|
||||
}
|
||||
result_list.append(record_data)
|
||||
|
||||
return_data = {
|
||||
'data': result_list,
|
||||
'code': '200',
|
||||
'message': 'OK',
|
||||
}
|
||||
return json.dumps(return_data)
|
||||
|
||||
@route('/yuthon/meter/dosage', methods=['POST'], type='json', auth='none', csrf=False)
|
||||
def yuthon_meter_dosage(self, **kw):
|
||||
"""
|
||||
更新仪表用量
|
||||
:param code: 编号
|
||||
:param dosage: 用量
|
||||
:param meter_type: 仪表类型
|
||||
"""
|
||||
code = kw.get('code') # 编号
|
||||
dosage = kw.get('dosage') # 用量
|
||||
meter_type = kw.get('meter_type')
|
||||
if meter_type == 'electric':
|
||||
model_name = 'property.electric.reading'
|
||||
meter_type_name = '电表'
|
||||
elif meter_type == 'water':
|
||||
model_name = 'property.water.reading'
|
||||
meter_type_name = '水表'
|
||||
else:
|
||||
return json.dumps({
|
||||
'data': {},
|
||||
'code': '400',
|
||||
'message': f"不支持的仪表类型: {meter_type}"
|
||||
})
|
||||
record = request.env[model_name].search([('code', '=', code)], limit=1)
|
||||
if record:
|
||||
record.write({'dosage': dosage})
|
||||
message = f"成功更新{meter_type_name}用量: {code}"
|
||||
else:
|
||||
message = f"未找到{meter_type_name}记录: {code}"
|
||||
|
||||
return_data = {
|
||||
'data': {},
|
||||
'code': '200',
|
||||
'message': message,
|
||||
}
|
||||
_logger.info(message)
|
||||
return json.dumps(return_data)
|
||||
Reference in New Issue
Block a user