新增工件配送模型及其tree视图,search视图,添加自动计算配送时长功能;

This commit is contained in:
yuxianghui
2024-01-23 15:29:07 +08:00
parent 3f8aded61c
commit 136d0f5156
4 changed files with 117 additions and 22 deletions

View File

@@ -772,3 +772,34 @@ class SfWorkOrderBarcodes(models.Model):
#
# else:
# self.pro_code_ok = workorder.pro_code_is_ok(barcode)
class WorkpieceDelivery(models.Model):
_name = 'sf.workpiece.delivery'
_description = '工件配送单列表'
name = fields.Char('工件编码/任务编码')
mrp_workorder_id = fields.Many2one('mrp.workorder', string='工件编码/任务编码',
domain=[('name', 'in', ('装夹', '解除装夹'))])
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 = ''