分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-05-19 429bb4abbaea6fd6be33dcf62735d4ada5070b63
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/EmptyPalletTask.cs
@@ -29,13 +29,17 @@
                Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(Context);
                Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(Context);
                #region å ç›˜åŒºæ»¡5个入库
                #region å ç›˜åŒºæ»¡5个入库 éœ€ä¼˜åŒ–
                var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.enable).ToList();
                var EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity == 5).FirstOrDefault();
                if (EmptyD != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyD);
                //EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0&&x.lastUpdateTime.).FirstOrDefault();//时间超过6小时入库
                #endregion
                var agv_task = agvtaskRepository.Find(x => x.agv_taskstate == AGVTaskStateEnum.Queue.ToString() && x.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString() && string.IsNullOrEmpty(x.agv_toaddress)).OrderByDescending(x => x.agv_grade).ThenBy(x => x.agv_createtime).FirstOrDefault();
                if (agv_task != null)
                var agv_tasks = agvtaskRepository.Find(x => x.agv_taskstate == AGVTaskStateEnum.Queue.ToString() && x.agv_tasktype == AGVTaskTypeEnum.TaskType_EmptyPallet.ToString() && string.IsNullOrEmpty(x.agv_toaddress)).OrderByDescending(x => x.agv_grade).ThenBy(x => x.agv_createtime).ToList();
                foreach (var agv_task in agv_tasks)
                {
                    try
                {
                    tasknum = agv_task.agv_tasknum;
                    #region MyRegion
@@ -54,26 +58,30 @@
                    //    return;
                    //}
                    #endregion
                    dt_stationinfo EmptyStation = null;
                    #region æ£€æµ‹ä¸Šæ–™çš„空托叠盘
                    if (agv_task.agv_fromaddress.Contains("S"))
                    {
                        //var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.quantity < 5 && x.enable).ToList();
                        EmptyStation = EmptyStations.Where(x => x.tray_type == agv_task.agv_Traytype && x.quantity < 5 && x.location_state == LocationStateEnum.Stroge.ToString()).FirstOrDefault();
                        if (EmptyStation == null)
                            EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Empty.ToString() && x.quantity == 0).FirstOrDefault();
                        if (EmptyStation == null)
                        {
                            EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.quantity).FirstOrDefault();
                            if (EmptyD != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyD);
                        }
                    }
                    #endregion
                    else
                    {
                        EmptyStation = GetStation.EmptyPalletStation(agv_task.agv_Traytype == "SmallTray" ? "11" : "10");
                    }
                        #region MyRegion
                        //dt_stationinfo EmptyStation = null;
                        //#region æ£€æµ‹ä¸Šæ–™çš„空托叠盘
                        //if (agv_task.agv_fromaddress.Contains("S"))
                        //{
                        //    //var EmptyStations = stationinfoRepository.Find(x => x.stationCode.Contains("DD") && x.quantity < 5 && x.enable).ToList();
                        //    EmptyStation = EmptyStations.Where(x => x.tray_type == agv_task.agv_Traytype && x.quantity < 5 && x.location_state == LocationStateEnum.Stroge.ToString()).FirstOrDefault();
                        //    if (EmptyStation == null)
                        //        EmptyStation = EmptyStations.Where(x => x.location_state == LocationStateEnum.Empty.ToString() && x.quantity == 0).FirstOrDefault();
                        //    if (EmptyStation == null)
                        //    {
                        //        EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.quantity).FirstOrDefault();
                        //        if (EmptyD != null) EmptyTray.CreateEmptyTrayIn(stationinfoRepository, EmptyD);
                        //    }
                        //}
                        //#endregion
                        //else
                        //{
                        //    EmptyStation = GetStation.EmptyPalletStation1(agv_task.agv_Traytype == "SmallTray" ? "11" : "10");
                        //}
                        #endregion
                        var EmptyStation = EmptyTray.GetEmptyTrayStation(stationinfoRepository, agv_task);
                    if (EmptyStation != null)
                    {
                        agv_task.agv_taskstate = AGVTaskStateEnum.Create.ToString();
@@ -85,6 +93,12 @@
                        WriteDBLog.Success("更新自动取空托队列任务", $"任务编号:{agv_task.agv_tasknum}", "WMS");
                    }
                }
                    catch (Exception ex)
                    {
                        WriteLog.Write_Log("报错日志", "更新自动取空托队列任务", "错误信息!", $"{tasknum};错误信息:{ex.Message}");
                    }
                }
            }
            catch (Exception ex)
            {