From 7d4314abc764dcfbcda2b63b6570bdd2f65e67e1 Mon Sep 17 00:00:00 2001 From: yuxianghui <3437689193@qq.com> Date: Wed, 5 Mar 2025 11:24:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=AD=90=E9=A1=B5=E7=AD=BE=E5=8F=AF=E5=85=A8=E9=87=8F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/mrp_workorder_views.xml | 2 +- sf_dlm/views/product_workorder.xml | 2 +- sf_machine_connect/views/delivery_record.xml | 2 +- .../views/machine_info_present.xml | 2 +- .../data/sf_work_individuation_page.xml | 58 +++++++++++++++++++ sf_manufacturing/models/mrp_production.py | 2 +- sf_manufacturing/models/mrp_workorder.py | 13 +++-- sf_manufacturing/views/mrp_workorder_view.xml | 37 +++++++----- sf_quality/models/quality.py | 4 +- sf_quality/views/quality_check_view.xml | 2 +- 10 files changed, 94 insertions(+), 30 deletions(-) diff --git a/jikimo_workorder_exception/views/mrp_workorder_views.xml b/jikimo_workorder_exception/views/mrp_workorder_views.xml index 55ee0aa7..1ce168dc 100644 --- a/jikimo_workorder_exception/views/mrp_workorder_views.xml +++ b/jikimo_workorder_exception/views/mrp_workorder_views.xml @@ -8,7 +8,7 @@ - + diff --git a/sf_dlm/views/product_workorder.xml b/sf_dlm/views/product_workorder.xml index 4c5f2a10..769e2369 100644 --- a/sf_dlm/views/product_workorder.xml +++ b/sf_dlm/views/product_workorder.xml @@ -6,7 +6,7 @@ - + diff --git a/sf_machine_connect/views/delivery_record.xml b/sf_machine_connect/views/delivery_record.xml index b614a7bb..d3d84cec 100644 --- a/sf_machine_connect/views/delivery_record.xml +++ b/sf_machine_connect/views/delivery_record.xml @@ -7,7 +7,7 @@ - + diff --git a/sf_machine_connect/views/machine_info_present.xml b/sf_machine_connect/views/machine_info_present.xml index b25a3515..78571a47 100644 --- a/sf_machine_connect/views/machine_info_present.xml +++ b/sf_machine_connect/views/machine_info_present.xml @@ -6,7 +6,7 @@ - + diff --git a/sf_manufacturing/data/sf_work_individuation_page.xml b/sf_manufacturing/data/sf_work_individuation_page.xml index 89bf333b..0b23324d 100644 --- a/sf_manufacturing/data/sf_work_individuation_page.xml +++ b/sf_manufacturing/data/sf_work_individuation_page.xml @@ -4,5 +4,63 @@ PTD 后置三元检测 + + WCP + 工件装夹 + + + ITD_PP + 前置三元检测定位参数 + + + 2D_MD + 2D加工图纸 + + + QIS + 质检标准 + + + WD + 工件配送 + + + CNC_P + CNC程序 + + + CMM_P + CMM程序 + + + MTI + 机床信息 + + + HDR + 下发记录 + + + ER + 异常记录 + + + DCP + 解除装夹 + + + CMR + 开料要求 + + + + + + + + + + + \ No newline at end of file diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 17c1803e..4f9571c8 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -365,7 +365,7 @@ class MrpProduction(models.Model): and production.schedule_state == '已排' and production.is_rework is False): production.state = 'pending_cam' if any((wo.test_results == '返工' and wo.state == 'done' and - (production.programming_state in ['已编程'] or wo.individuation_page_PTD is True)) + (production.programming_state in ['已编程'] or 'PTD' in wo.individuation_page_list)) or (wo.is_rework is True and wo.state == 'done' and production.programming_state in ['编程中', '已编程']) for wo in production.workorder_ids) or production.is_rework is True: production.state = 'rework' diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index a2bae378..728123e0 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1442,7 +1442,7 @@ class ResMrpWorkOrder(models.Model): record.production_id.process_state = '待加工' # 生成工件配送单 record.workpiece_delivery_ids = record._json_workpiece_delivery_list() - if record.routing_type == 'CNC加工' or record.individuation_page_PTD is True: + if record.routing_type == 'CNC加工' or 'PTD' in record.individuation_page_list: if record.routing_type == 'CNC加工': record.process_state = '待解除装夹' # record.write({'process_state': '待加工'}) @@ -1676,10 +1676,10 @@ class ResMrpWorkOrder(models.Model): # ==============================配置化页签--个性化记录=================================== routing_workcenter_id = fields.Many2one('mrp.routing.workcenter', compute='_compute_routing_workcenter_id', - store=True) + store=True, string='工序作业') individuation_page_ids = fields.Many2many('sf.work.individuation.page', string='个性化记录', store=True, compute='_compute_individuation_page_ids') - individuation_page_PTD = fields.Boolean('个性化记录(是否显示后置三元检测[PTD]页签)', default=False) + individuation_page_list = fields.Char('个性化记录', default=None) @api.depends('name') def _compute_routing_workcenter_id(self): @@ -1695,10 +1695,11 @@ class ResMrpWorkOrder(models.Model): if mw.routing_workcenter_id: mw.individuation_page_ids = mw.routing_workcenter_id.individuation_page_ids.ids # 初始化页签配置 - mw.individuation_page_PTD = False + mw.individuation_page_list = None # 根据工单对应的【作业_个性化记录】配置页签 - if any(item.code == 'PTD' for item in mw.routing_workcenter_id.individuation_page_ids): - mw.individuation_page_PTD = True + individuation_page_list = [item.code for item in mw.routing_workcenter_id.individuation_page_ids] + if individuation_page_list: + mw.individuation_page_list = list(set(individuation_page_list)) # ============================================================================================= diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index ff6b0a20..23c67c71 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -227,8 +227,7 @@ - + @@ -325,7 +324,7 @@ - + @@ -347,7 +346,7 @@ placeholder="如有预调程序信息请在此处输入....."/> - +
左面:
@@ -504,17 +503,15 @@ - + - + - + @@ -542,11 +539,19 @@ attrs='{"invisible": ["|", ("state","!=","progress"), ("routing_type","!=","装夹预调")]}'/> + + + + + + + + - - + + --> - + - + - + @@ -601,7 +606,7 @@ - + @@ -614,7 +619,7 @@ - + diff --git a/sf_quality/models/quality.py b/sf_quality/models/quality.py index ebe30a71..498ec402 100644 --- a/sf_quality/models/quality.py +++ b/sf_quality/models/quality.py @@ -18,7 +18,7 @@ class QualityCheck(models.Model): ('cancel', '已取消'), ], string='状态', tracking=True, store=True, default='none', copy=False, compute='_compute_quality_state') - individuation_page_PTD = fields.Boolean('个性化记录(是否显示后置三元检测[PTD]页签)', related='workorder_id.individuation_page_PTD') + individuation_page_list = fields.Char('个性化记录', related='workorder_id.individuation_page_list') work_state = fields.Selection(related='workorder_id.state', string='工单状态') processing_panel = fields.Char(related='workorder_id.processing_panel', string='加工面') @@ -93,7 +93,7 @@ class QualityCheck(models.Model): raise ValidationError('请填写【判定结果】里的信息') if self.test_results == '合格': raise ValidationError('请重新选择【判定结果】-【检测结果】') - if self.workorder_id.routing_type != 'CNC加工' and self.workorder_id.individuation_page_PTD is False: + if self.workorder_id.routing_type != 'CNC加工' and 'PTD' not in self.workorder_id.individuation_page_list: self.workorder_id.production_id.write({'detection_result_ids': [(0, 0, { 'rework_reason': self.reason, 'detailed_reason': self.detailed_reason, diff --git a/sf_quality/views/quality_check_view.xml b/sf_quality/views/quality_check_view.xml index 00b139de..83ffcbca 100644 --- a/sf_quality/views/quality_check_view.xml +++ b/sf_quality/views/quality_check_view.xml @@ -8,7 +8,7 @@ - +