Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增工件装夹预调工单任务

# Conflicts:
#	sf_manufacturing/models/mrp_workorder.py
This commit is contained in:
jinling.yang
2024-01-23 17:42:38 +08:00
11 changed files with 181 additions and 61 deletions

View File

@@ -131,6 +131,7 @@ class ResMrpWorkOrder(models.Model):
maximum_clamping_force = fields.Char(string="最大夹持力[n]")
production_line = fields.Char(string="生产线")
preset_program_information = fields.Char(string="预调程序信息")
workpiece_delivery_id = fields.One2many('sf.workpiece.delivery', 'workorder_id', '工件配送')
@api.onchange('is_ok')
def _onchange_inspection_user_id(self):
@@ -582,11 +583,7 @@ class ResMrpWorkOrder(models.Model):
for move_raw_id in self.production_id.move_raw_ids:
move_raw_id.quantity_done = move_raw_id.product_uom_qty
self.production_id.button_mark_done1()
# self.production_id.state = 'done'
# self.production_id.state = 'done'
class CNCprocessing(models.Model):
@@ -774,14 +771,33 @@ class SfWorkOrderBarcodes(models.Model):
# self.pro_code_ok = workorder.pro_code_is_ok(barcode)
class WorkPieceDispatch(models.Model):
_name = "mrp.workpiece.dispatch"
class WorkPieceDelivery(models.Model):
_name = "sf.workpiece.delivery"
_description = '工件配送'
workorder_id = fields.Many2one('mrp.workorder')
workorder_code = fields.Char(related='workorder_id.','任务编号(工件编码)')
workorder_id = fields.Many2one('mrp.workorder', string='工单',
domain=[('name', 'in', ('装夹', '解除装夹'))])
name = fields.Char(related='workorder_id.production_id.name', string='工件编码/任务编码', store=True)
plan_start_processing_time = fields.Datetime('计划开始加工时间')
workpiece_code = fields.Char('同运工件编码')
feeder_station_start = fields.Char('起点接驳站')
feeder_station_destination = fields.Char('目的接驳站')
production_line_id = fields.Many2one('sf.production.line', string='目标生产线')
task_delivery_time = fields.Datetime('任务下发时间')
task_completion_time = fields.Datetime('任务完成时间')
delivery_time = fields.Char('配送时长', compute='_compute_delivery_time')
status = fields.Selection([('待下发', '待下发'), ('待配送', '待配送'), ('已配送', '已配送')], string='状态',
default='待下发')
@api.depends('task_delivery_time', 'task_completion_time')
def _compute_delivery_time(self):
for obj in self:
if obj.task_delivery_time and obj.task_completion_time:
delivery_duration = obj.task_completion_time - obj.task_delivery_time
hours, seconds = divmod(delivery_duration.total_seconds(), 3600)
minutes, _ = divmod(seconds, 60)
delivery_time_str = "{:.0f}{:.0f}".format(hours, minutes)
obj.delivery_time = delivery_time_str
else:
obj.delivery_time = ''