diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py
index 3afef01d..6ae825c2 100644
--- a/sf_manufacturing/models/mrp_production.py
+++ b/sf_manufacturing/models/mrp_production.py
@@ -379,6 +379,12 @@ class MrpProduction(models.Model):
workorders_values.append(
self.env['mrp.workorder'].json_workorder_str('', production, route))
production.workorder_ids = workorders_values
+ if production_programming.programming_state == '已编程':
+ logging.info("production_programming: %s" % production_programming.name)
+ production.workorder_ids.filtered(lambda t: t.routing_type == 'CNC加工').write({
+ 'cnc_ids': production_programming.workorder_ids.filtered(
+ lambda
+ t1: t1.routing_type == 'CNC加工').cnc_ids})
for workorder in production.workorder_ids:
workorder.duration_expected = workorder._get_duration_expected()
diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index 743f060c..fd93eb4d 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -1337,6 +1337,13 @@ class WorkPieceDelivery(models.Model):
obj = super(WorkPieceDelivery, self).create(vals)
return obj
+ @api.constrains('name')
+ def _check_name(self):
+ if self.type == '运送空料架':
+ wd = self.sudo().search([('name', '=', self.name), ('id', '!=', self.id)])
+ if wd:
+ raise UserError("该名称已存在")
+
def action_delivery_history(self):
return {
'name': _('配送历史'),
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index 5976915b..85e3e5ed 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -667,7 +667,7 @@
空料架配送
sf.workpiece.delivery
-
+