dengjunjie
2025-04-14 970d9c5c36d526a587138232ae9dae719dbcd16d
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -28,6 +28,7 @@
using WIDESEAWCS_Common.ShuttleCarEnum;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Caches;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.WMSInfo;
using WIDESEAWCS_ITaskInfoService;
@@ -35,6 +36,7 @@
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Repository;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_Tasks.ConveyorLineJob;
@@ -46,13 +48,17 @@
        private readonly ITaskService _taskService;
        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
        private readonly IRouterService _routerService;
        private readonly IRouterRepository _routerRepository;
        private readonly ICacheService _cacheService;
        private readonly IMapper _mapper;
        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper)
        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IRouterRepository routerRepository,ICacheService cacheService, IMapper mapper)
        {
            _taskService = taskService;
            _taskExecuteDetailService = taskExecuteDetailService;
            _routerService = routerService;
            _routerRepository = routerRepository;
            _cacheService = cacheService;
            _mapper = mapper;
        }
@@ -63,20 +69,8 @@
                CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
                if (conveyorLine != null)
                {
                    List<Task> tasks = null;// new List<Task>();
                    switch (conveyorLine.DeviceName)
                    {
                        case "输送线":
                            tasks = ConveyorLineExtend(conveyorLine);
                            //Console.Out.WriteLine(conveyorLine.DeviceName + DateTime.Now);
                            break;
                        case "产线":
                            tasks = ProductionLineExtend(conveyorLine);
                            //Console.Out.WriteLine(conveyorLine.DeviceName + DateTime.Now);
                            break;
                    }
                    if (tasks == null) throw new Exception($"{conveyorLine.DeviceName}bug");
                    Task.WaitAll(tasks.ToArray());
                    conveyorLine.Communicator.IsReadAfterWrite = false;
                    ConveyorLineExtend(conveyorLine);
                }
            }
            catch (Exception ex)