diff --git a/SlnMesnac.Model/domain/BaseEquipment.cs b/SlnMesnac.Model/domain/BaseEquipment.cs new file mode 100644 index 0000000..2a4f108 --- /dev/null +++ b/SlnMesnac.Model/domain/BaseEquipment.cs @@ -0,0 +1,152 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Text; + +namespace SlnMesnac.Model.domain +{ + /// + /// 设备信息 + /// + [SugarTable("wcs_base_equip"), TenantAttribute("mes")] + public class BaseEquipment + { + /// + /// 主键 + /// + [SugarColumn(ColumnName = "objid", IsPrimaryKey = true)] + public long ObjId { get; set; } + + /// + /// 所属仓库 + /// + [SugarColumn(ColumnName = "warehouse_id")] + public long? WarehouseId { get; set; } + + /// + /// 设备编号 + /// + [SugarColumn(ColumnName = "equip_no")] + public string EquipNo { get; set; } + + /// + /// 设备名称 + /// + [SugarColumn(ColumnName = "equip_name")] + public string EquipName { get; set; } + + /// + /// 设备类型 1输送线 2 提升机 3 分拣输送线 + /// + [SugarColumn(ColumnName = "equip_type")] + public int? EquipType { get; set; } + + /// + /// IP地址 + /// + [SugarColumn(ColumnName = "server_ip")] + public string ServerIp { get; set; } + + /// + /// 端口 + /// + [SugarColumn(ColumnName = "server_port")] + public int? ServerPort { get; set; } + + /// + /// 设备状态,字典表 + /// + [SugarColumn(ColumnName = "equip_status")] + public int? EquipStatus { get; set; } + + /// + /// 所属楼层 + /// + [SugarColumn(ColumnName = "floor_no")] + public int? FloorNo { get; set; } + + /// + /// 是否可用 0:不可用 1:可用 + /// + [SugarColumn(ColumnName = "use_flag")] + public int UseFlag { get; set; } = 1; + + /// + /// 创建者 + /// + [SugarColumn(ColumnName = "create_by")] + public string CreateBy { get; set; } = "SYS"; + + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "create_time")] + public DateTime? CreateTime { get; set; } = DateTime.Now; + + /// + /// 更新者 + /// + [SugarColumn(ColumnName = "update_by")] + public string UpdateBy { get; set; } = "SYS"; + + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "update_time")] + public DateTime? UpdateTime { get; set; } = DateTime.Now; + + /// + /// 人工任务起始地 + /// + [SugarColumn(ColumnName = "ud1")] + public string Ud1 { get; set; } + + /// + /// 人工任务终止地 + /// + [SugarColumn(ColumnName = "ud2")] + public string Ud2 { get; set; } + + /// + /// 备用字段3 + /// + [SugarColumn(ColumnName = "ud3")] + public string Ud3 { get; set; } + + /// + /// 备注 + /// + [SugarColumn(ColumnName = "remark")] + public string Remark { get; set; } + + /// + /// Agv地址 + /// + [SugarColumn(ColumnName = "agv_position_code")] + public string AgvPositionCode { get; set; } + + /// + /// + /// + [SugarColumn(ColumnName = "empty_count")] + public int? EmptyCount { get; set; } + + /// + /// RFID + /// + [SugarColumn(ColumnName = "container_no")] + public string ContainerNo { get; set; } + + /// + /// + /// + [SugarColumn(ColumnName = "endStationCode")] + public string EndStationCode { get; set; } + + /// + /// + /// + [SugarColumn(ColumnName = "is_out")] + public int IsOut { get; set; } = 0; + } +} diff --git a/SlnMesnac.WPF/Page/LocationPage.xaml.cs b/SlnMesnac.WPF/Page/LocationPage.xaml.cs index ff082ab..5a155d8 100644 --- a/SlnMesnac.WPF/Page/LocationPage.xaml.cs +++ b/SlnMesnac.WPF/Page/LocationPage.xaml.cs @@ -34,10 +34,10 @@ namespace SlnMesnac.WPF.Page "二楼仓库","三楼仓库","五楼仓库" }; WareHouseId.SelectedItem = "三楼仓库"; - Refresh(); + loadLocations(GetLocations()); } - private void Refresh() + private List GetLocations() { try { @@ -59,26 +59,27 @@ namespace SlnMesnac.WPF.Page warehouseId.Add(531); } List list = sqlSugarClient.AsTenant().GetConnection("mes").Queryable().Where(t => warehouseId.Contains(t.WarehouseId)).ToList(); - if (list != null && list.Count > 0) - { - loadLocations(list); - } + + return list; + }catch(Exception ex) { Console.WriteLine(ex.Message); + return null; } } private void Refulsh_Click(object sender, RoutedEventArgs e) { - Refresh(); + loadLocations(GetLocations()); } private void WarehouseChanged(object sender, SelectionChangedEventArgs e) { - Refresh(); + loadLocations(GetLocations()); + } @@ -90,7 +91,22 @@ namespace SlnMesnac.WPF.Page { return; } - + + List baseEquips = new List(); + if (wmsBaseLocations.First().WarehouseFloor == 2) + { + + baseEquips = sqlSugarClient.AsTenant().GetConnection("mes").Queryable().Where(t => t.EquipType==20).OrderBy(t => t.AgvPositionCode).ToList(); + + + } + else if (wmsBaseLocations.First().WarehouseFloor == 3) + { + + baseEquips = sqlSugarClient.AsTenant().GetConnection("mes").Queryable().Where(t => t.EquipType == 15).OrderBy(t => t.AgvPositionCode).ToList(); + } + + Dispatcher.Invoke(() => { this.LocaltionGrid.Children.Clear(); @@ -98,6 +114,7 @@ namespace SlnMesnac.WPF.Page this.LocaltionGrid.ColumnDefinitions.Clear(); List list = wmsBaseLocations.Select(t => t.WarehouseId).Distinct().ToList(); int? column = 0; + for (var i = 0; i < list.Count; i++) { this.LocaltionGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0, GridUnitType.Star) }); @@ -105,7 +122,11 @@ namespace SlnMesnac.WPF.Page List locations = wmsBaseLocations.Where(t => t.WarehouseId == list[i]).ToList(); var row = locations.Max(t => t.LocRow); column = locations.Max(t => t.LocColumn); - + if (list[0] == 231 && i == 0) + { + grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0, GridUnitType.Star) }); + grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0, GridUnitType.Star) }); + } for (var j = 0; j < row; j++) { grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1.0, GridUnitType.Star) }); @@ -126,9 +147,53 @@ namespace SlnMesnac.WPF.Page Tag = location.LocationId, Background = string.IsNullOrEmpty(location.ContainerCode) ? new SolidColorBrush((Color)ColorConverter.ConvertFromString("#4789AE")) : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#75F76D")) }; - // button.Click += OnLocationButton_Click; + Grid.SetColumn(button, location.LocColumn.Value - 1); - Grid.SetRow(button, -(location.LocRow.Value - row.Value)); + if (list[0] == 231) + { + Grid.SetRow(button, -(location.LocRow.Value - row.Value) + 2); + for (var k = 0; k < 8; k++) + { + var button2 = new Button() + { + Content = baseEquips[k].AgvPositionCode + $"({baseEquips[k].EmptyCount})", + Name = baseEquips[k].AgvPositionCode, + Width = 100, + Height = 50, + FontSize = 15, + Margin = new Thickness(2), + Background = baseEquips[k].EmptyCount > 0 ? new SolidColorBrush((Color)ColorConverter.ConvertFromString("#75F76D")) : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#4789AE")), + }; + Grid.SetColumn(button2, k % 4 * 2 + 1); + Grid.SetRow(button2, -((k / 4) - 1)); + Grid.SetColumnSpan(button2, 2); + grid.Children.Add(button2); + } + } + else + { + Grid.SetRow(button, -(location.LocRow.Value - row.Value)); + if (list[0] == 311) + { + for (var k = 0; k < 3; k++) + { + var button2 = new Button() + { + Content = baseEquips[k].AgvPositionCode + $"({baseEquips[k].EmptyCount})", + Name = baseEquips[k].AgvPositionCode, + Width = 100, + Height = 50, + FontSize = 15, + Margin = new Thickness(2), + Background = baseEquips[k].EmptyCount > 0 ? new SolidColorBrush((Color)ColorConverter.ConvertFromString("#75F76D")) : new SolidColorBrush((Color)ColorConverter.ConvertFromString("#4789AE")), + }; + Grid.SetColumn(button2, k % 4 * 2 + 17); + Grid.SetRow(button2, -((k / 4) - 1)); + Grid.SetColumnSpan(button2, 2); + grid.Children.Add(button2); + } + } + } grid.Children.Add(button); } Grid.SetRow(grid, i);