huangxiaoqiang
7 天以前 bec4a1b386c740ce4fc53a52b8ec8846ffb5f2bd
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -17,9 +17,12 @@
using AutoMapper;
using HslCommunication;
using HslCommunication.Profinet.OpenProtocol;
using Newtonsoft.Json;
using Quartz;
using System.Reflection;
using System.Text;
using System.Web;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
@@ -104,7 +107,6 @@
            try
            {
                ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
                //var Barcode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.ConveyorLineBarcode, station.stationChildCode);
                if (command != null)
                {
                    #region è°ƒç”¨äº‹ä»¶æ€»çº¿é€šçŸ¥å‰ç«¯
@@ -116,7 +118,6 @@
                        userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
                        userIds = tokenInfos.Select(x => x.UserId).ToList();
                    }
                    #endregion è°ƒç”¨äº‹ä»¶æ€»çº¿é€šçŸ¥å‰ç«¯
                    // å°†äº¤äº’信号转换为布尔数组
@@ -129,6 +130,7 @@
                        foreach (var item in deviceProtocolDetails)
                        {
                            int itemValue = Convert.ToInt32(item.ProtocalDetailValue);
                            _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { station.stationChildCode, InStock = structs[itemValue], Roadway = station.Roadway + station.stationFloor });
                            if (structs[itemValue] == true)
                            {
                                MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
@@ -161,6 +163,19 @@
                var log = $"【{conveyorLine._deviceName}】站台【{station.stationChildCode}】请求取货";
                await LogAndWarn(conveyorLine.DeviceName, log);
                if (station.stationChildCode == "3004")
                {
                    var taskIn = _taskRepository.QueryFirst(x => x.TaskNum == command.TaskNum && x.NextAddress == station.stationChildCode && x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState == (int)TaskInStatusEnum.HoistInExecuting);
                    if (taskIn != null)
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == taskIn.Roadway && x.stationType == 3 && x.stationFloor == taskIn.Floor);
                        taskIn.CurrentAddress = station.stationChildCode;
                        taskIn.NextAddress = stationManager.stationChildCode;
                        taskIn.TaskState = (int)TaskInStatusEnum.InNew;
                        _taskRepository.UpdateData(taskIn);
                    }
                }
                var task = _taskService.QueryConveyorLineTask(station.stationChildCode, command.TaskNum);
                await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, task);
@@ -188,7 +203,7 @@
                var task = _taskService.QueryConveyorLineFinishTask(stationManager.stationChildCode, command.TaskNum);
                //改查询方法
                if(stationManager.stationType==5||stationManager.stationType==4)
                if (stationManager.stationType == 5 || stationManager.stationType == 4)
                {
                    // å¦‚果任务存在
                    if (task != null)
@@ -234,6 +249,7 @@
                {
                    Thread.Sleep(1000);
                    _taskService.UpdateTaskStatusToNext(task);
                }
            }
        }