设备维保计划

This commit is contained in:
qihao.gong@jikimo.com
2023-06-26 17:32:56 +08:00
parent 8b227d9ac9
commit cf91ef5604
6 changed files with 109 additions and 50 deletions

View File

@@ -1,3 +1,4 @@
# -*-coding:utf-8-*-
from . import sf_maintenance
from . import sf_equipment_maintenance_standards
from . import sf_equipment_maintenance_standards
from . import sf_maintenance_requests

View File

@@ -23,6 +23,6 @@ class SfEquipmentSaintenanceStandards(models.Model):
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', 'equipment_maintenance_standards_ids', string='设备')
maintenance_equipment_ids = fields.Many2many('maintenance.equipment', 'sf_maintenance_equipment_ids', string='设备')
maintenance_projects = fields.Char('维保项目')
maintenance_standards = fields.Char('维保标准')

View File

@@ -33,7 +33,7 @@ class SfMaintenanceEquipment(models.Model):
num = "%04d" % m
return num
equipment_maintenance_standards_ids = fields.Many2many('equipment.maintenance.standards', 'maintenance_equipment_ids', string='设备维保标准')
equipment_maintenance_standards_ids = fields.Many2many('equipment.maintenance.standards', 'sf_maintenance_equipment_ids', string='设备维保标准')
eq_maintenance_id =fields.Many2one('equipment.maintenance.standards', string='设备保养标准', domain="[('maintenance_type','=','保养')]")
overhaul_date = fields.Date(string='下次预防检修')
overhaul_period = fields.Integer(string='预防检修频次')
@@ -41,17 +41,21 @@ class SfMaintenanceEquipment(models.Model):
overhaul_id = fields.Many2one('equipment.maintenance.standards', string='设备检修标准', domain="[('maintenance_type','=','检修')]")
# @api.depends('eq_maintenance_id', 'overhaul_id')
# def _compute_equipment_maintenance_standards_ids(self):
# for record in self:
# if record.eq_maintenance_id == False:
# record.equipment_maintenance_standards_ids = [
# (6, 0, [record.overhaul_id.id]),(3,record.eq_maintenance_id.id,0)]
# if record.overhaul_id == False:
# record.equipment_maintenance_standards_ids = [
# (6, 0, [record.eq_maintenance_id.id]),(3,record.overhaul_id.id,0)]
# else:
# record.equipment_maintenance_standards_ids = [(6, 0, [record.eq_maintenance_id.id, record.overhaul_id.id])]
@api.onchange('eq_maintenance_id', 'overhaul_id')
def _compute_equipment_maintenance_standards_ids(self):
for record in self:
if record.eq_maintenance_id and record.overhaul_id:
record.equipment_maintenance_standards_ids = [(6, 0, [record.eq_maintenance_id.id, record.overhaul_id.id])]
break
if record.eq_maintenance_id:
record.equipment_maintenance_standards_ids = [(6, 0, [record.eq_maintenance_id.id])]
break
if record.overhaul_id:
record.equipment_maintenance_standards_ids = [(6, 0, [record.overhaul_id.id])]
break
else:
record.equipment_maintenance_standards_ids = False
MTcode = fields.Char("编码", default=get_no)

View File

@@ -9,5 +9,20 @@ 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:
raise UserError(_("设备没有配置维保标准,请配置后再保存"))