11
yanjinhui
2026-03-06 c2b54113942b9e31a2a7b19001158b08df268a0a
11
已修改2个文件
171 ■■■■ 文件已修改
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskJob.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/RGVTaskExtend.cs
@@ -169,7 +169,8 @@
                var locationsToUpdate = new List<Dt_RGVLocationInfo>();
                var stationsToUpdate = new List<Dt_StationManger>();
                #region ä»»åŠ¡ä¸‹å‘
                foreach (var item in tasks)
                var item = tasks.FirstOrDefault();
                if (item != null)
                {
                    try
                    {
@@ -178,55 +179,58 @@
                        if (rGVLocationInfo == null)
                        {
                            item.ExceptionMessage = $"未找到终点库区【{item.Roadway}】可用空货位!";
                            continue;
                        }
                        #endregion
                        fOURBOTnewMovePodTask = new FOURBOTnewMovePodTask
                        {
                            priority = item.Grade,
                            podID = item.PalletCode,
                            desStorageID = rGVLocationInfo.LocationCode,
                            //destination = rGVLocationInfo.LocationCode,
                            desExt = new { unload = 1 }, // æ˜¯å¦æ”¾ä¸‹å®¹å™¨,0否1是
                            desType = 2
                        };
                        fOURBOTnewMovePodTask.taskExt = new
                        {
                            autoToRest = 1
                        };
                        item.CurrentAddress = item.NextAddress;
                        item.NextAddress = rGVLocationInfo.LocationCode;
                        item.TargetAddress = rGVLocationInfo.LocationCode;
                        item.Roadway = rGVLocationInfo.RoadwayNo;
                        string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize());
                        var fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>();
                        content.Data = fOURBOTReturn;
                        if (fOURBOTReturn.returnCode == 0)
                        {
                            var data = fOURBOTReturn.data.ToString();
                            var fOURBO = data.DeserializeObject<FOURBOTnewMovePodTaskResponseData>();
                            item.RGVTaskId = fOURBO.taskID;
                            item.TaskState = (int)TaskStatusEnum.Puting;
                            rGVLocationInfo.LocationStatus = LocationStatusEnum.InLock.ObjToInt();
                            locationsToUpdate.Add(rGVLocationInfo);
                            #region é‡Šæ”¾å…¥åº“站台
                            var stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress);
                            if (stationManger != null)
                            {
                                stationManger.IsOccupied = LocationStatusEnum.Free.ObjToInt();
                                stationsToUpdate.Add(stationManger);
                            }
                            content.OK();
                            #endregion
                        }
                        else
                        {
                            item.ExceptionMessage = $"四向车接口返回错误:{fOURBOTReturn.returnMsg}";
                            // è®°å½•失败的任务
                            content.Error($"四向车接口返回错误:{fOURBOTReturn.returnMsg}");
                            fOURBOTnewMovePodTask = new FOURBOTnewMovePodTask
                            {
                                priority = item.Grade,
                                podID = item.PalletCode,
                                desStorageID = rGVLocationInfo.LocationCode,
                                //destination = rGVLocationInfo.LocationCode,
                                desExt = new { unload = 1 }, // æ˜¯å¦æ”¾ä¸‹å®¹å™¨,0否1是
                                desType = 2
                            };
                            fOURBOTnewMovePodTask.taskExt = new
                            {
                                autoToRest = 1
                            };
                            item.CurrentAddress = item.NextAddress;
                            item.NextAddress = rGVLocationInfo.LocationCode;
                            item.TargetAddress = rGVLocationInfo.LocationCode;
                            item.Roadway = rGVLocationInfo.RoadwayNo;
                            string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize());
                            var fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>();
                            content.Data = fOURBOTReturn;
                            if (fOURBOTReturn.returnCode == 0)
                            {
                                var data = fOURBOTReturn.data.ToString();
                                var fOURBO = data.DeserializeObject<FOURBOTnewMovePodTaskResponseData>();
                                item.RGVTaskId = fOURBO.taskID;
                                item.TaskState = (int)TaskStatusEnum.Puting;
                                rGVLocationInfo.LocationStatus = LocationStatusEnum.InLock.ObjToInt();
                                locationsToUpdate.Add(rGVLocationInfo);
                                #region é‡Šæ”¾å…¥åº“站台
                                var stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress);
                                if (stationManger != null)
                                {
                                    stationManger.IsOccupied = LocationStatusEnum.Free.ObjToInt();
                                    stationsToUpdate.Add(stationManger);
                                }
                                content.OK();
                                #endregion
                            }
                            else
                            {
                                item.ExceptionMessage = $"四向车接口返回错误:{fOURBOTReturn.returnMsg}";
                                // è®°å½•失败的任务
                                content.Error($"四向车接口返回错误:{fOURBOTReturn.returnMsg}");
                            }
                            tasksToUpdate.Add(item);
                        }
                    }
                    catch (Exception ex)
