From f72c19ffed2892300d852aa9a35336f382aa2723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83?= <15095123350@163.com> Date: Wed, 16 Oct 2024 16:00:55 +0800 Subject: [PATCH] 1 --- .../Dto/taskType/StaticTaskType.cs | 5 + .../Models/WmsInventoryCheckDetail.cs | 2 +- src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs | 103 ++++++++++++-- src/Khd.Core.Wpf/Form/FormBoardT.xaml | 56 +++++--- src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs | 116 +++++++++++++--- src/Khd.Core.Wpf/Khd.Core.Wpf.csproj | 2 +- .../TaskForm/SelectOutRawForm.xaml | 26 ++++ .../TaskForm/SelectOutRawForm.xaml.cs | 127 +++++++++++++++--- src/Khd.Core.Wpf/appsettings.json | 6 +- .../myConverter/AgvTaskStatusConverter.cs | 11 +- 10 files changed, 382 insertions(+), 72 deletions(-) diff --git a/src/Khd.Core.Domain/Dto/taskType/StaticTaskType.cs b/src/Khd.Core.Domain/Dto/taskType/StaticTaskType.cs index 70fceea..d196b72 100644 --- a/src/Khd.Core.Domain/Dto/taskType/StaticTaskType.cs +++ b/src/Khd.Core.Domain/Dto/taskType/StaticTaskType.cs @@ -129,6 +129,10 @@ /// 五楼辅料移库 /// public const int FiveAccessoryRemove = 102; + /// + /// 人工任务 + /// + public const int PersonTask = 99; /// /// 获取任务名称 @@ -168,6 +172,7 @@ FiveAccessoryStorage => "五楼辅料盘库", ThirdTransitToSecond => "三楼接驳位转运空托盘到二楼", FiveAccessoryRemove => "五楼辅料移库", + PersonTask=>"人工任务", _ => "未知任务类型", }; } diff --git a/src/Khd.Core.Domain/Models/WmsInventoryCheckDetail.cs b/src/Khd.Core.Domain/Models/WmsInventoryCheckDetail.cs index 125f890..e98dd25 100644 --- a/src/Khd.Core.Domain/Models/WmsInventoryCheckDetail.cs +++ b/src/Khd.Core.Domain/Models/WmsInventoryCheckDetail.cs @@ -16,7 +16,7 @@ namespace Khd.Core.Domain.Models public long? MaterialId { get; set; } [Column("location_code")] public string LocationCode { get; set; } - [Column("material_batch")] + [Column("material_barcode")] public string MaterialBatch { get; set; } [Column("stock_type")] public string StockType { get; set; } diff --git a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs index 88e1d79..db949d9 100644 --- a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs +++ b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs @@ -9,6 +9,7 @@ using Masuit.Tools; using Microsoft.CodeAnalysis; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Newtonsoft.Json; using SixLabors.ImageSharp; using System.Data; using System.Drawing.Text; @@ -38,6 +39,11 @@ namespace Khd.Core.Wcs.Wcs //createRemoveThread.Name = "CreateRemoveLogic"; //createRemoveThread.Start(); + // 叫空托盘 3-2楼 + var createEmtpyThread = new Thread(CreateEmptyLoic); + createEmtpyThread.IsBackground = true; + createEmtpyThread.Name = "CreateEmptyLoic"; + createEmtpyThread.Start(); //背负式Agv返库任务 var createBearAgvReturnThread = new Thread(CreateBearAgvReturnLogic); createBearAgvReturnThread.IsBackground = true; @@ -92,6 +98,83 @@ namespace Khd.Core.Wcs.Wcs _logger.Info("出库任务监听启动成功"); } + private void CreateEmptyLoic(object? obj) + { + using var scope = _host.Services.CreateScope(); + using var dbContext = scope.ServiceProvider.GetRequiredService(); + BaseEquip endEquip = StaticData.BaseEquip.First(t => t.objid == 36); + while (true) + { + try + { + bool create = false; + dbContext.ChangeTracker.Entries().ToList().ForEach(e => e.Reload()); + var ids = dbContext.BaseEquip.Where(t => t.equipType == 20).Select(t => t.objid).ToList(); + bool hasTask = dbContext.WcsTask.Where(t => t.endPointId == 2 || ids.Contains(t.endPointId.Value)).Any(); + if (!hasTask) + { + int thirdTray = dbContext.BaseEquip + .Where(t => t.equipType == 15) + .Where(t => t.emptyCount == SystemData.maxTray).Count(); + List baseEquips = dbContext.BaseEquip.Where(t => t.useFlag == 1).Where(t => t.equipType == 20).ToList(); + int emptyCount = baseEquips.Where(t => t.emptyCount == 0).Count(); + int maxCount = baseEquips.Where(t => t.emptyCount == SystemData.maxTray).Count(); + if (thirdTray > 0) + { + if (emptyCount > 2 && thirdTray >= 2) + { + create = true; + } + } + if (create) + { + var baseEquip = dbContext.BaseEquip.FirstOrDefault(t => t.equipType == 15 && t.emptyCount == SystemData.maxTray);//三楼三个周转区是否存在空托盘 + if (baseEquip != null)//如果三楼有空托盘 + { + BaseEquip ThirdLineEquip = dbContext.BaseEquip.First(t => t.objid == 3);//三楼接驳位 + BaseEquip ThirdAgvEquip = StaticData.BaseEquip.First(t => t.objid == 9);//三楼叉车 + if (ThirdLineEquip.equipStatus == 0)//三楼接驳位空闲 + { + //生成3楼Agv出库任务 + WcsTask wcsTask = new WcsTask() + { + objid = StaticData.SnowId.NextId(), + containerNo = null, + createBy = "WCS", + createTime = DateTime.Now, + floorNo = 2, + fromFloorNo = 3, + isEmpty = "1", + qty = SystemData.maxTray, + taskType = StaticTaskType.ThirdTransitToSecond, + currPointId = baseEquip.objid, + currPointNo = baseEquip.equipNo, + nextPointId = ThirdAgvEquip.objid, + nextPointNo = ThirdAgvEquip.equipNo, + endPointId = endEquip.objid, + endPointNo = endEquip.equipNo, + taskStatus = 0, + useFlag = 1, + }; + dbContext.Add(wcsTask); + WcsTaskLog wcsTaskLog = CoreMapper.Map(wcsTask); + dbContext.Add(wcsTaskLog); + dbContext.SaveChanges(); + Console.WriteLine(DateTime.Now + ":二楼码垛输送线生成3楼Agv出库任务成功:" + wcsTask.objid); + _logger.Info("二楼码垛输送线生成3楼Agv出库任务成功:" + wcsTask.objid); + } + } + } + } + } + catch + { + + } + Thread.Sleep(1000 * 60); + } + } + /// /// 主动移库 /// @@ -1119,16 +1202,17 @@ namespace Khd.Core.Wcs.Wcs WcsTaskLog wcsTaskLog = CoreMapper.Map(RemoveTask); dbContext.Add(wcsTaskLog); #endregion - - } - } else if (fromBaseLocation != null && fromBaseLocation.locationStatus != "1") { //浅库位状态异常,找寻下一个可出库库存 continue; } + else if (fromBaseLocation == null)//浅库位无信息 + { + continue; + } } } @@ -1559,7 +1643,7 @@ namespace Khd.Core.Wcs.Wcs } else { - // break; + // break; } } else @@ -2120,7 +2204,7 @@ namespace Khd.Core.Wcs.Wcs BaseEquip endStationCodeEquip = dbContext.BaseEquip.First(t => t.objid == 10); if (!string.IsNullOrEmpty(endStationCodeEquip.endStationCode) && endStationCodeEquip.IsOut == 1) { - if (item.endStationCode != endStationCodeEquip.endStationCode) + if (!endStationCodeEquip.endStationCode.Contains(item.endStationCode)) { continue; } @@ -2128,7 +2212,7 @@ namespace Khd.Core.Wcs.Wcs bool hasTask = dbContext.WcsTask.Where(t => t.nextPointId == 11).Any(); if (!hasTask) { - var orderList = rawOutStock.Where(t => t.endStationCode == endStationCodeEquip.endStationCode).ToList(); + var orderList = rawOutStock.Where(t => endStationCodeEquip.endStationCode.Contains(t.endStationCode)).ToList(); List tasks = new(); List canOut = orderList.Select(t => t.saleOrderId).ToList(); rawStock = rawStock.Where(t => canOut.Contains(t.saleOrderId)).OrderByDescending(t => t.saleOrderId).ToList(); @@ -2333,7 +2417,8 @@ namespace Khd.Core.Wcs.Wcs } BaseEquip startStationEquip = StaticData.BaseEquip.First(t => t.objid == 21); BaseEquip bearAgvEquip = StaticData.BaseEquip.First(t => t.objid == 10); - BaseEquip endStationEquip = StaticData.BaseEquip.First(t => t.equipNo == endStationCodeEquip.endStationCode); + var json = JsonConvert.DeserializeObject>(endStationCodeEquip.endStationCode); + BaseEquip endStationEquip = StaticData.BaseEquip.First(t => t.equipNo == json.First()); hasTask = dbContext.WcsTask.Where(t => t.taskType == 32).Any(); if (!hasTask) { @@ -2479,7 +2564,7 @@ namespace Khd.Core.Wcs.Wcs .Where(t => t.locRow == row) .Where(t => t.locColumn == location.locColumn) .Where(t => t.warehouseId == location.warehouseId).FirstOrDefault(); - if ( wmsBaseLocation.locationStatus == "1") + if (wmsBaseLocation.locationStatus == "1") { WmsRawStock? wmsRawStock = dbContext.WmsRawStock.FirstOrDefault(t => t.locationCode == wmsBaseLocation.locationCode); if (wmsRawStock != null) @@ -2570,7 +2655,7 @@ namespace Khd.Core.Wcs.Wcs else { // 可以出库 - // continue; + // continue; } } else if (wmsBaseLocation != null && wmsBaseLocation.locationStatus != "1") diff --git a/src/Khd.Core.Wpf/Form/FormBoardT.xaml b/src/Khd.Core.Wpf/Form/FormBoardT.xaml index 9dca713..450749e 100644 --- a/src/Khd.Core.Wpf/Form/FormBoardT.xaml +++ b/src/Khd.Core.Wpf/Form/FormBoardT.xaml @@ -2351,7 +2351,6 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen - @@ -2369,15 +2368,24 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen - + @@ -2441,25 +2455,25 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen @@ -2766,7 +2780,7 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen - + --> - + @@ -2836,7 +2850,7 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen - + @@ -2871,7 +2885,7 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen - + @@ -2912,7 +2926,7 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen - + @@ -2946,7 +2960,7 @@ FontSize="25" Width="160" Height="80" VerticalAlignment="Top" HorizontalAlignmen - + diff --git a/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs b/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs index f2735fb..cf8e011 100644 --- a/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs +++ b/src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs @@ -164,7 +164,7 @@ namespace Khd.Core.Wpf.Form plc = new Plc.S7.Plc(plcConfig.CpuType, plcConfig.IP, plcConfig.Port, plcConfig.Rack, plcConfig.Slot); try { - plc.Open(); + plc.OpenAsync(); } catch (Exception ex) { @@ -545,7 +545,12 @@ namespace Khd.Core.Wpf.Form .ToList(); List list = wmsRawOutstocks.Select(t => t.endStationCode).ToList(); List orderIds = wmsRawOutstocks.Select(t => t.rawOutstockId).ToList(); - + var endStations = wmsRawOutstocks.Select(t => new + { + orderId=t.saleOrderId, + t.materialId, + t.endStationCode + }); BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == 10); string nowStationCode = baseEquip.endStationCode; if (!string.IsNullOrEmpty(nowStationCode)) @@ -574,7 +579,7 @@ namespace Khd.Core.Wpf.Form { #region 待测试 //找出本工位的申请单 - List RawOutstocks = wmsRawOutstocks.Where(t => t.endStationCode == baseEquip.endStationCode).ToList(); + List RawOutstocks = wmsRawOutstocks.Where(t => baseEquip.endStationCode.Contains(t.endStationCode)).ToList(); // 根据 materialId 分组,并计算 outstockAmount 和 realOutstockAmount 的总和 var targetRawOutstocks = RawOutstocks @@ -620,7 +625,8 @@ namespace Khd.Core.Wpf.Form PalletDetails = string.Join("\n", palletMaterialSummary .Where(pallet => pallet.MaterialId == order.materialId) .Select(pallet => $"托盘{pallet.PalletInfoCode}数量{string.Format("{0:0.00}", pallet.canUseAmount)}") - ) + ), + EndStationCodes =string.Join(",",endStations.Where(t => t.materialId == order.materialId && t.orderId == order.saleOrderId).Select(t => t.endStationCode).ToList()) }).ToList(); List materialIds = RawOutstocks.Select(t => t.materialId).ToList(); @@ -638,7 +644,8 @@ namespace Khd.Core.Wpf.Form outstockAmount = string.Format("{0:0.00}", r.RequestedAmount), realOutstockAmount = string.Format("{0:0.00}", r.RealOutstockAmount), isSendOver = r.RequestedAmount <= r.RealOutstockAmount ? "已出完" : "未出完", - thisOutAmount = r.PalletDetails + thisOutAmount = r.PalletDetails, + EndStationCodes=r.EndStationCodes }; #endregion @@ -1550,14 +1557,27 @@ namespace Khd.Core.Wpf.Form MessageBoxResult messageBoxResult1 = HandyControl.Controls.MessageBox.Show("是否需要背负式小车返回?", "提示信息", MessageBoxButton.YesNoCancel, MessageBoxImage.Information); if (messageBoxResult1 == MessageBoxResult.Yes) { - WcsTask wcsTask = CoreMapper.Map(wcsCmd); - wcsTask.taskStatus = 0; - wcsTask.createTime = DateTime.Now; - wcsTask.useFlag = 1; - wcsTask.objid = Global.SnowId.NextId(); - WcsTaskLog wcsTaskLog = CoreMapper.Map(wcsTask); - dbContext.Add(wcsTaskLog); - dbContext.Add(wcsTask); + BaseEquip baseEquip = dbContext.BaseEquip.Where(t => t.objid == 10).First(); + List? list = JsonConvert.DeserializeObject>(baseEquip.endStationCode); + new SelectOutRawForm(_host,"",3,list).ShowDialog(); + if (string.IsNullOrEmpty(SelectOutRawForm.StationCode)) + { + return; + } + else + { + BaseEquip endEquip = dbContext.BaseEquip.First(t => t.equipNo == SelectOutRawForm.StationCode); + WcsTask wcsTask = CoreMapper.Map(wcsCmd); + wcsTask.taskStatus = 0; + wcsTask.createTime = DateTime.Now; + wcsTask.useFlag = 1; + wcsTask.objid = Global.SnowId.NextId(); + wcsTask.endPointId = endEquip.objid; + wcsTask.endPointNo = endEquip.equipNo; + WcsTaskLog wcsTaskLog = CoreMapper.Map(wcsTask); + dbContext.Add(wcsTaskLog); + dbContext.Add(wcsTask); + } } else { @@ -1835,7 +1855,73 @@ namespace Khd.Core.Wpf.Form TextBlock? textBlock = null; Dispatcher.Invoke(() => { - textBlock = this.FindName(item.plcpointNo) as TextBlock; + foreach(var ch in this.UXX.Children) + { + if(ch is TextBlock tb) + { + if(tb.Name == item.plcpointNo) + { + textBlock = tb; + break; + } + } + } + if(textBlock == null) + { + foreach (var ch in this.TSJ.Children) + { + if (ch is TextBlock tb) + { + if (tb.Name == item.plcpointNo) + { + textBlock = tb; + break; + } + } + } + } + if (textBlock == null) + { + foreach (var ch in this.XBRK.Children) + { + if (ch is TextBlock tb) + { + if (tb.Name == item.plcpointNo) + { + textBlock = tb; + break; + } + } + } + } + if (textBlock == null) + { + foreach (var ch in this.JBW.Children) + { + if (ch is TextBlock tb) + { + if (tb.Name == item.plcpointNo) + { + textBlock = tb; + break; + } + } + } + } + if (textBlock == null) + { + foreach (var ch in this.FZJ.Children) + { + if (ch is TextBlock tb) + { + if (tb.Name == item.plcpointNo) + { + textBlock = tb; + break; + } + } + } + } }); if (textBlock != null) { @@ -1877,7 +1963,7 @@ namespace Khd.Core.Wpf.Form } catch { - points.RemoveAll(t => t.definefield3 == ex.Message); + } } } diff --git a/src/Khd.Core.Wpf/Khd.Core.Wpf.csproj b/src/Khd.Core.Wpf/Khd.Core.Wpf.csproj index eff829d..5d191f6 100644 --- a/src/Khd.Core.Wpf/Khd.Core.Wpf.csproj +++ b/src/Khd.Core.Wpf/Khd.Core.Wpf.csproj @@ -480,7 +480,7 @@ - PreserveNewest + Always diff --git a/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml b/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml index 2fdd91d..cc8e971 100644 --- a/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml +++ b/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml @@ -9,6 +9,24 @@ WindowStartupLocation="CenterScreen" Background="#333333" Height="450" Width="800"> + + + + + @@ -23,6 +41,14 @@ + + + + + + + + diff --git a/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml.cs b/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml.cs index 0aa5e7d..907291a 100644 --- a/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml.cs +++ b/src/Khd.Core.Wpf/TaskForm/SelectOutRawForm.xaml.cs @@ -1,9 +1,12 @@ using Khd.Core.EntityFramework; +using Masuit.Tools; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.Collections.Generic; using System.Linq; using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; namespace Khd.Core.Wpf.TaskForm { @@ -15,12 +18,16 @@ namespace Khd.Core.Wpf.TaskForm private readonly IHost _host; private readonly string _ud3; private readonly int _isOut; - public SelectOutRawForm(IHost host, string ud3, int isOut) + private List _endStationCodes = new List(); + public static string StationCode = ""; + public List _list; + public SelectOutRawForm(IHost host, string ud3, int isOut, List list = null) { InitializeComponent(); _host = host; _ud3 = ud3; _isOut = isOut; + this._list = list; } private void Button_Click_1(object sender, RoutedEventArgs e) @@ -36,10 +43,23 @@ namespace Khd.Core.Wpf.TaskForm } else { + if (_isOut == 3) + { + StationCode = this.endStationCode.SelectedItem.ToString(); + } using var scope = _host.Services.CreateScope(); var dbContext = scope.ServiceProvider.GetRequiredService(); var baseEquip = dbContext.BaseEquip.Where(t => t.objid == 10).First(); - baseEquip.endStationCode = this.endStationCode.SelectedItem.ToString(); + if (_isOut == 1) + { + _endStationCodes.Remove(this.endStationCode.SelectedItem.ToString()); + _endStationCodes.Insert(0, this.endStationCode.SelectedItem.ToString()); + baseEquip.endStationCode = _endStationCodes.ToJsonString(); + } + else + { + baseEquip.endStationCode = this.endStationCode.SelectedItem.ToString(); + } baseEquip.ud3 = _ud3; baseEquip.IsOut = _isOut; dbContext.BaseEquip.Update(baseEquip); @@ -50,25 +70,100 @@ namespace Khd.Core.Wpf.TaskForm private void Window_Loaded(object sender, RoutedEventArgs e) { - List endStationCodes = SystemData.BaseEquip.Where(t => t.equipType == 10).Select(t => t.agvPositionCode).ToList(); - using var scope = _host.Services.CreateScope(); - var dbContext = scope.ServiceProvider.GetRequiredService(); - var hasTask = dbContext.WcsTask.Where(t => (t.nextPointId == 11 && t.taskType == 30) || t.nextPointId == 10).Any(); - if (!hasTask) + if (_isOut == 3) { - var wmsRawOutstocks = dbContext.WmsRawOutstock - .Where(t => t.executeStatus == "0" || t.executeStatus == "1") - .Where(t => endStationCodes.Contains(t.endStationCode)) - .Where(t => t.outstockAmount > t.realOutstockAmount) - .ToList(); - List list = wmsRawOutstocks.Select(t => t.endStationCode).Distinct().ToList(); - this.endStationCode.ItemsSource = list; + if (_list == null || _list.Count() == 0) + { + return; + } + this.endStationCode.ItemsSource = _list; + foreach (var item in startStationLabel.Children) + { + if (item is CheckBox cb) + { + cb.Visibility = _list.Contains(cb.Content.ToString()) ? Visibility.Visible : Visibility.Collapsed; + } + } + if (_list.Count == 0) + { + StationCode = _list.First(); + return; + } } else { - MessageBox.Show("您有未完成的出库任务,请先完成后再进行此操作!"); - this.Close(); + List endStationCodes = SystemData.BaseEquip.Where(t => t.equipType == 10).Select(t => t.agvPositionCode).ToList(); + using var scope = _host.Services.CreateScope(); + var dbContext = scope.ServiceProvider.GetRequiredService(); + var hasTask = dbContext.WcsTask.Where(t => (t.nextPointId == 11 && t.taskType == 30) || t.nextPointId == 10).Any(); + if (!hasTask) + { + List list = endStationCodes; + if (_isOut == 1) + { + var wmsRawOutstocks = dbContext.WmsRawOutstock + .Where(t => t.executeStatus == "0" || t.executeStatus == "1") + .Where(t => endStationCodes.Contains(t.endStationCode)) + .Where(t => t.outstockAmount > t.realOutstockAmount) + .ToList(); + list = wmsRawOutstocks.Select(t => t.endStationCode).Distinct().ToList(); + } + else + { + var wmsRawInstocks = dbContext.WmsRawReturn + .Where(t => t.executeStatus == "0" || t.executeStatus == "1") + .Where(t => endStationCodes.Contains(t.endStationCode)) + .Where(t => t.planAmount > t.returnAmount) + .ToList(); + list = wmsRawInstocks.Select(t => t.endStationCode).Distinct().ToList(); + } + if (_isOut == 1) + { + foreach (var item in startStationLabel.Children) + { + if (item is CheckBox cb) + { + cb.Visibility = list.Contains(cb.Content.ToString()) ? Visibility.Visible : Visibility.Collapsed; + } + } + } + else + { + this.endStationCode.ItemsSource = list; + } + } + else + { + MessageBox.Show("您有未完成的出库任务,请先完成后再进行此操作!"); + this.Close(); + } } } + + private void CheckBox_Checked(object sender, RoutedEventArgs e) + { + if (sender is CheckBox cb) + { + if (cb.IsChecked.Value) + { + _endStationCodes.Add(cb.Content.ToString()); + } + else + { + _endStationCodes.Remove(cb.Content.ToString()); + } + } + this.endStationCode.ItemsSource = _endStationCodes.OrderBy(t => t); + this.endStationCode.Items.Refresh(); + if (_endStationCodes.Count >= 1) + { + this.endStationCode.SelectedIndex = 0; + } + } + + private void CheckBox_Unchecked(object sender, RoutedEventArgs e) + { + + } } } diff --git a/src/Khd.Core.Wpf/appsettings.json b/src/Khd.Core.Wpf/appsettings.json index 79c1d84..5d25a7c 100644 --- a/src/Khd.Core.Wpf/appsettings.json +++ b/src/Khd.Core.Wpf/appsettings.json @@ -55,16 +55,16 @@ "库存信息", "辅料库位", "库位状态", - "废料区管理", "人工叫料", "盘库任务", "扫描入库", "扫描退库", "扫描出库", "辅料移库", + //"废料区管理", //"一楼接驳位", - //"PLC信息", - //"Agv信息", + "PLC信息", + "Agv信息", //"权限控制" ] diff --git a/src/Khd.Core.Wpf/myConverter/AgvTaskStatusConverter.cs b/src/Khd.Core.Wpf/myConverter/AgvTaskStatusConverter.cs index 8e964dd..431b34a 100644 --- a/src/Khd.Core.Wpf/myConverter/AgvTaskStatusConverter.cs +++ b/src/Khd.Core.Wpf/myConverter/AgvTaskStatusConverter.cs @@ -20,12 +20,11 @@ namespace Khd.Core.Wpf.myConverter new Dictionary(){ {-1,"人工创建" }, {0,"未下发" }, - {1,"已下发" }, - {2,"任务开始" }, - {3,"已到起始地" }, - {4,"起始地继续任务" }, - {5,"已到目的地" }, - {6,"任务结束" }, + {1,"前往起始地" }, + {2,"入库中" }, + {3,"前往目的地" }, + {4,"出库中" }, + {5,"任务结束" }, } }, {