Merge branch 'feature/工单-质检优化_2' into feature/工单-质检优化_3
This commit is contained in:
@@ -1270,13 +1270,14 @@ class ResMrpWorkOrder(models.Model):
|
||||
# 生成工件配送单
|
||||
record.workpiece_delivery_ids = record._json_workpiece_delivery_list()
|
||||
if record.routing_type == 'CNC加工' or record.individuation_page_PTD is True:
|
||||
record.process_state = '待解除装夹'
|
||||
# record.write({'process_state': '待加工'})
|
||||
record.production_id.process_state = '待解除装夹'
|
||||
self.env['sf.production.plan'].sudo().search([('name', '=', record.production_id.name)]).write({
|
||||
'state': 'finished',
|
||||
'actual_end_time': datetime.now()
|
||||
})
|
||||
if record.routing_type == 'CNC加工':
|
||||
record.process_state = '待解除装夹'
|
||||
# record.write({'process_state': '待加工'})
|
||||
record.production_id.process_state = '待解除装夹'
|
||||
self.env['sf.production.plan'].sudo().search([('name', '=', record.production_id.name)]).write({
|
||||
'state': 'finished',
|
||||
'actual_end_time': datetime.now()
|
||||
})
|
||||
record.production_id.write({'detection_result_ids': [(0, 0, {
|
||||
'rework_reason': record.reason,
|
||||
'detailed_reason': record.detailed_reason,
|
||||
@@ -1365,7 +1366,7 @@ class ResMrpWorkOrder(models.Model):
|
||||
if record.check_ids.filtered(lambda qc: qc.quality_state in ('waiting', 'none')):
|
||||
check_ids = record.check_ids.filtered(lambda qc: qc.quality_state in ('waiting', 'none'))
|
||||
if record.test_results == '合格':
|
||||
check_ids.write({'test_results': None})
|
||||
check_ids.write({'test_results': record.test_results})
|
||||
for check_id in check_ids:
|
||||
check_id.do_pass()
|
||||
elif record.test_results in ('返工', '报废'):
|
||||
|
||||
@@ -17,6 +17,7 @@ class QualityCheck(models.Model):
|
||||
('fail', '失败的')], string='状态', tracking=True, store=True,
|
||||
default='none', copy=False, compute='_compute_quality_state')
|
||||
|
||||
work_state = fields.Selection(related='workorder_id.state', string='工单状态')
|
||||
processing_panel = fields.Char(related='workorder_id.processing_panel', string='加工面')
|
||||
|
||||
production_line_id = fields.Many2one(related='workorder_id.production_line_id',
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
<field name="inherit_id" ref="quality_control.quality_check_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='alert_ids']" position="after">
|
||||
<field name="production_id" invisible="1"/>
|
||||
<field name="work_state" invisible="1"/>
|
||||
<field name="production_line_id" attrs="{'invisible': [('production_id', '=', False)]}"/>
|
||||
<field name="equipment_id" attrs="{'invisible': [('production_id', '=', False)]}"/>
|
||||
<field name="model_file" widget="Viewer3D" string="模型" readonly="1" force_save="1"
|
||||
@@ -22,12 +24,14 @@
|
||||
<field name="detection_report" string="" widget="pdf_viewer"/>
|
||||
</page>
|
||||
<page string="判定结果" attrs="{'invisible': [('production_id', '=', False)]}">
|
||||
<group attrs="{'readonly': [('quality_state','in', ['pass', 'fail'])]}">
|
||||
<field name="test_results"/>
|
||||
<field name="reason"
|
||||
attrs="{'required': [('test_results','in', ['返工','报废'])],'invisible': [('test_results','in', ['合格',False])]}"/>
|
||||
<field name="detailed_reason"
|
||||
attrs="{'required': [('reason','!=', False)],'invisible': [('test_results','in', ['合格',False])]}"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="test_results" attrs="{'readonly': [('quality_state','in', ['pass', 'fail'])]}"/>
|
||||
<field name="reason"
|
||||
attrs="{'required': [('test_results','in', ['返工','报废'])],'invisible': [('test_results','in', ['合格',False])],'readonly': [('quality_state','in', ['pass', 'fail'])]}"/>
|
||||
<field name="detailed_reason"
|
||||
attrs="{'required': [('reason','!=', False)],'invisible': [('test_results','in', ['合格',False])],'readonly': [('quality_state','in', ['pass', 'fail'])]}"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="2D图纸" attrs="{'invisible': [('production_id', '=', False)]}">
|
||||
@@ -44,6 +48,12 @@
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
<xpath expr="//header//button[@name='do_pass'][2]" position="attributes">
|
||||
<attribute name="attrs">{'invisible': ['|',('quality_state', '!=', 'fail'),('work_state','=', 'done')]}</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//header//button[@name='do_fail'][2]" position="attributes">
|
||||
<attribute name="attrs">{'invisible': ['|',('quality_state', '!=', 'pass'),('work_state','=', 'done')]}</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -66,6 +76,10 @@
|
||||
<xpath expr="//field[@name='quality_state']" position="after">
|
||||
<field name="operation_id" icon="fa-filter" enable_counters="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='product_id']" position="after">
|
||||
<field name="production_id"/>
|
||||
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user