wangxinhui
2025-12-31 edc7293bf81729ebaa2d7cdd9a1f3aeaf567f538
ÏîÄ¿´úÂë/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;
@@ -270,6 +271,7 @@
                            BatchNo = returnMaterial.MaterialLot,
                            Unit = materielInfo.MaterielUnit,
                            MaterielThickness = returnMaterial.Thickness,
                            CheckThickness= returnMaterial.Thickness,
                            MaterielWide = returnMaterial.Wide,
                            MaterielWeight = returnMaterial.Weight,
                            MaterielCode = materielInfo.MaterielCode,
@@ -280,7 +282,7 @@
                            IsPick = returnMaterial.Whether == 0 ? WhetherEnum.True.ObjToInt() : WhetherEnum.False.ObjToInt(),
                            Remark = StockStatusEmun.MES余料退库.ToString()
                        };
                        if (stockInfo.MaterielWide > 1200)
                        if (stockInfo.MaterielWide >= 1160)
                        {
                            stockInfo.PalletType = 2;
                        }
@@ -308,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();
                    //推送任务