新增设备OEE菜单 以及对象

This commit is contained in:
qihao.gong@jikimo.com
2024-01-15 17:45:43 +08:00
parent 1bc09a4424
commit bb75b73247
10 changed files with 163 additions and 6 deletions

View File

@@ -12,6 +12,7 @@
'security/ir.model.access.csv',
'security/ir_rule_data.xml',
'views/maintenance_logs_views.xml',
'views/maintenance_equipment_oee_views.xml',
'views/maintenance_views.xml',
'views/equipment_maintenance_standards_views.xml',
'views/maintenance_request_views.xml',

View File

@@ -1,5 +1,6 @@
# -*-coding:utf-8-*-
from . import sf_maintenance
from . import sf_maintenance_oee
from . import sf_maintenance_logs
from . import sf_equipment_maintenance_standards
from . import sf_maintenance_requests

View File

@@ -86,7 +86,7 @@ class SfSaintenanceStandards(models.Model):
images = fields.One2many('maintenance.standard.image', 'standard_id', string='反馈图片')
maintenance_request_ids = fields.Many2many('maintenance.request', string='维保计划')
Period = fields.Integer('周期/频次(天)')
remark = fields.Char('备注说明')
remark = fields.Char('维保记录')
class MaintenanceStandardImage(models.Model):

View File

@@ -11,6 +11,7 @@ class SfMaintenanceLogs(models.Model):
type = fields.Selection([('type1', '类型1'), ('type2', '类型2')], string='类型')
brand = fields.Many2one('sf.machine.brand', related='maintenance_equipment_id.brand_id', string='品牌')
maintenance_equipment_id = fields.Many2one('maintenance.equipment', string='设备')
maintenance_equipment_oee_id = fields.Many2one('maintenance.equipment.oee', string='设备oee')
code_location = fields.Char(string='编码位置')
fault_type = fields.Selection(
[('电气类', '电气类'), ('机械类', '机械类'), ('程序类', '程序类'), ('系统类', '系统类')], string='故障类型')

View File

@@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
class SfMaintenanceEquipmentOEE(models.Model):
_name = 'maintenance.equipment.oee'
_description = '设备OEE'
name = fields.Char('设备oee')
equipment_id = fields.Many2one('maintenance.equipment', '设备',
domain="[('category_id.equipment_type', '=', '机床'),('state_zc', '=', '已注册')]")
type_id = fields.Many2one('sf.machine_tool.type', '型号', related='equipment_id.type_id')
machine_tool_picture = fields.Binary('设备图片', related='equipment_id.machine_tool_picture')
state = fields.Selection(
[("正常", "正常"), ("故障停机", "故障停机"), ("计划维保", "计划维保"), ("空闲", "空闲"),
("封存(报废)", "封存(报废)")],
default='正常', string="机床状态", related='equipment_id.state')
run_time = fields.Float('正常运行总时长(h)')
equipment_time = fields.Float('总时长(h)')
done_nums = fields.Integer('累计加工总件数')
utilization_rate = fields.Char('开动率')
fault_time = fields.Float('故障停机总时长(h)')
fault_nums = fields.Integer('故障次数')
sf_maintenance_logs_ids = fields.One2many('sf.maintenance.logs', 'maintenance_equipment_oee_id', '设备故障日志',
related='equipment_id.sf_maintenance_logs_ids')
def name_get(self):
result = []
for parameter in self:
if parameter.equipment_id:
name = parameter.equipment_id.name
result.append((parameter.id, name))
return result

View File

