Files
jikimo_sf/sf_maintenance/models/sf_maintenance_requests.py
2023-11-01 17:33:50 +08:00

46 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
import base64
from odoo import api, fields, models, SUPERUSER_ID, _
from odoo.exceptions import UserError
class SfMaintenanceEquipmentCategory(models.Model):
_inherit = 'maintenance.request'
_description = '维保计划'
sf_maintenance_type = fields.Selection([('保养', '保养'), ('检修', '检修')], string='维保类别', default='保养')
equipment_maintenance_id = fields.Many2one('equipment.maintenance.standards', string='设备维保标准',
domain="[('maintenance_type','=',sf_maintenance_type)]")
@api.onchange('sf_maintenance_type')
def _compute_equipment_maintenance_request_id(self):
for record in self:
if record.sf_maintenance_type == '保养':
record.equipment_maintenance_id = record.equipment_id.eq_maintenance_id
if record.sf_maintenance_type == '检修':
record.equipment_maintenance_id = record.equipment_id.overhaul_id
if not record.equipment_maintenance_id:
record.equipment_maintenance_id = False
maintenance_standards = fields.Many2many('maintenance.standards', string='维保项目')
@api.constrains('equipment_maintenance_id')
def _check_equipment_maintenance_id(self):
for record in self:
if not record.equipment_maintenance_id:
raise UserError(_("设备维保标准不能为空,请选择后再保存"))
def confirm_maintenance(self):
self.write({'stage_id': 2})
def confirm_maintenance_done(self):
self.write({'stage_id': 3})