yanjinhui
2026-03-23 67954f1959b432c39c0988d092e7ce1d19b71354
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs
@@ -79,33 +79,37 @@
                {
                    if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, "TSJC3F") == 1)
                    {
                        station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free);
                        if (station != null)
                        Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F");
                        if (dt_Task == null)
                        {
                            var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
                            Dt_Task dt_Task = new Dt_Task()
                            station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free);
                            if (station != null)
                            {
                                TaskNum = tasknum,
                                WMSTaskNum = "GP" + tasknum,
                                Grade = 60,
                                PalletCode = station.PalletCode,
                                Roadway = "",
                                TaskState = (int)TaskStatusEnum.New,
                                TaskType = TaskTypeEnum.CK3F.ObjToInt(),
                                SourceAddress = "TSJC3F",
                                CurrentAddress = "TSJC3F",
                                NextAddress = station.StationCode,
                                TargetAddress = station.StationCode,
                                Creater = "WCS",
                            };
                            var content = _taskService.SendHIKROBOTTask(dt_Task);
                            if (content.Status)
                            {
                                dt_Task.TaskState = (int)TaskStatusEnum.Execut;
                                dt_Task.Dispatchertime = DateTime.Now;
                                station.StationStatus = (int)LocationStatusEnum.InLock;
                                _taskService.AddData(dt_Task);
                                _StationInfoService.UpdateData(station);
                                var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
                                dt_Task = new Dt_Task()
                                {
                                    TaskNum = tasknum,
                                    WMSTaskNum = "GP" + tasknum,
                                    Grade = 60,
                                    PalletCode = "LXM" + tasknum,
                                    Roadway = "",
                                    TaskState = (int)TaskStatusEnum.New,
                                    TaskType = TaskTypeEnum.CK3F.ObjToInt(),
                                    SourceAddress = "TSJC3F",
                                    CurrentAddress = "TSJC3F",
                                    NextAddress = station.StationCode,
                                    TargetAddress = station.StationCode,
                                    Creater = "WCS",
                                };
                                var content = _taskService.SendHIKROBOTTask(dt_Task);
                                if (content.Status)
                                {
                                    dt_Task.TaskState = (int)TaskStatusEnum.Execut;
                                    dt_Task.Dispatchertime = DateTime.Now;
                                    station.StationStatus = (int)LocationStatusEnum.InLock;
                                    _taskService.AddData(dt_Task);
                                    _StationInfoService.UpdateData(station);
                                }
                            }
                        }
                    }
@@ -115,7 +119,7 @@
                #endregion
                #region 鍥涙ゼ鑷姩浠诲姟
                List<string> LocationCodes = new() { "RGD0304A04011", "RG0105A04031", "RG0202A05021" };
                List<string> LocationCodes = new() { "RGD0303A04041","RG0302A05041","RG0304A05041","RG0205A05031" };
                var hKLocationInfos = _HKLocationInfoService.Repository.QueryData(x => LocationCodes.Contains(x.LocationCode));
                #region 鍏ユ彁鍗囨満浠诲姟
                var hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.InStock);
@@ -152,37 +156,42 @@
                #region 鍑烘彁鍗囨満浠诲姟
                if (device != null && device.IsConnected)
                {
                    if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC3F") == 1)
                    if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
                    {
                        hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free);
                        if (hKLocation != null)
                        Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F");
                        if (dt_Task == null)
                        {
                            var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
                            Dt_Task dt_Task = new Dt_Task()
                            hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free);
                            if (hKLocation != null)
                            {
                                TaskNum = tasknum,
                                WMSTaskNum = "GP" + tasknum,
                                Grade = 60,
                                PalletCode = hKLocation.PalletCode,
                                Roadway = "",
                                TaskState = (int)TaskStatusEnum.New,
                                TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(),
                                SourceAddress = "TSJC4F",
                                CurrentAddress = "TSJC4F",
                                NextAddress = hKLocation.LocationCode,
                                TargetAddress = hKLocation.LocationCode,
                                Creater = "WCS",
                            };
                            var content = _taskService.SendHIKROBOTTask(dt_Task);
                            if (content.Status)
                            {
                                dt_Task.TaskState = (int)TaskStatusEnum.Execut;
                                dt_Task.Dispatchertime = DateTime.Now;
                                hKLocation.LocationStatus = (int)LocationStatusEnum.InLock;
                                _taskService.AddData(dt_Task);
                                _HKLocationInfoService.UpdateData(hKLocation);
                                var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
                                 dt_Task = new Dt_Task()
                                {
                                    TaskNum = tasknum,
                                    WMSTaskNum = "GP" + tasknum,
                                    Grade = 60,
                                    PalletCode = "LXM" + tasknum,
                                    Roadway = "",
                                    TaskState = (int)TaskStatusEnum.New,
                                    TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(),
                                    SourceAddress = "TSJC4F",
                                    CurrentAddress = "TSJC4F",
                                    NextAddress = hKLocation.LocationCode,
                                    TargetAddress = hKLocation.LocationCode,
                                    Creater = "WCS",
                                };
                                var content = _taskService.SendHIKROBOTTask(dt_Task);
                                if (content.Status)
                                {
                                    dt_Task.TaskState = (int)TaskStatusEnum.Execut;
                                    dt_Task.Dispatchertime = DateTime.Now;
                                    hKLocation.LocationStatus = (int)LocationStatusEnum.InLock;
                                    _taskService.AddData(dt_Task);
                                    _HKLocationInfoService.UpdateData(hKLocation);
                                }
                            }
                        }
                    }
                }
                #endregion