新增功能刀具列表缓存对象,新增组装旧刀是创建缓存数据,新增取消组装时清除缓存数据
This commit is contained in:
@@ -68,6 +68,59 @@ class FunctionalCuttingToolEntity(models.Model):
|
||||
return [(6, 0, functional_tool_model_ids)]
|
||||
|
||||
|
||||
class FunctionalCuttingToolEntityCache(models.Model):
|
||||
_name = 'sf.functional.cutting.tool.entity.cache'
|
||||
_description = '功能刀具列表缓存'
|
||||
|
||||
code = fields.Char('编码')
|
||||
name = fields.Char('名称')
|
||||
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
|
||||
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
|
||||
|
||||
# 整体式刀具型号
|
||||
mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'sf_functional_cutting_tool_entity_cache_id',
|
||||
string='整体式刀具型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '整体式刀具')])
|
||||
# 刀片型号
|
||||
mrs_cutting_tool_blade_model_ids = fields.Many2many('sf.cutting.tool.model', 'sf_functional_cutting_tool_entity_cache_id',
|
||||
string='刀片型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀片')])
|
||||
# 刀杆型号
|
||||
mrs_cutting_tool_cutterbar_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'sf_functional_cutting_tool_entity_cache_id',
|
||||
string='刀杆型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀杆')])
|
||||
# 刀盘型号
|
||||
mrs_cutting_tool_cutterpad_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'sf_functional_cutting_tool_entity_cache_id',
|
||||
string='刀盘型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀盘')])
|
||||
# 刀柄型号
|
||||
mrs_cutting_tool_cutterhandle_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'sf_functional_cutting_tool_entity_cache_id',
|
||||
string='刀柄型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '刀柄')])
|
||||
# 夹头型号
|
||||
mrs_cutting_tool_cutterhead_model_ids = fields.Many2many('sf.cutting.tool.model',
|
||||
'sf_functional_cutting_tool_entity_cache_id',
|
||||
string='夹头型号', domain=
|
||||
[('mrs_cutting_tool_material_name', '=', '夹头')])
|
||||
|
||||
diameter = fields.Float('直径(mm)')
|
||||
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
|
||||
string='刀具等级')
|
||||
machining_accuracy = fields.Float('加工精度(mm)')
|
||||
tool_length = fields.Float('装刀长')
|
||||
blade_number = fields.Integer('刃数')
|
||||
integral_blade_length = fields.Float('整体刃长(mm)')
|
||||
effective_blade_length = fields.Float('有效刃长(mm)')
|
||||
max_life = fields.Float('最大寿命值')
|
||||
is_standard = fields.Boolean('是否标准刀')
|
||||
applicable_range = fields.Char('适用范围')
|
||||
image = fields.Binary('图片')
|
||||
|
||||
|
||||
class FunctionalToolWarning(models.Model):
|
||||
_name = 'sf.functional.tool.warning'
|
||||
_description = '功能刀具预警'
|
||||
@@ -596,7 +649,15 @@ class FunctionalToolAssembly(models.Model):
|
||||
self.env['sf.functional.cutting.tool.entity'].search([
|
||||
('code', '=', self.functional_tool_code)]).unlink()
|
||||
else:
|
||||
pass
|
||||
# 获取功能刀具缓存信息
|
||||
record = self.env['sf.functional.cutting.tool.entity.cache'].search([
|
||||
('code', '=', self.functional_tool_code)])
|
||||
# 删除缓存信息
|
||||
record.unlink()
|
||||
# 修改功能刀具列表信息
|
||||
self.env['sf.functional.cutting.tool.entity'].search([
|
||||
('code', '=', self.functional_tool_code)]).write(record)
|
||||
|
||||
# # 删除功能刀具预警、实时分布、出入库记录的新记录
|
||||
# self.env['sf.functional.tool.warning'].search([
|
||||
# ('code', '=', self.functional_tool_code)]).unlink()
|
||||
@@ -653,20 +714,28 @@ class FunctionalToolAssembly(models.Model):
|
||||
"""
|
||||
self.env['sf.delivery.of.cargo.from.storage'].search([]).unlink()
|
||||
|
||||
desc_1 = {'functional_tool_code': val.functional_tool_code,
|
||||
'name': val.name.id,
|
||||
'functional_tool_type_id': val.functional_tool_type_id.id,
|
||||
'production_line_name_id': val.production_line_name_id.id,
|
||||
'machine_tool_code': val.machine_tool_code,
|
||||
'receive_person': val.receive_person,
|
||||
'receive_time': val.receive_time}
|
||||
|
||||
|
||||
vals = self.env['sf.functional.tool.assembly'].search([('check_box_1', '=', True),('assemble_status', '=', '1')])
|
||||
if vals:
|
||||
for val in vals:
|
||||
self.env['sf.delivery.of.cargo.from.storage'].create(desc_1)
|
||||
self.env['sf.delivery.of.cargo.from.storage'].create({
|
||||
'functional_tool_code': val.functional_tool_code,
|
||||
'name': val.name.id,
|
||||
'functional_tool_type_id': val.functional_tool_type_id.id,
|
||||
'production_line_name_id': val.production_line_name_id.id,
|
||||
'machine_tool_code': val.machine_tool_code,
|
||||
'receive_person': val.receive_person,
|
||||
'receive_time': val.receive_time})
|
||||
else:
|
||||
self.env['sf.delivery.of.cargo.from.storage'].create(desc_1)
|
||||
self.env['sf.delivery.of.cargo.from.storage'].create({
|
||||
'functional_tool_code': self.functional_tool_code,
|
||||
'name': self.name.id,
|
||||
'functional_tool_type_id': self.functional_tool_type_id.id,
|
||||
'production_line_name_id': self.production_line_name_id.id,
|
||||
'machine_tool_code': self.machine_tool_code,
|
||||
'receive_person': self.receive_person,
|
||||
'receive_time': self.receive_time})
|
||||
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_sf_functional_cutting_tool_entity,sf.functional.cutting.tool.entity,model_sf_functional_cutting_tool_entity,base.group_user,1,1,1,1
|
||||
access_sf_functional_cutting_tool_entity_cache,sf.functional.cutting.tool.entity.cache,model_sf_functional_cutting_tool_entity_cache,base.group_user,1,1,1,1
|
||||
access_sf.functional.tool.warning,sf.functional.tool.warning,model_sf_functional_tool_warning,base.group_user,1,1,1,1
|
||||
access_sf.real.time.distribution.of.functional.tools,sf.real.time.distribution.of.functional.tools,model_sf_real_time_distribution_of_functional_tools,base.group_user,1,1,1,1
|
||||
access_sf.inbound.and.outbound.records.of.functional.tools,sf.inbound.and.outbound.records.of.functional.tools,model_sf_inbound_and_outbound_records_of_functional_tools,base.group_user,1,1,1,1
|
||||
|
||||
|
@@ -244,8 +244,12 @@ class FunctionalToolAssemblyOrder(models.TransientModel):
|
||||
# 如果是新刀,则创建功能刀具列表、
|
||||
self.env['sf.functional.cutting.tool.entity'].create(desc_2)
|
||||
else:
|
||||
self.env['sf.functional.cutting.tool.entity'].search([
|
||||
('code', '=', self.code)]).write(desc_2)
|
||||
record = self.env['sf.functional.cutting.tool.entity'].search([
|
||||
('code', '=', self.code)])
|
||||
# 创建功能刀具缓存信息
|
||||
self.env['sf.functional.cutting.tool.entity.cache'].create(record)
|
||||
# 修改功能刀具列表信息
|
||||
record.write(desc_2)
|
||||
# # 创建功能刀具预警、实时分布、出入库记录的新记录
|
||||
# self.env['sf.functional.tool.warning'].create(desc)
|
||||
# self.env['sf.real.time.distribution.of.functional.tools'].create(desc)
|
||||
|
||||
Reference in New Issue
Block a user