Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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 = "添加数据失败"
                });
            }
        }