diff --git a/BPASmartClient.ScreenALL/App.config b/BPASmartClient.ScreenALL/App.config
new file mode 100644
index 00000000..04466302
--- /dev/null
+++ b/BPASmartClient.ScreenALL/App.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenALL/App.xaml b/BPASmartClient.ScreenALL/App.xaml
new file mode 100644
index 00000000..ac841497
--- /dev/null
+++ b/BPASmartClient.ScreenALL/App.xaml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/BPASmartClient.ScreenALL/App.xaml.cs b/BPASmartClient.ScreenALL/App.xaml.cs
new file mode 100644
index 00000000..09a4aadc
--- /dev/null
+++ b/BPASmartClient.ScreenALL/App.xaml.cs
@@ -0,0 +1,27 @@
+using BPASmartClient.ScreenLib;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace BPASmartClient.ScreenALL
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ base.OnStartup(e);
+ AppMain appMain = new AppMain(MainWindow, this.GetType());
+ }
+ protected override void OnExit(ExitEventArgs e)
+ {
+ base.OnExit(e);
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenALL/AssemblyInfo.cs b/BPASmartClient.ScreenALL/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/BPASmartClient.ScreenALL/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/BPASmartClient.ScreenALL/BPASmartClient.ScreenALL.csproj b/BPASmartClient.ScreenALL/BPASmartClient.ScreenALL.csproj
new file mode 100644
index 00000000..e66c9b2f
--- /dev/null
+++ b/BPASmartClient.ScreenALL/BPASmartClient.ScreenALL.csproj
@@ -0,0 +1,24 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ 总监控大屏
+ hbl.ico
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
diff --git a/BPASmartClient.ScreenALL/hbl.ico b/BPASmartClient.ScreenALL/hbl.ico
new file mode 100644
index 00000000..cf89051a
Binary files /dev/null and b/BPASmartClient.ScreenALL/hbl.ico differ
diff --git a/BPASmartClient.ScreenLib/AppMain.cs b/BPASmartClient.ScreenLib/AppMain.cs
new file mode 100644
index 00000000..d49e53f5
--- /dev/null
+++ b/BPASmartClient.ScreenLib/AppMain.cs
@@ -0,0 +1,56 @@
+using BPA.CustomResource.UserControls;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Forms;
+
+namespace BPASmartClient.ScreenLib
+{
+ public partial class AppMain
+ {
+ public AppMain(Window window, Type type)
+ {
+ AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
+ FSystemHelper.GetInstance.CreateDesktopShortcut();
+ WindowLargeScreen windowLarge = new WindowLargeScreen();
+ #region 设置显示页面与标题
+ string TitleName = $"{type.Assembly.ManifestModule.Name.Replace(".dll", "")}";
+ string name= type.FullName.Split('.')[2];
+ string sbmc=string.Empty;
+ switch (type.FullName)
+ {
+ case "BPASmartClient.ScreenALL.App":
+ windowLarge.Init(TitleName, new ScreenALLControl()); windowLarge.Show();
+ break;
+ case "BPASmartClient.ScreenMaxWok.App":
+ windowLarge.Init(TitleName, new ScreenMaxWokControl()); windowLarge.Show();
+ break;
+ case "BPASmartClient.ScreenMinWok.App":
+ windowLarge.Init(TitleName, new ScreenMinWokControl()); windowLarge.Show();
+ break;
+ case "BPASmartClient.ScreenMorks.App":
+ windowLarge.Init(TitleName, new ScreenMorksControl()); windowLarge.Show();
+ break;
+ case "BPASmartClient.ScreenSplitMeals.App":
+ ScreenSplitMealsControl1 ScreenSplit=new ScreenSplitMealsControl1();
+ windowLarge.Init("一号" + TitleName, ScreenSplit);
+ windowLarge.Show();
+ ScreenSplit.Start(TitleName);
+ break;
+ }
+ #endregion
+ window = windowLarge;
+ Main main = new Main();
+ main.Start();
+ }
+
+ private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
+ {
+
+ }
+
+ }
+}
diff --git a/BPASmartClient.ScreenLib/AssemblyInfo.cs b/BPASmartClient.ScreenLib/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/BPASmartClient.ScreenLib/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/BPASmartClient.ScreenLib/BPASmartClient.ScreenLib.csproj b/BPASmartClient.ScreenLib/BPASmartClient.ScreenLib.csproj
new file mode 100644
index 00000000..1a104f1b
--- /dev/null
+++ b/BPASmartClient.ScreenLib/BPASmartClient.ScreenLib.csproj
@@ -0,0 +1,26 @@
+
+
+
+ net6.0-windows
+ enable
+ true
+
+
+
+
+ tlbimp
+ 0
+ 1
+ f935dc20-1cf0-11d0-adb9-00c04fd58a0b
+ 0
+ false
+ true
+ true
+
+
+
+
+
+
+
+
diff --git a/BPASmartClient.ScreenLib/Helper/FSystemHelper.cs b/BPASmartClient.ScreenLib/Helper/FSystemHelper.cs
new file mode 100644
index 00000000..79b3b61e
--- /dev/null
+++ b/BPASmartClient.ScreenLib/Helper/FSystemHelper.cs
@@ -0,0 +1,238 @@
+using BPA.Helper;
+using IWshRuntimeLibrary;
+using Microsoft.Win32;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// 系统操作类
+ ///
+ public class FSystemHelper
+ {
+ private volatile static FSystemHelper _Instance;
+ public static FSystemHelper GetInstance => _Instance ?? (_Instance = new FSystemHelper());
+ private FSystemHelper() { }
+
+ ///
+ /// 获取当前应用程序名称,包括后缀名
+ ///
+ public string GetApplicationName => $"{AppDomain.CurrentDomain.FriendlyName}.exe";
+
+ ///
+ /// 获取当前应用程序完整路径
+ ///
+ public string GetApplicationPath => $"{AppDomain.CurrentDomain.BaseDirectory}{GetApplicationName}";
+
+ ///
+ /// 创建桌面快捷方式
+ ///
+ /// 成功或失败
+ public bool CreateDesktopShortcut()
+ {
+ //1、在COM对象中找到 Windows Script Host Object Model
+ //2、添加引用 using IWshRuntimeLibrary;
+ string deskTop = string.Empty;
+ try
+ {
+ deskTop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\";
+ if (System.IO.File.Exists(deskTop + GetApplicationName + ".lnk")) //
+ {
+ return true;
+ //System.IO.File.Delete(deskTop + FileName + ".lnk");//删除原来的桌面快捷键方式
+ }
+ WshShell shell = new WshShell();
+ //快捷键方式创建的位置、名称
+ IWshShortcut shortcut = shell.CreateShortcut(deskTop + GetApplicationName + ".lnk") as IWshShortcut;
+ shortcut.TargetPath = GetApplicationPath; //目标文件
+ //该属性指定应用程序的工作目录,当用户没有指定一个具体的目录时,快捷方式的目标应用程序将使用该属性所指定的目录来装载或保存文件。
+ shortcut.WorkingDirectory = System.Environment.CurrentDirectory;
+ shortcut.WindowStyle = 1; //目标应用程序的窗口状态分为普通、最大化、最小化【1,3,7】
+ shortcut.Description = GetApplicationName; //描述
+ //shortcut.IconLocation = exePath + "\\logo.ico"; //快捷方式图标
+ shortcut.Arguments = "";
+ //shortcut.Hotkey = "CTRL+ALT+F11"; // 快捷键
+ shortcut.Save(); //必须调用保存快捷才成创建成功
+ return true;
+ }
+ catch (Exception ex)
+ {
+ MessageLog.GetInstance.ShowEx(ex.ToString());
+ return false;
+ }
+ }
+
+ ///
+ /// 设置开机自启动
+ ///
+ /// true:开机启动,false:不开机自启
+ public void AutoStart(bool isAuto = true)
+ {
+ if (isAuto == true)
+ {
+ RegistryKey R_local = Registry.CurrentUser;
+ RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
+ R_run.SetValue(GetApplicationName, GetApplicationPath);
+ R_run.Close();
+ R_local.Close();
+ }
+ else
+ {
+ RegistryKey R_local = Registry.CurrentUser;
+ RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
+ R_run.DeleteValue(GetApplicationName, false);
+ R_run.Close();
+ R_local.Close();
+ }
+ }
+
+ ///
+ /// 判断是否是自动启动
+ ///
+ ///
+ public bool IsAutoStart()
+ {
+ RegistryKey R_local = Registry.CurrentUser;
+ RegistryKey R_run = R_local.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
+ bool res = R_run.GetValueNames().Contains(GetApplicationName);
+ R_run.Close();
+ R_local.Close();
+ return res;
+ }
+
+ #region U盘,串口插拔信息
+ private const int WM_DEVICECHANGE = 0x219; //设备改变
+ private const int DBT_DEVICEARRIVAL = 0x8000; //检测到新设备
+ private const int DBT_DEVICEREMOVECOMPLETE = 0x8004; //移除设备
+ public const int DBT_DEVTYP_PORT = 0x00000003;
+ public const int DBT_DEVTYP_VOLUME = 0x00000002;
+
+ public IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
+ {
+ if (msg == WM_DEVICECHANGE)
+ {
+ //插入
+ if (wParam.ToInt32() == DBT_DEVICEARRIVAL)
+ {
+ var volume = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(lParam, typeof(DEV_BROADCAST_HDR));
+
+ switch (volume.dbch_devicetype)
+ {
+ case DBT_DEVTYP_PORT://串口设备
+ string portName = Marshal.PtrToStringUni(lParam + Marshal.SizeOf(typeof(DEV_BROADCAST_PORT)));
+ MessageLog.GetInstance.Show($"插入串口:[{portName}]");
+ break;
+ case DBT_DEVTYP_VOLUME:
+ var drive = GetDrive(lParam);
+ MessageLog.GetInstance.Show($"usb插入:[{drive}]");
+ break;
+ default:
+ break;
+ }
+ }
+
+ //拔出
+ if (wParam.ToInt32() == DBT_DEVICEREMOVECOMPLETE)
+ {
+ var volume = (DEV_BROADCAST_HDR)Marshal.PtrToStructure(lParam, typeof(DEV_BROADCAST_HDR));
+ switch (volume.dbch_devicetype)
+ {
+ case DBT_DEVTYP_PORT://串口设备
+ string portName = Marshal.PtrToStringUni(lParam + Marshal.SizeOf(typeof(DEV_BROADCAST_PORT)));
+ MessageLog.GetInstance.Show($"拔出串口:[{portName}]");
+ break;
+ case DBT_DEVTYP_VOLUME:
+ var drive = GetDrive(lParam);
+ MessageLog.GetInstance.Show($"usb拔出:[{drive}]");
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ return IntPtr.Zero;
+ }
+
+ private static string GetDrive(IntPtr lParam)
+ {
+ var volume = (DEV_BROADCAST_VOLUME)Marshal.PtrToStructure(lParam, typeof(DEV_BROADCAST_VOLUME));
+ var letter = GetLetter(volume.dbcv_unitmask);
+ return string.Format("{0}:\\", letter);
+ }
+
+ ///
+ /// 获得盘符
+ ///
+ ///
+ /// 1 = A
+ /// 2 = B
+ /// 4 = C...
+ ///
+ /// 结果是A~Z的任意一个字符或者为'?'
+ private static char GetLetter(uint dbcvUnitmask)
+ {
+ const char nona = '?';
+ const string drives = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ if (dbcvUnitmask == 0) return nona;
+ var i = 0;
+ var pom = dbcvUnitmask >> 1;
+ while (pom != 0)
+ {
+ pom = pom >> 1;
+ i++;
+ }
+ if (i < drives.Length)
+ return drives[i];
+ return nona;
+ }
+
+
+ #endregion
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ struct DEV_BROADCAST_HDR
+ {
+ public UInt32 dbch_size;
+ public UInt32 dbch_devicetype;
+ public UInt32 dbch_reserved;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ struct DEV_BROADCAST_PORT
+ {
+ public uint dbcp_size;
+ public uint dbcp_devicetype;
+ public uint dbcp_reserved;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ struct DEV_BROADCAST_PORT_A
+ {
+ public uint dbcp_size;
+ public uint dbcp_devicetype;
+ public uint dbcp_reserved;
+ //public string dbcp_name;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ struct DEV_BROADCAST_VOLUME
+ {
+ /// DWORD->unsigned int
+ public uint dbcv_size;
+ /// DWORD->unsigned int
+ public uint dbcv_devicetype;
+ /// DWORD->unsigned int
+ public uint dbcv_reserved;
+ /// DWORD->unsigned int
+ public uint dbcv_unitmask;
+ /// WORD->unsigned short
+ public ushort dbcv_flags;
+ }
+}
diff --git a/BPASmartClient.ScreenLib/Helper/Main.cs b/BPASmartClient.ScreenLib/Helper/Main.cs
new file mode 100644
index 00000000..83d5f579
--- /dev/null
+++ b/BPASmartClient.ScreenLib/Helper/Main.cs
@@ -0,0 +1,206 @@
+using BPA.Communication;
+using BPA.Helper;
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// 主函数
+ ///
+ public class Main
+ {
+ #region 接口继承变量
+ ///
+ /// Redis连接信息
+ ///
+ public string RedisConnection { get; set; }
+ ///
+ /// 业务名称
+ ///
+ private string _Name = string.Empty;
+ public string Name
+ {
+ get { return _Name; }
+ set
+ {
+ _Name = value;
+ ThreadServer();
+ }
+ }
+ ///
+ /// 是否自动重启(出现健康检查未通过时)
+ ///
+ public bool AutoRestart { get; set; }
+ #endregion
+
+ #region 自建变量
+ ///
+ /// 是否运行
+ ///
+ public bool IsRunning { get; set; }
+ ///
+ /// Redis是否运行
+ ///
+ public bool IsRunningReids => RedisHelper.GetInstance.IsConnected();
+ ///
+ /// 主函数
+ ///
+ private static volatile Main _Instance;
+ public static Main GetInstance => _Instance ?? (_Instance = new Main());
+ public Main() {
+ RedisConnection= System.Configuration.ConfigurationManager.AppSettings["RedisConnection"].ToString();
+ Name = System.Configuration.ConfigurationManager.AppSettings["DeviceMC"].ToString();
+ }
+ ///
+ /// 设备数据
+ ///
+ public List reeisDatas { get; set; } = new List();
+ ///
+ /// 告警数据
+ ///
+ public List reeisDatasAic { get; set; } = new List();
+ #endregion
+
+ #region 线程处理函数
+ ///
+ /// 线程服务
+ ///
+ public void ThreadServer()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ try
+ {
+ if (IsRunning && IsRunningReids)
+ {
+ //1.读取Redis变量
+ List Values = RedisHelper.GetInstance.Read>($"{Name}[Device]").Content;
+ List reeisDatasAic = RedisHelper.GetInstance.Read>($"{Name}[Alarm]").Content;
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageLog.GetInstance.ShowEx($"{Name}:线程服务异常,原因:{ex.Message}");
+ }
+ Thread.Sleep(100);
+ }), $"{Name},线程服务");
+ }
+ #endregion
+
+ #region 启动、停止、健康检查
+ ///
+ /// 开始服务
+ ///
+ public void Start()
+ {
+ try
+ {
+ //连接MQTT、Redis
+ Connection();
+ IsRunning = true;
+ }
+ catch (Exception ex)
+ {
+ MessageLog.GetInstance.ShowEx($"{Name}:MQTT或者Redis启动时,连接失败,原因:{ex.Message}");
+ }
+ }
+ ///
+ /// 停止服务
+ ///
+ public void Stop()
+ {
+ try
+ {
+ //0.设置运行标志
+ IsRunning = false;
+ }
+ catch (Exception ex)
+ {
+ MessageLog.GetInstance.ShowEx($"{Name}:MQTT或者Redis停止时异常,原因:{ex.Message}");
+ }
+ }
+ ///
+ /// 健康检查
+ ///
+ ///
+ ///
+ public bool Check(out string msg)
+ {
+ string msgage = string.Empty;
+ bool IsTrue = false;
+ if (IsRunningReids && IsRunning)
+ IsTrue = true;
+ else
+ {
+ if (!IsRunningReids)
+ msgage += "Redis断开连接.";
+ IsTrue = false;
+ msgage = $"{Name}:健康检查失败,原因:{msgage}";
+ }
+ msg = msgage;
+ return IsTrue;
+ }
+ #endregion
+
+ #region 调用事件
+ ///
+ /// 初始化连接Redis MQTT
+ ///
+ public void Connection()
+ {
+ try
+ {
+ //1.连接Redis,如果已经连接过了 那么自动不会去连接
+ if (!string.IsNullOrEmpty(this.RedisConnection) && this.RedisConnection.Contains(','))
+ {
+ string[] rediscom = this.RedisConnection.Split(',');
+ if (rediscom != null && rediscom.Count() == 4)
+ RedisHelper.GetInstance.Connect(new ConfigurationOptions()
+ {
+ ServerAddress = $"{rediscom[0]}:{int.Parse(rediscom[1])}",
+ Password = rediscom[2]
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageLog.GetInstance.ShowEx($"{Name}:初始化连接Redis MQTT,原因:{ex.Message}");
+ }
+
+ }
+ #endregion
+ }
+
+
+ ///
+ /// Redis 数据存储格式
+ ///
+ public class RedisDataModel
+ {
+ public string VarName { get; set; }
+ public string VarVaule { get; set; }
+ public EDataType DataType { get; set; }
+ }
+
+ ///
+ /// 数据类型枚举
+ ///
+ public enum EDataType
+ {
+ Bool = 1,
+ Byte = 2,
+ Int = 3,
+ Word = 4,
+ Dint = 5,
+ Dword = 6,
+ Float = 7,
+ Double = 8,
+ String = 9,
+ }
+}
diff --git a/BPASmartClient.ScreenLib/Model/DevRunStatus.cs b/BPASmartClient.ScreenLib/Model/DevRunStatus.cs
new file mode 100644
index 00000000..33366505
--- /dev/null
+++ b/BPASmartClient.ScreenLib/Model/DevRunStatus.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ public enum DevRunStatus
+ {
+ 正常,
+ 异常
+ }
+
+ public enum DevIsRun
+ {
+ 运行,
+ 停止
+ }
+}
diff --git a/BPASmartClient.ScreenLib/Model/OrderMakeModel.cs b/BPASmartClient.ScreenLib/Model/OrderMakeModel.cs
new file mode 100644
index 00000000..42adb5b8
--- /dev/null
+++ b/BPASmartClient.ScreenLib/Model/OrderMakeModel.cs
@@ -0,0 +1,163 @@
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Media;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// 订单制作Model
+ ///
+ public class OrderMakeModel : NotifyBase
+ {
+ ///
+ /// 状态
+ ///
+ private ORDER_STATUS _Status;
+ public ORDER_STATUS Status
+ {
+ get { return _Status; }
+ set {
+ _Status = value;
+ foreground = new SolidColorBrush(Color.FromArgb(255, 0, 204, 255));
+ switch ((ORDER_STATUS)value)
+ {
+ case ORDER_STATUS.WAIT:
+ MakeStatus = "等待制作";
+
+ foreground = new SolidColorBrush(Color.FromArgb(255, 0, 204, 255));
+ break;
+ case ORDER_STATUS.COOKING:
+ MakeStatus = "制作中";
+ foreground = new SolidColorBrush(Color.FromArgb(255, 0, 255, 127));
+ break;
+ case ORDER_STATUS.COMPLETED_COOK:
+ MakeStatus = "制作完成";
+ foreground = new SolidColorBrush(Color.FromArgb(255, 255, 215, 00));
+ break;
+ case ORDER_STATUS.COMPLETED_TAKE:
+ MakeStatus = "取餐完成";
+ foreground = new SolidColorBrush(Color.FromArgb(255, 102, 204, 153));
+ break;
+ case ORDER_STATUS.ERR_NOT_REPLY_WHEN_COOKING:
+ MakeStatus = "取餐完成";
+ foreground = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
+ break;
+ default:
+ MakeStatus = "异常订单";
+ break;
+ }
+ OnPropertyChanged();
+ }
+ }
+ ///
+ /// 制作状态
+ ///
+ private string _MakeStatus;
+ public string MakeStatus
+ {
+ get { return _MakeStatus; }
+ set
+ {
+ _MakeStatus = value;
+ OnPropertyChanged();
+ }
+ }
+ ///
+ /// 商品名称
+ ///
+ public string GoodName { get; set; }
+
+ ///
+ /// 订单排序号
+ ///
+ public string SortNum { get; set; }
+
+ ///
+ /// 开始时间
+ ///
+ public string StartTime { get; set; }
+
+ ///
+ /// 结束时间
+ ///
+ public string StopTime { get; set; }
+
+ private Brush _foreground;
+ public Brush foreground
+ {
+ get
+ {
+ return _foreground;
+ }
+ set
+ {
+ if (_foreground == value)
+ return;
+ _foreground = value;
+ OnPropertyChanged("foreground");
+ }
+ }
+ }
+
+ ///
+ /// 告警数据
+ ///
+ public class AlarmMsModel : NotifyBase
+ {
+ private string _AlarmTime;
+ public string AlarmTime
+ {
+ get { return _AlarmTime; }
+ set
+ {
+ _AlarmTime = value;
+ OnPropertyChanged();
+ }
+ }
+
+
+ private string _AlarmMs;
+ public string AlarmMs
+ {
+ get { return _AlarmMs; }
+ set
+ {
+ _AlarmMs = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
+ ///
+ /// 菜品类型
+ ///
+ public class CookType : NotifyBase
+ {
+ private string _Name;
+ public string Name
+ {
+ get { return _Name; }
+ set
+ {
+ _Name = value;
+ OnPropertyChanged();
+ }
+ }
+
+ private string _Name1;
+ public string Name1
+ {
+ get { return _Name1; }
+ set
+ {
+ _Name1 = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1.xaml b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1.xaml
new file mode 100644
index 00000000..57b7f60c
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1.xaml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1.xaml.cs b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1.xaml.cs
new file mode 100644
index 00000000..1560287f
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1.xaml.cs
@@ -0,0 +1,70 @@
+using BPA.CustomResource.UserControls;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// ScreenSplitMealsControl1.xaml 的交互逻辑
+ ///
+ public partial class ScreenSplitMealsControl1 : UserControl
+ {
+ public ScreenSplitMealsControl1()
+ {
+ InitializeComponent();
+ this.DataContext = new ScreenSplitMealsControl1ViewModel();
+ }
+
+ public void Start(string name)
+ {
+ WindowShow windowLarge2 = new WindowShow();
+ windowLarge2.Init("二号" + name, new ScreenSplitMealsControl2());
+ WindowShow windowLarge3 = new WindowShow();
+ windowLarge3.Init("三号"+ name, new ScreenSplitMealsControl3());
+ int i = 0;
+ foreach (System.Windows.Forms.Screen scr in System.Windows.Forms.Screen.AllScreens)
+ {
+ if (!scr.Primary)
+ {
+ if (i == 1)
+ {
+ windowLarge2.WindowStartupLocation = WindowStartupLocation.Manual;
+
+ windowLarge2.Left = scr.WorkingArea.Left;
+ windowLarge2.Top = scr.WorkingArea.Top;
+ windowLarge2.Width = scr.Bounds.Width;
+ windowLarge2.Height = scr.Bounds.Height;
+ windowLarge2.WindowState = WindowState.Maximized;
+ windowLarge2.ResizeMode = ResizeMode.NoResize;
+ windowLarge2.WindowStyle = WindowStyle.None;
+ windowLarge2.WindowState = WindowState.Normal;
+ windowLarge2.ShowInTaskbar = false;
+ }
+ else if (i == 2)
+ {
+ windowLarge3.WindowStartupLocation = WindowStartupLocation.Manual;
+
+ windowLarge3.Left = scr.WorkingArea.Left;
+ windowLarge3.Top = scr.WorkingArea.Top;
+ windowLarge3.Width = scr.Bounds.Width;
+ windowLarge3.Height = scr.Bounds.Height;
+ }
+ i++;
+ }
+ }
+ windowLarge2.Show(); windowLarge3.Show();
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1ViewModel.cs b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1ViewModel.cs
new file mode 100644
index 00000000..58537cf3
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl1ViewModel.cs
@@ -0,0 +1,145 @@
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ public class ScreenSplitMealsControl1ViewModel : NotifyBase
+ {
+ #region 变量
+ ///
+ /// 柱状图显示集合
+ ///
+ public IEnumerable> Histogram { get { return _Histogram; } set { _Histogram = value; OnPropertyChanged(); } }
+ private IEnumerable> _Histogram = new List>();
+
+ ///
+ /// 设备是否运行
+ ///
+ public DevIsRun DevIsRun { get { return _DevIsRun; } set { _DevIsRun = value; OnPropertyChanged(); } }
+ private DevIsRun _DevIsRun = DevIsRun.停止;
+
+ ///
+ /// 设备状态
+ ///
+ public DevRunStatus RunStatus { get { return _RunStatus; } set { _RunStatus = value; OnPropertyChanged(); } }
+ private DevRunStatus _RunStatus = DevRunStatus.正常;
+
+ ///
+ /// 订单数
+ ///
+ public int DdCount { get { return _DdCount; } set { _DdCount = value; OnPropertyChanged(); } }
+ private int _DdCount = 0;
+
+ ///
+ /// 异常订单数
+ ///
+ public int YCDdCount { get { return _YCDdCount; } set { _YCDdCount = value; OnPropertyChanged(); } }
+ private int _YCDdCount = 0;
+
+ ///
+ /// 广告地址
+ ///
+ public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } }
+ private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString());
+
+ ///
+ /// 告警数据
+ ///
+ public ObservableCollection AlarmList
+ {
+ get { return _AlarmList; }
+ set
+ {
+ _AlarmList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _AlarmList = new ObservableCollection();
+
+ ///
+ /// 菜品类型-左
+ ///
+ public ObservableCollection CookTypeListLeft
+ {
+ get { return _CookTypeListLeft; }
+ set
+ {
+ _CookTypeListLeft = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _CookTypeListLeft = new ObservableCollection();
+
+ ///
+ /// 菜品类型-右边
+ ///
+ public ObservableCollection CookTypeListReit
+ {
+ get { return _CookTypeListReit; }
+ set
+ {
+ _CookTypeListReit = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _CookTypeListReit = new ObservableCollection();
+ #endregion
+ public ScreenSplitMealsControl1ViewModel()
+ {
+ Init();
+ }
+
+ ///
+ /// 初始化
+ ///
+ public void Init()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() =>
+ {
+ RunStatus = RunStatus == DevRunStatus.正常 ? DevRunStatus.异常 : DevRunStatus.正常;
+ DevIsRun = DevIsRun == DevIsRun.运行 ? DevIsRun.停止 : DevIsRun.运行;
+ DdCount = new Random().Next(0, 400);
+ YCDdCount = new Random().Next(0, 400);
+
+ List oRDER_s = new List() { ORDER_STATUS.WAIT, ORDER_STATUS.COOKING };
+ List oRDER_s1 = new List() { ORDER_STATUS.COMPLETED_COOK, ORDER_STATUS.COMPLETED_TAKE };
+
+ List name_s = new List() { "担担面", "鸡蛋面", "火鸡面", "扬州炒饭", "回锅肉盖饭", "炒茄子" };
+ CookTypeListReit = new ObservableCollection();
+ CookTypeListReit.Add(new CookType { Name = name_s[0],Name1= name_s[1] });
+ CookTypeListReit.Add(new CookType { Name = name_s[2], Name1 = name_s[3] });
+ CookTypeListReit.Add(new CookType { Name = name_s[4], Name1 = name_s[5] });
+
+ CookTypeListLeft = new ObservableCollection();
+ CookTypeListLeft.Add(new CookType { Name = name_s[0], Name1 = name_s[1] });
+ CookTypeListLeft.Add(new CookType { Name = name_s[2], Name1 = name_s[3] });
+ CookTypeListLeft.Add(new CookType { Name = name_s[4], Name1 = name_s[5] });
+
+ AlarmList = new ObservableCollection();
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ Histogram = new[] {
+ new KeyValuePair(name_s[0], new Random().Next(0,400)),
+ new KeyValuePair(name_s[1], new Random().Next(0,400)),
+ new KeyValuePair(name_s[2], new Random().Next(0,400)),
+ new KeyValuePair(name_s[3], new Random().Next(0,400)),
+ new KeyValuePair(name_s[4], new Random().Next(0,400))};
+ }));
+ Thread.Sleep(5000);
+ }), $"{DateTime.Now}_1,线程服务");
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2.xaml b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2.xaml
new file mode 100644
index 00000000..cc2be7e7
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2.xaml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2.xaml.cs b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2.xaml.cs
new file mode 100644
index 00000000..114548d9
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// ScreenSplitMealsControl2.xaml 的交互逻辑
+ ///
+ public partial class ScreenSplitMealsControl2 : UserControl
+ {
+ public ScreenSplitMealsControl2()
+ {
+ InitializeComponent();
+ this.DataContext = new ScreenSplitMealsControl2ViewModel();
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2ViewModel.cs b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2ViewModel.cs
new file mode 100644
index 00000000..7f9546f3
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl2ViewModel.cs
@@ -0,0 +1,145 @@
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ public class ScreenSplitMealsControl2ViewModel : NotifyBase
+ {
+ #region 变量
+ ///
+ /// 柱状图显示集合
+ ///
+ public IEnumerable> Histogram { get { return _Histogram; } set { _Histogram = value; OnPropertyChanged(); } }
+ private IEnumerable> _Histogram = new List>();
+
+ ///
+ /// 设备是否运行
+ ///
+ public DevIsRun DevIsRun { get { return _DevIsRun; } set { _DevIsRun = value; OnPropertyChanged(); } }
+ private DevIsRun _DevIsRun = DevIsRun.停止;
+
+ ///
+ /// 设备状态
+ ///
+ public DevRunStatus RunStatus { get { return _RunStatus; } set { _RunStatus = value; OnPropertyChanged(); } }
+ private DevRunStatus _RunStatus = DevRunStatus.正常;
+
+ ///
+ /// 订单数
+ ///
+ public int DdCount { get { return _DdCount; } set { _DdCount = value; OnPropertyChanged(); } }
+ private int _DdCount = 0;
+
+ ///
+ /// 异常订单数
+ ///
+ public int YCDdCount { get { return _YCDdCount; } set { _YCDdCount = value; OnPropertyChanged(); } }
+ private int _YCDdCount = 0;
+
+ ///
+ /// 广告地址
+ ///
+ public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } }
+ private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString());
+
+ ///
+ /// 告警数据
+ ///
+ public ObservableCollection AlarmList
+ {
+ get { return _AlarmList; }
+ set
+ {
+ _AlarmList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _AlarmList = new ObservableCollection();
+
+ ///
+ /// 菜品类型-左
+ ///
+ public ObservableCollection CookTypeListLeft
+ {
+ get { return _CookTypeListLeft; }
+ set
+ {
+ _CookTypeListLeft = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _CookTypeListLeft = new ObservableCollection();
+
+ ///
+ /// 菜品类型-右边
+ ///
+ public ObservableCollection CookTypeListReit
+ {
+ get { return _CookTypeListReit; }
+ set
+ {
+ _CookTypeListReit = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _CookTypeListReit = new ObservableCollection();
+ #endregion
+ public ScreenSplitMealsControl2ViewModel()
+ {
+ Init();
+ }
+
+ ///
+ /// 初始化
+ ///
+ public void Init()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() =>
+ {
+ RunStatus = RunStatus == DevRunStatus.正常 ? DevRunStatus.异常 : DevRunStatus.正常;
+ DevIsRun = DevIsRun == DevIsRun.运行 ? DevIsRun.停止 : DevIsRun.运行;
+ DdCount = new Random().Next(0, 400);
+ YCDdCount = new Random().Next(0, 400);
+
+ List oRDER_s = new List() { ORDER_STATUS.WAIT, ORDER_STATUS.COOKING };
+ List oRDER_s1 = new List() { ORDER_STATUS.COMPLETED_COOK, ORDER_STATUS.COMPLETED_TAKE };
+
+ List name_s = new List() { "担担面", "鸡蛋面", "火鸡面", "扬州炒饭", "回锅肉盖饭", "炒茄子" };
+ CookTypeListReit = new ObservableCollection();
+ CookTypeListReit.Add(new CookType { Name = name_s[0], Name1 = name_s[1] });
+ CookTypeListReit.Add(new CookType { Name = name_s[2], Name1 = name_s[3] });
+ CookTypeListReit.Add(new CookType { Name = name_s[4], Name1 = name_s[5] });
+
+ CookTypeListLeft = new ObservableCollection();
+ CookTypeListLeft.Add(new CookType { Name = name_s[0], Name1 = name_s[1] });
+ CookTypeListLeft.Add(new CookType { Name = name_s[2], Name1 = name_s[3] });
+ CookTypeListLeft.Add(new CookType { Name = name_s[4], Name1 = name_s[5] });
+
+ AlarmList = new ObservableCollection();
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ Histogram = new[] {
+ new KeyValuePair(name_s[0], new Random().Next(0,400)),
+ new KeyValuePair(name_s[1], new Random().Next(0,400)),
+ new KeyValuePair(name_s[2], new Random().Next(0,400)),
+ new KeyValuePair(name_s[3], new Random().Next(0,400)),
+ new KeyValuePair(name_s[4], new Random().Next(0,400))};
+ }));
+ Thread.Sleep(5000);
+ }), $"{DateTime.Now}_2,线程服务");
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3.xaml b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3.xaml
new file mode 100644
index 00000000..a805287f
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3.xaml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3.xaml.cs b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3.xaml.cs
new file mode 100644
index 00000000..4d3a69f0
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3.xaml.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// ScreenSplitMealsControl3.xaml 的交互逻辑
+ ///
+ public partial class ScreenSplitMealsControl3 : UserControl
+ {
+ public ScreenSplitMealsControl3()
+ {
+ InitializeComponent();
+ this.DataContext = new ScreenSplitMealsControl3ViewModel();
+
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3ViewModel.cs b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3ViewModel.cs
new file mode 100644
index 00000000..d881d747
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/ScreenSplitMealsControl3ViewModel.cs
@@ -0,0 +1,146 @@
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+
+namespace BPASmartClient.ScreenLib
+{
+ public class ScreenSplitMealsControl3ViewModel : NotifyBase
+ {
+ #region 变量
+ ///
+ /// 柱状图显示集合
+ ///
+ public IEnumerable> Histogram { get { return _Histogram; } set { _Histogram = value; OnPropertyChanged(); } }
+ private IEnumerable> _Histogram = new List>();
+
+ ///
+ /// 设备是否运行
+ ///
+ public DevIsRun DevIsRun { get { return _DevIsRun; } set { _DevIsRun = value; OnPropertyChanged(); } }
+ private DevIsRun _DevIsRun = DevIsRun.停止;
+
+ ///
+ /// 设备状态
+ ///
+ public DevRunStatus RunStatus { get { return _RunStatus; } set { _RunStatus = value; OnPropertyChanged(); } }
+ private DevRunStatus _RunStatus = DevRunStatus.正常;
+
+ ///
+ /// 订单数
+ ///
+ public int DdCount { get { return _DdCount; } set { _DdCount = value; OnPropertyChanged(); } }
+ private int _DdCount = 0;
+
+ ///
+ /// 异常订单数
+ ///
+ public int YCDdCount { get { return _YCDdCount; } set { _YCDdCount = value; OnPropertyChanged(); } }
+ private int _YCDdCount = 0;
+
+ ///
+ /// 广告地址
+ ///
+ public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } }
+ private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString());
+
+ ///
+ /// 告警数据
+ ///
+ public ObservableCollection AlarmList
+ {
+ get { return _AlarmList; }
+ set
+ {
+ _AlarmList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _AlarmList = new ObservableCollection();
+
+ ///
+ /// 菜品类型-左
+ ///
+ public ObservableCollection CookTypeListLeft
+ {
+ get { return _CookTypeListLeft; }
+ set
+ {
+ _CookTypeListLeft = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _CookTypeListLeft = new ObservableCollection();
+
+ ///
+ /// 菜品类型-右边
+ ///
+ public ObservableCollection CookTypeListReit
+ {
+ get { return _CookTypeListReit; }
+ set
+ {
+ _CookTypeListReit = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _CookTypeListReit = new ObservableCollection();
+ #endregion
+ public ScreenSplitMealsControl3ViewModel()
+ {
+ Init();
+ }
+
+ ///
+ /// 初始化
+ ///
+ public void Init()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() =>
+ {
+ RunStatus = RunStatus == DevRunStatus.正常 ? DevRunStatus.异常 : DevRunStatus.正常;
+ DevIsRun = DevIsRun == DevIsRun.运行 ? DevIsRun.停止 : DevIsRun.运行;
+ DdCount = new Random().Next(0, 400);
+ YCDdCount = new Random().Next(0, 400);
+
+ List oRDER_s = new List() { ORDER_STATUS.WAIT, ORDER_STATUS.COOKING };
+ List oRDER_s1 = new List() { ORDER_STATUS.COMPLETED_COOK, ORDER_STATUS.COMPLETED_TAKE };
+
+ List name_s = new List() { "担担面", "鸡蛋面", "火鸡面", "扬州炒饭", "回锅肉盖饭", "炒茄子" };
+ CookTypeListReit = new ObservableCollection();
+ CookTypeListReit.Add(new CookType { Name = name_s[0], Name1 = name_s[1] });
+ CookTypeListReit.Add(new CookType { Name = name_s[2], Name1 = name_s[3] });
+ CookTypeListReit.Add(new CookType { Name = name_s[4], Name1 = name_s[5] });
+
+ CookTypeListLeft = new ObservableCollection();
+ CookTypeListLeft.Add(new CookType { Name = name_s[0], Name1 = name_s[1] });
+ CookTypeListLeft.Add(new CookType { Name = name_s[2], Name1 = name_s[3] });
+ CookTypeListLeft.Add(new CookType { Name = name_s[4], Name1 = name_s[5] });
+
+ AlarmList = new ObservableCollection();
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ Histogram = new[] {
+ new KeyValuePair(name_s[0], new Random().Next(0,400)),
+ new KeyValuePair(name_s[1], new Random().Next(0,400)),
+ new KeyValuePair(name_s[2], new Random().Next(0,400)),
+ new KeyValuePair(name_s[3], new Random().Next(0,400)),
+ new KeyValuePair(name_s[4], new Random().Next(0,400))};
+ }));
+ Thread.Sleep(5000);
+ }), $"{DateTime.Now}_3,线程服务");
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/分餐机/WindowShow.xaml b/BPASmartClient.ScreenLib/分餐机/WindowShow.xaml
new file mode 100644
index 00000000..43bcfed6
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/WindowShow.xaml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenLib/分餐机/WindowShow.xaml.cs b/BPASmartClient.ScreenLib/分餐机/WindowShow.xaml.cs
new file mode 100644
index 00000000..2b29271d
--- /dev/null
+++ b/BPASmartClient.ScreenLib/分餐机/WindowShow.xaml.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// WindowShow.xaml 的交互逻辑
+ ///
+ public partial class WindowShow : Window
+ {
+ public WindowShow()
+ {
+ InitializeComponent();
+ this.KeyDown += new KeyEventHandler((o, k) =>
+ {
+ if (k.Key == Key.Escape)
+ {
+ if (MessageBox.Show("确认是否退出大屏!", "退出提示", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
+ this.Close();
+ }
+ });
+ }
+
+ public void Init(string title, UserControl user)
+ {
+ titlename.Header = title;
+ main.Child = user;
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControl.xaml b/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControl.xaml
new file mode 100644
index 00000000..d5797374
--- /dev/null
+++ b/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControl.xaml
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+ 今日刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+ 今日刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+ 今日刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+ 今日刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日订单数
+
+
+
+ 异常订单数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+ 今日刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+ 今日刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+ 今日刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControl.xaml.cs b/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControl.xaml.cs
new file mode 100644
index 00000000..69e53b65
--- /dev/null
+++ b/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControl.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// ScreenALLControl.xaml 的交互逻辑
+ ///
+ public partial class ScreenALLControl : UserControl
+ {
+ public ScreenALLControl()
+ {
+ InitializeComponent();
+ this.DataContext = new ScreenALLControlViewModel();
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControlViewModel.cs b/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControlViewModel.cs
new file mode 100644
index 00000000..c6639be5
--- /dev/null
+++ b/BPASmartClient.ScreenLib/总监视大屏/ScreenALLControlViewModel.cs
@@ -0,0 +1,216 @@
+using BPA.CustomResource.UserControls;
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ public class ScreenALLControlViewModel : NotifyBase
+ {
+ #region 变量
+ ///
+ /// 柱状图显示集合
+ ///
+ public IEnumerable> Histogram { get { return _Histogram; } set { _Histogram = value; OnPropertyChanged(); } }
+ private IEnumerable> _Histogram = new List>();
+
+
+ ///
+ /// 分布统计图
+ ///
+ public ObservableCollection RadarModelList
+ {
+ get { return _RadarModelList; }
+ set
+ {
+ _RadarModelList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _RadarModelList = new ObservableCollection();
+
+ ///
+ /// 设备是否运行
+ ///
+ public DevIsRun DevIsRun { get { return _DevIsRun; } set { _DevIsRun = value; OnPropertyChanged(); } }
+ private DevIsRun _DevIsRun = DevIsRun.停止;
+
+ ///
+ /// 设备状态
+ ///
+ public DevRunStatus RunStatus { get { return _RunStatus; } set { _RunStatus = value; OnPropertyChanged(); } }
+ private DevRunStatus _RunStatus = DevRunStatus.正常;
+
+ ///
+ /// 订单数
+ ///
+ public int DdCount { get { return _DdCount; } set { _DdCount = value; OnPropertyChanged(); } }
+ private int _DdCount = 0;
+
+ ///
+ /// 异常订单数
+ ///
+ public int YCDdCount { get { return _YCDdCount; } set { _YCDdCount = value; OnPropertyChanged(); } }
+ private int _YCDdCount = 0;
+
+ ///
+ /// 广告地址
+ ///
+ public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } }
+ private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString());
+
+ ///
+ /// 正在制作订单数据
+ ///
+ public ObservableCollection OrderMakeList
+ {
+ get { return _OrderMakeList; }
+ set
+ {
+ _OrderMakeList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _OrderMakeList = new ObservableCollection();
+
+ ///
+ /// 制作完成订单数据
+ ///
+ public ObservableCollection OrderMakeListOver
+ {
+ get { return _OrderMakeListOver; }
+ set
+ {
+ _OrderMakeListOver = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _OrderMakeListOver = new ObservableCollection();
+
+ ///
+ /// 告警数据
+ ///
+ public ObservableCollection AlarmList
+ {
+ get { return _AlarmList; }
+ set
+ {
+ _AlarmList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _AlarmList = new ObservableCollection();
+
+
+ #endregion
+ public ScreenALLControlViewModel()
+ {
+ Init();
+ }
+
+ ///
+ /// 初始化
+ ///
+ public void Init()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() =>
+ {
+ RunStatus = RunStatus == DevRunStatus.正常 ? DevRunStatus.异常 : DevRunStatus.正常;
+ DevIsRun = DevIsRun == DevIsRun.运行 ? DevIsRun.停止 : DevIsRun.运行;
+ DdCount = new Random().Next(0, 400);
+ YCDdCount = new Random().Next(0, 400);
+
+ List oRDER_s = new List() { ORDER_STATUS.WAIT, ORDER_STATUS.COOKING };
+ List oRDER_s1 = new List() { ORDER_STATUS.COMPLETED_COOK, ORDER_STATUS.COMPLETED_TAKE };
+
+ List name_s = new List() { "担担面", "鸡蛋面", "火鸡面", "扬州炒饭", "回锅肉盖饭" };
+ OrderMakeList = new ObservableCollection();
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "011", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "012", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "013", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "014", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+ OrderMakeListOver = new ObservableCollection();
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "001", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "002", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "003", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "005", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "006", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "008", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "009", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "010", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+
+ AlarmList = new ObservableCollection();
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ Histogram = new[] {
+ new KeyValuePair(name_s[0], new Random().Next(0,400)),
+ new KeyValuePair(name_s[1], new Random().Next(0,400)),
+ new KeyValuePair(name_s[2], new Random().Next(0,400)),
+ new KeyValuePair(name_s[3], new Random().Next(0,400)),
+ new KeyValuePair(name_s[4], new Random().Next(0,400))};
+
+ RadarModelList = new ObservableCollection();
+ RadarModelList.Add(new RadarModel { Text = name_s[0], ValueMax = new Random().Next(0, 100) });
+ RadarModelList.Add(new RadarModel { Text = name_s[1], ValueMax = new Random().Next(0, 100) });
+ RadarModelList.Add(new RadarModel { Text = name_s[2], ValueMax = new Random().Next(0, 100) });
+ RadarModelList.Add(new RadarModel { Text = name_s[3], ValueMax = new Random().Next(0, 100) });
+ RadarModelList.Add(new RadarModel { Text = name_s[4], ValueMax = new Random().Next(0, 100) });
+
+ }));
+ Thread.Sleep(5000);
+ }), $"{DateTime.Now},线程服务");
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControl.xaml b/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControl.xaml
new file mode 100644
index 00000000..f5c5f605
--- /dev/null
+++ b/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControl.xaml
@@ -0,0 +1,396 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日订单数
+
+
+
+ 异常订单数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日订单数
+
+
+
+ 异常订单数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControl.xaml.cs b/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControl.xaml.cs
new file mode 100644
index 00000000..0605a58e
--- /dev/null
+++ b/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControl.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// ScreenMaxWokControl.xaml 的交互逻辑
+ ///
+ public partial class ScreenMaxWokControl : UserControl
+ {
+ public ScreenMaxWokControl()
+ {
+ InitializeComponent();
+ this.DataContext = new ScreenMaxWokControlViewModel();
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControlViewModel.cs b/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControlViewModel.cs
new file mode 100644
index 00000000..57f23593
--- /dev/null
+++ b/BPASmartClient.ScreenLib/炒锅/ScreenMaxWokControlViewModel.cs
@@ -0,0 +1,176 @@
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ public class ScreenMaxWokControlViewModel : NotifyBase
+ {
+ #region 变量
+ ///
+ /// 广告地址
+ ///
+ public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } }
+ private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString());
+
+ ///
+ /// 设备是否运行
+ ///
+ public DevIsRun DevIsRun { get { return _DevIsRun; } set { _DevIsRun = value; OnPropertyChanged(); } }
+ private DevIsRun _DevIsRun = DevIsRun.停止;
+
+ ///
+ /// 设备状态
+ ///
+ public DevRunStatus RunStatus { get { return _RunStatus; } set { _RunStatus = value; OnPropertyChanged(); } }
+ private DevRunStatus _RunStatus = DevRunStatus.正常;
+
+ ///
+ /// 订单数
+ ///
+ public int DdCount { get { return _DdCount; } set { _DdCount = value; OnPropertyChanged(); } }
+ private int _DdCount = 0;
+
+ ///
+ /// 异常订单数
+ ///
+ public int YCDdCount { get { return _YCDdCount; } set { _YCDdCount = value; OnPropertyChanged(); } }
+ private int _YCDdCount = 0;
+
+ ///
+ /// 正在制作订单数据
+ ///
+ public ObservableCollection OrderMakeList { get { return _OrderMakeList; } set {
+ _OrderMakeList = value;
+ OnPropertyChanged();
+ } }
+ private ObservableCollection _OrderMakeList = new ObservableCollection();
+
+ ///
+ /// 制作完成订单数据
+ ///
+ public ObservableCollection OrderMakeListOver
+ {
+ get { return _OrderMakeListOver; }
+ set
+ {
+ _OrderMakeListOver = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _OrderMakeListOver = new ObservableCollection();
+
+ ///
+ /// 告警数据
+ ///
+ public ObservableCollection AlarmList
+ {
+ get { return _AlarmList; }
+ set
+ {
+ _AlarmList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _AlarmList = new ObservableCollection();
+
+
+
+ #endregion
+ public ScreenMaxWokControlViewModel()
+ {
+ Init();
+ }
+
+ ///
+ /// 初始化
+ ///
+ public void Init()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() =>
+ {
+ RunStatus = RunStatus == DevRunStatus.正常 ? DevRunStatus.异常 : DevRunStatus.正常;
+ DevIsRun = DevIsRun == DevIsRun.运行 ? DevIsRun.停止 : DevIsRun.运行;
+ DdCount = new Random().Next(0, 400);
+ YCDdCount = new Random().Next(0, 400);
+
+ List oRDER_s = new List() { ORDER_STATUS.WAIT, ORDER_STATUS.COOKING };
+ List oRDER_s1 = new List() { ORDER_STATUS.COMPLETED_COOK, ORDER_STATUS.COMPLETED_TAKE };
+
+ List name_s = new List() { "担担面", "鸡蛋面", "火鸡面", "扬州炒饭", "回锅肉盖饭" };
+ OrderMakeList = new ObservableCollection();
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "011", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "012", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "013", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "014", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+ OrderMakeListOver = new ObservableCollection();
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "001", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "002", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "003", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "005", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "006", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "008", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "009", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "010", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+
+ AlarmList = new ObservableCollection();
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ }));
+ Thread.Sleep(5000);
+ }), $"{DateTime.Now},线程服务");
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControl.xaml b/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControl.xaml
new file mode 100644
index 00000000..315bbc51
--- /dev/null
+++ b/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControl.xaml
@@ -0,0 +1,396 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+ 今日刷卡数
+
+
+
+ 异常刷卡数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControl.xaml.cs b/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControl.xaml.cs
new file mode 100644
index 00000000..26b55e6a
--- /dev/null
+++ b/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControl.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// ScreenMinWokControl.xaml 的交互逻辑
+ ///
+ public partial class ScreenMinWokControl : UserControl
+ {
+ public ScreenMinWokControl()
+ {
+ InitializeComponent();
+ this.DataContext = new ScreenMinWokControlViewModel();
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControlViewModel.cs b/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControlViewModel.cs
new file mode 100644
index 00000000..e341c991
--- /dev/null
+++ b/BPASmartClient.ScreenLib/炒锅/ScreenMinWokControlViewModel.cs
@@ -0,0 +1,191 @@
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ public class ScreenMinWokControlViewModel : NotifyBase
+ {
+ #region 变量
+ ///
+ /// 柱状图显示集合
+ ///
+ public IEnumerable> Histogram { get { return _Histogram; } set { _Histogram = value; OnPropertyChanged(); } }
+ private IEnumerable> _Histogram = new List>();
+
+ ///
+ /// 设备是否运行
+ ///
+ public DevIsRun DevIsRun { get { return _DevIsRun; } set { _DevIsRun = value; OnPropertyChanged(); } }
+ private DevIsRun _DevIsRun = DevIsRun.停止;
+
+ ///
+ /// 设备状态
+ ///
+ public DevRunStatus RunStatus { get { return _RunStatus; } set { _RunStatus = value; OnPropertyChanged(); } }
+ private DevRunStatus _RunStatus = DevRunStatus.正常;
+
+ ///
+ /// 订单数
+ ///
+ public int DdCount { get { return _DdCount; } set { _DdCount = value; OnPropertyChanged(); } }
+ private int _DdCount = 0;
+
+ ///
+ /// 异常订单数
+ ///
+ public int YCDdCount { get { return _YCDdCount; } set { _YCDdCount = value; OnPropertyChanged(); } }
+ private int _YCDdCount = 0;
+
+ ///
+ /// 广告地址
+ ///
+ public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } }
+ private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString());
+
+ ///
+ /// 正在制作订单数据
+ ///
+ public ObservableCollection OrderMakeList
+ {
+ get { return _OrderMakeList; }
+ set
+ {
+ _OrderMakeList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _OrderMakeList = new ObservableCollection();
+
+ ///
+ /// 制作完成订单数据
+ ///
+ public ObservableCollection OrderMakeListOver
+ {
+ get { return _OrderMakeListOver; }
+ set
+ {
+ _OrderMakeListOver = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _OrderMakeListOver = new ObservableCollection();
+
+ ///
+ /// 告警数据
+ ///
+ public ObservableCollection AlarmList
+ {
+ get { return _AlarmList; }
+ set
+ {
+ _AlarmList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _AlarmList = new ObservableCollection();
+
+ #endregion
+ public ScreenMinWokControlViewModel()
+ {
+ Init();
+ }
+
+ ///
+ /// 初始化
+ ///
+ public void Init()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() =>
+ {
+ RunStatus = RunStatus == DevRunStatus.正常 ? DevRunStatus.异常 : DevRunStatus.正常;
+ DevIsRun = DevIsRun == DevIsRun.运行 ? DevIsRun.停止 : DevIsRun.运行;
+ DdCount = new Random().Next(0, 400);
+ YCDdCount = new Random().Next(0, 400);
+
+ List oRDER_s = new List() { ORDER_STATUS.WAIT, ORDER_STATUS.COOKING };
+ List oRDER_s1 = new List() { ORDER_STATUS.COMPLETED_COOK, ORDER_STATUS.COMPLETED_TAKE };
+
+ List name_s = new List() { "担担面", "鸡蛋面", "火鸡面", "扬州炒饭", "回锅肉盖饭" };
+ OrderMakeList = new ObservableCollection();
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "011", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "012", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "013", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "014", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+ OrderMakeListOver = new ObservableCollection();
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "001", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "002", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "003", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "005", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "006", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "008", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "009", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "010", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+
+ AlarmList = new ObservableCollection();
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ Histogram = new[] {
+ new KeyValuePair(name_s[0], new Random().Next(0,400)),
+ new KeyValuePair(name_s[1], new Random().Next(0,400)),
+ new KeyValuePair(name_s[2], new Random().Next(0,400)),
+ new KeyValuePair(name_s[3], new Random().Next(0,400)),
+ new KeyValuePair(name_s[4], new Random().Next(0,400))};
+ }));
+ Thread.Sleep(5000);
+ }), $"{DateTime.Now},线程服务");
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/煮面机/ScreenMorksControl.xaml b/BPASmartClient.ScreenLib/煮面机/ScreenMorksControl.xaml
new file mode 100644
index 00000000..1ed5f368
--- /dev/null
+++ b/BPASmartClient.ScreenLib/煮面机/ScreenMorksControl.xaml
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备是否运行
+
+
+
+
+
+
+
+ 设备当前状态
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 今日订单数
+
+
+
+ 异常订单数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenLib/煮面机/ScreenMorksControl.xaml.cs b/BPASmartClient.ScreenLib/煮面机/ScreenMorksControl.xaml.cs
new file mode 100644
index 00000000..e25e9142
--- /dev/null
+++ b/BPASmartClient.ScreenLib/煮面机/ScreenMorksControl.xaml.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace BPASmartClient.ScreenLib
+{
+ ///
+ /// ScreenMorksControl.xaml 的交互逻辑
+ ///
+ public partial class ScreenMorksControl : UserControl
+ {
+ public ScreenMorksControl()
+ {
+ InitializeComponent();
+ this.DataContext = new ScreenMorksControlViewModel();
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenLib/煮面机/ScreenMorksControlViewModel.cs b/BPASmartClient.ScreenLib/煮面机/ScreenMorksControlViewModel.cs
new file mode 100644
index 00000000..49957813
--- /dev/null
+++ b/BPASmartClient.ScreenLib/煮面机/ScreenMorksControlViewModel.cs
@@ -0,0 +1,191 @@
+using BPA.Helper;
+using BPA.Message.Enum;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.ScreenLib
+{
+ public class ScreenMorksControlViewModel : NotifyBase
+ {
+ #region 变量
+ ///
+ /// 柱状图显示集合
+ ///
+ public IEnumerable> Histogram { get { return _Histogram; } set { _Histogram = value; OnPropertyChanged(); } }
+ private IEnumerable> _Histogram = new List>();
+
+ ///
+ /// 设备是否运行
+ ///
+ public DevIsRun DevIsRun { get { return _DevIsRun; } set { _DevIsRun = value; OnPropertyChanged(); } }
+ private DevIsRun _DevIsRun = DevIsRun.停止;
+
+ ///
+ /// 设备状态
+ ///
+ public DevRunStatus RunStatus { get { return _RunStatus; } set { _RunStatus = value; OnPropertyChanged(); } }
+ private DevRunStatus _RunStatus = DevRunStatus.正常;
+
+ ///
+ /// 订单数
+ ///
+ public int DdCount { get { return _DdCount; } set { _DdCount = value; OnPropertyChanged(); } }
+ private int _DdCount = 0;
+
+ ///
+ /// 异常订单数
+ ///
+ public int YCDdCount { get { return _YCDdCount; } set { _YCDdCount = value; OnPropertyChanged(); } }
+ private int _YCDdCount = 0;
+
+ ///
+ /// 广告地址
+ ///
+ public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } }
+ private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString());
+
+ ///
+ /// 正在制作订单数据
+ ///
+ public ObservableCollection OrderMakeList
+ {
+ get { return _OrderMakeList; }
+ set
+ {
+ _OrderMakeList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _OrderMakeList = new ObservableCollection();
+
+ ///
+ /// 制作完成订单数据
+ ///
+ public ObservableCollection OrderMakeListOver
+ {
+ get { return _OrderMakeListOver; }
+ set
+ {
+ _OrderMakeListOver = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _OrderMakeListOver = new ObservableCollection();
+
+ ///
+ /// 告警数据
+ ///
+ public ObservableCollection AlarmList
+ {
+ get { return _AlarmList; }
+ set
+ {
+ _AlarmList = value;
+ OnPropertyChanged();
+ }
+ }
+ private ObservableCollection _AlarmList = new ObservableCollection();
+
+ #endregion
+ public ScreenMorksControlViewModel()
+ {
+ Init();
+ }
+
+ ///
+ /// 初始化
+ ///
+ public void Init()
+ {
+ ThreadManage.GetInstance().StartLong(new Action(() =>
+ {
+ System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() =>
+ {
+ RunStatus = RunStatus == DevRunStatus.正常 ? DevRunStatus.异常 : DevRunStatus.正常;
+ DevIsRun = DevIsRun == DevIsRun.运行 ? DevIsRun.停止 : DevIsRun.运行;
+ DdCount = new Random().Next(0, 400);
+ YCDdCount = new Random().Next(0, 400);
+
+ List oRDER_s = new List() { ORDER_STATUS.WAIT, ORDER_STATUS.COOKING };
+ List oRDER_s1 = new List() { ORDER_STATUS.COMPLETED_COOK, ORDER_STATUS.COMPLETED_TAKE };
+
+ List name_s = new List() { "担担面", "鸡蛋面", "火鸡面", "扬州炒饭", "回锅肉盖饭" };
+ OrderMakeList = new ObservableCollection();
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "011", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "012", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "013", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "014", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeList.Add(new OrderMakeModel { Status = oRDER_s[new Random().Next(0, 2)], SortNum = "015", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+ OrderMakeListOver = new ObservableCollection();
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "001", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "002", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "003", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "005", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "006", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "008", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "009", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "010", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+ OrderMakeListOver.Add(new OrderMakeModel { Status = oRDER_s1[new Random().Next(0, 2)], SortNum = "007", GoodName = name_s[new Random().Next(0, 5)], StartTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), StopTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") });
+
+
+ AlarmList = new ObservableCollection();
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ AlarmList.Add(new AlarmMsModel { AlarmTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), AlarmMs = "XXXX机构出现故障!!!!" });
+ Histogram = new[] {
+ new KeyValuePair(name_s[0], new Random().Next(0,400)),
+ new KeyValuePair(name_s[1], new Random().Next(0,400)),
+ new KeyValuePair(name_s[2], new Random().Next(0,400)),
+ new KeyValuePair(name_s[3], new Random().Next(0,400)),
+ new KeyValuePair(name_s[4], new Random().Next(0,400))};
+ }));
+ Thread.Sleep(5000);
+ }), $"{DateTime.Now},线程服务");
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenMaxWok/App.config b/BPASmartClient.ScreenMaxWok/App.config
new file mode 100644
index 00000000..04466302
--- /dev/null
+++ b/BPASmartClient.ScreenMaxWok/App.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenMaxWok/App.xaml b/BPASmartClient.ScreenMaxWok/App.xaml
new file mode 100644
index 00000000..b576bde6
--- /dev/null
+++ b/BPASmartClient.ScreenMaxWok/App.xaml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/BPASmartClient.ScreenMaxWok/App.xaml.cs b/BPASmartClient.ScreenMaxWok/App.xaml.cs
new file mode 100644
index 00000000..47bc3aee
--- /dev/null
+++ b/BPASmartClient.ScreenMaxWok/App.xaml.cs
@@ -0,0 +1,27 @@
+using BPASmartClient.ScreenLib;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace BPASmartClient.ScreenMaxWok
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ base.OnStartup(e);
+ AppMain appMain = new AppMain(MainWindow, this.GetType());
+ }
+ protected override void OnExit(ExitEventArgs e)
+ {
+ base.OnExit(e);
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenMaxWok/AssemblyInfo.cs b/BPASmartClient.ScreenMaxWok/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/BPASmartClient.ScreenMaxWok/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/BPASmartClient.ScreenMaxWok/BPASmartClient.ScreenMaxWok.csproj b/BPASmartClient.ScreenMaxWok/BPASmartClient.ScreenMaxWok.csproj
new file mode 100644
index 00000000..e63a510e
--- /dev/null
+++ b/BPASmartClient.ScreenMaxWok/BPASmartClient.ScreenMaxWok.csproj
@@ -0,0 +1,23 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ 大炒大屏
+ hbl.ico
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
diff --git a/BPASmartClient.ScreenMaxWok/hbl.ico b/BPASmartClient.ScreenMaxWok/hbl.ico
new file mode 100644
index 00000000..cf89051a
Binary files /dev/null and b/BPASmartClient.ScreenMaxWok/hbl.ico differ
diff --git a/BPASmartClient.ScreenMinWok/App.config b/BPASmartClient.ScreenMinWok/App.config
new file mode 100644
index 00000000..04466302
--- /dev/null
+++ b/BPASmartClient.ScreenMinWok/App.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenMinWok/App.xaml b/BPASmartClient.ScreenMinWok/App.xaml
new file mode 100644
index 00000000..b96ef742
--- /dev/null
+++ b/BPASmartClient.ScreenMinWok/App.xaml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/BPASmartClient.ScreenMinWok/App.xaml.cs b/BPASmartClient.ScreenMinWok/App.xaml.cs
new file mode 100644
index 00000000..9bb78d48
--- /dev/null
+++ b/BPASmartClient.ScreenMinWok/App.xaml.cs
@@ -0,0 +1,27 @@
+using BPASmartClient.ScreenLib;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace BPASmartClient.ScreenMinWok
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ base.OnStartup(e);
+ AppMain appMain = new AppMain(MainWindow, this.GetType());
+ }
+ protected override void OnExit(ExitEventArgs e)
+ {
+ base.OnExit(e);
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenMinWok/AssemblyInfo.cs b/BPASmartClient.ScreenMinWok/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/BPASmartClient.ScreenMinWok/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/BPASmartClient.ScreenMinWok/BPASmartClient.ScreenMinWok.csproj b/BPASmartClient.ScreenMinWok/BPASmartClient.ScreenMinWok.csproj
new file mode 100644
index 00000000..d5f51898
--- /dev/null
+++ b/BPASmartClient.ScreenMinWok/BPASmartClient.ScreenMinWok.csproj
@@ -0,0 +1,24 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ 小炒大屏
+ hbl.ico
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
diff --git a/BPASmartClient.ScreenMinWok/hbl.ico b/BPASmartClient.ScreenMinWok/hbl.ico
new file mode 100644
index 00000000..cf89051a
Binary files /dev/null and b/BPASmartClient.ScreenMinWok/hbl.ico differ
diff --git a/BPASmartClient.ScreenMorks/App.config b/BPASmartClient.ScreenMorks/App.config
new file mode 100644
index 00000000..04466302
--- /dev/null
+++ b/BPASmartClient.ScreenMorks/App.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenMorks/App.xaml b/BPASmartClient.ScreenMorks/App.xaml
new file mode 100644
index 00000000..a8572be5
--- /dev/null
+++ b/BPASmartClient.ScreenMorks/App.xaml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/BPASmartClient.ScreenMorks/App.xaml.cs b/BPASmartClient.ScreenMorks/App.xaml.cs
new file mode 100644
index 00000000..e2336c8f
--- /dev/null
+++ b/BPASmartClient.ScreenMorks/App.xaml.cs
@@ -0,0 +1,27 @@
+using BPASmartClient.ScreenLib;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace BPASmartClient.ScreenMorks
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ base.OnStartup(e);
+ AppMain appMain = new AppMain(MainWindow, this.GetType());
+ }
+ protected override void OnExit(ExitEventArgs e)
+ {
+ base.OnExit(e);
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenMorks/AssemblyInfo.cs b/BPASmartClient.ScreenMorks/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/BPASmartClient.ScreenMorks/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/BPASmartClient.ScreenMorks/BPASmartClient.ScreenMorks.csproj b/BPASmartClient.ScreenMorks/BPASmartClient.ScreenMorks.csproj
new file mode 100644
index 00000000..c9bc9753
--- /dev/null
+++ b/BPASmartClient.ScreenMorks/BPASmartClient.ScreenMorks.csproj
@@ -0,0 +1,24 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ 煮面机大屏
+ hbl.ico
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
diff --git a/BPASmartClient.ScreenMorks/hbl.ico b/BPASmartClient.ScreenMorks/hbl.ico
new file mode 100644
index 00000000..cf89051a
Binary files /dev/null and b/BPASmartClient.ScreenMorks/hbl.ico differ
diff --git a/BPASmartClient.ScreenSplitMeals/App.config b/BPASmartClient.ScreenSplitMeals/App.config
new file mode 100644
index 00000000..04466302
--- /dev/null
+++ b/BPASmartClient.ScreenSplitMeals/App.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BPASmartClient.ScreenSplitMeals/App.xaml b/BPASmartClient.ScreenSplitMeals/App.xaml
new file mode 100644
index 00000000..b2da9ba6
--- /dev/null
+++ b/BPASmartClient.ScreenSplitMeals/App.xaml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/BPASmartClient.ScreenSplitMeals/App.xaml.cs b/BPASmartClient.ScreenSplitMeals/App.xaml.cs
new file mode 100644
index 00000000..55eaf823
--- /dev/null
+++ b/BPASmartClient.ScreenSplitMeals/App.xaml.cs
@@ -0,0 +1,27 @@
+using BPASmartClient.ScreenLib;
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace BPASmartClient.ScreenSplitMeals
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ base.OnStartup(e);
+ AppMain appMain = new AppMain(MainWindow, this.GetType());
+ }
+ protected override void OnExit(ExitEventArgs e)
+ {
+ base.OnExit(e);
+ }
+ }
+}
diff --git a/BPASmartClient.ScreenSplitMeals/AssemblyInfo.cs b/BPASmartClient.ScreenSplitMeals/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/BPASmartClient.ScreenSplitMeals/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/BPASmartClient.ScreenSplitMeals/BPASmartClient.ScreenSplitMeals.csproj b/BPASmartClient.ScreenSplitMeals/BPASmartClient.ScreenSplitMeals.csproj
new file mode 100644
index 00000000..f60a0293
--- /dev/null
+++ b/BPASmartClient.ScreenSplitMeals/BPASmartClient.ScreenSplitMeals.csproj
@@ -0,0 +1,24 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ 分餐机大屏
+ hbl.ico
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+
diff --git a/BPASmartClient.ScreenSplitMeals/hbl.ico b/BPASmartClient.ScreenSplitMeals/hbl.ico
new file mode 100644
index 00000000..cf89051a
Binary files /dev/null and b/BPASmartClient.ScreenSplitMeals/hbl.ico differ
diff --git a/SmartClient.sln b/SmartClient.sln
index 69fbd772..35a590d8 100644
--- a/SmartClient.sln
+++ b/SmartClient.sln
@@ -172,7 +172,25 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkMOC", "B
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmart.MenuLoad", "BPASmart.MenuLoad\BPASmart.MenuLoad.csproj", "{7A7547D3-F2EF-4DA4-AD45-D1B49210082B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.MorkBF", "BPASmartClient.MorkBF\BPASmartClient.MorkBF.csproj", "{CD0FBCF1-9C49-4032-96AD-B9E25F86F2A7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkBF", "BPASmartClient.MorkBF\BPASmartClient.MorkBF.csproj", "{CD0FBCF1-9C49-4032-96AD-B9E25F86F2A7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "7.DeviceMotion", "7.DeviceMotion", "{7BE13E55-D8B1-4232-AE63-8BF122633297}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "公共库", "公共库", "{C6984F48-A0FE-47A4-B63B-E4E5BCFCD6D3}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "大屏实例", "大屏实例", "{C5968A90-F4CF-4904-88C4-62C77C820A04}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.ScreenALL", "BPASmartClient.ScreenALL\BPASmartClient.ScreenALL.csproj", "{0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.ScreenMorks", "BPASmartClient.ScreenMorks\BPASmartClient.ScreenMorks.csproj", "{91F3A678-35A1-4779-B802-196C0A9A87A5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.ScreenMaxWok", "BPASmartClient.ScreenMaxWok\BPASmartClient.ScreenMaxWok.csproj", "{95D47D8E-A5DA-446D-A338-9F4564628547}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.ScreenMinWok", "BPASmartClient.ScreenMinWok\BPASmartClient.ScreenMinWok.csproj", "{286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.ScreenSplitMeals", "BPASmartClient.ScreenSplitMeals\BPASmartClient.ScreenSplitMeals.csproj", "{135A0978-351F-4727-82CE-2B7A8632AF1B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.ScreenLib", "BPASmartClient.ScreenLib\BPASmartClient.ScreenLib.csproj", "{798BBFFE-3BA2-40BA-BFE1-9502398F1F08}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -1648,6 +1666,126 @@ Global
{CD0FBCF1-9C49-4032-96AD-B9E25F86F2A7}.Release|x64.Build.0 = Release|Any CPU
{CD0FBCF1-9C49-4032-96AD-B9E25F86F2A7}.Release|x86.ActiveCfg = Release|Any CPU
{CD0FBCF1-9C49-4032-96AD-B9E25F86F2A7}.Release|x86.Build.0 = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|ARM.Build.0 = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|x64.Build.0 = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Debug|x86.Build.0 = Debug|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|ARM.ActiveCfg = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|ARM.Build.0 = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|ARM64.Build.0 = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|x64.ActiveCfg = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|x64.Build.0 = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|x86.ActiveCfg = Release|Any CPU
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761}.Release|x86.Build.0 = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|ARM.Build.0 = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|x64.Build.0 = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Debug|x86.Build.0 = Debug|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|ARM.ActiveCfg = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|ARM.Build.0 = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|ARM64.Build.0 = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|x64.ActiveCfg = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|x64.Build.0 = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|x86.ActiveCfg = Release|Any CPU
+ {91F3A678-35A1-4779-B802-196C0A9A87A5}.Release|x86.Build.0 = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|ARM.Build.0 = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|x64.Build.0 = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Debug|x86.Build.0 = Debug|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|Any CPU.Build.0 = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|ARM.ActiveCfg = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|ARM.Build.0 = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|ARM64.Build.0 = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|x64.ActiveCfg = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|x64.Build.0 = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|x86.ActiveCfg = Release|Any CPU
+ {95D47D8E-A5DA-446D-A338-9F4564628547}.Release|x86.Build.0 = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|ARM.Build.0 = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|x64.Build.0 = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Debug|x86.Build.0 = Debug|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|Any CPU.Build.0 = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|ARM.ActiveCfg = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|ARM.Build.0 = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|ARM64.Build.0 = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|x64.ActiveCfg = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|x64.Build.0 = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|x86.ActiveCfg = Release|Any CPU
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48}.Release|x86.Build.0 = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|ARM.Build.0 = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|x64.Build.0 = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Debug|x86.Build.0 = Debug|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|ARM.ActiveCfg = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|ARM.Build.0 = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|ARM64.Build.0 = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|x64.ActiveCfg = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|x64.Build.0 = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|x86.ActiveCfg = Release|Any CPU
+ {135A0978-351F-4727-82CE-2B7A8632AF1B}.Release|x86.Build.0 = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|ARM.Build.0 = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|x64.Build.0 = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Debug|x86.Build.0 = Debug|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|Any CPU.Build.0 = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|ARM.ActiveCfg = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|ARM.Build.0 = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|ARM64.Build.0 = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|x64.ActiveCfg = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|x64.Build.0 = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|x86.ActiveCfg = Release|Any CPU
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1728,6 +1866,14 @@ Global
{D5081D7B-3EBB-42C7-8FB9-A889870D08C2} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F}
{7A7547D3-F2EF-4DA4-AD45-D1B49210082B} = {06F0B369-0483-46DD-82D2-70431FB505C1}
{CD0FBCF1-9C49-4032-96AD-B9E25F86F2A7} = {9FB27073-61A0-4FE3-94DB-5FDDE062332F}
+ {C6984F48-A0FE-47A4-B63B-E4E5BCFCD6D3} = {7BE13E55-D8B1-4232-AE63-8BF122633297}
+ {C5968A90-F4CF-4904-88C4-62C77C820A04} = {7BE13E55-D8B1-4232-AE63-8BF122633297}
+ {0C3CDAFA-5A4B-4E4B-AB7D-3B4EF0ECB761} = {C5968A90-F4CF-4904-88C4-62C77C820A04}
+ {91F3A678-35A1-4779-B802-196C0A9A87A5} = {C5968A90-F4CF-4904-88C4-62C77C820A04}
+ {95D47D8E-A5DA-446D-A338-9F4564628547} = {C5968A90-F4CF-4904-88C4-62C77C820A04}
+ {286A2E28-B04E-4EA6-9017-D6FA6F8B9A48} = {C5968A90-F4CF-4904-88C4-62C77C820A04}
+ {135A0978-351F-4727-82CE-2B7A8632AF1B} = {C5968A90-F4CF-4904-88C4-62C77C820A04}
+ {798BBFFE-3BA2-40BA-BFE1-9502398F1F08} = {C6984F48-A0FE-47A4-B63B-E4E5BCFCD6D3}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9AEC9B81-0222-4DE9-B642-D915C29222AC}