调整设备oee结构,去掉设备运行日志
This commit is contained in:
@@ -30,7 +30,6 @@
|
|||||||
'views/machine_info_present.xml',
|
'views/machine_info_present.xml',
|
||||||
'views/delivery_record.xml',
|
'views/delivery_record.xml',
|
||||||
'views/res_config_settings_views.xml',
|
'views/res_config_settings_views.xml',
|
||||||
'views/maintenance_views.xml',
|
|
||||||
|
|
||||||
],
|
],
|
||||||
'assets': {
|
'assets': {
|
||||||
|
|||||||
@@ -285,26 +285,6 @@ class Machine_ftp(models.Model):
|
|||||||
# # 开动率
|
# # 开动率
|
||||||
run_rate = fields.Char('开动率', readonly=True)
|
run_rate = fields.Char('开动率', readonly=True)
|
||||||
|
|
||||||
# 同步CNC设备到oee
|
|
||||||
def sync_oee(self):
|
|
||||||
"""
|
|
||||||
同步CNC设备到oee
|
|
||||||
:return:
|
|
||||||
"""
|
|
||||||
for record in self:
|
|
||||||
record.ensure_one()
|
|
||||||
cnc_oee_dict = {
|
|
||||||
'equipment_id': record.id,
|
|
||||||
'type_id': record.type_id.id,
|
|
||||||
'machine_tool_picture': record.machine_tool_picture,
|
|
||||||
'equipment_code': record.code,
|
|
||||||
'function_type': record.function_type,
|
|
||||||
}
|
|
||||||
if self.env['maintenance.equipment.oee.logs'].search([('equipment_id', '=', record.id)]):
|
|
||||||
self.env['maintenance.equipment.oee.logs'].write(cnc_oee_dict)
|
|
||||||
else:
|
|
||||||
self.env['maintenance.equipment.oee.logs'].create(cnc_oee_dict)
|
|
||||||
|
|
||||||
|
|
||||||
class WorkCenterBarcode(models.Model):
|
class WorkCenterBarcode(models.Model):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<odoo>
|
|
||||||
<!-- 修改设备列表视图-->
|
|
||||||
<record id="sf_machine_hr_equipment_view_tree_inherit" model="ir.ui.view">
|
|
||||||
<field name="name">sf.machine.hr.equipment.view.tree.inherit</field>
|
|
||||||
<field name="model">maintenance.equipment</field>
|
|
||||||
<field name="inherit_id" ref="maintenance.hr_equipment_view_tree"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<xpath expr="//tree" position="inside">
|
|
||||||
<header>
|
|
||||||
<button name="sync_oee" type="object" string="同步设备至OEE"/>
|
|
||||||
</header>
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
</odoo>
|
|
||||||
@@ -22,18 +22,27 @@ class SfMaintenanceEquipmentOEE(models.Model):
|
|||||||
[("正常", "正常"), ("故障停机", "故障停机"), ("计划维保", "计划维保"), ("空闲", "空闲"),
|
[("正常", "正常"), ("故障停机", "故障停机"), ("计划维保", "计划维保"), ("空闲", "空闲"),
|
||||||
("封存(报废)", "封存(报废)")],
|
("封存(报废)", "封存(报废)")],
|
||||||
default='正常', string="机床状态", related='equipment_id.state')
|
default='正常', string="机床状态", related='equipment_id.state')
|
||||||
run_time = fields.Float('加工时长(h)')
|
|
||||||
equipment_time = fields.Float('开机时长(h)')
|
online_time = fields.Char('开机时长', reaonly='True')
|
||||||
done_nums = fields.Integer('加工件数')
|
|
||||||
utilization_rate = fields.Char('可用率')
|
offline_time = fields.Char('关机时长', reaonly='True')
|
||||||
fault_time = fields.Float('故障时长')
|
offline_nums = fields.Integer('关机次数', reaonly='True')
|
||||||
fault_nums = fields.Integer('故障次数')
|
# 待机时长
|
||||||
# 故障率
|
|
||||||
fault_rate = fields.Char('故障率')
|
idle_time = fields.Char('待机时长', reaonly='True')
|
||||||
|
|
||||||
|
# 待机率
|
||||||
|
idle_rate = fields.Char('待机率', reaonly='True')
|
||||||
|
|
||||||
|
work_time = fields.Char('加工时长', reaonly='True')
|
||||||
|
work_rate = fields.Char('可用率', reaonly='True')
|
||||||
|
fault_time = fields.Char('故障时长', reaonly='True')
|
||||||
|
fault_rate = fields.Char('故障率', reaonly='True')
|
||||||
|
fault_nums = fields.Integer('故障次数', reaonly='True')
|
||||||
|
|
||||||
# 设备故障日志
|
# 设备故障日志
|
||||||
sf_maintenance_logs_ids = fields.One2many('sf.maintenance.logs', 'maintenance_equipment_oee_id', '设备故障日志',
|
sf_maintenance_logs_ids = fields.One2many('sf.maintenance.logs', 'maintenance_equipment_oee_id', '设备故障日志',
|
||||||
related='equipment_id.sf_maintenance_logs_ids')
|
related='equipment_id.sf_maintenance_logs_ids')
|
||||||
oee_logs = fields.One2many('maintenance.equipment.oee.logs', 'equipment_oee_id', string='运行日志')
|
|
||||||
|
|
||||||
day_logs_detail = fields.Html('日运行日志详情')
|
day_logs_detail = fields.Html('日运行日志详情')
|
||||||
history_logs_detail = fields.Html('历史运行日志详情')
|
history_logs_detail = fields.Html('历史运行日志详情')
|
||||||
|
|||||||
@@ -67,6 +67,3 @@ access_sf_cutting_tool_type_admin_sf_group_equipment_user,sf_cutting_tool_type_a
|
|||||||
access_sf_cutting_tool_type_group_purchase_director_sf_group_equipment_user,sf_cutting_tool_type_group_purchase_director,sf_base.model_sf_cutting_tool_type,sf_maintenance.sf_group_equipment_user,1,0,0,0
|
access_sf_cutting_tool_type_group_purchase_director_sf_group_equipment_user,sf_cutting_tool_type_group_purchase_director,sf_base.model_sf_cutting_tool_type,sf_maintenance.sf_group_equipment_user,1,0,0,0
|
||||||
access_sf_cutting_tool_type_group_sale_director_sf_group_equipment_user,sf_cutting_tool_type_group_sale_director,sf_base.model_sf_cutting_tool_type,sf_maintenance.sf_group_equipment_user,1,0,0,0
|
access_sf_cutting_tool_type_group_sale_director_sf_group_equipment_user,sf_cutting_tool_type_group_sale_director,sf_base.model_sf_cutting_tool_type,sf_maintenance.sf_group_equipment_user,1,0,0,0
|
||||||
access_sf_cutting_tool_type_group_plan_director_sf_group_equipment_user,sf_cutting_tool_type_group_plan_director,sf_base.model_sf_cutting_tool_type,sf_maintenance.sf_group_equipment_user,1,0,0,0
|
access_sf_cutting_tool_type_group_plan_director_sf_group_equipment_user,sf_cutting_tool_type_group_plan_director,sf_base.model_sf_cutting_tool_type,sf_maintenance.sf_group_equipment_user,1,0,0,0
|
||||||
|
|
||||||
access_maintenance_equipment_oee_logs,maintenance_equipment_oee_logs,model_maintenance_equipment_oee_logs,sf_maintenance.sf_group_equipment_manager,1,1,1,1
|
|
||||||
access_maintenance_equipment_oee_log_detail,maintenance_equipment_oee_log_detail,model_maintenance_equipment_oee_log_detail,sf_maintenance.sf_group_equipment_manager,1,1,1,1
|
|
||||||
|
@@ -8,13 +8,13 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree>
|
<tree>
|
||||||
<field name="equipment_id"/>
|
<field name="equipment_id"/>
|
||||||
<field name="equipment_time"/>
|
<field name="online_time"/>
|
||||||
<field name="run_time"/>
|
<field name="work_time"/>
|
||||||
<field name="done_nums"/>
|
<field name="work_rate"/>
|
||||||
<field name="utilization_rate"/>
|
|
||||||
<field name="fault_time"/>
|
<field name="fault_time"/>
|
||||||
<field name="fault_nums"/>
|
<field name="fault_nums"/>
|
||||||
<field name="fault_rate"/>
|
<field name="fault_rate"/>
|
||||||
|
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -37,19 +37,48 @@
|
|||||||
|
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="type_id" readonly="1"/>
|
<group>
|
||||||
<field name="equipment_code"/>
|
<field name="equipment_id" domain="[('name','ilike','加工中心')]"/>
|
||||||
<field name="equipment_time"/>
|
<field name="type_id"/>
|
||||||
<field name="run_time"/>
|
<field name="state"/>
|
||||||
<field name="done_nums"/>
|
<field name="equipment_code"/>
|
||||||
<field name="utilization_rate"/>
|
</group>
|
||||||
<field name="fault_time"/>
|
|
||||||
<field name="fault_nums"/>
|
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="machine_tool_picture" widget="image" readonly="1"/>
|
<group>
|
||||||
|
<!-- <field name="state" nolabel="1"/> -->
|
||||||
|
<!-- <field name="state" string=""/> -->
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="machine_tool_picture" widget="image" nolabel="1"/>
|
||||||
|
</group>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<field name="online_time" readonly="1"/>
|
||||||
|
<field name="offline_time" readonly="1"/>
|
||||||
|
<field name="fault_rate" readonly="1"/>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="offline_nums" readonly="1"/>
|
||||||
|
<field name="fault_time" readonly="1"/>
|
||||||
|
<field name="fault_nums" readonly="1"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<field name="idle_time"/>
|
||||||
|
<field name="idle_rate"/>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="work_time"/>
|
||||||
|
<field name="work_rate"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
</group>
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="24H日志详情">
|
<page string="24H日志详情">
|
||||||
<group>
|
<group>
|
||||||
|
|||||||
@@ -105,249 +105,6 @@
|
|||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- 设备运行日志 -->
|
|
||||||
<record id="view_maintenance_logs_run_tree" model="ir.ui.view">
|
|
||||||
<field name="name">maintenance.logs.run.tree</field>
|
|
||||||
<field name="model">maintenance.equipment.oee.logs</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree>
|
|
||||||
<field name="equipment_id"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_maintenance_logs_run_form" model="ir.ui.view">
|
|
||||||
<field name="name">maintenance.logs.run.form</field>
|
|
||||||
<field name="model">maintenance.equipment.oee.logs</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<!-- <form string="设备运行日志"> -->
|
|
||||||
<!-- <header> -->
|
|
||||||
<!-- <field name="equipment_id" readonly="1"/> -->
|
|
||||||
<!-- </header> -->
|
|
||||||
<!-- <sheet> -->
|
|
||||||
<!-- <div class="oe_title"> -->
|
|
||||||
<!-- <h1> -->
|
|
||||||
<!-- <field name="start_time" readonly="1"/> -->
|
|
||||||
<!-- </h1> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
<!-- <group> -->
|
|
||||||
<!-- <group> -->
|
|
||||||
<!-- <field name="stop_time" readonly="1"/> -->
|
|
||||||
<!-- <field name="duration" readonly="1"/> -->
|
|
||||||
<!-- <field name="oee" readonly="1"/> -->
|
|
||||||
<!-- </group> -->
|
|
||||||
<!-- <group> -->
|
|
||||||
<!-- <field name="note"/> -->
|
|
||||||
<!-- </group> -->
|
|
||||||
|
|
||||||
<!-- </group> -->
|
|
||||||
<!-- </sheet> -->
|
|
||||||
<!-- </form> -->
|
|
||||||
<form string="设备运行日志">
|
|
||||||
<!-- <header> -->
|
|
||||||
<!-- <field name="name" readonly="1"/> -->
|
|
||||||
<!-- </header> -->
|
|
||||||
<sheet>
|
|
||||||
<div class="oe_title">
|
|
||||||
<h1>
|
|
||||||
<field name="name"/>
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
<group>
|
|
||||||
<group>
|
|
||||||
<group>
|
|
||||||
<field name="equipment_id" domain="[('name','ilike','加工中心')]"/>
|
|
||||||
<field name="type_id"/>
|
|
||||||
<field name="state"/>
|
|
||||||
<field name="equipment_code"/>
|
|
||||||
<field name="function_type"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<group>
|
|
||||||
<!-- <field name="state" nolabel="1"/> -->
|
|
||||||
<field name="state" string=""/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="machine_tool_picture" widget="image" nolabel="1"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<group>
|
|
||||||
<group>
|
|
||||||
<field name="online_time" readonly="1"/>
|
|
||||||
<field name="offline_time" readonly="1"/>
|
|
||||||
<field name="fault_rate" readonly="1"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="offline_nums" readonly="1"/>
|
|
||||||
<field name="fault_time" readonly="1"/>
|
|
||||||
<field name="fault_nums" readonly="1"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<group>
|
|
||||||
<field name="idle_time"/>
|
|
||||||
<field name="idle_rate"/>
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="work_time"/>
|
|
||||||
<field name="work_rate"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
|
|
||||||
</group>
|
|
||||||
<notebook>
|
|
||||||
<page string="24H日志详情">
|
|
||||||
<!-- 筛选出24小时内的日志 -->
|
|
||||||
<!-- <field name="detail_ids" domain="[('time','<',(datetime.datetime.now() - datetime.timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S'))]"> -->
|
|
||||||
<field name="detail_ids" domain="[('state','ilike','加工')]">
|
|
||||||
<tree>
|
|
||||||
<!-- <field name="sequence"/> -->
|
|
||||||
<field name="time"/>
|
|
||||||
<field name="state"/>
|
|
||||||
<field name="production_name"/>
|
|
||||||
</tree>
|
|
||||||
<!-- <form> -->
|
|
||||||
<!-- <field name="sequence"/> -->
|
|
||||||
<!-- <field name="time"/> -->
|
|
||||||
<!-- <field name="state"/> -->
|
|
||||||
<!-- <field name="production_id"/> -->
|
|
||||||
<!-- </form> -->
|
|
||||||
|
|
||||||
</field>
|
|
||||||
</page>
|
|
||||||
<page string="历史日志详情">
|
|
||||||
<field name="detail_ids">
|
|
||||||
<tree>
|
|
||||||
<!-- <field name="sequence"/> -->
|
|
||||||
<field name="time"/>
|
|
||||||
<field name="state"/>
|
|
||||||
<field name="production_name"/>
|
|
||||||
</tree>
|
|
||||||
<!-- <form> -->
|
|
||||||
<!-- <field name="sequence"/> -->
|
|
||||||
<!-- <field name="time"/> -->
|
|
||||||
<!-- <field name="state"/> -->
|
|
||||||
<!-- <field name="production_id"/> -->
|
|
||||||
<!-- </form> -->
|
|
||||||
|
|
||||||
</field>
|
|
||||||
</page>
|
|
||||||
</notebook>
|
|
||||||
</sheet>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <record id="view_maintenance_logs_run_search" model="ir.ui.view"> -->
|
|
||||||
<!-- <field name="name">maintenance.logs.run.search</field> -->
|
|
||||||
<!-- <field name="model">maintenance.equipment.oee.logs</field> -->
|
|
||||||
<!-- <field name="arch" type="xml"> -->
|
|
||||||
<!-- <search> -->
|
|
||||||
<!-- <field name="equipment_id"/> -->
|
|
||||||
<!-- <field name="start_time"/> -->
|
|
||||||
<!-- <field name="stop_time"/> -->
|
|
||||||
<!-- <field name="duration"/> -->
|
|
||||||
<!-- <field name="oee"/> -->
|
|
||||||
<!-- <field name="note"/> -->
|
|
||||||
<!-- </search> -->
|
|
||||||
|
|
||||||
<!-- </field> -->
|
|
||||||
<!-- </record> -->
|
|
||||||
|
|
||||||
<!-- 设备运行日志详情 -->
|
|
||||||
<record id="view_maintenance_logs_run_detail_tree" model="ir.ui.view">
|
|
||||||
<field name="name">maintenance.logs.run.detail.tree</field>
|
|
||||||
<field name="model">maintenance.equipment.oee.log.detail</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree>
|
|
||||||
<!-- <field name="sequence"/> -->
|
|
||||||
<field name="time"/>
|
|
||||||
<field name="state"/>
|
|
||||||
<field name="production_name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_maintenance_logs_run_detail_form" model="ir.ui.view">
|
|
||||||
<field name="name">maintenance.logs.run.detail.form</field>
|
|
||||||
<field name="model">maintenance.equipment.oee.log.detail</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form string="设备运行日志详情">
|
|
||||||
<sheet>
|
|
||||||
<group>
|
|
||||||
<group>
|
|
||||||
<field name="state"/>
|
|
||||||
<!-- <field name="production_id"/> -->
|
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<!-- <field name="sequence"/> -->
|
|
||||||
<field name="time"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<!-- <record id="view_maintenance_logs_run_detail_search" model="ir.ui.view"> -->
|
|
||||||
<!-- <field name="name">maintenance.logs.run.detail.search</field> -->
|
|
||||||
<!-- <field name="model">maintenance.equipment.oee.logs.detail</field> -->
|
|
||||||
<!-- <field name="arch" type="xml"> -->
|
|
||||||
<!-- <search> -->
|
|
||||||
<!-- <field name="equipment_id"/> -->
|
|
||||||
<!-- <field name="start_time"/> -->
|
|
||||||
<!-- <field name="stop_time"/> -->
|
|
||||||
<!-- <field name="duration"/> -->
|
|
||||||
<!-- <field name="oee"/> -->
|
|
||||||
<!-- <field name="note"/> -->
|
|
||||||
<!-- </search> -->
|
|
||||||
<!-- </field> -->
|
|
||||||
<!-- </record> -->
|
|
||||||
|
|
||||||
<!-- 设备运行日志详情action -->
|
|
||||||
<!-- <record id="action_maintenance_logs_run_detail" model="ir.actions.act_window"> -->
|
|
||||||
<!-- <field name="name">设备运行日志详情</field> -->
|
|
||||||
<!-- <field name="type">ir.actions.act_window</field> -->
|
|
||||||
<!-- <field name="res_model">maintenance.equipment.oee.logs.detail</field> -->
|
|
||||||
<!-- <field name="view_mode">tree,form</field> -->
|
|
||||||
<!-- <field name="view_id" ref="view_maintenance_logs_run_detail_tree"/> -->
|
|
||||||
<!-- <field name="help" type="html"> -->
|
|
||||||
<!-- <p class="oe_view_nocontent_create"> -->
|
|
||||||
<!-- 设备运行日志详情 -->
|
|
||||||
<!-- </p> -->
|
|
||||||
<!-- </field> -->
|
|
||||||
<!-- -->
|
|
||||||
<!-- </record> -->
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<record id="action_maintenance_logs_run" model="ir.actions.act_window">
|
|
||||||
<field name="name">设备运行日志</field>
|
|
||||||
<field name="type">ir.actions.act_window</field>
|
|
||||||
<field name="res_model">maintenance.equipment.oee.logs</field>
|
|
||||||
<!-- <field name="search_view_id" ref="view_maintenance_logs_run_search"/> -->
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
<!-- <field name="view_mode">form</field> -->
|
|
||||||
<field name="view_id" ref="view_maintenance_logs_run_tree"/>
|
|
||||||
<field name="help" type="html">
|
|
||||||
<p class="oe_view_nocontent_create">
|
|
||||||
设备运行日志
|
|
||||||
</p>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
|
|
||||||
<menuitem name="设备运行日志" id="menu_maintenance_logs_run" parent="maintenance.menu_m_request"
|
|
||||||
sequence="10" action="action_maintenance_logs_run"/>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Action -->
|
<!-- Action -->
|
||||||
|
|
||||||
<record id="action_maintenance_logs" model="ir.actions.act_window">
|
<record id="action_maintenance_logs" model="ir.actions.act_window">
|
||||||
|
|||||||
Reference in New Issue
Block a user