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);