wangxinhui
2025-03-15 efaf0b8aeb26aca6536a4b384c912cc3cac4d070
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -171,10 +171,18 @@
                        if (taskTypeGroup == TaskTypeGroup.InboundGroup)
                        {
                            stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == item.SourceAddress || x.StationDeviceCode == item.SourceAddress);
                            if (stationManger==null && task.TaskType==TaskTypeEnum.InProduct.ObjToInt())
                            {
                                stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode==task.SourceAddress);
                                //转换成品仓起点站台
                                item.SourceAddress = stationManger.StationCode;
                                task.CurrentAddress = stationManger.StationCode;
                                task.SourceAddress = stationManger.StationCode;
                            }
                        }
                        else
                        {
                            stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode == item.RoadWay);
                            stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneCode == item.RoadWay || x.Remark==item.RoadWay);
                        }
                        if (stationManger == null)
                        {
@@ -220,9 +228,14 @@
                            else
                            {
                                task.NextAddress = taskTypeGroup == TaskTypeGroup.InboundGroup ? task.TargetAddress : router.NextPosi;
                                if (item.RoadWay.Contains("AGV"))
                                if (item.RoadWay.Contains("AGV_FL")|| (item.RoadWay.Contains("AGV_CP") && taskTypeGroup == TaskTypeGroup.OutbondGroup))
                                {
                                    task.DeviceCode = item.RoadWay;
                                    task.AgvTaskNum = item.RoadWay + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum;
                                }
                                else if(item.RoadWay.Contains("AGV_CP") && taskTypeGroup == TaskTypeGroup.InboundGroup)
                                {
                                    task.DeviceCode = stationManger.StationDeviceCode;
                                    task.AgvTaskNum = task.DeviceCode + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum;
                                }
                                else
@@ -829,7 +842,7 @@
        /// </summary>
        public Dt_Task QueryStackerExistTask(string PalletCode, string locationCode)
        {
            return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.SourceAddress == locationCode && x.TaskState == (int)TaskStatusEnum.SC_Execute);
            return BaseDal.QueryFirst(x => x.PalletCode == PalletCode && x.SourceAddress == locationCode && (x.TaskState == (int)TaskStatusEnum.SC_Execute || x.TaskState == (int)TaskStatusEnum.SC_Executing));
        }
    }
}