diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index 852db2d7..2fadcf19 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -202,10 +202,24 @@ class ResMrpWorkOrder(models.Model):
else:
raise UserError('托盘码不能为空')
+ #验证坯料序列号是否正确
+ def pro_code_is_ok(self,barcode):
+ if barcode!=False:
+ if barcode != self.pro_code:
+ raise UserError('坯料序列号错误')
+ return False
+ else:
+ return True
+
+ pro_code = fields.Char(string='坯料序列号')
+
+ pro_code_ok = fields.Boolean(default=False)
+
#托盘扫码绑定
def gettray_auto(self, barcode):
if barcode != False:
values = self.env['sf.tray'].search([("code", "=", barcode)])
+
if values:
if values.state == "占用":
raise UserError('该托盘已占用')
@@ -378,8 +392,11 @@ class ResMrpWorkOrder(models.Model):
}]
return workorders_values_str
+
# 重写工单开始按钮方法
def button_start(self):
+ if self.routing_type == '装夹':
+ self.pro_code = self.production_id.move_raw_ids[0].move_line_ids[0].lot_id.name
if self.state == 'waiting' or self.state == 'ready' or self.state == 'progress':
self.ensure_one()
if any(not time.date_end for time in self.time_ids.filtered(lambda t: t.user_id.id == self.env.user.id)):
@@ -538,10 +555,15 @@ class SfWorkOrderBarcodes(models.Model):
_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)
- self.tray_id = workorder.gettray_auto(barcode)
+ if "*" not in barcode:
+ tray_code = self.env['sf.tray'].search([('code', '=', barcode)])
+ self.tray_code = tray_code.code
+ self.tray_id = workorder.gettray_auto(barcode)
+ else:
+ self.pro_code_ok = workorder.pro_code_is_ok(barcode)
+
+
# return {
# 'type': 'ir.actions.act_window',
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index 2a847788..f31af8d9 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -166,9 +166,15 @@