init model calibrations
This commit is contained in:
parent
5c857d8a9e
commit
9981598350
@ -1,7 +1,7 @@
|
|||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from trytond.pool import Pool
|
from trytond.pool import Pool
|
||||||
from trytond.model import (
|
from trytond.model import (
|
||||||
Workflow, ModelSQL, ModelView, Unique, fields)
|
DeactivableMixin, Workflow, ModelSQL, ModelView, Unique, fields)
|
||||||
from trytond.pyson import Eval, If
|
from trytond.pyson import Eval, If
|
||||||
from trytond.transaction import Transaction
|
from trytond.transaction import Transaction
|
||||||
from trytond.i18n import gettext
|
from trytond.i18n import gettext
|
||||||
@ -11,7 +11,7 @@ from trytond.exceptions import UserError
|
|||||||
_MAINTENANCE_FREQUENCY = [("none", ''),
|
_MAINTENANCE_FREQUENCY = [("none", ''),
|
||||||
("6", 'Seis Meses'),
|
("6", 'Seis Meses'),
|
||||||
("12", 'Doce Meses')]
|
("12", 'Doce Meses')]
|
||||||
class OpticalEquipment(Workflow, ModelSQL, ModelView):
|
class OpticalEquipment(DeactivableMixin, Workflow, ModelSQL, ModelView):
|
||||||
'Optical Equipment'
|
'Optical Equipment'
|
||||||
__name__ = 'optical_equipment.equipment'
|
__name__ = 'optical_equipment.equipment'
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@ from trytond.model import (
|
|||||||
from trytond.transaction import Transaction
|
from trytond.transaction import Transaction
|
||||||
from trytond.pyson import Eval, If
|
from trytond.pyson import Eval, If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Maintenance(Workflow, ModelSQL, ModelView):
|
class Maintenance(Workflow, ModelSQL, ModelView):
|
||||||
'Equipment Maintenance'
|
'Equipment Maintenance'
|
||||||
__name__ = 'optical_equipment.maintenance'
|
__name__ = 'optical_equipment.maintenance'
|
||||||
@ -14,11 +16,13 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
|||||||
maintenance_type = fields.Selection([('preventive', 'Preventive'),
|
maintenance_type = fields.Selection([('preventive', 'Preventive'),
|
||||||
('corrective', 'Corrective')
|
('corrective', 'Corrective')
|
||||||
], "Maintenance Type")
|
], "Maintenance Type")
|
||||||
state = fields.Selection([
|
|
||||||
('draft', "Draft"),
|
state = fields.Selection([('draft', "Draft"),
|
||||||
('agended', "Agended"),
|
('agended', "Agended"),
|
||||||
('in_progress', "In Progress")
|
('in_progress', "In Progress"),
|
||||||
], "State",required=True, readonly=True, sort=False)
|
('failed', "Failed"),
|
||||||
|
('finished', "Finished")
|
||||||
|
], "State",required=True, readonly=True, sort=False)
|
||||||
|
|
||||||
company = fields.Many2One('company.company', "Company", readonly=True)
|
company = fields.Many2One('company.company', "Company", readonly=True)
|
||||||
propietary = fields.Many2One('party.party', "Propietary", required=True)
|
propietary = fields.Many2One('party.party', "Propietary", required=True)
|
||||||
@ -26,7 +30,7 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
|||||||
domain=[('party', '=', Eval('propietary'))]
|
domain=[('party', '=', Eval('propietary'))]
|
||||||
)
|
)
|
||||||
equipment = fields.Many2One('optical_equipment.equipment', "Equipment",
|
equipment = fields.Many2One('optical_equipment.equipment', "Equipment",
|
||||||
domain=[])
|
domain=[('state', '!=', 'draft')])
|
||||||
|
|
||||||
|
|
||||||
#when the maintenance is in agended status
|
#when the maintenance is in agended status
|
||||||
@ -65,6 +69,7 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
|||||||
'in_progress': {},
|
'in_progress': {},
|
||||||
'finished': {},
|
'finished': {},
|
||||||
})
|
})
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def default_company():
|
def default_company():
|
||||||
return Transaction().context.get('company')
|
return Transaction().context.get('company')
|
||||||
@ -73,6 +78,10 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
|||||||
def default_state(cls):
|
def default_state(cls):
|
||||||
return 'draft'
|
return 'draft'
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def default_maintenance_type(cls):
|
||||||
|
return 'preventive'
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def default_state_agended(cls):
|
def default_state_agended(cls):
|
||||||
return 'no_agenda'
|
return 'no_agenda'
|
||||||
@ -101,6 +110,18 @@ class Maintenance(Workflow, ModelSQL, ModelView):
|
|||||||
def finished(cls, maintenances):
|
def finished(cls, maintenances):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def view_attributes(cls):
|
||||||
|
return super(Maintenance, cls).view_attributes() + [
|
||||||
|
('//page[@id="preventive"]', 'states', {
|
||||||
|
'invisible': If(Eval('maintenance_type') != 'preventive', True),
|
||||||
|
}),
|
||||||
|
('//page[@id="corrective"]', 'states',{
|
||||||
|
'invisible': If(Eval('maintenance_type') != 'corrective', True),
|
||||||
|
})
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class MaintenanceActivity(ModelSQL):
|
class MaintenanceActivity(ModelSQL):
|
||||||
'Maintenance - Products'
|
'Maintenance - Products'
|
||||||
__name__ = 'optical_equipment.maintenance-product.product'
|
__name__ = 'optical_equipment.maintenance-product.product'
|
||||||
@ -120,3 +141,41 @@ class MaintenanceLine(ModelSQL, ModelView):
|
|||||||
],)
|
],)
|
||||||
maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenance', ondelete='CASCADE', select=True)
|
maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenance', ondelete='CASCADE', select=True)
|
||||||
maintenance_activity = fields.Many2One('product.product', 'Maintenance activity')
|
maintenance_activity = fields.Many2One('product.product', 'Maintenance activity')
|
||||||
|
|
||||||
|
|
||||||
|
class Calibration(ModelSQL, ModelView):
|
||||||
|
'Calibration of Maintenance'
|
||||||
|
__name__ = 'optical_equipment.maintenance.calibration'
|
||||||
|
|
||||||
|
temperature_min = fields.Float("Temp Min")
|
||||||
|
temperature_max = fields.Float("Temp Max")
|
||||||
|
temperature_uom = fields.Many2One('product.uom', 'Temperature UOM',
|
||||||
|
domain=[('category', '=', Id('optical_equipment', "uom_cat_temperature"))],
|
||||||
|
states={'invisible' : If(Eval('temperature_min') == None, True)},
|
||||||
|
depends=['itemperature_min'])
|
||||||
|
|
||||||
|
moisture_min = fields.Float("Moisture Min")
|
||||||
|
moisture_max = fields.Float("Moisture Max")
|
||||||
|
moisture_uom = fields.Many2One('product.uom', "Moisture UOM",
|
||||||
|
domain=[('category', '=', Id('optical_equipment', 'uom_cat_relative_humedity'))],
|
||||||
|
states={'invisible' : If(Eval('moisture_min') == None, True)},
|
||||||
|
depends=['moisture_min'])
|
||||||
|
|
||||||
|
average = fields.Float("Average")
|
||||||
|
|
||||||
|
class CalibrationSample(sequence_ordered(), ModelView, ModelSQL):
|
||||||
|
'Samples of Calibration'
|
||||||
|
__name__ = 'optical_equipment.maintenance.calibration_sample'
|
||||||
|
|
||||||
|
maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenance',
|
||||||
|
ondelete='CASCADE')
|
||||||
|
)
|
||||||
|
number_sample = fields.Integer("Sample #")
|
||||||
|
value_pattern = fields.Integer("Value in Pattern")
|
||||||
|
value_equipment = fields.Float("Value in Equipment")
|
||||||
|
mistake = fields.Floatr("Mistake")
|
||||||
|
mistake_rate = fields.Float("% Mistake")
|
||||||
|
expanded_uncertainty = fields.Floats("Uncertainy Expanded")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -60,9 +60,18 @@
|
|||||||
<field name="count" eval="True"/>
|
<field name="count" eval="True"/>
|
||||||
<field name="act_window" ref="act_maintenance_form"/>
|
<field name="act_window" ref="act_maintenance_form"/>
|
||||||
</record>
|
</record>
|
||||||
|
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_failed">
|
||||||
|
<field name="name">Failed</field>
|
||||||
|
<field name="sequence" eval="30"/>
|
||||||
|
<field name="domain"
|
||||||
|
eval="[('state', '=', 'failed')]"
|
||||||
|
pyson="1"/>
|
||||||
|
<field name="count" eval="True"/>
|
||||||
|
<field name="act_window" ref="act_maintenance_form"/>
|
||||||
|
</record>
|
||||||
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_finished">
|
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_finished">
|
||||||
<field name="name">Finished</field>
|
<field name="name">Finished</field>
|
||||||
<field name="sequence" eval="30"/>
|
<field name="sequence" eval="40"/>
|
||||||
<field name="domain"
|
<field name="domain"
|
||||||
eval="[('state', '=', 'finished')]"
|
eval="[('state', '=', 'finished')]"
|
||||||
pyson="1"/>
|
pyson="1"/>
|
||||||
|
@ -44,6 +44,10 @@
|
|||||||
<field name="maintenance_lines"/>
|
<field name="maintenance_lines"/>
|
||||||
<field name="maintenance_lines"/>
|
<field name="maintenance_lines"/>
|
||||||
</page>
|
</page>
|
||||||
|
<page string="Calibration" id="calibration">
|
||||||
|
<label name="maintenance_lines"/>
|
||||||
|
<field name="maintenance_lines"/>
|
||||||
|
</page>
|
||||||
</notebook>
|
</notebook>
|
||||||
<newline/>
|
<newline/>
|
||||||
<label name="state"/>
|
<label name="state"/>
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
<field name="code"/>
|
<field name="code"/>
|
||||||
<label name="company"/>
|
<label name="company"/>
|
||||||
<field name="company"/>
|
<field name="company"/>
|
||||||
|
<label name="active"/>
|
||||||
|
<field name="active"/>
|
||||||
<newline/>
|
<newline/>
|
||||||
<label name="propietary"/>
|
<label name="propietary"/>
|
||||||
<field name="propietary"/>
|
<field name="propietary"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user