@@ -8,8 +8,8 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.ApolloClient" Version="1.0.12" /> | <PackageReference Include="BPA.ApolloClient" Version="1.0.12" /> | ||||
<PackageReference Include="BPA.Helper" Version="1.0.28" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Helper" Version="1.0.33" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> | <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" /> | ||||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> | <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" /> | ||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0" /> | <PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0" /> | ||||
@@ -6,6 +6,7 @@ using BPASmartClient.Http; | |||||
using BPASmartClient.Message; | using BPASmartClient.Message; | ||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.Model.小炒机; | using BPASmartClient.Model.小炒机; | ||||
using BPASmartClient.Model.调酒机; | |||||
using BPASmartClient.Peripheral; | using BPASmartClient.Peripheral; | ||||
using Newtonsoft.Json; | using Newtonsoft.Json; | ||||
using System; | using System; | ||||
@@ -95,7 +96,7 @@ namespace BPASmartClient.Business | |||||
#region 获取物料数据 | #region 获取物料数据 | ||||
string result = string.Empty; | string result = string.Empty; | ||||
for (int i = 0; i < 3; i++) | |||||
for (int i = 0; i < 4; i++) | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
@@ -138,6 +139,15 @@ namespace BPASmartClient.Business | |||||
}.Publish(); | }.Publish(); | ||||
MessageLog.GetInstance.Show("接收到【 API 】获取的小炒流程信息"); | MessageLog.GetInstance.Show("接收到【 API 】获取的小炒流程信息"); | ||||
} | } | ||||
else if (PushType == 3) | |||||
{ | |||||
new MorkMWGoodsEvent() | |||||
{ | |||||
DeviceId = device.DeviceId, | |||||
morkMWPushMessage = JsonConvert.DeserializeObject<MORKMWPushMessage>(result) | |||||
}.Publish(); | |||||
MessageLog.GetInstance.Show("接收到【API】获取的调酒机配方信息"); | |||||
} | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
@@ -410,7 +410,7 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Helper" Version="1.0.28" /> | <PackageReference Include="BPA.Helper" Version="1.0.28" /> | ||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="MahApps.Metro.IconPacks.FontAwesome" Version="4.11.0" /> | <PackageReference Include="MahApps.Metro.IconPacks.FontAwesome" Version="4.11.0" /> | ||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | <PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -7,7 +7,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -8,7 +8,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | <PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | ||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> | <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -17,7 +17,7 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | <PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,4 +1,5 @@ | |||||
using System; | |||||
using BPA.Models; | |||||
using System; | |||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
@@ -0,0 +1,15 @@ | |||||
using BPA.Message; | |||||
using BPA.Models; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.Model.调酒机 | |||||
{ | |||||
public class MorkMWGoodsEvent : BaseEvent | |||||
{ | |||||
public MORKMWPushMessage morkMWPushMessage = new MORKMWPushMessage(); | |||||
} | |||||
} |
@@ -10,7 +10,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -109,7 +109,7 @@ namespace BPASmartClient.MorkF | |||||
/// <summary> | /// <summary> | ||||
/// 小炒菜单集合 | /// 小炒菜单集合 | ||||
/// </summary> | |||||
/// </summary>f | |||||
public static List<StirFryGoods> LocalstirFryGoods = new List<StirFryGoods>(); | public static List<StirFryGoods> LocalstirFryGoods = new List<StirFryGoods>(); | ||||
/// <summary> | /// <summary> | ||||
@@ -7,8 +7,8 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Message" Version="1.0.79" /> | |||||
<PackageReference Include="BPA.Models" Version="1.0.34" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="BPA.Models" Version="1.0.38" /> | |||||
<PackageReference Include="CommunityToolkit.Common" Version="8.0.0" /> | <PackageReference Include="CommunityToolkit.Common" Version="8.0.0" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,16 +1,23 @@ | |||||
using BPA.Helper; | using BPA.Helper; | ||||
using BPA.Message.Enum; | using BPA.Message.Enum; | ||||
using BPA.Models; | |||||
using BPASmartClient.Device; | using BPASmartClient.Device; | ||||
using BPASmartClient.EventBus; | using BPASmartClient.EventBus; | ||||
using BPASmartClient.Modbus; | using BPASmartClient.Modbus; | ||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.Model.PLC; | using BPASmartClient.Model.PLC; | ||||
using BPASmartClient.Model.订单; | using BPASmartClient.Model.订单; | ||||
using BPASmartClient.Model.调酒机; | |||||
using BPASmartClient.MorkMW.Model; | using BPASmartClient.MorkMW.Model; | ||||
using Newtonsoft.Json; | |||||
using Org.BouncyCastle.Bcpg.OpenPgp; | using Org.BouncyCastle.Bcpg.OpenPgp; | ||||
using System; | using System; | ||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Net.Http.Json; | |||||
using System.Threading; | using System.Threading; | ||||
using System.Windows.Documents; | |||||
using static BPASmartClient.EventBus.EventBus; | using static BPASmartClient.EventBus.EventBus; | ||||
namespace BPASmartClient.MorkMW | namespace BPASmartClient.MorkMW | ||||
@@ -24,6 +31,23 @@ namespace BPASmartClient.MorkMW | |||||
{ | { | ||||
ConnectKlpRobot("192.168.0.100", 8001); | ConnectKlpRobot("192.168.0.100", 8001); | ||||
ServerInit(); | |||||
DataParse(); | |||||
} | |||||
private void ServerInit() | |||||
{ | |||||
//配方数据信息 | |||||
EventBus.EventBus.GetInstance().Subscribe<MorkMWGoodsEvent>(DeviceId, delegate (IEvent @event, EventCallBackHandle callBack) | |||||
{ | |||||
if (@event == null) return; | |||||
if (@event is MorkMWGoodsEvent recipe) | |||||
{ | |||||
listMorkMWGoods= recipe.morkMWPushMessage.MorkMWGoods; | |||||
DeviceProcessLogShow($"接收到调酒机【{listMorkMWGoods.Count}】个商品配方数据"); | |||||
} | |||||
}); | |||||
} | } | ||||
public override void MainTask() | public override void MainTask() | ||||
@@ -38,44 +62,88 @@ namespace BPASmartClient.MorkMW | |||||
/// </summary> | /// </summary> | ||||
public void ToGetWink() | public void ToGetWink() | ||||
{ | { | ||||
if (morkMW.RobotIdle && orderLocInfos.Count > 0 && !morkMW.TaskLock&&!morkMW.PourWinkComplete&& morkMW.CupSignal) | |||||
if (!GVL_MorkMW.AllowLocalSimOrder) | |||||
{ | { | ||||
DeviceProcessLogShow("订单开始制作"); | |||||
morkMW.TaskLock = true; | |||||
if (orderLocInfos.TryDequeue(out OrderLocInfo res)) | |||||
if (morkMW.RobotIdle && orderLocInfos.Count > 0 && !morkMW.TaskLock && !morkMW.PourWinkComplete && morkMW.CupSignal) | |||||
{ | { | ||||
foreach (var item in res.mixWink) | |||||
DeviceProcessLogShow("订单开始制作"); | |||||
morkMW.TaskLock = true; | |||||
if (orderLocInfos.TryDequeue(out OrderLocInfo res)) | |||||
{ | { | ||||
switch (item.Loc) | |||||
foreach (var item in res.mixWink) | |||||
{ | { | ||||
// case 7: ToMixWink(); break; | |||||
case 1: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 2: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 3: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 4: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 5: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 6: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
switch (item.Loc) | |||||
{ | |||||
// case 7: ToMixWink(); break; | |||||
case 1: ToSpecifiedLocTakeWink(item.Loc, item.Qty); break; | |||||
case 2: ToSpecifiedLocTakeWink(item.Loc, item.Qty); break; | |||||
case 3: ToSpecifiedLocTakeWink(item.Loc, item.Qty); break; | |||||
case 4: ToSpecifiedLocTakeWink(item.Loc, item.Qty); break; | |||||
case 5: ToSpecifiedLocTakeWink(item.Loc, item.Qty); break; | |||||
case 6: ToSpecifiedLocTakeWink(item.Loc, item.Qty); break; | |||||
} | |||||
switch (item.Loc) | |||||
{ | |||||
//case 7: while (!morkMW.MixWinkComplte) { Thread.Sleep(5); } break; | |||||
case 1: while (!morkMW.TakeWinkOneComplete) { Thread.Sleep(5); } break; | |||||
case 2: while (!morkMW.TakeWinkTwoComplete) { Thread.Sleep(5); } break; | |||||
case 3: while (!morkMW.TakeWinkThreeComplete) { Thread.Sleep(5); } break; | |||||
case 4: while (!morkMW.TakeWinkFourComplete) { Thread.Sleep(5); } break; | |||||
case 5: while (!morkMW.TakeWinkFiveComplete) { Thread.Sleep(5); } break; | |||||
case 6: while (!morkMW.TakeWinkSixComplete) { Thread.Sleep(5); } break; | |||||
} | |||||
} | |||||
switch (item.Loc) | |||||
{ | |||||
//case 7: while (!morkMW.MixWinkComplte) { Thread.Sleep(5); } break; | |||||
case 1: while (!morkMW.TakeWinkOneComplete) { Thread.Sleep(5); } break; | |||||
case 2: while (!morkMW.TakeWinkTwoComplete) { Thread.Sleep(5); } break; | |||||
case 3: while (!morkMW.TakeWinkThreeComplete) { Thread.Sleep(5); } break; | |||||
case 4: while (!morkMW.TakeWinkFourComplete) { Thread.Sleep(5); } break; | |||||
case 5: while (!morkMW.TakeWinkFiveComplete) { Thread.Sleep(5); } break; | |||||
case 6: while (!morkMW.TakeWinkSixComplete) { Thread.Sleep(5); } break; | |||||
} | } | ||||
morkMW.AllowMixWink = true;//接酒完成,允许调酒 | |||||
// morkMW.AllowPourWink = true;//调酒完成,允许倒酒 | |||||
} | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
if (morkMW.RobotIdle && orderLocInfos.Count > 0 && !morkMW.TaskLock && !morkMW.PourWinkComplete && morkMW.CupSignal) | |||||
{ | |||||
DeviceProcessLogShow("订单开始制作"); | |||||
morkMW.TaskLock = true; | |||||
if (simOrderLocInfos.TryDequeue(out SimOrderLocInfo res)) | |||||
{ | |||||
foreach (var item in res.mixWink) | |||||
{ | |||||
switch (item.Loc) | |||||
{ | |||||
// case 7: ToMixWink(); break; | |||||
case 1: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 2: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 3: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 4: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 5: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
case 6: ToSpecifiedLocTakeWink(item.Loc, item.Time); break; | |||||
} | |||||
switch (item.Loc) | |||||
{ | |||||
//case 7: while (!morkMW.MixWinkComplte) { Thread.Sleep(5); } break; | |||||
case 1: while (!morkMW.TakeWinkOneComplete) { Thread.Sleep(5); } break; | |||||
case 2: while (!morkMW.TakeWinkTwoComplete) { Thread.Sleep(5); } break; | |||||
case 3: while (!morkMW.TakeWinkThreeComplete) { Thread.Sleep(5); } break; | |||||
case 4: while (!morkMW.TakeWinkFourComplete) { Thread.Sleep(5); } break; | |||||
case 5: while (!morkMW.TakeWinkFiveComplete) { Thread.Sleep(5); } break; | |||||
case 6: while (!morkMW.TakeWinkSixComplete) { Thread.Sleep(5); } break; | |||||
} | |||||
} | |||||
DeviceProcessLogShow($"所有位置接酒完成"); | |||||
morkMW.AllowMixWink = true;//接酒完成,允许调酒 | |||||
// morkMW.AllowPourWink = true;//调酒完成,允许倒酒 | |||||
} | } | ||||
morkMW.AllowMixWink = true;//接酒完成,允许调酒 | |||||
// morkMW.AllowPourWink = true;//调酒完成,允许倒酒 | |||||
} | } | ||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -102,35 +170,35 @@ namespace BPASmartClient.MorkMW | |||||
//发送接酒信号 | //发送接酒信号 | ||||
switch (loc) | switch (loc) | ||||
{ | { | ||||
case 1: modbus.WriteSingleRegister(0000, 1); break; | |||||
case 2: modbus.WriteSingleRegister(0000, 2); break; | |||||
case 3: modbus.WriteSingleRegister(0000, 3); break; | |||||
case 4: modbus.WriteSingleRegister(0000, 4); break; | |||||
case 5: modbus.WriteSingleRegister(0000, 5); break; | |||||
case 6: modbus.WriteSingleRegister(0000, 6); break; | |||||
case 1: modbus.WriteSingleRegister(0000, 1);DeviceProcessLogShow($"开始接【{loc}】号位置原酒"); break; | |||||
case 2: modbus.WriteSingleRegister(0000, 2);DeviceProcessLogShow($"开始接【{loc}】号位置原酒"); break; | |||||
case 3: modbus.WriteSingleRegister(0000, 3);DeviceProcessLogShow($"开始接【{loc}】号位置原酒"); break; | |||||
case 4: modbus.WriteSingleRegister(0000, 4);DeviceProcessLogShow($"开始接【{loc}】号位置原酒"); break; | |||||
case 5: modbus.WriteSingleRegister(0000, 5);DeviceProcessLogShow($"开始接【{loc}】号位置原酒"); break; | |||||
case 6: modbus.WriteSingleRegister(0000, 6); DeviceProcessLogShow($"开始接【{loc}】号位置原酒"); break; | |||||
} | } | ||||
//等待机器人到达接酒位置 | //等待机器人到达接酒位置 | ||||
switch (loc) | switch (loc) | ||||
{ | { | ||||
case 1: while (!morkMW.ArriveWinkOneLoc) { Thread.Sleep(5); } break; | |||||
case 2: while (!morkMW.ArriveWinkTwoLoc) { Thread.Sleep(5); } break; | |||||
case 3: while (!morkMW.ArriveWinkThreeLoc) { Thread.Sleep(5); } break; | |||||
case 4: while (!morkMW.ArriveWinkFourLoc) { Thread.Sleep(5); } break; | |||||
case 5: while (!morkMW.ArriveWinkFiveLoc) { Thread.Sleep(5); } break; | |||||
case 6: while (!morkMW.ArriveWinkSixLoc) { Thread.Sleep(5); } break; | |||||
case 1: while (!morkMW.ArriveWinkOneLoc) { Thread.Sleep(5); } DeviceProcessLogShow($"机械臂到达【{loc}】号接酒位置"); break; | |||||
case 2: while (!morkMW.ArriveWinkTwoLoc) { Thread.Sleep(5); } DeviceProcessLogShow($"机械臂到达【{loc}】号接酒位置"); break; | |||||
case 3: while (!morkMW.ArriveWinkThreeLoc) { Thread.Sleep(5); } DeviceProcessLogShow($"机械臂到达【{loc}】号接酒位置"); break; | |||||
case 4: while (!morkMW.ArriveWinkFourLoc) { Thread.Sleep(5); } DeviceProcessLogShow($"机械臂到达【{loc}】号接酒位置"); break; | |||||
case 5: while (!morkMW.ArriveWinkFiveLoc) { Thread.Sleep(5); } DeviceProcessLogShow($"机械臂到达【{loc}】号接酒位置"); break; | |||||
case 6: while (!morkMW.ArriveWinkSixLoc) { Thread.Sleep(5); } DeviceProcessLogShow($"机械臂到达【{loc}】号接酒位置"); break; | |||||
} | } | ||||
Thread.Sleep(time * 1000);//接酒等待时间 | Thread.Sleep(time * 1000);//接酒等待时间 | ||||
//发送接酒完成信号 | //发送接酒完成信号 | ||||
switch (loc) | switch (loc) | ||||
{ | { | ||||
case 1: modbus.WriteSingleCoil(4596, true); break; | |||||
case 2: modbus.WriteSingleCoil(4597, true); break; | |||||
case 3: modbus.WriteSingleCoil(4598, true); break; | |||||
case 4: modbus.WriteSingleCoil(4599, true); break; | |||||
case 5: modbus.WriteSingleCoil(4600, true); break; | |||||
case 6: modbus.WriteSingleCoil(4601, true); break; | |||||
case 1: modbus.WriteSingleCoil(4596, true);DeviceProcessLogShow($"【{loc}】号位置接酒完成"); break; | |||||
case 2: modbus.WriteSingleCoil(4597, true);DeviceProcessLogShow($"【{loc}】号位置接酒完成"); break; | |||||
case 3: modbus.WriteSingleCoil(4598, true);DeviceProcessLogShow($"【{loc}】号位置接酒完成"); break; | |||||
case 4: modbus.WriteSingleCoil(4599, true);DeviceProcessLogShow($"【{loc}】号位置接酒完成"); break; | |||||
case 5: modbus.WriteSingleCoil(4600, true);DeviceProcessLogShow($"【{loc}】号位置接酒完成"); break; | |||||
case 6: modbus.WriteSingleCoil(4601, true); DeviceProcessLogShow($"【{loc}】号位置接酒完成"); break; | |||||
} | } | ||||
@@ -236,9 +304,10 @@ namespace BPASmartClient.MorkMW | |||||
{ | { | ||||
if (order.mixWink.Count > 0) | if (order.mixWink.Count > 0) | ||||
{ | { | ||||
string guid = Guid.NewGuid().ToString(); | string guid = Guid.NewGuid().ToString(); | ||||
orderLocInfos.Enqueue(new OrderLocInfo { mixWink = order.mixWink, SuborderId = guid }); | |||||
DeviceProcessLogShow("收到订单"); | |||||
simOrderLocInfos.Enqueue(new SimOrderLocInfo { mixWink = order.mixWink, SuborderId = guid }); | |||||
DeviceProcessLogShow("收到模拟订单"); | |||||
} | } | ||||
} | } | ||||
@@ -278,12 +347,19 @@ namespace BPASmartClient.MorkMW | |||||
if (@event != null && @event is DoOrderEvent order) | if (@event != null && @event is DoOrderEvent order) | ||||
{ | { | ||||
var res= listMorkMWGoods.FirstOrDefault(p => p.GoodsKey == order.MorkOrder.GoodsKey); | |||||
if (res != null) | |||||
{ | |||||
string guid = Guid.NewGuid().ToString(); | |||||
orderLocInfos.Enqueue(new OrderLocInfo { mixWink = res.MorkMWBoms, SuborderId = order.MorkOrder.SuborderId }); | |||||
DeviceProcessLogShow($"收到小程序订单,订单号【{order.MorkOrder.SuborderId}】"); | |||||
} | |||||
} | } | ||||
}); | }); | ||||
} | } | ||||
#region 调试代码 | |||||
/// <summary> | /// <summary> | ||||
/// 连接卡乐普机器人 | /// 连接卡乐普机器人 | ||||
/// </summary> | /// </summary> | ||||
@@ -303,11 +379,21 @@ namespace BPASmartClient.MorkMW | |||||
modbus.ModbusTcpConnect(ip, port); | modbus.ModbusTcpConnect(ip, port); | ||||
} | } | ||||
#endregion | |||||
/// <summary> | /// <summary> | ||||
/// 调酒订单队列 | |||||
/// 调酒小程序订单队列 | |||||
/// </summary> | /// </summary> | ||||
public ConcurrentQueue<OrderLocInfo> orderLocInfos = new ConcurrentQueue<OrderLocInfo>(); | public ConcurrentQueue<OrderLocInfo> orderLocInfos = new ConcurrentQueue<OrderLocInfo>(); | ||||
/// <summary> | |||||
/// 调酒模拟订单队列 | |||||
/// </summary> | |||||
public ConcurrentQueue<SimOrderLocInfo> simOrderLocInfos = new ConcurrentQueue<SimOrderLocInfo>(); | |||||
/// <summary> | |||||
/// 调酒机配方集合 | |||||
/// </summary> | |||||
public List<MORKMWGoods> listMorkMWGoods = new List<MORKMWGoods>(); | |||||
} | } | ||||
} | } |
@@ -71,5 +71,7 @@ namespace BPASmartClient.MorkMW | |||||
/// </summary> | /// </summary> | ||||
public bool PourWinkComplete { get; set; } | public bool PourWinkComplete { get; set; } | ||||
#endregion | #endregion | ||||
public static bool AllowLocalSimOrder { get; set; } | |||||
} | } | ||||
} | } |
@@ -1,4 +1,5 @@ | |||||
using BPASmartClient.Model; | |||||
using BPA.Models; | |||||
using BPASmartClient.Model; | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Linq; | using System.Linq; | ||||
@@ -13,7 +14,7 @@ namespace BPASmartClient.MorkMW.Model | |||||
/// <summary> | /// <summary> | ||||
/// 单个订单的制作流程 | /// 单个订单的制作流程 | ||||
/// </summary> | /// </summary> | ||||
public List<MixWinkModel> mixWink=new List<MixWinkModel>(); | |||||
public List<MORKMWBoms> mixWink=new List<MORKMWBoms>(); | |||||
public string GoodName { get; set; } | public string GoodName { get; set; } | ||||
} | } | ||||
} | } |
@@ -0,0 +1,19 @@ | |||||
using BPASmartClient.Model; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.MorkMW.Model | |||||
{ | |||||
public class SimOrderLocInfo | |||||
{ | |||||
public string SuborderId { get; set; } | |||||
/// <summary> | |||||
/// 单个订单的制作流程 | |||||
/// </summary> | |||||
public List<MixWinkModel> mixWink = new List<MixWinkModel>(); | |||||
public string GoodName { get; set; } | |||||
} | |||||
} |
@@ -68,6 +68,7 @@ | |||||
<Button Content="添加原料" Width="150" Command="{Binding AddMaterial}" Margin="10,10"></Button > | <Button Content="添加原料" Width="150" Command="{Binding AddMaterial}" Margin="10,10"></Button > | ||||
<Button Content="删除原料" Width="150" Command="{Binding ClearMaterial}"></Button > | <Button Content="删除原料" Width="150" Command="{Binding ClearMaterial}"></Button > | ||||
<Button Content="本地订单下发" Width="150" Margin="10,10" Command="{Binding SimOrderSetDown}" CommandParameter="{Binding SimRecipe}"/> | <Button Content="本地订单下发" Width="150" Margin="10,10" Command="{Binding SimOrderSetDown}" CommandParameter="{Binding SimRecipe}"/> | ||||
<CheckBox Content="运行本地模拟程序" Command="{Binding StartLocalSim}" IsChecked="{Binding IsSimOrder}"/> | |||||
</StackPanel> | </StackPanel> | ||||
@@ -24,5 +24,7 @@ namespace BPASmartClient.MorkMW.View | |||||
{ | { | ||||
InitializeComponent(); | InitializeComponent(); | ||||
} | } | ||||
} | } | ||||
} | } |
@@ -41,6 +41,11 @@ namespace BPASmartClient.MorkMW.ViewModel | |||||
if(SimRecipe.recipe.Count>1) | if(SimRecipe.recipe.Count>1) | ||||
SimRecipe.recipe.RemoveAt(SimRecipe.recipe.Count - 2); | SimRecipe.recipe.RemoveAt(SimRecipe.recipe.Count - 2); | ||||
}); | }); | ||||
StartLocalSim = new RelayCommand(() => { | |||||
GVL_MorkMW.AllowLocalSimOrder = IsSimOrder; | |||||
}); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -51,8 +56,14 @@ namespace BPASmartClient.MorkMW.ViewModel | |||||
public RelayCommand AddMaterial { get; set; } | public RelayCommand AddMaterial { get; set; } | ||||
public RelayCommand ClearMaterial { get; set; } | public RelayCommand ClearMaterial { get; set; } | ||||
public SimRecipeModel SimRecipe { get; set; } | |||||
public List<int> location { get; set; } = new List<int>() { 1, 2, 3, 4, 5, 6, 7 }; | |||||
public RelayCommand StartLocalSim { get; set; } | |||||
public bool IsSimOrder { get; set; } | |||||
public SimRecipeModel SimRecipe { get; set; } | |||||
public List<int> location { get; set; } = new List<int>() { 1, 2, 3, 4, 5, 6 }; | |||||
} | } | ||||
} | } |
@@ -9,8 +9,8 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Models" Version="1.0.37" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="BPA.Models" Version="1.0.38" /> | |||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | <PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | ||||
<PackageReference Include="System.Speech" Version="6.0.0" /> | <PackageReference Include="System.Speech" Version="6.0.0" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -9,7 +9,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Models" Version="1.0.37" /> | |||||
<PackageReference Include="BPA.Models" Version="1.0.38" /> | |||||
<PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | <PackageReference Include="Microsoft.Toolkit.Mvvm" Version="7.1.2" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -15,7 +15,7 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Message" Version="1.0.79" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1264.42" /> | <PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1264.42" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -22,7 +22,7 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<PackageReference Include="BPA.Helper" Version="1.0.28" /> | <PackageReference Include="BPA.Helper" Version="1.0.28" /> | ||||
<PackageReference Include="BPA.Message" Version="1.0.82" /> | |||||
<PackageReference Include="BPA.Message" Version="1.0.84" /> | |||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> | <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> | ||||
</ItemGroup> | </ItemGroup> | ||||