Files
jikimo_sf/sf_maintenance/models/sf_equipment_maintenance_standards.py
2023-08-25 11:10:28 +08:00

73 lines
3.0 KiB
Python

# -*-coding:utf-8-*-
from odoo import api, fields, models, SUPERUSER_ID, _
from odoo.exceptions import UserError
class SfEquipmentSaintenanceStandards(models.Model):
_name = 'equipment.maintenance.standards'
_description = '设备维保标准'
def get_no(self):
partner = self.env['equipment.maintenance.standards'].sudo().search(
[('code', '!=', '')],
limit=1,
order="id desc")
if not partner:
num = "%04d" % 1
else:
m = int(partner.code) + 1
num = "%04d" % m
return num
code = fields.Char(string='编码', default=get_no)
maintenance_type = fields.Selection([('保养', '保养'), ("检修", "检修")], string='类型', default='保养')
name = fields.Char(string='名称')
created_user_id = fields.Many2one('res.users', string='创建人', default=lambda self: self.env.user)
maintenance_equipment_category_id = fields.Many2one('maintenance.equipment.category', string='设备类别')
maintenance_equipment_ids = fields.Many2many(
'maintenance.equipment',
'sf_maintenance_equipment_ids',
string='设备',
domain="[('category_id', '=', maintenance_equipment_category_id)]"
)
maintenance_standards_ids = fields.One2many('maintenance.standards', 'equipment_maintenance_standards_id', string='维保项目')
eq_maintenance_ids = fields.One2many('maintenance.equipment', 'eq_maintenance_id', string='保养设备')
overhaul_ids = fields.One2many('maintenance.equipment', 'overhaul_id', string='检修设备')
@api.onchange('maintenance_equipment_ids')
def onchange_maintenance_equipment_ids(self):
for record in self:
if record.maintenance_type == '保养':
record.write({'eq_maintenance_ids': [(6, 0, record.maintenance_equipment_ids.ids)]})
if record.maintenance_type == '检修':
record.write({'overhaul_ids': [(6, 0, record.maintenance_equipment_ids.ids)]})
@api.onchange("maintenance_standards_ids")
def _reset_work_order_sequence(self):
for rec in self:
current_sequence = 1
for work in rec.maintenance_standards_ids:
work.sequence = current_sequence
current_sequence += 1
class SfSaintenanceStandards(models.Model):
_name = 'maintenance.standards'
_description = '维保项目'
name = fields.Char('维保项目')
maintenance_standards = fields.Char('维保标准')
equipment_maintenance_standards_id = fields.Many2one('equipment.maintenance.standards', string='设备维保标准')
maintenance_request_id = fields.Many2one('maintenance.request', string='设备维保计划')
images = fields.One2many('maintenance.standard.image', 'standard_id', string='反馈图片')
class MaintenanceStandardImage(models.Model):
_name = 'maintenance.standard.image'
image = fields.Binary(string='维保图片')
standard_id = fields.Many2one('maintenance.standards', string='Standard')