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