wangxinhui
2026-01-12 ded9c653b4bd5f45cb23124068687135c29e6915
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/StackPlateJob/StackPlate.cs
@@ -25,9 +25,9 @@
        private readonly ITaskService _taskService;
        private readonly ITaskRepository _taskRepository;
        private readonly IStationMangerRepository _stationMangerRepository;
        private readonly IDt_PackaxisRepository _packaxisRepository;
        private readonly IPackaxisRepository _packaxisRepository;
        public StackPlate(ICacheService cacheService, ITaskService taskService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IDt_PackaxisRepository packaxisRepository)
        public StackPlate(ICacheService cacheService, ITaskService taskService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IPackaxisRepository packaxisRepository)
        {
            _cacheService = cacheService;
            _taskService = taskService;
@@ -83,14 +83,17 @@
        /// <param name="command"></param>
        public void EmptySeatAllow(CommonConveyorLine device, StackPlateTaskCommandCommand command)
        {
            var tasks = _taskRepository.QueryData(x => x.DeviceCode == device.DeviceCode && (x.TaskState == (int)TaskStatusEnum.AGV_Execute||x.TaskState==(int)TaskStatusEnum.AGV_Executing));
            if (tasks.Count > 0 && tasks.Count < 9)
            var station = _stationMangerRepository.QueryFirst(x => x.StationDeviceCode == device.DeviceCode);
            var tasks = _taskRepository.QueryData(x => x.Roadway == device.DeviceCode && (x.TaskState == (int)TaskStatusEnum.AGV_Execute || x.TaskState == (int)TaskStatusEnum.AGV_Executing) && x.TargetAddress == device.DeviceCode);
            if (tasks.Count + Convert.ToInt32(command.Num) < 9)
            {
                var task = _taskRepository.QueryFirst(x => x.DeviceCode == device.DeviceCode && x.TaskState == (int)TaskStatusEnum.StackPlate_Execute);
                if(task!= null)
                var task = _taskRepository.QueryFirst(x => x.Roadway == device.DeviceCode && x.TaskState == (int)TaskStatusEnum.StackPlate_Execute);
                if (task != null && station != null)
                {
                    task.TaskState = (int)TaskStatusEnum.AGV_Execute;
                    _taskRepository.UpdateData(task);
                    station.Remark = task.PalletCode;
                    _stationMangerRepository.UpdateData(station);
                }
            }
        }