①增加扫码绑定函数;②工单处扫码绑定托盘代码移植到mrp.workorder下;③修改报错格式为Usererror;④、返回偏差计算值

This commit is contained in:
mgw
2022-11-30 14:38:58 +08:00
parent d6321bcb26
commit b2d1e9ce8c
2 changed files with 40 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models
from odoo import api, fields, models,_

View File

@@ -5,6 +5,7 @@ from datetime import datetime
from dateutil.relativedelta import relativedelta
from odoo import api, fields, models, SUPERUSER_ID, _
from odoo.addons.sf_base.commons.common import Common
from odoo.exceptions import UserError
class ResMrpWorkOrder(models.Model):
@@ -94,6 +95,7 @@ class ResMrpWorkOrder(models.Model):
print("(%.2f,%.2f)" % (x, y))
self.material_center_point = ("(%.2f,%.2f,%.2f)" % (x, y, z))
self.X_deviation_angle = jdz
return self.material_center_point
def json_workorder_str(self, k, production, route):
workorders_values_str = [0, '', {
@@ -136,9 +138,9 @@ class ResMrpWorkOrder(models.Model):
values = self.env['sf.tray'].search([("code", "=", self.tray_code)])
if values:
if values.state == "占用":
raise ValidationError('该托盘已占用')
raise UserError('该托盘已占用')
if values.state == "报损":
raise ValidationError('该托盘已损坏')
raise UserError('该托盘已损坏')
else:
values.update({
'workorder_id': self,
@@ -146,7 +148,26 @@ class ResMrpWorkOrder(models.Model):
'state': '占用',
})
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:
return ""
@@ -334,3 +355,18 @@ class CNCprocessing(models.Model):
'remark': obj['remark']
# '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)