新增设备OEE菜单 以及对象
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'security/ir_rule_data.xml',
|
'security/ir_rule_data.xml',
|
||||||
'views/maintenance_logs_views.xml',
|
'views/maintenance_logs_views.xml',
|
||||||
|
'views/maintenance_equipment_oee_views.xml',
|
||||||
'views/maintenance_views.xml',
|
'views/maintenance_views.xml',
|
||||||
'views/equipment_maintenance_standards_views.xml',
|
'views/equipment_maintenance_standards_views.xml',
|
||||||
'views/maintenance_request_views.xml',
|
'views/maintenance_request_views.xml',
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
# -*-coding:utf-8-*-
|
# -*-coding:utf-8-*-
|
||||||
from . import sf_maintenance
|
from . import sf_maintenance
|
||||||
|
from . import sf_maintenance_oee
|
||||||
from . import sf_maintenance_logs
|
from . import sf_maintenance_logs
|
||||||
from . import sf_equipment_maintenance_standards
|
from . import sf_equipment_maintenance_standards
|
||||||
from . import sf_maintenance_requests
|
from . import sf_maintenance_requests
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ class SfSaintenanceStandards(models.Model):
|
|||||||
images = fields.One2many('maintenance.standard.image', 'standard_id', string='反馈图片')
|
images = fields.One2many('maintenance.standard.image', 'standard_id', string='反馈图片')
|
||||||
maintenance_request_ids = fields.Many2many('maintenance.request', string='维保计划')
|
maintenance_request_ids = fields.Many2many('maintenance.request', string='维保计划')
|
||||||
Period = fields.Integer('周期/频次(天)')
|
Period = fields.Integer('周期/频次(天)')
|
||||||
remark = fields.Char('备注说明')
|
remark = fields.Char('维保记录')
|
||||||
|
|
||||||
|
|
||||||
class MaintenanceStandardImage(models.Model):
|
class MaintenanceStandardImage(models.Model):
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ class SfMaintenanceLogs(models.Model):
|
|||||||
type = fields.Selection([('type1', '类型1'), ('type2', '类型2')], string='类型')
|
type = fields.Selection([('type1', '类型1'), ('type2', '类型2')], string='类型')
|
||||||
brand = fields.Many2one('sf.machine.brand', related='maintenance_equipment_id.brand_id', string='品牌')
|
brand = fields.Many2one('sf.machine.brand', related='maintenance_equipment_id.brand_id', string='品牌')
|
||||||
maintenance_equipment_id = fields.Many2one('maintenance.equipment', 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='编码位置')
|
code_location = fields.Char(string='编码位置')
|
||||||
fault_type = fields.Selection(
|
fault_type = fields.Selection(
|
||||||
[('电气类', '电气类'), ('机械类', '机械类'), ('程序类', '程序类'), ('系统类', '系统类')], string='故障类型')
|
[('电气类', '电气类'), ('机械类', '机械类'), ('程序类', '程序类'), ('系统类', '系统类')], string='故障类型')
|
||||||
|
|||||||
33
sf_maintenance/models/sf_maintenance_oee.py
Normal file
33
sf_maintenance/models/sf_maintenance_oee.py
Normal 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
|
||||||
@@ -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_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_user,1,0,0,0
|
||||||
access_maintenance_equipment,maintenance_equipment,model_maintenance_equipment,sf_group_equipment_manager,1,1,1,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_user,1,0,0,0
|
||||||
access_maintenance_standards,maintenance_standards,model_maintenance_standards,sf_group_equipment_manager,1,1,1,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
|
access_maintenance_standard_image,maintenance_standard_image,model_maintenance_standard_image,sf_group_equipment_user,1,0,0,0
|
||||||
|
|||||||
|
118
sf_maintenance/views/maintenance_equipment_oee_views.xml
Normal file
118
sf_maintenance/views/maintenance_equipment_oee_views.xml
Normal 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>
|
||||||
|
|
||||||
|
|
||||||
@@ -6,8 +6,8 @@ import os
|
|||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from odoo.exceptions import ValidationError
|
from odoo.exceptions import ValidationError
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
#from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
#from OCC.Extend.DataExchange import write_stl_file
|
||||||
|
|
||||||
|
|
||||||
class ResProductMo(models.Model):
|
class ResProductMo(models.Model):
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import logging
|
import logging
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo import fields, models, api
|
from odoo import fields, models, api
|
||||||
from quatotion import readSql, feature_recognize, auto_quatotion
|
#from quatotion import readSql, feature_recognize, auto_quatotion
|
||||||
|
|
||||||
__author__ = 'jinling.yang'
|
__author__ = 'jinling.yang'
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import os
|
|||||||
import json
|
import json
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import requests
|
import requests
|
||||||
from OCC.Extend.DataExchange import read_step_file
|
#from OCC.Extend.DataExchange import read_step_file
|
||||||
from OCC.Extend.DataExchange import write_stl_file
|
#from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
|||||||
Reference in New Issue
Block a user