优化了产线设备资源设置,新增根据选取的工作中心自动带出设备的数据,新增根据选择的工作日历自动带出班次的数据,新增搜索视图
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
""",
|
||||
'category': 'sf',
|
||||
'website': 'https://www.sf.jikimo.com',
|
||||
'depends': [],
|
||||
'depends': ['sf_maintenance'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
# 'security/ir.model.access.csv',
|
||||
|
||||
@@ -1,43 +1,55 @@
|
||||
from odoo import models, fields
|
||||
from odoo import models, fields, api
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class ProcedureEquipmentResourceSetting(models.Model):
|
||||
_name = 'sf.procedure.equipment.resource.setting'
|
||||
_description = '产线设备资源设置'
|
||||
|
||||
def _get_code(self):
|
||||
"""
|
||||
自动生成编码
|
||||
:return:
|
||||
"""
|
||||
fixture_material = self.env['sf.procedure.equipment.resource.setting'].sudo().search(
|
||||
[('code', '!=', '')],
|
||||
limit=1,
|
||||
order="id desc")
|
||||
if not fixture_material:
|
||||
num = "%03d" % 1
|
||||
else:
|
||||
m = int(fixture_material.code) + 1
|
||||
num = "%03d" % m
|
||||
return num
|
||||
|
||||
code = fields.Char(string='序号', readonly=True, default=_get_code)
|
||||
work_center_name = fields.Char(string='工作中心名称')
|
||||
equipment_code = fields.Char(string='机台号')
|
||||
# todo 绑定设备
|
||||
# equipment_name = fields.Many2one('', string='设备名称')
|
||||
brand = fields.Char(string='品牌')
|
||||
model = fields.Char(string='型号')
|
||||
working_procedure = fields.Char(string='工序')
|
||||
production_capacity = fields.Char(string='产能', required=True)
|
||||
production_line_id = fields.Many2one('sf.production.line', string='生产线', required=True)
|
||||
work_center_name_id = fields.Many2one('mrp.workcenter', string='工作中心名称')
|
||||
equipment_code = fields.Char(string='机台号(原设备编码)', readonly=True, compute='_onchange_equipment_name_id')
|
||||
equipment_name_id = fields.Many2one('maintenance.equipment',
|
||||
string='设备名称',
|
||||
readonly=True,
|
||||
compute='_onchange_work_center_name_id')
|
||||
brand = fields.Char(string='品牌', readonly=True, compute='_onchange_equipment_name_id')
|
||||
model = fields.Char(string='型号', readonly=True, compute='_onchange_equipment_name_id')
|
||||
# todo 传入工序数据
|
||||
working_procedure = fields.Char(string='工序', readonly=True)
|
||||
production_capacity = fields.Float(string='产能', required=True, digits=(4, 1))
|
||||
working_calendar_id = fields.Many2one('sf.work.log.setting', string='工作日历')
|
||||
working_shift = fields.Char(string='班次')
|
||||
create_time = fields.Datetime(string='新增时间', default=lambda self: fields.Datetime.now())
|
||||
status = fields.Selection([('0', '正常'), ('1', '故障停机'), ('2', '计划停机')], string='设备状态', default='0')
|
||||
working_shift = fields.Char(string='班次', readonly=True, compute='_onchange_working_calendar_id')
|
||||
create_time = fields.Datetime(string='新增时间', default=lambda self: fields.Datetime.now(), readonly=True)
|
||||
status = fields.Selection([('正常', '正常'), ('1', '故障停机'), ('2', '计划停机')],
|
||||
string='设备状态',
|
||||
readonly=True,
|
||||
compute='_onchange_equipment_name_id')
|
||||
participate_in_scheduling = fields.Boolean(string='参与排程', default=True)
|
||||
|
||||
|
||||
|
||||
@api.onchange('production_capacity')
|
||||
def _onchange_production_capacity(self):
|
||||
for record in self:
|
||||
if record.production_capacity < 0:
|
||||
raise UserError("输入的产能值不正确,请重新输入!")
|
||||
|
||||
@api.depends('work_center_name_id')
|
||||
def _onchange_work_center_name_id(self):
|
||||
for record in self:
|
||||
record.equipment_name_id = record.work_center_name_id.equipment_ids
|
||||
|
||||
@api.onchange('equipment_name_id')
|
||||
def _onchange_equipment_name_id(self):
|
||||
for record in self:
|
||||
record.equipment_code = record.equipment_name_id.code,
|
||||
record.brand = record.equipment_name_id.brand_id.name,
|
||||
record.model = record.equipment_name_id.type_id.name,
|
||||
record.status = record.equipment_name_id.state
|
||||
|
||||
@api.depends('working_calendar_id')
|
||||
def _onchange_working_calendar_id(self):
|
||||
for record in self:
|
||||
record.working_shift = record.working_calendar_id.working_shift
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -106,18 +106,19 @@
|
||||
<field name="model">sf.procedure.equipment.resource.setting</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="产线设备资源设置">
|
||||
<field name="code"/>
|
||||
<field name="work_center_name"/>
|
||||
<field name="work_center_name_id"/>
|
||||
<field name="equipment_code"/>
|
||||
<!-- <field name="equipment_name"/>-->
|
||||
<field name="equipment_name_id"/>
|
||||
<field name="brand"/>
|
||||
<field name="model"/>
|
||||
<field name="working_procedure"/>
|
||||
<field name="production_capacity"/>
|
||||
<field name="working_calendar_id"/>
|
||||
<field name="working_shift"/>
|
||||
<field name="create_time"/>
|
||||
<field name="status"/>
|
||||
<field name="participate_in_scheduling"/>
|
||||
<field name="production_line_id" invisible="True"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -128,32 +129,40 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="产线设备资源设置">
|
||||
<sheet>
|
||||
<group>
|
||||
<group string="生产线">
|
||||
<group>
|
||||
<field name="work_center_name"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="production_line_id"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group string="工作中心信息">
|
||||
<group>
|
||||
<field name="equipment_code"/>
|
||||
<!-- <field name="equipment_name"/>-->
|
||||
<field name="working_procedure"/>
|
||||
<field name="work_center_name_id"/>
|
||||
<field name="production_capacity"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="brand"/>
|
||||
<field name="model"/>
|
||||
<field name="working_calendar_id"/>
|
||||
<field name="working_shift"/>
|
||||
<field name="working_procedure"/>
|
||||
<field name="participate_in_scheduling"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="create_time"/>
|
||||
<field name="status"/>
|
||||
<field name="participate_in_scheduling"/>
|
||||
<group string="设备信息">`
|
||||
<group>
|
||||
<field name="equipment_name_id"/>
|
||||
<field name="brand"/>
|
||||
<field name="status"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="equipment_code" string="机台号"/>
|
||||
<field name="model"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="工作日历信息">
|
||||
<group>
|
||||
<field name="working_calendar_id"/>
|
||||
<field name="create_time"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="working_shift"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
@@ -165,8 +174,20 @@
|
||||
<field name="model">sf.procedure.equipment.resource.setting</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="work_center_name_id"/>
|
||||
<field name="equipment_code"/>
|
||||
<field name="equipment_name_id"/>
|
||||
<field name="brand"/>
|
||||
<field name="model"/>
|
||||
<field name="working_procedure"/>
|
||||
<field name="production_capacity"/>
|
||||
<field name="working_calendar_id"/>
|
||||
<field name="working_shift"/>
|
||||
<field name="create_time"/>
|
||||
<field name="status"/>
|
||||
<field name="participate_in_scheduling"/>
|
||||
<searchpanel>
|
||||
<field name="working_calendar_id" icon="fa-building" enable_counters="1"/>
|
||||
<field name="production_line_id" icon="fa-building" enable_counters="1"/>
|
||||
</searchpanel>
|
||||
</search>
|
||||
</field>
|
||||
|
||||
Reference in New Issue
Block a user