using Microsoft.AspNetCore.Mvc; 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 { /// /// 产线MES预警消息记录 /// [Verify] [Route("bydlms/BydAlarmMsg")] public class BydAlarmMsgController : BaseController { /// /// 产线MES预警消息记录接口 /// private readonly IBydAlarmMsgService _BydAlarmMsgService; public BydAlarmMsgController(IBydAlarmMsgService BydAlarmMsgService) { _BydAlarmMsgService = BydAlarmMsgService; } /// /// 查询产线MES预警消息记录列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "bydalarmmsg:list")] public IActionResult QueryBydAlarmMsg([FromQuery] BydAlarmMsgQueryDto parm) { var response = _BydAlarmMsgService.GetList(parm); return SUCCESS(response); } /// /// 查询产线MES预警消息记录详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "bydalarmmsg:query")] public IActionResult GetBydAlarmMsg(string Id) { var response = _BydAlarmMsgService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加产线MES预警消息记录 /// /// [HttpPost] [ActionPermissionFilter(Permission = "bydalarmmsg:add")] [Log(Title = "产线MES预警消息记录", BusinessType = BusinessType.INSERT)] public IActionResult AddBydAlarmMsg([FromBody] BydAlarmMsgDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _BydAlarmMsgService.AddBydAlarmMsg(modal); 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预警消息记录 /// /// [HttpPut] [ActionPermissionFilter(Permission = "bydalarmmsg:edit")] [Log(Title = "产线MES预警消息记录", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateBydAlarmMsg([FromBody] BydAlarmMsgDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _BydAlarmMsgService.UpdateBydAlarmMsg(modal); return ToResponse(response); } /// /// 删除产线MES预警消息记录 /// /// [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "bydalarmmsg:delete")] [Log(Title = "产线MES预警消息记录", BusinessType = BusinessType.DELETE)] public IActionResult DeleteBydAlarmMsg([FromRoute]string ids) { var idArr = Tools.SplitAndConvert(ids); return ToResponse(_BydAlarmMsgService.Delete(idArr)); } } }