diff --git a/BPASmartClient.Business/Plugin/OrderProxy.cs b/BPASmartClient.Business/Plugin/OrderProxy.cs index 8fd409d5..d73a9db8 100644 --- a/BPASmartClient.Business/Plugin/OrderProxy.cs +++ b/BPASmartClient.Business/Plugin/OrderProxy.cs @@ -56,6 +56,9 @@ namespace BPASmartClient.Business new OrderStatusChangedEvent() { SortNum = mork.SortNum.ToString(), Status = ORDER_STATUS.COMPLETED_COOK, SubOrderId = mork.SuborderId, GoodName = mork.GoodsName }.Publish(); Thread.Sleep(5000); new OrderStatusChangedEvent() { SortNum = mork.SortNum.ToString(), Status = ORDER_STATUS.COMPLETED_TAKE, SubOrderId = mork.SuborderId, GoodName = mork.GoodsName }.Publish(); + string num = mork.SortNum.ToString().Substring(0, mork.SortNum.ToString().Length - 1); + if (int.TryParse(num, out int sort)) + ActionManage.GetInstance.Send("COMPLETED_TAKE_Notify", sort.ToString("0000")); Thread.Sleep(2000); } } @@ -114,7 +117,8 @@ namespace BPASmartClient.Business else if (message is StirFryPushMessage frybom) { IDevice device = deviceMgr.GetDevices().FirstOrDefault(x => x.DeviceId == 28); - new StirFryGoodsEvent() { + new StirFryGoodsEvent() + { DeviceId = device.DeviceId, stirFrymessage = frybom }.Publish(); diff --git a/BPASmartClient.CustomResource/Pages/Model/VoiceAPI.cs b/BPASmartClient.CustomResource/Pages/Model/VoiceAPI.cs index c6330f28..a7577d0d 100644 --- a/BPASmartClient.CustomResource/Pages/Model/VoiceAPI.cs +++ b/BPASmartClient.CustomResource/Pages/Model/VoiceAPI.cs @@ -40,7 +40,11 @@ namespace BPASmartClient.CustomResource private static ConcurrentQueue msg { get; set; } = new ConcurrentQueue(); - public static void Speak(string s) => msg.Enqueue(s); + public static void Speak(string s) + { + if (int.TryParse(s.Substring(0, s.Length - 1), out int num)) + msg.Enqueue(num.ToString("0000")); + } // 系统播放wav格式的文件 diff --git a/BPASmartClient.MorkS/Control_Morks.cs b/BPASmartClient.MorkS/Control_Morks.cs index 8f91aba8..cf810647 100644 --- a/BPASmartClient.MorkS/Control_Morks.cs +++ b/BPASmartClient.MorkS/Control_Morks.cs @@ -348,7 +348,14 @@ namespace BPASmartClient.MorkS if (loc >= 1 && loc <= 5) { if (mORKS.RBTakeNoodleTask.FirstOrDefault(p => p.SuborderId == order.MorkOrder.SuborderId) == null) - mORKS.RBTakeNoodleTask.Enqueue(new OrderLocInfo() { GoodName = order.MorkOrder.GoodsName, Loc = ushort.Parse(res.BatchingLoc), SuborderId = order.MorkOrder.SuborderId, BatchingId = res.BatchingId }); + mORKS.RBTakeNoodleTask.Enqueue(new OrderLocInfo() + { + GoodName = order.MorkOrder.GoodsName, + Loc = ushort.Parse(res.BatchingLoc), + SuborderId = order.MorkOrder.SuborderId, + SortNum = order.MorkOrder.SortNum, + BatchingId = res.BatchingId + }); } else if (loc >= 10 && loc <= 11) { @@ -365,6 +372,7 @@ namespace BPASmartClient.MorkS GoodName = order.MorkOrder.GoodsName, Loc = ushort.Parse(res.BatchingLoc), SuborderId = order.MorkOrder.SuborderId, + SortNum = order.MorkOrder.SortNum, RecipeNumber = (index >= 1 && index <= 10) ? (ushort)index : (ushort)0 }); } @@ -417,6 +425,7 @@ namespace BPASmartClient.MorkS { mORKS.TakeBowlId = orderLocInfo.SuborderId; mORKS.TakeBowName = orderLocInfo.GoodName; + mORKS.TakeBowSortNum = orderLocInfo.SortNum; TakeBowlControl(orderLocInfo.Loc); SetRecipeNumber(orderLocInfo.RecipeNumber); OrderChange(mORKS.TakeBowlId, ORDER_STATUS.COOKING); @@ -631,6 +640,7 @@ namespace BPASmartClient.MorkS if (!string.IsNullOrEmpty(mORKS.OutMealId)) OrderChange(mORKS.OutMealId, ORDER_STATUS.COMPLETED_TAKE); mORKS.OutMealId = mORKS.IngredientsCompleteId; mORKS.OutMealName = mORKS.IngredientsCompleteName; + mORKS.OutMealSortNum = mORKS.IngredientsCompleteSortNum; mORKS.IngredientsCompleteId = string.Empty; mORKS.CookNodelId[loc] = string.Empty; DeviceProcessLogShow($"{loc + 1} 号位置出餐控制,订单ID:{mORKS.OutMealId}"); @@ -651,8 +661,10 @@ namespace BPASmartClient.MorkS { mORKS.IngredientsCompleteId = mORKS.TakeBowlId; mORKS.IngredientsCompleteName = mORKS.TakeBowName; + mORKS.IngredientsCompleteSortNum = mORKS.TakeBowSortNum; mORKS.TakeBowlId = string.Empty; mORKS.TakeBowName = string.Empty; + mORKS.TakeBowSortNum = 0; DeviceProcessLogShow($"碗到位,允许到面,{mORKS.IngredientsCompleteId}"); mORKS.TakeBowlInterlock = false; } @@ -678,11 +690,12 @@ namespace BPASmartClient.MorkS OrderChange(mORKS.OutMealId, ORDER_STATUS.COMPLETED_TAKE); DeviceProcessLogShow($"订单【{mORKS.OutMealId}】取餐完成"); ResetCookComplete(); - DeviceProcessLogShow($"出餐订单名称【{mORKS.OutMealName}】"); - VoiceAPI.Speak(mORKS.OutMealName); + DeviceProcessLogShow($"出餐订单序号【{mORKS.OutMealSortNum}】"); + VoiceAPI.Speak(mORKS.OutMealSortNum.ToString()); mORKS.CookCompleteFlatBit = false; mORKS.OutMealId = string.Empty; mORKS.OutMealName = string.Empty; + mORKS.OutMealSortNum = 0; } //机器人取面完成信号检测 diff --git a/BPASmartClient.MorkS/GVL_MORKS.cs b/BPASmartClient.MorkS/GVL_MORKS.cs index 7270d656..4cebd61e 100644 --- a/BPASmartClient.MorkS/GVL_MORKS.cs +++ b/BPASmartClient.MorkS/GVL_MORKS.cs @@ -337,6 +337,11 @@ namespace BPASmartClient.MorkS /// 取碗订单名称 /// public string TakeBowName = string.Empty; + /// + /// 配料完成订单名称 + /// + public int TakeBowSortNum = 0; + /// /// 配料完成订单ID @@ -346,12 +351,18 @@ namespace BPASmartClient.MorkS /// 配料完成订单名称 /// public string IngredientsCompleteName = string.Empty; + /// + /// 配料完成订单名称 + /// + public int IngredientsCompleteSortNum = 0; + /// /// 煮面口对应的订单ID /// public string[] CookNodelId = new string[6] { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, }; + /// /// 出餐订单ID /// @@ -360,6 +371,11 @@ namespace BPASmartClient.MorkS /// 出餐订单名称 /// public string OutMealName = string.Empty; + /// + /// 出餐排序号 + /// + public int OutMealSortNum = 0; + /// /// 转台位置轮询 diff --git a/BPASmartClient.MorkS/OrderLocInfo.cs b/BPASmartClient.MorkS/OrderLocInfo.cs index ab815d02..942ee255 100644 --- a/BPASmartClient.MorkS/OrderLocInfo.cs +++ b/BPASmartClient.MorkS/OrderLocInfo.cs @@ -16,6 +16,7 @@ namespace BPASmartClient.MorkS public string GoodName { get; set; } public int RecipeId { get; set; } + public int SortNum { get; set; } public List Recipes { get; set; } diff --git a/BPASmartClient.MorkSUpgradedVer/Control_MorkSUpgradedVer.cs b/BPASmartClient.MorkSUpgradedVer/Control_MorkSUpgradedVer.cs index 06b64a60..09505370 100644 --- a/BPASmartClient.MorkSUpgradedVer/Control_MorkSUpgradedVer.cs +++ b/BPASmartClient.MorkSUpgradedVer/Control_MorkSUpgradedVer.cs @@ -416,6 +416,7 @@ namespace BPASmartClient.MorkSUpgradedVer { mORKS.TakeBowlId = orderLocInfo.SuborderId; mORKS.TakeBowName = orderLocInfo.GoodName; + mORKS.TakeBowSortNum = orderLocInfo.SortNum; TakeBowlControl(orderLocInfo.Loc); OrderChange(mORKS.TakeBowlId, ORDER_STATUS.COOKING); DeviceProcessLogShow($"订单【{mORKS.TakeBowlId}】执行取碗控制,位置:[{orderLocInfo.Loc}]"); @@ -621,6 +622,7 @@ namespace BPASmartClient.MorkSUpgradedVer mORKS.CookCompleteFlatBit = true; mORKS.OutMealId = mORKS.IngredientsCompleteId; mORKS.OutMealName = mORKS.IngredientsCompleteName; + mORKS.OutMealSortNum = mORKS.IngredientsCompleteSortNum; mORKS.IngredientsCompleteId = string.Empty; mORKS.CookNodelId[loc] = string.Empty; DeviceProcessLogShow($"{loc + 1} 号位置出餐控制,订单ID:{mORKS.OutMealId}"); @@ -640,6 +642,8 @@ namespace BPASmartClient.MorkSUpgradedVer { mORKS.IngredientsCompleteId = mORKS.TakeBowlId; mORKS.IngredientsCompleteName = mORKS.TakeBowName; + mORKS.IngredientsCompleteSortNum = mORKS.TakeBowSortNum; + mORKS.TakeBowSortNum = 0; mORKS.TakeBowlId = string.Empty; mORKS.TakeBowName = string.Empty; DeviceProcessLogShow($"碗到位,允许到面,{mORKS.IngredientsCompleteId}"); @@ -652,11 +656,12 @@ namespace BPASmartClient.MorkSUpgradedVer OrderChange(mORKS.OutMealId, ORDER_STATUS.COMPLETED_TAKE); DeviceProcessLogShow($"订单【{mORKS.OutMealId}】取餐完成"); WriteData("M10.1", false); - DeviceProcessLogShow($"出餐订单名称【{mORKS.OutMealName}】"); - VoiceAPI.Speak(mORKS.OutMealName); + DeviceProcessLogShow($"出餐订单序号【{mORKS.OutMealSortNum}】"); + VoiceAPI.Speak(mORKS.OutMealSortNum.ToString()); mORKS.CookCompleteFlatBit = false; mORKS.OutMealId = string.Empty; mORKS.OutMealName = string.Empty; + mORKS.OutMealSortNum = 0; } //机器人取面完成信号检测 diff --git a/BPASmartClient.MorkSUpgradedVer/GVL_MorkSUpgradedVer.cs b/BPASmartClient.MorkSUpgradedVer/GVL_MorkSUpgradedVer.cs index e923f434..7060f697 100644 --- a/BPASmartClient.MorkSUpgradedVer/GVL_MorkSUpgradedVer.cs +++ b/BPASmartClient.MorkSUpgradedVer/GVL_MorkSUpgradedVer.cs @@ -120,6 +120,11 @@ namespace BPASmartClient.MorkSUpgradedVer /// 取碗订单名称 /// public string TakeBowName { get; set; } = string.Empty; + /// + /// 配料完成订单名称 + /// + public int TakeBowSortNum { get; set; } = 0; + /// /// 允许倒面位置ID @@ -129,6 +134,11 @@ namespace BPASmartClient.MorkSUpgradedVer /// 配料完成订单名称 /// public string IngredientsCompleteName { get; set; } = string.Empty; + /// + /// 配料完成订单名称 + /// + public int IngredientsCompleteSortNum { get; set; } = 0; + /// /// 煮面口对应的订单ID @@ -143,6 +153,11 @@ namespace BPASmartClient.MorkSUpgradedVer /// 出餐订单名称 /// public string OutMealName { get; set; } = string.Empty; + /// + /// 出餐排序号 + /// + public int OutMealSortNum { get; set; } = 0; + /// /// 转台位置轮询 diff --git a/BPASmartClient.MorkSUpgradedVer/OrderLocInfo.cs b/BPASmartClient.MorkSUpgradedVer/OrderLocInfo.cs index 823c6985..df679c4f 100644 --- a/BPASmartClient.MorkSUpgradedVer/OrderLocInfo.cs +++ b/BPASmartClient.MorkSUpgradedVer/OrderLocInfo.cs @@ -14,6 +14,7 @@ namespace BPASmartClient.MorkSUpgradedVer public ushort RecipeNumber { get; set; } public int BatchingId { get; set; } public string GoodName { get; set; } + public int SortNum { get; set; } public int RecipeId { get; set; } diff --git a/BPASmartClient.ViewModel/OrderStatusViewModel.cs b/BPASmartClient.ViewModel/OrderStatusViewModel.cs index ab3b4d1a..fcdfee84 100644 --- a/BPASmartClient.ViewModel/OrderStatusViewModel.cs +++ b/BPASmartClient.ViewModel/OrderStatusViewModel.cs @@ -124,7 +124,6 @@ namespace BPASmartClient.ViewModel WaitTakeMeal.Insert(0, orderStatusLists.ElementAt(index)); orderStatusLists.RemoveAt(index); } - }); } diff --git a/BPASmartClient/App.config b/BPASmartClient/App.config index 618157de..219c69c8 100644 --- a/BPASmartClient/App.config +++ b/BPASmartClient/App.config @@ -4,7 +4,7 @@ - + diff --git a/BPASmartClient/App.xaml.cs b/BPASmartClient/App.xaml.cs index 4ef458a1..48fb5fc7 100644 --- a/BPASmartClient/App.xaml.cs +++ b/BPASmartClient/App.xaml.cs @@ -35,6 +35,11 @@ namespace BPASmartClient mainView.Show(); SplitScreenDisplay(); NoCompleteOrderInit(); + ActionManage.GetInstance.Register(new Action(par => + { + if (par != null) + VoiceAPI.Speak(par.ToString()); + }), "COMPLETED_TAKE_Notify"); }