public async Task <ActionResult <BaseResponse> > AddDeviceHardwareAsync(string GroupId, string DeviceSn, [FromBody] DeviceHardwareConfigAddDto req) { var device = await _ds.IsExistCheck(a => a.DeviceSn == DeviceSn); if (!device.IsExist) { return(new BaseResponse { Success = false, Message = "输入的设备不存在" }); } string Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value; var rm = await _dhc.AddDeviceHardwareConfigAsync(Account, DeviceSn, req); return(rm); }
/// <summary> /// 添加设备PLC数据 /// </summary> /// <param name="Account">操作人</param> /// <param name="DeviceSn">设备序列号</param> /// <param name="req">PLC参数</param> /// <returns></returns> public async Task <BaseResponse> AddDeviceHardwareConfigAsync(string Account, string DeviceSn, DeviceHardwareConfigAddDto req) { var dataDefine = await _tdr.FindAsync(req.DataDefineId); if (dataDefine == null) { return(new BaseResponse { Success = false, Message = "输入的数据定义编号不存在" }); } var data = await _dhc.Find(a => a.DeviceSn == DeviceSn && a.Key == dataDefine.DataKey).FirstOrDefaultAsync(); if (data != null) { return(new BaseResponse { Success = false, Message = "该设备下已存在相同的配置数据" }); } try { var entity = _mapper.Map <DeviceHardwareConfigModel>(req); entity.Create = Account; entity.DeviceSn = DeviceSn; entity.Key = dataDefine.DataKey; entity.KeyName = dataDefine.DataName; entity.Unit = dataDefine.Unit; entity.Format = dataDefine.Format; await _dhc.AddAsync(entity); _log.LogInformation($"{Account}添加序列号为{DeviceSn}的设备标示为{entity.Id}的plc配置数据成功"); return(new HandleResponse <int> { Success = true, Message = "添加数据成功", Key = entity.Id }); } catch (Exception ex) { _log.LogError($"{Account}添加设备序列为{DeviceSn}的plc配置数据失败,失败原因:{ex.Message}->{ex.StackTrace}->{ex.InnerException}"); return(new BaseResponse { Success = false, Message = "添加数据失败" }); } }