From 82a3be784e00f10254739c64ff647d9921335f86 Mon Sep 17 00:00:00 2001 From: "liulb@mesnac.com" Date: Tue, 5 Dec 2023 23:16:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E6=A3=80=E6=95=B0=E6=8D=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Admin.Core.Api/Admin.Core.Api.csproj | 1 - .../ElectricalinspectionController.cs | 110 ++++++++++++++++++ .../IDetailElectricalinspectionRepository.cs | 13 +++ .../IRecordElectricalinspectionRepository.cs | 13 +++ .../IDetailElectricalinspectionService.cs | 19 +++ .../IRecordElectricalinspectionService.cs | 23 ++++ .../Model_New/DetailElectricalinspection.cs | 51 ++++++++ .../Model_New/RecordElectricalinspection.cs | 50 ++++++++ .../DetailElectricalinspectionRepository.cs | 13 +++ .../RecordElectricalinspectionRepository.cs | 22 ++++ .../DetailElectricalinspectionServices.cs | 46 ++++++++ .../RecordElectricalinspectionServices.cs | 41 +++++++ .../Views/FoamMonitorPageView.xaml | 6 +- Aucma.Core.BoxFoam/Views/IndexPageView.xaml | 4 +- Aucma.Core.BoxFoam/Views/MainWindow.xaml | 3 +- Aucma.Core.Palletiz/Views/IndexPageView.xaml | 2 +- Aucma.Core.PrintTo/Views/IndexPageView.xaml | 19 ++- Aucma.Core.SheetMetal/App.xaml | 2 +- .../ViewModels/MainWindowViewModel.cs | 1 + 19 files changed, 420 insertions(+), 19 deletions(-) create mode 100644 Admin.Core.Api/Controllers/Business/ElectricalinspectionController.cs create mode 100644 Admin.Core.IRepository/IRepository_New/IDetailElectricalinspectionRepository.cs create mode 100644 Admin.Core.IRepository/IRepository_New/IRecordElectricalinspectionRepository.cs create mode 100644 Admin.Core.IService/IService_New/IDetailElectricalinspectionService.cs create mode 100644 Admin.Core.IService/IService_New/IRecordElectricalinspectionService.cs create mode 100644 Admin.Core.Model/Model_New/DetailElectricalinspection.cs create mode 100644 Admin.Core.Model/Model_New/RecordElectricalinspection.cs create mode 100644 Admin.Core.Repository/Repository_New/DetailElectricalinspectionRepository.cs create mode 100644 Admin.Core.Repository/Repository_New/RecordElectricalinspectionRepository.cs create mode 100644 Admin.Core.Service/Service_New/DetailElectricalinspectionServices.cs create mode 100644 Admin.Core.Service/Service_New/RecordElectricalinspectionServices.cs diff --git a/Admin.Core.Api/Admin.Core.Api.csproj b/Admin.Core.Api/Admin.Core.Api.csproj index 41d9ff85..4c66a731 100644 --- a/Admin.Core.Api/Admin.Core.Api.csproj +++ b/Admin.Core.Api/Admin.Core.Api.csproj @@ -41,7 +41,6 @@ - diff --git a/Admin.Core.Api/Controllers/Business/ElectricalinspectionController.cs b/Admin.Core.Api/Controllers/Business/ElectricalinspectionController.cs new file mode 100644 index 00000000..3489f4a4 --- /dev/null +++ b/Admin.Core.Api/Controllers/Business/ElectricalinspectionController.cs @@ -0,0 +1,110 @@ +using Admin.Core.Api; +using Admin.Core.Common; +using Admin.Core.IService; +using Admin.Core.IService.ISys; +using Admin.Core.Model; +using Admin.Core.Service; +using Admin.Core.Service.Sys; +using log4net; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using StackExchange.Profiling.Internal; +using System; +using System.Collections.Generic; + +namespace Aucma.Scada.Api.Controllers +{ + /// + /// 电检数据接口 + /// + [Route("api/[controller]/[action]")] + [ApiController] + [Authorize(Permissions.Name)] + public class ElectricalinspectionController : BaseApiUserController + { + private static readonly log4net.ILog _logger = LogManager.GetLogger(typeof(ElectricalinspectionController)); + private readonly ISysConfigService _sysConfigService; + private IRecordElectricalinspectionService _recordElectricalinspectionService; + private IDetailElectricalinspectionService _detailElectricalinspectionService; + + /// + /// 构造方法 + /// + /// + /// + /// + /// + public ElectricalinspectionController(ISysConfigService SysConfigService, ISysUserService sysUserService,IRecordElectricalinspectionService recordElectricalinspectionService, IDetailElectricalinspectionService detailElectricalinspectionService) : base(sysUserService) + { + _sysConfigService = SysConfigService; + _sysUserService = sysUserService; + _recordElectricalinspectionService = recordElectricalinspectionService; + _detailElectricalinspectionService = detailElectricalinspectionService; + } + + /// + /// 保存电检数据 + /// + /// + /// + [HttpPost] + public IActionResult save([FromBody]RecordElectricalinspection electricalinspection) + { + _logger.Info($"收到电检数据:{electricalinspection.ToJson()}"); + + if (electricalinspection == null) + { + return BadRequest(); + } + + try + { + electricalinspection.Recordtime = DateTime.Now; + + var testDataStr = electricalinspection.Testdata; + + electricalinspection.Testdata = System.Guid.NewGuid().ToString(); + + #region 解析TestData + string[] str = testDataStr.ToString().Split(";"); + + List detailElectricalinspections = new List(); + foreach (string item in str) + { + if (!string.IsNullOrEmpty(item)) + { + string[] items = item.Split("|"); + + if (items.Length == 5) + { + DetailElectricalinspection detailElectricalinspection = new DetailElectricalinspection(); + detailElectricalinspection.Uuid = electricalinspection.Testdata; + detailElectricalinspection.Serialnumber = Convert.ToDecimal(items[0]); + detailElectricalinspection.Projectname = items[1].ToString(); + detailElectricalinspection.Testcondition = items[2].ToString(); + detailElectricalinspection.Testvalue = items[3].ToString(); + detailElectricalinspection.Testresult = items[4].ToString(); + detailElectricalinspection.Recordtime = DateTime.Now; + detailElectricalinspections.Add(detailElectricalinspection); + } + } + } + #endregion + + _logger.Info($"电检明细解析完成:{detailElectricalinspections.ToJson()}"); + + _recordElectricalinspectionService.InsertRecordElectricalinspection(electricalinspection); + + _detailElectricalinspectionService.InsertRangeDetailElectricalinspection(detailElectricalinspections); + + } + catch(Exception ex) + { + _logger.Error($"电检数据处理异常:{ex.Message}"); + } + + return Ok(); + } + } +} diff --git a/Admin.Core.IRepository/IRepository_New/IDetailElectricalinspectionRepository.cs b/Admin.Core.IRepository/IRepository_New/IDetailElectricalinspectionRepository.cs new file mode 100644 index 00000000..3d485289 --- /dev/null +++ b/Admin.Core.IRepository/IRepository_New/IDetailElectricalinspectionRepository.cs @@ -0,0 +1,13 @@ +using Admin.Core.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.IRepository +{ + public interface IDetailElectricalinspectionRepository : IBaseRepository + { + } +} diff --git a/Admin.Core.IRepository/IRepository_New/IRecordElectricalinspectionRepository.cs b/Admin.Core.IRepository/IRepository_New/IRecordElectricalinspectionRepository.cs new file mode 100644 index 00000000..9f6f6daf --- /dev/null +++ b/Admin.Core.IRepository/IRepository_New/IRecordElectricalinspectionRepository.cs @@ -0,0 +1,13 @@ +using Admin.Core.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.IRepository +{ + public interface IRecordElectricalinspectionRepository : IBaseRepository + { + } +} diff --git a/Admin.Core.IService/IService_New/IDetailElectricalinspectionService.cs b/Admin.Core.IService/IService_New/IDetailElectricalinspectionService.cs new file mode 100644 index 00000000..b65e9f3c --- /dev/null +++ b/Admin.Core.IService/IService_New/IDetailElectricalinspectionService.cs @@ -0,0 +1,19 @@ +using Admin.Core.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.IService +{ + public interface IDetailElectricalinspectionService + { + /// + /// 保存电检明细数据 + /// + /// + /// + bool InsertRangeDetailElectricalinspection(List detailElectricalinspections); + } +} diff --git a/Admin.Core.IService/IService_New/IRecordElectricalinspectionService.cs b/Admin.Core.IService/IService_New/IRecordElectricalinspectionService.cs new file mode 100644 index 00000000..26b3a51f --- /dev/null +++ b/Admin.Core.IService/IService_New/IRecordElectricalinspectionService.cs @@ -0,0 +1,23 @@ +using Admin.Core.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.IService +{ + /// + /// 电检数据记录 + /// + public interface IRecordElectricalinspectionService + { + + /// + /// 保存电检数据 + /// + /// + /// + bool InsertRecordElectricalinspection(RecordElectricalinspection electricalinspection); + } +} diff --git a/Admin.Core.Model/Model_New/DetailElectricalinspection.cs b/Admin.Core.Model/Model_New/DetailElectricalinspection.cs new file mode 100644 index 00000000..763057c1 --- /dev/null +++ b/Admin.Core.Model/Model_New/DetailElectricalinspection.cs @@ -0,0 +1,51 @@ +using SqlSugar; +using System; +using System.Runtime.Serialization; +using System.Xml.Linq; + +namespace Admin.Core.Model +{ + /// + /// 电检数据明细 + /// + [SugarTable("DETAIL_ELECTRICALINSPECTION"), TenantAttribute("scada")] + [DataContract(Name = "DetailElectricalinspection 电检数据明细")] + public class DetailElectricalinspection + { + /// + /// 标识 + /// + [SugarColumn(ColumnName = "UUID")] + public string Uuid { get; set; } + /// + /// 序号 + /// + [SugarColumn(ColumnName = "SERIALNUMBER")] + public decimal? Serialnumber { get; set; } + /// + /// 项目名称 + /// + [SugarColumn(ColumnName = "PROJECTNAME")] + public string Projectname { get; set; } + /// + /// 测试条件 + /// + [SugarColumn(ColumnName = "TESTCONDITION")] + public string Testcondition { get; set; } + /// + /// 测试值 + /// + [SugarColumn(ColumnName = "TESTVALUE")] + public string Testvalue { get; set; } + /// + /// 测试结果 + /// + [SugarColumn(ColumnName = "TESTRESULT")] + public string Testresult { get; set; } + /// + /// 记录时间 + /// + [SugarColumn(ColumnName = "RECORDTIME")] + public DateTime Recordtime { get; set; } + } +} diff --git a/Admin.Core.Model/Model_New/RecordElectricalinspection.cs b/Admin.Core.Model/Model_New/RecordElectricalinspection.cs new file mode 100644 index 00000000..547d5a7d --- /dev/null +++ b/Admin.Core.Model/Model_New/RecordElectricalinspection.cs @@ -0,0 +1,50 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Linq; + +namespace Admin.Core.Model +{ + /// + /// 电检数据记录 + /// + [SugarTable("RECORD_ELECTRICALINSPECTION"), TenantAttribute("scada")] + [DataContract(Name = "RecordElectricalinspection 电检数据记录")] + public class RecordElectricalinspection + { + /// + /// 唯一标识 + /// + [SugarColumn(ColumnName = "UUID")] + public string Uuid { get; set; } + /// + /// 测试总结果 + /// + [SugarColumn(ColumnName = "RESULT")] + public string Result { get; set; } + /// + /// 产品条码 + /// + [SugarColumn(ColumnName = "BARCODE")] + public string Barcode { get; set; } + /// + /// 测试时间 + /// + [SugarColumn(ColumnName = "TESTTIME")] + public string Testtime { get; set; } + /// + /// 测试数据 + /// + [SugarColumn(ColumnName = "TESTDATA")] + public string Testdata { get; set; } + /// + /// 记录时间 + /// + [SugarColumn(ColumnName = "RECORDTIME")] + public DateTime Recordtime { get; set; } + } +} diff --git a/Admin.Core.Repository/Repository_New/DetailElectricalinspectionRepository.cs b/Admin.Core.Repository/Repository_New/DetailElectricalinspectionRepository.cs new file mode 100644 index 00000000..46d3769e --- /dev/null +++ b/Admin.Core.Repository/Repository_New/DetailElectricalinspectionRepository.cs @@ -0,0 +1,13 @@ +using Admin.Core.IRepository; +using Admin.Core.Model; + +namespace Admin.Core.Repository +{ + public class DetailElectricalinspectionRepository : BaseRepository, IDetailElectricalinspectionRepository + { + public DetailElectricalinspectionRepository(IUnitOfWork unitOfWork) : base(unitOfWork) + { + } + + } +} diff --git a/Admin.Core.Repository/Repository_New/RecordElectricalinspectionRepository.cs b/Admin.Core.Repository/Repository_New/RecordElectricalinspectionRepository.cs new file mode 100644 index 00000000..cf5de5eb --- /dev/null +++ b/Admin.Core.Repository/Repository_New/RecordElectricalinspectionRepository.cs @@ -0,0 +1,22 @@ +using Admin.Core.IRepository; +using Admin.Core.Model; +using log4net; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.Repository +{ + internal class RecordElectricalinspectionRepository : BaseRepository, IRecordElectricalinspectionRepository + { + private IBaseRepository _dal; + + public RecordElectricalinspectionRepository(IUnitOfWork unitOfWork) : base(unitOfWork) + { + } + + } +} diff --git a/Admin.Core.Service/Service_New/DetailElectricalinspectionServices.cs b/Admin.Core.Service/Service_New/DetailElectricalinspectionServices.cs new file mode 100644 index 00000000..f46d037c --- /dev/null +++ b/Admin.Core.Service/Service_New/DetailElectricalinspectionServices.cs @@ -0,0 +1,46 @@ +using Admin.Core.IRepository; +using Admin.Core.IService; +using Admin.Core.Model; +using log4net; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.Service +{ + public class DetailElectricalinspectionServices : BaseServices, IDetailElectricalinspectionService + { + private IBaseRepository _dal; + + private static readonly log4net.ILog _logger = LogManager.GetLogger(typeof(DetailElectricalinspectionServices)); + + public DetailElectricalinspectionServices(IBaseRepository dal) + { + this._dal = dal; + base.BaseDal = dal; + } + + public bool InsertRangeDetailElectricalinspection(List detailElectricalinspections) + { + bool result = false; + + try + { + var r = _dal.AddAsync(detailElectricalinspections).Result; + if (r>0) + { + result = true; + } + } + catch (Exception ex) + { + _logger.Error($"电检明细数据保存异常:{ex.Message}"); + } + + return result; + } + } +} diff --git a/Admin.Core.Service/Service_New/RecordElectricalinspectionServices.cs b/Admin.Core.Service/Service_New/RecordElectricalinspectionServices.cs new file mode 100644 index 00000000..532d7970 --- /dev/null +++ b/Admin.Core.Service/Service_New/RecordElectricalinspectionServices.cs @@ -0,0 +1,41 @@ +using Admin.Core.IRepository; +using Admin.Core.IService; +using Admin.Core.Model; +using log4net; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.Service +{ + internal class RecordElectricalinspectionServices : BaseServices, IRecordElectricalinspectionService + { + private IBaseRepository _dal; + private static readonly log4net.ILog _logger = LogManager.GetLogger(typeof(RecordElectricalinspectionServices)); + + public RecordElectricalinspectionServices(IBaseRepository dal) + { + this._dal = dal; + base.BaseDal = dal; + } + + public bool InsertRecordElectricalinspection(RecordElectricalinspection electricalinspection) + { + bool result = false; + + try + { + var r = _dal.AddAsync(electricalinspection).Result; + if (r >0) { result = true; } + }catch(Exception ex) + { + _logger.Error($"电检数据保存异常:{ex.Message}"); + } + + return result; + } + } +} diff --git a/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml b/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml index e000e100..1f4bc9de 100644 --- a/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml +++ b/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml @@ -67,7 +67,7 @@ - + @@ -154,10 +154,10 @@ - + - + diff --git a/Aucma.Core.BoxFoam/Views/IndexPageView.xaml b/Aucma.Core.BoxFoam/Views/IndexPageView.xaml index 37f52066..5beccb41 100644 --- a/Aucma.Core.BoxFoam/Views/IndexPageView.xaml +++ b/Aucma.Core.BoxFoam/Views/IndexPageView.xaml @@ -125,7 +125,7 @@ - + @@ -197,7 +197,7 @@ - + diff --git a/Aucma.Core.BoxFoam/Views/MainWindow.xaml b/Aucma.Core.BoxFoam/Views/MainWindow.xaml index 87cfaff5..1ac2f6a3 100644 --- a/Aucma.Core.BoxFoam/Views/MainWindow.xaml +++ b/Aucma.Core.BoxFoam/Views/MainWindow.xaml @@ -69,7 +69,8 @@