From d032f892723ff7e40b85460eb196ef7ac8506f04 Mon Sep 17 00:00:00 2001 From: gqh Date: Wed, 1 Feb 2023 17:53:32 +0800 Subject: [PATCH] =?UTF-8?q?sf=E4=BC=98=E5=8C=96=E7=BB=91=E5=AE=9A=E6=89=98?= =?UTF-8?q?=E7=9B=98=EF=BC=8C=E5=B7=A5=E5=8D=95form=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=BC=80=E5=A7=8B=E6=8C=89=E9=92=AE=20=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_base/models/base.py | 2 +- sf_manufacturing/models/mrp_production.py | 4 +- sf_manufacturing/models/mrp_workorder.py | 18 +- sf_manufacturing/views/mrp_workorder_view.xml | 13 +- .../translation_Po/zh_CN.po | 5856 +++++++++++++++++ sf_sale/views/sale_order_view.xml | 7 + 6 files changed, 5891 insertions(+), 9 deletions(-) create mode 100644 sf_manufacturing_translation/translation_Po/zh_CN.po diff --git a/sf_base/models/base.py b/sf_base/models/base.py index a6baa813..7e17d853 100644 --- a/sf_base/models/base.py +++ b/sf_base/models/base.py @@ -95,7 +95,7 @@ class MachineTool(models.Model): supplier_id = fields.Many2one('res.partner', string='制造商', domain="[('is_vendor', '=', True)]") registration_date = fields.Date('注册日期') - state_zc = fields.Selection([("已注册", "已注册"), ("未注册", "未注册")], string="注册状态", default='未注册') + state_zc = fields.Selection([("已注册", "已注册"), ("未注册", "未注册")], string="注册状态", default='未注册', tracking=True) active = fields.Boolean('有效', default=True) @api.constrains('rotate_speed') diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index fecccb2d..4ecda315 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -162,6 +162,9 @@ class MrpProduction(models.Model): for work in rec.workorder_ids: work.sequence = current_sequence current_sequence += 1 + sfa = rec + for a in sfa: + print(a) def _create_workorder1(self, k): for production in self: @@ -194,7 +197,6 @@ class MrpProduction(models.Model): # 根据加工面板的面数及对应的成品工序模板生成工单 i = 0 production.product_id.model_processing_panel = k - processing_panel_len = len(k) for k in (production.product_id.model_processing_panel.split(',')): routingworkcenter = self.env['sf.product.model.type.routing.sort'].search( [('product_model_type_id', '=', production.product_id.product_model_type_id.id)], diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 1df9dc75..c2c9b9ad 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -171,7 +171,7 @@ class ResMrpWorkOrder(models.Model): 'domain': [('workorder_id', '=', self.id)] } - tray_id = fields.Many2one('sf.tray', string="托盘信息") + tray_id = fields.Many2one('sf.tray', string="托盘信息", tracking=True) # 扫码绑定托盘方法 @@ -189,6 +189,7 @@ class ResMrpWorkOrder(models.Model): 'production_id': self.production_id, 'state': '占用', }) + self.work_state = "已绑定" orders = self.env['mrp.workorder'].search([('production_id', '=', self.production_id.id)]) for a in orders: a.tray_id = values @@ -288,7 +289,16 @@ class ResMrpWorkOrder(models.Model): self.env['stock.move'].sudo().create(productions._get_moves_finished_values()) productions._create_workorder2(self.processing_panel) else: - return True + return { + 'type': 'ir.actions.act_window', + 'name': '工单详情', + 'res_model': 'mrp.workorder', + 'view_mode': 'tree', + 'context': {'active_id': self.id}, + 'domain': [('state', 'not in', ['done', 'cancel', 'waiting', 'pending'])], + 'target': 'current', + + } # cnc程序获取 def fetchCNC(self): @@ -363,7 +373,7 @@ class ResMrpWorkOrder(models.Model): # 重写工单开始按钮方法 def button_start(self): - if self.state == 'waiting' or self.state == 'ready': + if self.state == 'waiting' or self.state == 'ready' or self.state == 'progress': self.ensure_one() if any(not time.date_end for time in self.time_ids.filtered(lambda t: t.user_id.id == self.env.user.id)): return True @@ -408,7 +418,7 @@ class ResMrpWorkOrder(models.Model): vals['date_planned_finished'] = start_date return self.write(vals) else: - raise ValidationError(_('请先完成上一步工单')) + raise UserError(_('请先完成上一步工单')) class CNCprocessing(models.Model): diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 43a49076..6cd4b441 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -61,7 +61,7 @@ [('state', 'not in', ['done', 'cancel'])] {'search_default_workcenter_id': active_id} -

+

没有工单要做!

@@ -92,7 +92,8 @@ mrp.workorder - + +