yanjinhui
9 小时以前 52ba6b195a4126df405ef453d52ba6eaab6521da
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs
@@ -7,9 +7,12 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.DTO;
namespace WIDESEAWCS_Tasks
{
@@ -44,7 +47,7 @@
                    //#endregion
                    #region ä¸‹å‘海康1到6楼的AGV任务/下发海康6到1楼的AGV任务
                    Tasks = newTasks.Where(x => (x.TaskType == (int)TaskTypeEnum.Q3CK) || x.TaskType == (int)TaskTypeEnum.Q3RK||x.TaskType==(int)TaskTypeEnum.F01).OrderByDescending(x => x.Grade).ToList();
                    Tasks = newTasks.Where(x => (x.TaskType == (int)TaskTypeEnum.Q3CK) || x.TaskType == (int)TaskTypeEnum.Q3RK || x.TaskType == (int)TaskTypeEnum.F01).OrderByDescending(x => x.Grade).ToList();
                    if (Tasks.Count > 0) SendAGVTask(Tasks);
@@ -126,5 +129,35 @@
            }
        }
        #endregion
        /// <summary>
        /// å¤„理写入设备信号异常任务
        /// </summary>
        public void HandleTasks()
        {
            #region
            var tasks = _taskService.Repository.QueryData(x => x.TaskState == TaskStatusEnum.Finish.ObjToInt() && !string.IsNullOrEmpty(x.Remark));
            if (tasks.Count > 0)
            {
                List<Dt_Task> list = new List<Dt_Task>();
                foreach (var item in tasks)
                {
                    var infos = item.Remark.Split("_");
                    var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == infos[0]) as OtherDevice;
                    if (device != null && device.IsConnected)
                    {
                        DeviceProDTO? devicePro = device.DeviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == infos[1] && x.DeviceChildCode == infos[3]);
                        if (devicePro != null)
                        {
                            var W = device.Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, infos[2]);
                            if (W) list.Add(item);
                        }
                    }
                }
                _taskService.Repository.DeleteAndMoveIntoHty(list, OperateTypeEnum.自动删除);
            }
            #endregion
        }
    }
}