自建模块日志警告信息处理

This commit is contained in:
yuxianghui
2023-08-28 17:31:41 +08:00
parent df650edefd
commit 39feda07e5
18 changed files with 224 additions and 106 deletions

View File

@@ -15,7 +15,7 @@ class FunctionalCuttingToolEntity(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', tracking=True,
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型',
group_expand='_read_group_mrs_cutting_tool_type_ids')
@api.model
@@ -218,11 +218,11 @@ class FunctionalToolWarning(models.Model):
diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
string='刀具等级', readonly=True, related='functional_cutting_tool_id.tool_grade')
string='刀具等级', readonly=True, compute='_compute_functional_cutting_tool_id')
machining_accuracy = fields.Float('加工精度(mm)', readonly=True,
related='functional_cutting_tool_id.machining_accuracy')
tool_length = fields.Float('装刀长', readonly=True, related='functional_cutting_tool_id.tool_length')
# tool_length = fields.Float('装刀长', readonly=True, related='functional_cutting_tool_id.tool_length')
tool_length = fields.Float('装刀长(mm)', readonly=True, related='functional_cutting_tool_id.tool_length')
blade_number = fields.Integer('刃数', readonly=True, related='functional_cutting_tool_id.blade_number')
@@ -231,16 +231,24 @@ class FunctionalToolWarning(models.Model):
effective_blade_length = fields.Float('有效刃长(mm)', readonly=True,
related='functional_cutting_tool_id.effective_blade_length')
max_life = fields.Float('最大寿命值', readonly=True, related='functional_cutting_tool_id.max_life')
is_standard = fields.Selection([('1', ''), ('0', '')],'是否标准刀', readonly=True, related='functional_cutting_tool_id.is_standard')
is_standard = fields.Selection([('1', ''), ('0', '')],'是否标准刀', readonly=True,
compute='_compute_functional_cutting_tool_id')
applicable_range = fields.Char('适用范围', readonly=True, related='functional_cutting_tool_id.applicable_range')
image = fields.Binary('图片', readonly=True, related='functional_cutting_tool_id.image')
# 功能刀具预警 特有字段
image = fields.Binary('图片', readonly=True, related='functional_cutting_tool_id.image')
install_tool_time = fields.Datetime("装刀时间", readonly=True,
related='functional_tool_assembly_id.tool_loading_time')
@api.depends('functional_cutting_tool_id')
def _compute_functional_cutting_tool_id(self):
if self.functional_cutting_tool_id:
self.tool_grade = self.functional_cutting_tool_id.tool_grade
self.is_standard = self.functional_cutting_tool_id.is_standard
# 功能刀具预警 特有字段
outbound_time = fields.Datetime('出库时间', readonly=True, related='functional_tool_assembly_id.receive_time')
on_board_time = fields.Datetime('上机时间', readonly=False)
machine_table_name_id = fields.Many2one('maintenance.equipment', string='机床名称', readonly=True, tracking=True,
machine_table_name_id = fields.Many2one('maintenance.equipment', string='机床名称', readonly=True,
group_expand='_read_group_machine_table_name_ids')
@api.model
@@ -250,7 +258,7 @@ class FunctionalToolWarning(models.Model):
machine_tool_code = fields.Char('机台号', readonly=True, related='functional_tool_assembly_id.machine_tool_code')
cutting_tool_code = fields.Char('刀位号', readonly=True, related='functional_tool_assembly_id.cutter_spacing_code')
idle_time = fields.Char('闲置时长', readonly=False)
# idle_time = fields.Char('闲置时长', readonly=False)
idle_time = fields.Char('闲置时长(h)', readonly=False)
alarm_value = fields.Char('报警值', readonly=False)
used_value = fields.Char('已使用值', readonly=False)
@@ -272,7 +280,7 @@ class RealTimeDistributionOfFunctionalTools(models.Model):
functional_cutting_tool_id = fields.Many2one('sf.functional.cutting.tool.entity', '功能刀具', readonly=True)
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=True,
tracking=True, group_expand='_read_mrs_cutting_tool_type_ids',
group_expand='_read_mrs_cutting_tool_type_ids',
store=True,
compute='_compute_functional_cutting_tool_id')
@@ -344,7 +352,7 @@ class RealTimeDistributionOfFunctionalTools(models.Model):
diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
string='刀具等级', readonly=True, related='functional_cutting_tool_id.tool_grade')
string='刀具等级', readonly=True, compute='_compute_functional_cutting_tool_id')
machining_accuracy = fields.Float('加工精度(mm)', readonly=True,
related='functional_cutting_tool_id.machining_accuracy')
tool_length = fields.Float('装刀长(mm)', readonly=True, related='functional_cutting_tool_id.tool_length')
@@ -354,10 +362,17 @@ class RealTimeDistributionOfFunctionalTools(models.Model):
effective_blade_length = fields.Float('有效刃长(mm)', readonly=True,
related='functional_cutting_tool_id.effective_blade_length')
max_life = fields.Float('最大寿命值', readonly=True, related='functional_cutting_tool_id.max_life')
is_standard = fields.Selection([('1', ''), ('0', '')],'是否标准刀', readonly=True, related='functional_cutting_tool_id.is_standard')
is_standard = fields.Selection([('1', ''), ('0', '')],'是否标准刀', readonly=True,
compute='_compute_functional_cutting_tool_id')
applicable_range = fields.Char('适用范围', readonly=True, related='functional_cutting_tool_id.applicable_range')
image = fields.Binary('图片', readonly=True, related='functional_cutting_tool_id.image')
@api.depends('functional_cutting_tool_id')
def _compute_functional_cutting_tool_id(self):
if self.functional_cutting_tool_id:
self.tool_grade = self.functional_cutting_tool_id.tool_grade
self.is_standard = self.functional_cutting_tool_id.is_standard
# 功能刀具实时分布
tool_stock_num = fields.Integer(string='刀具房库存数量', readonly=False)
side_shelf_num = fields.Integer(string='线边货架货架数量', readonly=False)
@@ -395,7 +410,7 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model):
functional_cutting_tool_id = fields.Many2one('sf.functional.cutting.tool.entity', '功能刀具', readonly=True)
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=True,
tracking=True, group_expand='_read_mrs_cutting_tool_type_ids',
group_expand='_read_mrs_cutting_tool_type_ids',
store=True,
compute='_compute_functional_cutting_tool_id')
@@ -465,7 +480,7 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model):
diameter = fields.Float('直径(mm)', readonly=True, related='functional_cutting_tool_id.diameter')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
string='刀具等级', readonly=True, related='functional_cutting_tool_id.tool_grade')
string='刀具等级', readonly=True, compute='_compute_functional_cutting_tool_id')
machining_accuracy = fields.Float('加工精度(mm)', readonly=True,
related='functional_cutting_tool_id.machining_accuracy')
tool_length = fields.Float('装刀长(mm)', readonly=True, related='functional_cutting_tool_id.tool_length')
@@ -475,10 +490,17 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model):
effective_blade_length = fields.Float('有效刃长(mm)', readonly=True,
related='functional_cutting_tool_id.effective_blade_length')
max_life = fields.Float('最大寿命值', readonly=True, related='functional_cutting_tool_id.max_life')
is_standard = fields.Selection([('1', ''), ('0', '')],'是否标准刀', readonly=True, related='functional_cutting_tool_id.is_standard')
is_standard = fields.Selection([('1', ''), ('0', '')],'是否标准刀', readonly=True,
compute='_compute_functional_cutting_tool_id')
applicable_range = fields.Char('适用范围', readonly=True, related='functional_cutting_tool_id.applicable_range')
image = fields.Binary('图片', readonly=True, related='functional_cutting_tool_id.image')
@api.depends('functional_cutting_tool_id')
def _compute_functional_cutting_tool_id(self):
if self.functional_cutting_tool_id:
self.tool_grade = self.functional_cutting_tool_id.tool_grade
self.is_standard = self.functional_cutting_tool_id.is_standard
# 功能刀具出入库记录 特有字段
current_state = fields.Char(string='当前状态', readonly=False)
current_store_area = fields.Char(string='当前库区', readonly=False)
@@ -486,7 +508,7 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model):
tool_install_staff = fields.Char(string='装刀人', readonly=False)
tool_install_time = fields.Datetime(string='装刀时间', readonly=False)
thickness = fields.Selection([('1', ''), ('2', ''), ('3', '')], string='粗/中/精', readonly=False)
max_life_span = fields.Char(string='最大寿命值', readonly=False)
# max_life_span = fields.Char(string='最大寿命值', readonly=False)
alarm_value = fields.Char(string='报警值', readonly=False)
used_value = fields.Char(string='已使用值', readonly=False)
reason_application = fields.Char(string='申请原因', readonly=False)
@@ -528,12 +550,11 @@ class MachineTableToolChangingApply(models.Model):
# string='换刀需求信息',
# attrs="{'invisible': 1}")
name = fields.Many2one('maintenance.equipment', string='CNC机床',required=True, readonly=False, tracking=True,
name = fields.Many2one('maintenance.equipment', string='CNC机床',required=True, readonly=False,
group_expand='_read_group_names')
machine_table_type_id = fields.Many2one('sf.machine_tool.category', string='机床类型', readonly=True,
compute='_compute_name')
machine_tool_code = fields.Char(string='机台号', attrs="{'invisible': 1}", readonly=True, compute='_compute_name')
machine_tool_code = fields.Char(string='机台号', invisible=True, readonly=True, compute='_compute_name')
cutter_spacing_code = fields.Char(string='刀位号', readonly=False)
functional_tool_code = fields.Char(string='功能刀具编码', readonly=True, compute='_compute_functional_tool_name_id')
functional_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='功能刀具名称', readonly=False)
@@ -555,7 +576,7 @@ class MachineTableToolChangingApply(models.Model):
replacement_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='待换功能刀具类型',
readonly=True)
replacement_tool_coarse_middle_thin = fields.Selection([("1", ""), ('2', ''), ('3', '')],
string='粗/中/精', readonly=True)
string='粗/中/精(待换)', readonly=True)
new_former = fields.Selection([('0', ''), ('1', '')], string='新/旧', readonly=True)
applicant = fields.Char(string='申请人', readonly=True)
used_tool_time = fields.Datetime(string='用刀时间', readonly=True)
@@ -692,7 +713,7 @@ class CAMWorkOrderProgramKnifePlan(models.Model):
functional_tool_code = fields.Char(string='功能刀具编码', readonly=False)
functional_tool_name_id = fields.Many2one('sf.functional.cutting.tool', string='功能刀具名称', readonly=False)
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=False)
machine_table_name_id = fields.Many2one('maintenance.equipment', string='机床名称', readonly=False, tracking=True,
machine_table_name_id = fields.Many2one('maintenance.equipment', string='机床名称', readonly=False,
group_expand='_read_group_machine_table_name_ids')
@api.model
@@ -786,7 +807,7 @@ class FunctionalToolAssembly(models.Model):
functional_tool_code = fields.Char(string='功能刀具编码', readonly=True)
name = fields.Many2one('sf.functional.cutting.tool', string='功能刀具名称', readonly=True)
functional_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型', readonly=True,
tracking=True, group_expand='_read_group_functional_tool_type_ids')
group_expand='_read_group_functional_tool_type_ids')
@api.model
def _read_group_functional_tool_type_ids(self, categories, domain, order):

View File

@@ -23,9 +23,9 @@ class SfToolMaterialSearch(models.Model):
# mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', '刀具型号')
# 关联刀具物料模型
mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料',tracking=True,
mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料',
group_expand='_read_group_mrs_cutting_tool_material_ids')
cutting_tool_material_name = fields.Char(string='物料名称',invisible=True)
cutting_tool_material_name = fields.Char(string='物料名称', invisible=True)
@api.onchange('mrs_cutting_tool_material_id')
def _onchange_mrs_cutting_tool_material_id(self):