| | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// è·åå¯å
¥ç©ºæè´§ä½ |
| | | /// </summary> |
| | | public static dt_stationinfo GetEmptyTrayStation(Idt_stationinfoRepository stationinfoRepository,dt_agvtask agv_task) |
| | | { |
| | | 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) |
| | | { |
| | | var EmptyD = EmptyStations.Where(x => x.location_state == LocationStateEnum.Stroge.ToString() && x.quantity > 0).OrderByDescending(x => x.quantity).FirstOrDefault(); |
| | | if (EmptyD != null) CreateEmptyTrayIn(stationinfoRepository, EmptyD); |
| | | } |
| | | } |
| | | #endregion |
| | | else |
| | | { |
| | | EmptyStation = GetStation.EmptyPalletStation1(agv_task.agv_Traytype == "SmallTray" ? "11" : "10"); |
| | | } |
| | | return EmptyStation; |
| | | } |
| | | /// <summary> |
| | | /// å建空æå çå
¥åºä»»å¡ |
| | | /// </summary> |
| | | /// <param name="stationinfoRepository"></param> |
| | |
| | | { |
| | | if (agvtaskRepository.Find(x => x.agv_fromaddress == EmptyStation.stationCode || x.agv_toaddress == EmptyStation.stationCode).Any()) return; |
| | | var area = EmptyStation.tray_type == "SmallTray" ? "11" : "10"; |
| | | var toEmptyStation = GetStation.EmptyPalletStation(area); |
| | | var toEmptyStation = GetStation.EmptyPalletStation1(area); |
| | | if (toEmptyStation != null) |
| | | { |
| | | #region åä¸ä¸ªç©ºæä½åªè½åæ¶çæä¸ä¸ªç©ºæä»»å¡ |