diff --git a/sf_tool_management/models/base.py b/sf_tool_management/models/base.py index 2bf0df54..781580b7 100644 --- a/sf_tool_management/models/base.py +++ b/sf_tool_management/models/base.py @@ -15,8 +15,13 @@ class FunctionalCuttingToolEntity(models.Model): 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_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型',tracking=True, + group_expand='_read_group_mrs_cutting_tool_type_ids') + @api.model + def _read_group_mrs_cutting_tool_type_ids(self, categories, domain, order): + mrs_cutting_tool_type_ids = categories._search([], order=order, access_rights_uid=SUPERUSER_ID) + return categories.browse(mrs_cutting_tool_type_ids) # 整体式刀具型号 mrs_cutting_tool_integral_model_ids = fields.Many2many('sf.cutting.tool.model', @@ -403,25 +408,40 @@ class InboundAndOutboundRecordsOfFunctionalTools(models.Model): image = fields.Binary('图片', readonly=True, related='functional_cutting_tool_id.image') # 功能刀具出入库记录 特有字段 + current_state = fields.Char(string='当前状态', readonly=False) + current_store_area = fields.Char(string='当前库区', readonly=False) + current_store_place = fields.Char(string='当前库位', readonly=False) + 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) alarm_value = fields.Char(string='报警值', readonly=False) used_value = fields.Char(string='已使用值', readonly=False) - current_state = fields.Char(string='当前状态', readonly=False) - current_store_area = fields.Char(string='当前库区', readonly=False) - current_store_place = fields.Char(string='当前库位', readonly=False) - number = fields.Integer(string='数量', readonly=False) reason_application = fields.Char(string='申请原因', readonly=False) applicant = fields.Char(string='申请人', readonly=False) - return_staff = fields.Char(string='归还人', readonly=False) - return_time = fields.Date(string='归还入库时间', readonly=False) - tool_state = fields.Char(string="刀具状态", readonly=False) - tool_install_staff = fields.Char(string='装刀人', readonly=False) - tool_install_time = fields.Datetime(string='装刀时间', readonly=False) + + inbound_and_outbound_records_ids = fields.One2many('sf.inbound.and.outbound.records','inbound_and_outbound_tools_id', string='出入库记录') + + remark = fields.Char(string='备注/说明', readonly=False) + + +class InboundAndOutboundRecords(models.Model): + _name = 'sf.inbound.and.outbound.records' + _description = '出入库记录' + _order = 'id DESC' + + inbound_and_outbound_tools_id = fields.Many2one('sf.inbound.and.outbound.records.of.functional.tools',string='功能刀具出入库记录') + + name = fields.Char(string='出入库记录') + tool_state = fields.Selection([('0', '领用出库'), ('1', '归还入库')], string="出入库类别", readonly=False) receive_equipment = fields.Char(string='领用机台', readonly=False) receive_staff = fields.Char(string='领用人', readonly=False) - receive_time = fields.Char(string='领用出库时间', readonly=False) - remark = fields.Text(string='备注/说明', readonly=False) + receive_time = fields.Datetime(string='领用出库时间', readonly=False) + return_staff = fields.Char(string='归还人', readonly=False) + return_time = fields.Datetime(string='归还入库时间', readonly=False) + current_store_area = fields.Char(string='库区', readonly=False) + current_store_place = fields.Char(string='库位', readonly=False) + number = fields.Integer(string='数量', readonly=False) class MachineTableToolChangingApply(models.Model): diff --git a/sf_tool_management/models/tool_material_search.py b/sf_tool_management/models/tool_material_search.py index be14ca23..91ba894b 100644 --- a/sf_tool_management/models/tool_material_search.py +++ b/sf_tool_management/models/tool_material_search.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from odoo import fields, models, api +from odoo import fields, models, api, SUPERUSER_ID # 刀具物料搜索 @@ -22,10 +22,23 @@ 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', '刀具物料') + mrs_cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料',tracking=True, + group_expand='_read_group_mrs_cutting_tool_material_ids') + cutting_tool_material_name = fields.Char(string='物料名称',invisible=True) + + @api.onchange('mrs_cutting_tool_material_id') + def _onchange_mrs_cutting_tool_material_id(self): + for record in self: + if record: + record.cutting_tool_material_name = record.mrs_cutting_tool_material_id.name + + @api.model + def _read_group_mrs_cutting_tool_material_ids(self, categories, domain, order): + mrs_cutting_tool_material_ids = categories._search([], order=order, access_rights_uid=SUPERUSER_ID) + return categories.browse(mrs_cutting_tool_material_ids) # 刀片特有字段 - blade_code = fields.Char('刀片编码') + blade_code = fields.Char('刀片编码', readonly=True) blade_length = fields.Float('长度L(mm)') blade_width = fields.Float('宽度D(mm)') blade_height = fields.Float('高度T(mm)') diff --git a/sf_tool_management/security/ir.model.access.csv b/sf_tool_management/security/ir.model.access.csv index d95ad4c5..855733b9 100644 --- a/sf_tool_management/security/ir.model.access.csv +++ b/sf_tool_management/security/ir.model.access.csv @@ -4,6 +4,7 @@ access_sf_functional_cutting_tool_entity_cache,sf.functional.cutting.tool.entity 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 +access_sf.inbound.and.outbound.records,sf.inbound.and.outbound.records,model_sf_inbound_and_outbound_records,base.group_user,1,1,1,1 access_sf_cam_work_order_program_knife_plan,sf.cam.work.order.program.knife.plan,model_sf_cam_work_order_program_knife_plan,base.group_user,1,1,1,1 access_sf_machine_table_tool_changing_apply,sf.machine.table.tool.changing.apply,model_sf_machine_table_tool_changing_apply,base.group_user,1,1,1,1 diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml index ebf1bc95..2aa91feb 100644 --- a/sf_tool_management/views/tool_base_views.xml +++ b/sf_tool_management/views/tool_base_views.xml @@ -321,10 +321,6 @@ - - - - @@ -336,11 +332,6 @@ - - - - - @@ -421,7 +412,7 @@ - + @@ -457,30 +448,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - + @@ -502,7 +470,22 @@ - + + + + + + + + + + + + + + + + @@ -528,7 +511,7 @@ - + @@ -544,6 +527,60 @@ + + + 出入库记录 + sf.inbound.and.outbound.records + + + + + + + + + + + + + + + + + 出入库记录 + sf.inbound.and.outbound.records + +
+ + + + + + + + + + + + + + + + + + +
+
+
+ + + 出入库记录 + ir.actions.act_window + sf.inbound.and.outbound.records + tree,form + + + 机床换刀申请 diff --git a/sf_tool_management/views/tool_material_search.xml b/sf_tool_management/views/tool_material_search.xml index 9a68388d..4b5e2ba1 100644 --- a/sf_tool_management/views/tool_material_search.xml +++ b/sf_tool_management/views/tool_material_search.xml @@ -155,90 +155,130 @@ - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -257,8 +297,8 @@ - @@ -270,7 +310,7 @@ tree,form