wangxinhui
2025-12-29 d0cc37c3c11859cc55f30624692dca55be2b8a32
ÏîÄ¿´úÂë/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs
@@ -228,6 +228,7 @@
                    //退料
                    List<Dt_StockInfo> stockInfos=new List<Dt_StockInfo>();
                    List<Dt_Task> tasksNew = new List<Dt_Task>();
                    List<Dt_AGVStationInfo> _AGVStationInfos = new List<Dt_AGVStationInfo>();
                    foreach (var item in returnIssueDTOs.Where(x => x.ReturnMaterial != null))
                    {
                        MESReturnMaterial? returnMaterial = item.ReturnMaterial;
@@ -309,13 +310,25 @@
                        TaskTypeEnum taskTypeEnum = aGVStationInfo.StationArea switch
                        {
                            nameof(StationAreaEnum.一楼印刷) => TaskTypeEnum.PrintYLBackInbound,
                            nameof(StationAreaEnum.一楼纸张淋膜) => TaskTypeEnum.PaperFilmYLBackInbound,
                            nameof(StationAreaEnum.一楼无纺淋膜) => TaskTypeEnum.WFBLMYLBackInbound,
                            _ => throw new Exception("未找到对应任务")
                        };
                        if (taskTypeEnum== TaskTypeEnum.WFBLMYLBackInbound)
                        {
                            Dt_AGVStationInfo? stationInfo = AssignWFBStation(_AGVStationInfos?.Select(x=>x.AGVStationCode).ToList()) ?? throw new Exception("未找到可用无纺布暂存架");
                            newTask.NextAddress = stationInfo.AGVStationCode;
                            newTask.TargetAddress = stationInfo.AGVStationCode;
                            newTask.Roadway = "AGV";
                            stationInfo.IsOccupied = 1;
                            _AGVStationInfos.Add(stationInfo);
                        }
                        newTask.TaskType = taskTypeEnum.ObjToInt();
                        tasksNew.Add(newTask);
                    }
                    _unitOfWorkManage.BeginTran();
                    BaseDal.AddData(tasksNew);
                    _basicRepository.AGVStationInfoRepository.UpdateData(_AGVStationInfos);
                    _stockRepository.StockInfoRepository.AddData(stockInfos);
                    _unitOfWorkManage.CommitTran();
                    //推送任务