①增加扫码绑定函数;②工单处扫码绑定托盘代码移植到mrp.workorder下;③修改报错格式为Usererror;④、返回偏差计算值
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from odoo import api, fields, models
|
from odoo import api, fields, models,_
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ from datetime import datetime
|
|||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
from odoo import api, fields, models, SUPERUSER_ID, _
|
from odoo import api, fields, models, SUPERUSER_ID, _
|
||||||
from odoo.addons.sf_base.commons.common import Common
|
from odoo.addons.sf_base.commons.common import Common
|
||||||
|
from odoo.exceptions import UserError
|
||||||
|
|
||||||
|
|
||||||
class ResMrpWorkOrder(models.Model):
|
class ResMrpWorkOrder(models.Model):
|
||||||
@@ -94,6 +95,7 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
print("(%.2f,%.2f)" % (x, y))
|
print("(%.2f,%.2f)" % (x, y))
|
||||||
self.material_center_point = ("(%.2f,%.2f,%.2f)" % (x, y, z))
|
self.material_center_point = ("(%.2f,%.2f,%.2f)" % (x, y, z))
|
||||||
self.X_deviation_angle = jdz
|
self.X_deviation_angle = jdz
|
||||||
|
return self.material_center_point
|
||||||
|
|
||||||
def json_workorder_str(self, k, production, route):
|
def json_workorder_str(self, k, production, route):
|
||||||
workorders_values_str = [0, '', {
|
workorders_values_str = [0, '', {
|
||||||
@@ -136,9 +138,9 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
values = self.env['sf.tray'].search([("code", "=", self.tray_code)])
|
values = self.env['sf.tray'].search([("code", "=", self.tray_code)])
|
||||||
if values:
|
if values:
|
||||||
if values.state == "占用":
|
if values.state == "占用":
|
||||||
raise ValidationError('该托盘已占用')
|
raise UserError('该托盘已占用')
|
||||||
if values.state == "报损":
|
if values.state == "报损":
|
||||||
raise ValidationError('该托盘已损坏')
|
raise UserError('该托盘已损坏')
|
||||||
else:
|
else:
|
||||||
values.update({
|
values.update({
|
||||||
'workorder_id': self,
|
'workorder_id': self,
|
||||||
@@ -146,7 +148,26 @@ class ResMrpWorkOrder(models.Model):
|
|||||||
'state': '占用',
|
'state': '占用',
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
raise ValidationError('该托盘编码已失效')
|
raise UserError('该托盘编码已失效')
|
||||||
|
else:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
def gettray_auto(self, barcode):
|
||||||
|
if barcode != False:
|
||||||
|
values = self.env['sf.tray'].search([("code", "=", barcode)])
|
||||||
|
if values:
|
||||||
|
if values.state == "占用":
|
||||||
|
raise UserError('该托盘已占用')
|
||||||
|
if values.state == "报损":
|
||||||
|
raise UserError('该托盘已损坏')
|
||||||
|
else:
|
||||||
|
values.update({
|
||||||
|
'workorder_id': self,
|
||||||
|
'production_id': self.production_id,
|
||||||
|
'state': '占用',
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
raise UserError('该托盘编码已失效')
|
||||||
else:
|
else:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
@@ -334,3 +355,18 @@ class CNCprocessing(models.Model):
|
|||||||
'remark': obj['remark']
|
'remark': obj['remark']
|
||||||
# 'FJGDate': obj['']
|
# 'FJGDate': obj['']
|
||||||
})
|
})
|
||||||
|
|
||||||
|
class SfWorkOrderBarcodes(models.Model):
|
||||||
|
"""
|
||||||
|
智能工厂工单处扫码绑定托盘
|
||||||
|
"""
|
||||||
|
_name = "mrp.workorder"
|
||||||
|
_inherit = ["mrp.workorder", "barcodes.barcode_events_mixin"]
|
||||||
|
|
||||||
|
def on_barcode_scanned(self, barcode):
|
||||||
|
|
||||||
|
tray_code = self.env['sf.tray'].search([('code', '=', barcode)])
|
||||||
|
self.tray_code = tray_code.code
|
||||||
|
|
||||||
|
workorder = self.env['mrp.workorder'].browse(self.ids)
|
||||||
|
workorder.gettray_auto(barcode)
|
||||||
Reference in New Issue
Block a user