From 9b6912ff84ff8c306f452518604ff86bf3b14658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Thu, 6 Mar 2025 17:52:51 +0800 Subject: [PATCH] =?UTF-8?q?linux=E5=AF=B9=E6=8E=A5=E6=88=90=E5=8A=9F?= =?UTF-8?q?=EF=BC=8C=E5=90=91MES=E5=8F=91=E6=B6=88=E6=81=AF=E6=88=90?= =?UTF-8?q?=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Bydlms/BydAlarmMsgController.cs | 42 ++++++++++++++++++ .../Bydlms/BydProductionStationController.cs | 21 +++++++++ DOAN.Model/Bydlms/BydAlarmMsg.cs | 2 +- DOAN.Model/Bydlms/DataUpload.cs | 35 ++++++++++++++- DOAN.Model/Bydlms/Dto/BydAlarmMsgDto.cs | 4 +- DOAN.Service/Bydlms/BydAlarmMsgService.cs | 44 +++++++++++++++++++ .../Bydlms/BydProductionStationService.cs | 22 ++++++++++ .../IBydlmsService/IBydAlarmMsgService.cs | 3 ++ .../IBydProductionStationService.cs | 3 ++ 9 files changed, 171 insertions(+), 5 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/Bydlms/BydAlarmMsgController.cs b/DOAN.Admin.WebApi/Controllers/Bydlms/BydAlarmMsgController.cs index e0ffa73..ff1b802 100644 --- a/DOAN.Admin.WebApi/Controllers/Bydlms/BydAlarmMsgController.cs +++ b/DOAN.Admin.WebApi/Controllers/Bydlms/BydAlarmMsgController.cs @@ -3,6 +3,7 @@ using DOAN.Model.Bydlms.Dto; using DOAN.Model.Bydlms; using DOAN.Service.Bydlms.IBydlmsService; using DOAN.Admin.WebApi.Filters; +using SqlSugar; //创建时间:2025-02-19 namespace DOAN.Admin.WebApi.Controllers.Bydlms @@ -69,6 +70,47 @@ namespace DOAN.Admin.WebApi.Controllers.Bydlms return SUCCESS(response); } + /// + /// 批量添加产线MES预警消息记录 + /// + /// + [HttpPost("BatchAddBydAlarmMsg")] + [AllowAnonymous] + [Log(Title = "批量上传产线MES预警消息记录", BusinessType = BusinessType.INSERT)] + public IActionResult BatchAddBydAlarmMsg([FromBody] AlarmUploadData parm) + { + try + { + if (parm == null || parm.data.Count == 0) + { + return ToResponse(new ApiResult(500, "传入数据为空")); + } + // 为每个对象生成唯一ID + foreach (var item in parm.data) + { + item.Id = SnowFlakeSingle.Instance.NextId().ToString(); + item.ServiceId = parm.serviceId; + item.FactoryCode = parm.factoryCode; + item.Type = "1"; + item.Status = "0"; + item.Remark = "设备传入数据"; + item.CreatedBy = "后台"; + item.CreatedTime = DateTime.Now; + } + var modal = parm.data.Adapt>().ToCreate(HttpContext); + var response = _BydAlarmMsgService.BatchAddBydAlarmMsg(modal); + // 转发测试 + var res = _BydAlarmMsgService.UploadAlarmMsg(parm); + Console.WriteLine($"转发UploadAlarmMsg:{res}"); + return SUCCESS(response); + } + catch (Exception e) + { + return ToResponse(new ApiResult(500,e.Message)); + } + + } + /// /// 更新产线MES预警消息记录 /// diff --git a/DOAN.Admin.WebApi/Controllers/Bydlms/BydProductionStationController.cs b/DOAN.Admin.WebApi/Controllers/Bydlms/BydProductionStationController.cs index 2af91b4..df64930 100644 --- a/DOAN.Admin.WebApi/Controllers/Bydlms/BydProductionStationController.cs +++ b/DOAN.Admin.WebApi/Controllers/Bydlms/BydProductionStationController.cs @@ -69,6 +69,27 @@ namespace DOAN.Admin.WebApi.Controllers.Bydlms return SUCCESS(response); } + /// + /// 批量添加生产过站 + /// + /// + [HttpPost("BatchAddBydProductionStation")] + [AllowAnonymous] + [Log(Title = "生产过站", BusinessType = BusinessType.INSERT)] + public IActionResult BatchAddBydProductionStation([FromBody] ProductionStationUploadData parm) + { + try + { + var response = _BydProductionStationService.BatchAddBydProductionStation(parm); + return SUCCESS(response); + } + catch (Exception e) + { + return ToResponse(new ApiResult(500, e.Message)); + } + + } + /// /// 更新生产过站 /// diff --git a/DOAN.Model/Bydlms/BydAlarmMsg.cs b/DOAN.Model/Bydlms/BydAlarmMsg.cs index 17e51eb..3534486 100644 --- a/DOAN.Model/Bydlms/BydAlarmMsg.cs +++ b/DOAN.Model/Bydlms/BydAlarmMsg.cs @@ -66,7 +66,7 @@ namespace DOAN.Model.Bydlms /// /// 预警事件描述 /// - public string WarningMsg { get; set; } + public string WarningDesc { get; set; } /// /// 预警时间(系统) diff --git a/DOAN.Model/Bydlms/DataUpload.cs b/DOAN.Model/Bydlms/DataUpload.cs index db91de0..5f57e86 100644 --- a/DOAN.Model/Bydlms/DataUpload.cs +++ b/DOAN.Model/Bydlms/DataUpload.cs @@ -1,4 +1,5 @@ -using System; +using DOAN.Model.Bydlms.Dto; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,11 +7,24 @@ using System.Threading.Tasks; namespace DOAN.Model.Bydlms { - public class DataUpload + /// + /// 基础上传参数 + /// + public class BaseUploadServerData { public string serviceId { get; set; } public string factoryCode { get; set; } + public string requestTime { get; set; } + public string userName { get; set; } + } + + + // + /// 1.设备上传参数 + /// + public class MachineDataUpload : BaseUploadServerData + { public MachineInfo[] data { get; set; } } /// @@ -147,4 +161,21 @@ namespace DOAN.Model.Bydlms } + + + /// + /// 2.设备上传报警信息 + /// + public class AlarmUploadData : BaseUploadServerData + { + public List data { get; set; } + } + + /// + /// 2.设备过站信息 + /// + public class ProductionStationUploadData : BaseUploadServerData + { + public List data { get; set; } + } } diff --git a/DOAN.Model/Bydlms/Dto/BydAlarmMsgDto.cs b/DOAN.Model/Bydlms/Dto/BydAlarmMsgDto.cs index a3f087f..0b156ce 100644 --- a/DOAN.Model/Bydlms/Dto/BydAlarmMsgDto.cs +++ b/DOAN.Model/Bydlms/Dto/BydAlarmMsgDto.cs @@ -13,7 +13,7 @@ namespace DOAN.Model.Bydlms.Dto /// public class BydAlarmMsgDto { - [Required(ErrorMessage = "主键不能为空")] + public string Id { get; set; } public string ServiceId { get; set; } @@ -36,7 +36,7 @@ namespace DOAN.Model.Bydlms.Dto public int? WarningType { get; set; } - public string WarningMsg { get; set; } + public string WarningDesc { get; set; } public DateTime? WarningDateTime { get; set; } diff --git a/DOAN.Service/Bydlms/BydAlarmMsgService.cs b/DOAN.Service/Bydlms/BydAlarmMsgService.cs index 073eb7f..a75a2bf 100644 --- a/DOAN.Service/Bydlms/BydAlarmMsgService.cs +++ b/DOAN.Service/Bydlms/BydAlarmMsgService.cs @@ -4,6 +4,10 @@ using DOAN.Model.Bydlms.Dto; using DOAN.Model.Bydlms; using DOAN.Repository; using DOAN.Service.Bydlms.IBydlmsService; +using System.Collections.Generic; +using System.Text; +using System.Net; +using System.Web; namespace DOAN.Service.Bydlms { @@ -76,5 +80,45 @@ namespace DOAN.Service.Bydlms return predicate; } + + /// + /// 批量添加数据,返回成功行数 + /// + /// + /// + public int BatchAddBydAlarmMsg(List parm) + { + // 批量插入并返回受影响行数 + return Context.Insertable(parm).ExecuteCommand(); + } + + /// + /// 自动上传报警数据给MES + /// + /// + /// + public int UploadAlarmMsg(AlarmUploadData uploadData) + { + const string url = "http://10.17.2.198:3000/mock/24/api/product/Product_Information?System001_Warning"; + try + { + Console.WriteLine($"[Http请求开始]{url}"); + using (var client = new WebClient()) + { + client.Headers[HttpRequestHeader.ContentType] = "application/json"; + // 使用JavaScriptSerializer生成JSON + var json = Context.Utilities.SerializeObject(uploadData); + // 发送POST请求并获取响应 + var response = client.UploadString(url, "POST", json); + } + Console.WriteLine($"发送成功"); + return 1; + } + catch + { + Console.WriteLine($"发送失败"); + return 0; + } + } } } \ No newline at end of file diff --git a/DOAN.Service/Bydlms/BydProductionStationService.cs b/DOAN.Service/Bydlms/BydProductionStationService.cs index e1aa56f..076b49d 100644 --- a/DOAN.Service/Bydlms/BydProductionStationService.cs +++ b/DOAN.Service/Bydlms/BydProductionStationService.cs @@ -4,6 +4,7 @@ using DOAN.Model.Bydlms.Dto; using DOAN.Model.Bydlms; using DOAN.Repository; using DOAN.Service.Bydlms.IBydlmsService; +using Infrastructure.Model; namespace DOAN.Service.Bydlms { @@ -76,5 +77,26 @@ namespace DOAN.Service.Bydlms return predicate; } + + public int BatchAddBydProductionStation(ProductionStationUploadData parm) + { + if (parm == null || parm.data.Count == 0) + { + return 0; + } + // 为每个对象生成唯一ID + foreach (var item in parm.data) + { + item.Id = SnowFlakeSingle.Instance.NextId().ToString(); + item.ServiceId = parm.serviceId; + item.FactoryCode = parm.factoryCode; + item.Type = "1"; + item.Status = "0"; + item.Remark = "设备传入数据"; + item.CreatedBy = "后台"; + item.CreatedTime = DateTime.Now; + } + return Context.Insertable(parm).ExecuteCommand(); + } } } \ No newline at end of file diff --git a/DOAN.Service/Bydlms/IBydlmsService/IBydAlarmMsgService.cs b/DOAN.Service/Bydlms/IBydlmsService/IBydAlarmMsgService.cs index 9f13950..b4fdd99 100644 --- a/DOAN.Service/Bydlms/IBydlmsService/IBydAlarmMsgService.cs +++ b/DOAN.Service/Bydlms/IBydlmsService/IBydAlarmMsgService.cs @@ -14,8 +14,11 @@ namespace DOAN.Service.Bydlms.IBydlmsService BydAlarmMsg AddBydAlarmMsg(BydAlarmMsg parm); + + int BatchAddBydAlarmMsg(List parm); int UpdateBydAlarmMsg(BydAlarmMsg parm); + int UploadAlarmMsg(AlarmUploadData uploadData); } } diff --git a/DOAN.Service/Bydlms/IBydlmsService/IBydProductionStationService.cs b/DOAN.Service/Bydlms/IBydlmsService/IBydProductionStationService.cs index e349c4a..7c908a7 100644 --- a/DOAN.Service/Bydlms/IBydlmsService/IBydProductionStationService.cs +++ b/DOAN.Service/Bydlms/IBydlmsService/IBydProductionStationService.cs @@ -14,6 +14,9 @@ namespace DOAN.Service.Bydlms.IBydlmsService BydProductionStation AddBydProductionStation(BydProductionStation parm); + + int BatchAddBydProductionStation(ProductionStationUploadData parm); + int UpdateBydProductionStation(BydProductionStation parm);