@@ -4,6 +4,9 @@ access_sf_maintenance_logs,sf_maintenance_logs,model_sf_maintenance_logs,sf_grou
access_sf_maintenance_logs,sf_maintenance_logs,model_sf_maintenance_logs,sf_group_equipment_manager,1,1,1,0
access_maintenance_equipment,maintenance_equipment,model_maintenance_equipment,sf_group_equipment_user,1,0,0,0
access_maintenance_equipment,maintenance_equipment,model_maintenance_equipment,sf_group_equipment_manager,1,1,1,0
access_maintenance_equipment_oee,maintenance_equipment_oee,model_maintenance_equipment_oee,sf_group_equipment_user,1,0,0,0
access_maintenance_equipment_oee,maintenance_equipment_oee,model_maintenance_equipment_oee,sf_group_equipment_manager,1,1,1,0
access_maintenance_equipment_oee,maintenance_equipment_oee,model_maintenance_equipment_oee,base.group_user,1,1,1,1
access_maintenance_standards,maintenance_standards,model_maintenance_standards,sf_group_equipment_user,1,0,0,0
access_maintenance_standards,maintenance_standards,model_maintenance_standards,sf_group_equipment_manager,1,1,1,0
access_maintenance_standard_image,maintenance_standard_image,model_maintenance_standard_image,sf_group_equipment_user,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
4 access_sf_maintenance_logs sf_maintenance_logs model_sf_maintenance_logs sf_group_equipment_manager 1 1 1 0
5 access_maintenance_equipment maintenance_equipment model_maintenance_equipment sf_group_equipment_user 1 0 0 0
6 access_maintenance_equipment maintenance_equipment model_maintenance_equipment sf_group_equipment_manager 1 1 1 0
7 access_maintenance_equipment_oee maintenance_equipment_oee model_maintenance_equipment_oee sf_group_equipment_user 1 0 0 0
8 access_maintenance_equipment_oee maintenance_equipment_oee model_maintenance_equipment_oee sf_group_equipment_manager 1 1 1 0
9 access_maintenance_equipment_oee maintenance_equipment_oee model_maintenance_equipment_oee base.group_user 1 1 1 1
10 access_maintenance_standards maintenance_standards model_maintenance_standards sf_group_equipment_user 1 0 0 0
11 access_maintenance_standards maintenance_standards model_maintenance_standards sf_group_equipment_manager 1 1 1 0
12 access_maintenance_standard_image maintenance_standard_image model_maintenance_standard_image sf_group_equipment_user 1 0 0 0

View File

@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!-- Tree View -->
<record id="view_maintenance_oee_tree" model="ir.ui.view">
<field name="name">maintenance.oee.tree</field>
<field name="model">maintenance.equipment.oee</field>
<field name="arch" type="xml">
<tree>
<field name="equipment_id"/>
<field name="equipment_time"/>
<field name="run_time"/>
<field name="done_nums"/>
<field name="utilization_rate"/>
<field name="fault_time"/>
<field name="fault_nums"/>
</tree>
</field>
</record>
<!-- Form View -->
<record id="view_maintenance_oee_form" model="ir.ui.view">
<field name="name">maintenance.oee.form</field>
<field name="model">maintenance.equipment.oee</field>
<field name="arch" type="xml">
<form>
<header>
<field name="state" widget="statusbar" readonly="1"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="equipment_id"/>
</h1>
</div>
<group>
<group>
<field name="type_id" readonly="1"/>
<field name="equipment_time"/>
<field name="run_time"/>
<field name="done_nums"/>
<field name="utilization_rate"/>
<field name="fault_time"/>
<field name="fault_nums"/>
</group>
<group>
<field name="machine_tool_picture" widget="image" readonly="1"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<!-- Search View -->
<record id="view_maintenance_oee_search" model="ir.ui.view">
<field name="name">maintenance.oee.search</field>
<field name="model">maintenance.equipment.oee</field>
<field name="arch" type="xml">
<search>
<searchpanel>
<field name="equipment_id" icon="fa-building" enable_counters="1"/>
</searchpanel>
</search>
</field>
</record>
<!-- Action -->
<record id="action_maintenance_oee" model="ir.actions.act_window">
<field name="name">设备OEE</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">maintenance.equipment.oee</field>
<field name="search_view_id" ref="view_maintenance_oee_search"/>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_maintenance_oee_tree"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
设备OEE
</p>
</field>
</record>
<!-- <record id="action_maintenance_oee_button" model="ir.actions.act_window">-->
<!-- <field name="name">设备故障日志</field>-->
<!-- <field name="type">ir.actions.act_window</field>-->
<!-- <field name="res_model">sf.maintenance.oee</field>-->
<!-- <field name="search_view_id" ref="view_maintenance_logs_search"/>-->
<!-- <field name="view_mode">tree,form</field>-->
<!-- <field name="view_id" ref="view_maintenance_logs_tree"/>-->
<!-- <field name="context">{-->
<!-- 'default_maintenance_equipment_id': active_id-->
<!-- }</field>-->
<!-- <field name="help" type="html">-->
<!-- <p class="oe_view_nocontent_create">-->
<!-- 设备故障日志-->
<!-- </p>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record id="action_maintenance_logs" model="ir.actions.act_window">-->
<!-- <field name="name">设备故障日志</field>-->
<!-- <field name="res_model">sf.maintenance.logs</field>-->
<!-- <field name="view_type">form</field>-->
<!-- <field name="view_mode">tree,form</field>-->
<!-- <field name="view_id" ref="view_maintenance_logs_tree"/>-->
<!-- </record>-->
<!-- Menu -->
<menuitem name="设备OEE" id="menu_maintenance_oee" parent="maintenance.menu_m_request"
sequence="11" action="action_maintenance_oee"/>
</data>
</odoo>