修改任务下发逻辑
This commit is contained in:
@@ -156,17 +156,26 @@ class AgvScheduling(models.Model):
|
|||||||
if agv_site_state == '空闲':
|
if agv_site_state == '空闲':
|
||||||
# 查询终点接驳站为agv_site_id的AGV路线
|
# 查询终点接驳站为agv_site_id的AGV路线
|
||||||
task_routes = self.env['sf.agv.task.route'].sudo().search([('end_site_id', '=', agv_site_id)])
|
task_routes = self.env['sf.agv.task.route'].sudo().search([('end_site_id', '=', agv_site_id)])
|
||||||
agv_scheduling = self.env['sf.agv.scheduling'].sudo().search(
|
agv_schedulings = self.env['sf.agv.scheduling'].sudo().search(
|
||||||
[('state', '=', '待下发'), ('agv_route_type', 'in', task_routes.mapped('route_type'))],
|
[('state', '=', '待下发'), ('agv_route_type', 'in', task_routes.mapped('route_type'))],
|
||||||
order='id asc',
|
order='id asc',
|
||||||
limit=1
|
|
||||||
)
|
)
|
||||||
task_route = task_routes.filtered(
|
for agv_scheduling in agv_schedulings:
|
||||||
lambda r: r.start_site_id == agv_scheduling.start_site_id and r.start_site_id == agv_scheduling.start_site_id
|
# 找到所有起点接驳站匹配的路线
|
||||||
)
|
start_matched_task_routes = task_routes.filtered(
|
||||||
if task_route:
|
lambda r: r.start_site_id == agv_scheduling.start_site_id
|
||||||
# 下发AGV调度任务并修改接驳站状态为占用
|
)
|
||||||
agv_scheduling.dispatch_scheduling(task_route)
|
# 如果调度任务有终点接驳站,找到终点接驳站匹配的路线
|
||||||
|
if agv_scheduling.end_site_id:
|
||||||
|
matched_task_routes = start_matched_task_routes.filtered(
|
||||||
|
lambda r: r.end_site_id == agv_scheduling.end_site_id
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
matched_task_routes = start_matched_task_routes
|
||||||
|
if matched_task_routes:
|
||||||
|
# 下发AGV调度任务并修改接驳站状态为占用
|
||||||
|
agv_scheduling.dispatch_scheduling(matched_task_routes[0])
|
||||||
|
break;
|
||||||
|
|
||||||
def _delivery_avg(self):
|
def _delivery_avg(self):
|
||||||
config = self.env['res.config.settings'].get_values()
|
config = self.env['res.config.settings'].get_values()
|
||||||
|
|||||||
Reference in New Issue
Block a user