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);