linux对接成功,向MES发消息成功

This commit is contained in:
赵正易 2025-03-06 17:52:51 +08:00
parent eebfe2ff09
commit 9b6912ff84
9 changed files with 171 additions and 5 deletions

View File

@ -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);
}
/// <summary>
/// 批量添加产线MES预警消息记录
/// </summary>
/// <returns></returns>
[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<List<BydAlarmMsg>>().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));
}
}
/// <summary>
/// 更新产线MES预警消息记录
/// </summary>

View File

@ -69,6 +69,27 @@ namespace DOAN.Admin.WebApi.Controllers.Bydlms
return SUCCESS(response);
}
/// <summary>
/// 批量添加生产过站
/// </summary>
/// <returns></returns>
[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));
}
}
/// <summary>
/// 更新生产过站
/// </summary>

View File

@ -66,7 +66,7 @@ namespace DOAN.Model.Bydlms
/// <summary>
/// 预警事件描述
/// </summary>
public string WarningMsg { get; set; }
public string WarningDesc { get; set; }
/// <summary>
/// 预警时间(系统)

View File

@ -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
/// <summary>
/// 基础上传参数
/// </summary>
public class BaseUploadServerData
{
public string serviceId { get; set; }
public string factoryCode { get; set; }
public string requestTime { get; set; }
public string userName { get; set; }
}
// <summary>
/// 1.设备上传参数
/// </summary>
public class MachineDataUpload : BaseUploadServerData
{
public MachineInfo[] data { get; set; }
}
/// <summary>
@ -147,4 +161,21 @@ namespace DOAN.Model.Bydlms
}
/// <summary>
/// 2.设备上传报警信息
/// </summary>
public class AlarmUploadData : BaseUploadServerData
{
public List<BydAlarmMsgDto> data { get; set; }
}
/// <summary>
/// 2.设备过站信息
/// </summary>
public class ProductionStationUploadData : BaseUploadServerData
{
public List<BydProductionStation> data { get; set; }
}
}

View File

@ -13,7 +13,7 @@ namespace DOAN.Model.Bydlms.Dto
/// </summary>
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; }

View File

@ -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;
}
/// <summary>
/// 批量添加数据,返回成功行数
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public int BatchAddBydAlarmMsg(List<BydAlarmMsg> parm)
{
// 批量插入并返回受影响行数
return Context.Insertable(parm).ExecuteCommand();
}
/// <summary>
/// 自动上传报警数据给MES
/// </summary>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
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;
}
}
}
}

View File

@ -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();
}
}
}

View File

@ -14,8 +14,11 @@ namespace DOAN.Service.Bydlms.IBydlmsService
BydAlarmMsg AddBydAlarmMsg(BydAlarmMsg parm);
int BatchAddBydAlarmMsg(List<BydAlarmMsg> parm);
int UpdateBydAlarmMsg(BydAlarmMsg parm);
int UploadAlarmMsg(AlarmUploadData uploadData);
}
}

View File

@ -14,6 +14,9 @@ namespace DOAN.Service.Bydlms.IBydlmsService
BydProductionStation AddBydProductionStation(BydProductionStation parm);
int BatchAddBydProductionStation(ProductionStationUploadData parm);
int UpdateBydProductionStation(BydProductionStation parm);