From 0870bafdb99197f20db483474b24c063d5dca3b9 Mon Sep 17 00:00:00 2001 From: guanhuan Date: Mon, 13 Jan 2025 10:41:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=B6=E9=80=A0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E3=80=81=E5=B7=A5=E5=8D=95=E9=A1=B5=E9=9D=A2=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/WorkCenterBarcodes.xml | 1 + sf_manufacturing/models/mrp_production.py | 2 +- sf_manufacturing/models/mrp_workorder.py | 13 ++++++++++++ .../views/mrp_production_addional_change.xml | 21 +++++++++++++++++++ sf_plan/views/view.xml | 8 +++++-- sf_plan/wizard/action_plan_some.py | 11 +++++++--- sf_tool_management/views/tool_base_views.xml | 1 + 7 files changed, 51 insertions(+), 6 deletions(-) diff --git a/sf_machine_connect/views/WorkCenterBarcodes.xml b/sf_machine_connect/views/WorkCenterBarcodes.xml index a1a5a5ea..103a6b7f 100644 --- a/sf_machine_connect/views/WorkCenterBarcodes.xml +++ b/sf_machine_connect/views/WorkCenterBarcodes.xml @@ -13,6 +13,7 @@ + diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 8b290312..7fca3c81 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -20,7 +20,7 @@ class MrpProduction(models.Model): _description = "制造订单" _order = 'create_date desc' sale_order_id = fields.Many2one('sale.order', string='销售订单', compute='_compute_sale_order_id', store=True) - deadline_of_delivery = fields.Date('订单交期', tracking=True, compute='_compute_deadline_of_delivery') + deadline_of_delivery = fields.Date('订单交期', tracking=True, compute='_compute_deadline_of_delivery', store=True) # tray_ids = fields.One2many('sf.tray', 'production_id', string="托盘") maintenance_count = fields.Integer(compute='_compute_maintenance_count', string="Number of maintenance requests") request_ids = fields.One2many('maintenance.request', 'production_id') diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 6d4a0c73..702c54dc 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -40,6 +40,11 @@ class ResMrpWorkOrder(models.Model): # workcenter_id = fields.Many2one('mrp.workcenter', string='工作中心', required=False) users_ids = fields.Many2many("res.users", 'users_workorder', related="workcenter_id.users_ids") processing_panel = fields.Char('加工面') + processing_panel_selection = fields.Selection([ + ('ZM', 'ZM'), + ('FM', 'FM'), + ('YC', 'YC'), + ('QC', 'QC')], string="加工面", compute='_compute_processing_panel_selection', store=True) sequence = fields.Integer(string='工序') routing_type = fields.Selection([ ('装夹预调', '装夹预调'), @@ -63,6 +68,14 @@ class ResMrpWorkOrder(models.Model): delivery_warning = fields.Selection([('normal', '正常'), ('warning', '告警'), ('overdue', '逾期')], string='时效', tracking=True) + @api.depends('processing_panel') + def _compute_processing_panel_selection(self): + for record in self: + if record.processing_panel in ['ZM', 'FM', 'YC', 'QC']: + record.processing_panel_selection = record.processing_panel + else: + record.processing_panel_selection = False + @api.depends('production_id.manual_quotation') def _compute_manual_quotation(self): for item in self: diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml index 8a44b621..8e46b256 100644 --- a/sf_manufacturing/views/mrp_production_addional_change.xml +++ b/sf_manufacturing/views/mrp_production_addional_change.xml @@ -554,6 +554,27 @@ mrp.production + + 单据编码 + + + + + + + + + 1 + + + 1 + + + 1 + + + 1 + diff --git a/sf_plan/views/view.xml b/sf_plan/views/view.xml index 09bd790c..cf57b355 100644 --- a/sf_plan/views/view.xml +++ b/sf_plan/views/view.xml @@ -160,8 +160,11 @@ - - + + + + + @@ -176,6 +179,7 @@ + diff --git a/sf_plan/wizard/action_plan_some.py b/sf_plan/wizard/action_plan_some.py index 86b3f1ac..f27f4dad 100644 --- a/sf_plan/wizard/action_plan_some.py +++ b/sf_plan/wizard/action_plan_some.py @@ -20,10 +20,15 @@ class Action_Plan_All_Wizard(models.TransientModel): logging.info('计划开始时间: %s', planned_start_date) return planned_start_date + def _get_production_line_id(self): + sf_production_line = self.env['sf.production.line'].sudo().search( + [('name', '=', '1#CNC自动生产线')], limit=1) + return sf_production_line.id + # 选择生产线 - production_line_id = fields.Many2one('sf.production.line', string=u'生产线', required=True) - date_planned_start = fields.Datetime(string='计划开始时间', index=True, copy=False, - default=_get_date_planned_start) + production_line_id = fields.Many2one('sf.production.line', string=u'生产线', required=True, + default=_get_production_line_id) + date_planned_start = fields.Datetime(string='计划开始时间', index=True, copy=False, required=True) # 接收传递过来的计划ID plan_ids = fields.Many2many('sf.production.plan', string=u'计划ID') diff --git a/sf_tool_management/views/tool_base_views.xml b/sf_tool_management/views/tool_base_views.xml index 092e0113..8f986858 100644 --- a/sf_tool_management/views/tool_base_views.xml +++ b/sf_tool_management/views/tool_base_views.xml @@ -770,6 +770,7 @@ + From 5aca6d0685acc367bad5acb1af6d6fc613f04f83 Mon Sep 17 00:00:00 2001 From: guanhuan Date: Mon, 13 Jan 2025 10:48:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B1=8F=E8=94=BD=E6=8A=A5=E5=BA=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 2 +- sf_quality/models/quality_cnc_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 702c54dc..36762baf 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -143,7 +143,7 @@ class ResMrpWorkOrder(models.Model): Y10_axis = fields.Float(default=0) Z10_axis = fields.Float(default=0) X_deviation_angle = fields.Integer(string="X轴偏差度", default=0) - test_results = fields.Selection([("合格", "合格"), ("返工", "返工"), ("报废", "报废")], default='合格', + test_results = fields.Selection([("合格", "合格"), ("返工", "返工")], default='合格', string="检测结果", tracking=True) cnc_ids = fields.One2many("sf.cnc.processing", 'workorder_id', string="CNC加工程序") cmm_ids = fields.One2many("sf.cmm.program", 'workorder_id', string="CMM程序") diff --git a/sf_quality/models/quality_cnc_test.py b/sf_quality/models/quality_cnc_test.py index 9c73715d..9810b0e0 100644 --- a/sf_quality/models/quality_cnc_test.py +++ b/sf_quality/models/quality_cnc_test.py @@ -25,7 +25,7 @@ class SfQualityCncTest(models.Model): ('pass', '合格'), ('fail', '不合格')], string='判定结果') number = fields.Integer('数量', default=1) - test_results = fields.Selection([("合格", "合格"), ("返工", "返工"), ("报废", "报废")], string="检测结果") + test_results = fields.Selection([("合格", "合格"), ("返工", "返工")], string="检测结果") reason = fields.Selection( [("programming", "编程"), ("cutter", "刀具"), ("clamping", "装夹"), ("operate computer", "操机"), ("technology", "工艺"), ("customer redrawing", "客户改图")], string="原因")