From 0b82efcda3a9fd28798dddd28252b44d1913f4af Mon Sep 17 00:00:00 2001 From: wenjy Date: Thu, 19 Sep 2024 10:27:55 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E7=9B=91=E6=8E=A7=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E6=89=AB=E6=8F=8F=E6=95=B0=E6=8D=AE=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.Business/SlnMesnac.Business.csproj | 4 + SlnMesnac.Business/TagScanBusiness.cs | 75 +++++++++++++++++++ SlnMesnac.TouchSocket/ApiServer.cs | 11 +-- .../Page/History/HistoryControl.xaml | 25 ++++++- SlnMesnac.WPF/Page/IndexControl.xaml | 4 +- SlnMesnac.WPF/ViewModel/IndexViewModel.cs | 44 ++++++++--- 6 files changed, 142 insertions(+), 21 deletions(-) create mode 100644 SlnMesnac.Business/TagScanBusiness.cs diff --git a/SlnMesnac.Business/SlnMesnac.Business.csproj b/SlnMesnac.Business/SlnMesnac.Business.csproj index 8ef8970..7786b98 100644 --- a/SlnMesnac.Business/SlnMesnac.Business.csproj +++ b/SlnMesnac.Business/SlnMesnac.Business.csproj @@ -5,4 +5,8 @@ enable + + + + diff --git a/SlnMesnac.Business/TagScanBusiness.cs b/SlnMesnac.Business/TagScanBusiness.cs new file mode 100644 index 0000000..28b7ad9 --- /dev/null +++ b/SlnMesnac.Business/TagScanBusiness.cs @@ -0,0 +1,75 @@ +using SlnMesnac.Model.domain; +using SlnMesnac.TouchSocket; +using System; +using System.Collections.Generic; +using System.Text; + +#region << 版 本 注 释 >> +/*-------------------------------------------------------------------- +* 版权所有 (c) 2024 WenJY 保留所有权利。 +* CLR版本:4.0.30319.42000 +* 机器名称:T14-GEN3-7895 +* 命名空间:SlnMesnac.Business +* 唯一标识:1a936e54-f672-4d86-b9bd-2747b75d4732 +* +* 创建者:WenJY +* 电子邮箱: +* 创建时间:2024-09-19 9:49:11 +* 版本:V1.0.0 +* 描述: +* +*-------------------------------------------------------------------- +* 修改人: +* 时间: +* 修改说明: +* +* 版本:V1.0.0 +*--------------------------------------------------------------------*/ +#endregion << 版 本 注 释 >> +namespace SlnMesnac.Business +{ + public class TagScanBusiness + { + private ApiServer apiServer; + + public delegate void RefreshTagScanInfo(ScanLogModel scanLogModel); + public event RefreshTagScanInfo? RefreshTagScanInfoEvent; + + public delegate void RefreshDeviceAlarmMessage(string message); + public event RefreshDeviceAlarmMessage? RefreshDeviceAlarmMessageEvent; + + + public TagScanBusiness(ApiServer apiServer) + { + this.apiServer = apiServer; + + this.RefreshScanInfo(); + } + + private void RefreshScanInfo() + { + //扫描记录刷新 + apiServer.ScanLogSocketAction += scan => + { + RefreshTagScanInfoEvent?.Invoke(scan); + }; + + //告警状态刷新 + apiServer.ScanStatusSocketAction += info => + { + if (info != null && info.is_alarm == 1) + { + if (info.status_txt != null) + { + foreach (var item in info.status_txt) + { + RefreshDeviceAlarmMessageEvent?.Invoke(item); + } + } + } + }; + } + + + } +} diff --git a/SlnMesnac.TouchSocket/ApiServer.cs b/SlnMesnac.TouchSocket/ApiServer.cs index 6d0ab5b..dea7aaa 100644 --- a/SlnMesnac.TouchSocket/ApiServer.cs +++ b/SlnMesnac.TouchSocket/ApiServer.cs @@ -17,7 +17,7 @@ namespace SlnMesnac.TouchSocket private readonly IBaseCodeService _baseCodeService; - public Action? ScanLogSocketAction; + public Action? ScanLogSocketAction; //Update By WenJY 2024-09-19将返回值改为ScanLogModel public Action? ScanStatusSocketAction; @@ -71,8 +71,7 @@ namespace SlnMesnac.TouchSocket [WebApi(HttpMethodType.POST)] public Back ScanBack(ScanLogSocket scanStatus) { - ScanLogSocketAction?.Invoke(scanStatus); - _scanService.Insert(new ScanLogModel() + var scan = new ScanLogModel() { CreateTime = scanStatus.CreateTime, DataType = scanStatus.data_type, @@ -80,8 +79,10 @@ namespace SlnMesnac.TouchSocket Rfid = scanStatus.rfid, Ocr = scanStatus.ocr, Url = scanStatus.url - - }); + + }; + ScanLogSocketAction?.Invoke(scan); //Update By WenJY 2024-09-19将返回值改为ScanLogModel + _scanService.Insert(scan); return new Back(); } } diff --git a/SlnMesnac.WPF/Page/History/HistoryControl.xaml b/SlnMesnac.WPF/Page/History/HistoryControl.xaml index 7c8f692..947c4f8 100644 --- a/SlnMesnac.WPF/Page/History/HistoryControl.xaml +++ b/SlnMesnac.WPF/Page/History/HistoryControl.xaml @@ -12,16 +12,35 @@ - + + + + + + + + + + + + + + + + + +