diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index a478438f..da69fd92 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -33,7 +33,7 @@ class ResMrpWorkOrder(models.Model): is_programming = fields.Boolean('是否编程', default=False) cnc_worksheet = fields.Binary( '工作指令', readonly=True) - material_center_point = fields.Char(string='配料中心点') + material_center_point = fields.Char(string='胚料中心点') X1_axis = fields.Float(default=0) Y1_axis = fields.Float(default=0) Z1_axis = fields.Float(default=0) @@ -106,7 +106,11 @@ 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 + # 将补偿值写入CNC加工工单 + workorder = self.env['mrp.workorder'].browse(self.ids) + work = workorder.production_id.workorder_ids + work.compensation_value_x = eval(self.material_center_point)[0] + work.compensation_value_y = eval(self.material_center_point)[1] def json_workorder_str(self, k, production, route): workorders_values_str = [0, '', { @@ -283,6 +287,7 @@ class ResMrpWorkOrder(models.Model): def button_start(self): if self.state == 'waiting' or self.state == 'ready': 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)): return True # As button_start is automatically called in the new view