修复加工质检
This commit is contained in:
@@ -9,8 +9,8 @@ from odoo.exceptions import ValidationError, UserError
|
|||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
|
|
||||||
|
|
||||||
# from OCC.Extend.DataExchange import read_step_file
|
from OCC.Extend.DataExchange import read_step_file
|
||||||
# from OCC.Extend.DataExchange import write_stl_file
|
from OCC.Extend.DataExchange import write_stl_file
|
||||||
|
|
||||||
|
|
||||||
class ResProductMo(models.Model):
|
class ResProductMo(models.Model):
|
||||||
|
|||||||
@@ -30,23 +30,33 @@ class SfQualityCncTest(models.Model):
|
|||||||
[("programming", "编程"), ("cutter", "刀具"), ("clamping", "装夹"), ("operate computer", "操机"),
|
[("programming", "编程"), ("cutter", "刀具"), ("clamping", "装夹"), ("operate computer", "操机"),
|
||||||
("technology", "工艺"), ("customer redrawing", "客户改图")], string="原因")
|
("technology", "工艺"), ("customer redrawing", "客户改图")], string="原因")
|
||||||
detailed_reason = fields.Text('详细原因')
|
detailed_reason = fields.Text('详细原因')
|
||||||
|
|
||||||
# machining_drawings = fields.Binary(related='workorder_id.machining_drawings', string='2D加工图纸', readonly=True)
|
# machining_drawings = fields.Binary(related='workorder_id.machining_drawings', string='2D加工图纸', readonly=True)
|
||||||
# quality_standard = fields.Binary(related='workorder_id.quality_standard', string='质检标准', readonly=True)
|
# quality_standard = fields.Binary(related='workorder_id.quality_standard', string='质检标准', readonly=True)
|
||||||
|
|
||||||
def submit_pass(self):
|
def submit_pass(self):
|
||||||
|
if self.test_results in ['返工', '报废']:
|
||||||
|
raise UserError(_('请重新选择【判定结果】-【检测结果】'))
|
||||||
self.write({'result': 'pass', 'test_results': '合格', 'state': 'done'})
|
self.write({'result': 'pass', 'test_results': '合格', 'state': 'done'})
|
||||||
self.workorder_id.write({'test_results': self.test_results})
|
self.workorder_id.write({'test_results': self.test_results})
|
||||||
self.workorder_id.button_finish()
|
self.workorder_id.button_finish()
|
||||||
|
|
||||||
def submit_fail(self):
|
def submit_fail(self):
|
||||||
if not self.reason and not self.detailed_reason and not self.test_results:
|
if not self.test_results:
|
||||||
raise UserError(_('请填写【判定结果】里的信息'))
|
raise UserError(_('请填写【判定结果】里的信息'))
|
||||||
else:
|
if self.test_results == '合格':
|
||||||
|
raise UserError(_('请重新选择【判定结果】-【检测结果】'))
|
||||||
self.write({'result': 'fail', 'test_results': self.test_results, 'state': 'done'})
|
self.write({'result': 'fail', 'test_results': self.test_results, 'state': 'done'})
|
||||||
self.workorder_id.write(
|
self.workorder_id.write(
|
||||||
{'test_results': self.test_results, 'reason': self.reason, 'detailed_reason': self.detailed_reason})
|
{'test_results': self.test_results, 'reason': self.reason, 'detailed_reason': self.detailed_reason})
|
||||||
self.workorder_id.button_finish()
|
self.workorder_id.button_finish()
|
||||||
|
|
||||||
|
@api.onchange('test_results')
|
||||||
|
def _onchange_test_results(self):
|
||||||
|
if self.test_results == '合格':
|
||||||
|
self.reason = False
|
||||||
|
self.detailed_reason = False
|
||||||
|
|
||||||
|
|
||||||
class SfQualityWorkOrder(models.Model):
|
class SfQualityWorkOrder(models.Model):
|
||||||
_inherit = 'mrp.workorder'
|
_inherit = 'mrp.workorder'
|
||||||
|
|||||||
@@ -20,8 +20,12 @@
|
|||||||
<field name="product_id"/>
|
<field name="product_id"/>
|
||||||
<field name="part_number"/>
|
<field name="part_number"/>
|
||||||
<field name="number"/>
|
<field name="number"/>
|
||||||
<field name="state"/>
|
<field name="state" widget="badge"
|
||||||
<field name="result"/>
|
decoration-success="state == 'done'"
|
||||||
|
decoration-warning="state == 'waiting'"/>
|
||||||
|
<field name="result" widget="badge"
|
||||||
|
decoration-success="result == 'pass'"
|
||||||
|
decoration-danger="result == 'fail'"/>
|
||||||
<field name="write_uid" widget='many2one_avatar_user' string="判定人" optional="hide"/>
|
<field name="write_uid" widget='many2one_avatar_user' string="判定人" optional="hide"/>
|
||||||
<field name="write_date" string="判定时间" optional="hide"/>
|
<field name="write_date" string="判定时间" optional="hide"/>
|
||||||
</tree>
|
</tree>
|
||||||
@@ -99,9 +103,9 @@
|
|||||||
<group>
|
<group>
|
||||||
<field name="test_results" attrs="{'readonly': [('state','=', 'done')]}"/>
|
<field name="test_results" attrs="{'readonly': [('state','=', 'done')]}"/>
|
||||||
<field name="reason"
|
<field name="reason"
|
||||||
attrs="{'readonly': [('state','=', 'done')],'required': [('test_results','in', ['返工','报废'])]}"/>
|
attrs="{'readonly': [('state','=', 'done')],'required': [('test_results','in', ['返工','报废'])],'invisible': [('test_results','in', ['合格',False])]}"/>
|
||||||
<field name="detailed_reason"
|
<field name="detailed_reason"
|
||||||
attrs="{'readonly': [('state','=', 'done')],'required': [('reason','!=', False)]}"/>
|
attrs="{'readonly': [('state','=', 'done')],'required': [('reason','!=', False)],'invisible': [('test_results','in', ['合格',False])]}"/>
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
<page string="2D图纸">
|
<page string="2D图纸">
|
||||||
@@ -110,7 +114,7 @@
|
|||||||
<page string="客户质量标准">
|
<page string="客户质量标准">
|
||||||
<!-- <field name="quality_standard" string=""/>-->
|
<!-- <field name="quality_standard" string=""/>-->
|
||||||
</page>
|
</page>
|
||||||
<page string="其他" attrs="{'readonly': [('state','=', 'done')]}">
|
<page string="其他" attrs="{'invisible': [('state','=', 'waiting')]}">
|
||||||
<group>
|
<group>
|
||||||
<field name="write_uid" widget='many2one_avatar_user' string="判定人" readonly="1"/>
|
<field name="write_uid" widget='many2one_avatar_user' string="判定人" readonly="1"/>
|
||||||
<field name="write_date" string="判定时间" readonly="1"/>
|
<field name="write_date" string="判定时间" readonly="1"/>
|
||||||
@@ -172,7 +176,7 @@
|
|||||||
<field name="name">驾驶舱</field>
|
<field name="name">驾驶舱</field>
|
||||||
<field name="type">ir.actions.act_window</field>
|
<field name="type">ir.actions.act_window</field>
|
||||||
<field name="res_model">quality.cnc.test</field>
|
<field name="res_model">quality.cnc.test</field>
|
||||||
<field name="view_mode">kanban,form</field>
|
<field name="view_mode">kanban,tree,form</field>
|
||||||
<field name="view_id" ref="quality_cnc_test_view_kanban"/>
|
<field name="view_id" ref="quality_cnc_test_view_kanban"/>
|
||||||
<field name="search_view_id" ref="quality_cnc_test_search"/>
|
<field name="search_view_id" ref="quality_cnc_test_search"/>
|
||||||
<field name="domain">[]</field>
|
<field name="domain">[]</field>
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ from datetime import datetime
|
|||||||
import requests
|
import requests
|
||||||
from odoo import http
|
from odoo import http
|
||||||
from odoo.http import request
|
from odoo.http import request
|
||||||
# from OCC.Extend.DataExchange import read_step_file
|
from OCC.Extend.DataExchange import read_step_file
|
||||||
# from OCC.Extend.DataExchange import write_stl_file
|
from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
from odoo.exceptions import ValidationError, UserError
|
from odoo.exceptions import ValidationError, UserError
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import os
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from stl import mesh
|
from stl import mesh
|
||||||
# from OCC.Core.GProp import GProp_GProps
|
# from OCC.Core.GProp import GProp_GProps
|
||||||
# from OCC.Extend.DataExchange import read_step_file
|
from OCC.Extend.DataExchange import read_step_file
|
||||||
# from OCC.Extend.DataExchange import write_stl_file
|
from OCC.Extend.DataExchange import write_stl_file
|
||||||
from odoo.addons.sf_base.commons.common import Common
|
from odoo.addons.sf_base.commons.common import Common
|
||||||
from odoo import models, fields, api
|
from odoo import models, fields, api
|
||||||
from odoo.modules import get_resource_path
|
from odoo.modules import get_resource_path
|
||||||
|
|||||||
Reference in New Issue
Block a user