Accept Merge Request #230: (feature/计划管理-基础设置 -> develop)
Merge Request: 优化了产线设备资源设置模型 Created By: @禹翔辉 Accepted By: @禹翔辉 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/230?initial=true
This commit is contained in:
@@ -12,6 +12,7 @@
|
|||||||
'data': [
|
'data': [
|
||||||
'security/group_security.xml',
|
'security/group_security.xml',
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
|
'views/production_line_base.py',
|
||||||
'views/maintenance_views.xml',
|
'views/maintenance_views.xml',
|
||||||
'views/maintenance_logs_views.xml',
|
'views/maintenance_logs_views.xml',
|
||||||
'views/equipment_maintenance_standards_views.xml',
|
'views/equipment_maintenance_standards_views.xml',
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
""",
|
""",
|
||||||
'category': 'sf',
|
'category': 'sf',
|
||||||
'website': 'https://www.sf.jikimo.com',
|
'website': 'https://www.sf.jikimo.com',
|
||||||
'depends': [],
|
'depends': ['sf_maintenance'],
|
||||||
'data': [
|
'data': [
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
# '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):
|
class ProcedureEquipmentResourceSetting(models.Model):
|
||||||
_name = 'sf.procedure.equipment.resource.setting'
|
_name = 'sf.procedure.equipment.resource.setting'
|
||||||
_description = '产线设备资源设置'
|
_description = '产线设备资源设置'
|
||||||
|
|
||||||
def _get_code(self):
|
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')
|
||||||
:return:
|
equipment_name_id = fields.Many2one('maintenance.equipment',
|
||||||
"""
|
string='设备名称',
|
||||||
fixture_material = self.env['sf.procedure.equipment.resource.setting'].sudo().search(
|
readonly=True,
|
||||||
[('code', '!=', '')],
|
compute='_onchange_work_center_name_id')
|
||||||
limit=1,
|
brand = fields.Char(string='品牌', readonly=True, compute='_onchange_equipment_name_id')
|
||||||
order="id desc")
|
model = fields.Char(string='型号', readonly=True, compute='_onchange_equipment_name_id')
|
||||||
if not fixture_material:
|
# todo 传入工序数据
|
||||||
num = "%03d" % 1
|
working_procedure = fields.Char(string='工序', readonly=True)
|
||||||
else:
|
production_capacity = fields.Float(string='产能', required=True, digits=(4, 1))
|
||||||
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)
|
|
||||||
working_calendar_id = fields.Many2one('sf.work.log.setting', string='工作日历')
|
working_calendar_id = fields.Many2one('sf.work.log.setting', string='工作日历')
|
||||||
working_shift = fields.Char(string='班次')
|
working_shift = fields.Char(string='班次', readonly=True, compute='_onchange_working_calendar_id')
|
||||||
create_time = fields.Datetime(string='新增时间', default=lambda self: fields.Datetime.now())
|
create_time = fields.Datetime(string='新增时间', default=lambda self: fields.Datetime.now(), readonly=True)
|
||||||
status = fields.Selection([('0', '正常'), ('1', '故障停机'), ('2', '计划停机')], string='设备状态', default='0')
|
status = fields.Selection([('正常', '正常'), ('1', '故障停机'), ('2', '计划停机')],
|
||||||
|
string='设备状态',
|
||||||
|
readonly=True,
|
||||||
|
compute='_onchange_equipment_name_id')
|
||||||
participate_in_scheduling = fields.Boolean(string='参与排程', default=True)
|
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="model">sf.procedure.equipment.resource.setting</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="产线设备资源设置">
|
<tree string="产线设备资源设置">
|
||||||
<field name="code"/>
|
<field name="work_center_name_id"/>
|
||||||
<field name="work_center_name"/>
|
|
||||||
<field name="equipment_code"/>
|
<field name="equipment_code"/>
|
||||||
<!-- <field name="equipment_name"/>-->
|
<field name="equipment_name_id"/>
|
||||||
<field name="brand"/>
|
<field name="brand"/>
|
||||||
<field name="model"/>
|
<field name="model"/>
|
||||||
|
<field name="working_procedure"/>
|
||||||
<field name="production_capacity"/>
|
<field name="production_capacity"/>
|
||||||
<field name="working_calendar_id"/>
|
<field name="working_calendar_id"/>
|
||||||
<field name="working_shift"/>
|
<field name="working_shift"/>
|
||||||
<field name="create_time"/>
|
<field name="create_time"/>
|
||||||
<field name="status"/>
|
<field name="status"/>
|
||||||
<field name="participate_in_scheduling"/>
|
<field name="participate_in_scheduling"/>
|
||||||
|
<field name="production_line_id" invisible="True"/>
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@@ -128,32 +129,40 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="产线设备资源设置">
|
<form string="产线设备资源设置">
|
||||||
<sheet>
|
<sheet>
|
||||||
<group>
|
<group string="生产线">
|
||||||
<group>
|
<group>
|
||||||
<field name="work_center_name"/>
|
<field name="production_line_id"/>
|
||||||
</group>
|
|
||||||
<group>
|
|
||||||
<field name="code"/>
|
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group string="工作中心信息">
|
||||||
<group>
|
<group>
|
||||||
<field name="equipment_code"/>
|
<field name="work_center_name_id"/>
|
||||||
<!-- <field name="equipment_name"/>-->
|
|
||||||
<field name="working_procedure"/>
|
|
||||||
<field name="production_capacity"/>
|
<field name="production_capacity"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="brand"/>
|
<field name="working_procedure"/>
|
||||||
<field name="model"/>
|
<field name="participate_in_scheduling"/>
|
||||||
<field name="working_calendar_id"/>
|
|
||||||
<field name="working_shift"/>
|
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group string="设备信息">`
|
||||||
<field name="create_time"/>
|
<group>
|
||||||
<field name="status"/>
|
<field name="equipment_name_id"/>
|
||||||
<field name="participate_in_scheduling"/>
|
<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>
|
</group>
|
||||||
</sheet>
|
</sheet>
|
||||||
</form>
|
</form>
|
||||||
@@ -165,8 +174,20 @@
|
|||||||
<field name="model">sf.procedure.equipment.resource.setting</field>
|
<field name="model">sf.procedure.equipment.resource.setting</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<search>
|
<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>
|
<searchpanel>
|
||||||
<field name="working_calendar_id" icon="fa-building" enable_counters="1"/>
|
<field name="production_line_id" icon="fa-building" enable_counters="1"/>
|
||||||
</searchpanel>
|
</searchpanel>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
Reference in New Issue
Block a user