@@ -235,8 +239,77 @@
                        //WriteError($"{nameof(TaskJob)}-{item.TaskId}", ex.Message, ex);
                        content.Error($"四向车接口返回错误:{ex.Message}");
                    }
                    tasksToUpdate.Add(item);
                }
                #region MyRegion
                //foreach (var item in tasks)
                //{
                //    try
                //    {
                //        #region èŽ·å–è´§ä½
                //        var rGVLocationInfo = _rGVLocationInfoService.GetFreeLocationInfo(item.Roadway);
                //        if (rGVLocationInfo == null)
                //        {
                //            item.ExceptionMessage = $"未找到终点库区【{item.Roadway}】可用空货位!";
                //            continue;
                //        }
                //        #endregion
                //        fOURBOTnewMovePodTask = new FOURBOTnewMovePodTask
                //        {
                //            priority = item.Grade,
                //            podID = item.PalletCode,
                //            desStorageID = rGVLocationInfo.LocationCode,
                //            //destination = rGVLocationInfo.LocationCode,
                //            desExt = new { unload = 1 }, // æ˜¯å¦æ”¾ä¸‹å®¹å™¨,0否1是
                //            desType = 2
                //        };
                //        fOURBOTnewMovePodTask.taskExt = new
                //        {
                //            autoToRest = 1
                //        };
                //        item.CurrentAddress = item.NextAddress;
                //        item.NextAddress = rGVLocationInfo.LocationCode;
                //        item.TargetAddress = rGVLocationInfo.LocationCode;
                //        item.Roadway = rGVLocationInfo.RoadwayNo;
                //        string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize());
                //        var fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>();
                //        content.Data = fOURBOTReturn;
                //        if (fOURBOTReturn.returnCode == 0)
                //        {
                //            var data = fOURBOTReturn.data.ToString();
                //            var fOURBO = data.DeserializeObject<FOURBOTnewMovePodTaskResponseData>();
                //            item.RGVTaskId = fOURBO.taskID;
                //            item.TaskState = (int)TaskStatusEnum.Puting;
                //            rGVLocationInfo.LocationStatus = LocationStatusEnum.InLock.ObjToInt();
                //            locationsToUpdate.Add(rGVLocationInfo);
                //            #region é‡Šæ”¾å…¥åº“站台
                //            var stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress);
                //            if (stationManger != null)
                //            {
                //                stationManger.IsOccupied = LocationStatusEnum.Free.ObjToInt();
                //                stationsToUpdate.Add(stationManger);
                //            }
                //            content.OK();
                //            #endregion
                //        }
                //        else
                //        {
                //            item.ExceptionMessage = $"四向车接口返回错误:{fOURBOTReturn.returnMsg}";
                //            // è®°å½•失败的任务
                //            content.Error($"四向车接口返回错误:{fOURBOTReturn.returnMsg}");
                //        }
                //    }
                //    catch (Exception ex)
                //    {
                //        item.ExceptionMessage = $"处理任务异常:{ex.Message}";
                //        //WriteError($"{nameof(TaskJob)}-{item.TaskId}", ex.Message, ex);
                //        content.Error($"四向车接口返回错误:{ex.Message}");
                //    }
                //    tasksToUpdate.Add(item);
                //}
                #endregion
                #endregion
                #region æ›´æ–°æ•°æ®
                // å¦‚果有需要更新的数据,才执行事务
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskJob.cs
@@ -49,9 +49,9 @@
        {
            try
            {
                //SendNewTask();
                SendNewTask();
                //SendWaitToTask();
                SendWaitToTask();
            }
            catch (Exception ex)
            {