Beispiel #1
0
 public FsMessage DataStatusMsg(SensorAcqResult result)
 {
     try
     {
         result.Sensor = DbAccessor.DbConfigAccessor.GetSensorInfo(result.Sensor.SensorID);
     }
     catch (Exception e)
     {
     }
     if (!this._sensorDataStatuses.ContainsKey((int)result.Sensor.SensorID))
     {
         this._sensorDataStatuses.TryAdd((int)result.Sensor.SensorID, new SensorDataStatus
         {
             SensorId = (int)result.Sensor.SensorID,
             StructId = (int)result.Sensor.StructId,
             Time     = result.AcqTime
         });
     }
     this._sensorDataStatuses[(int)result.Sensor.SensorID].GetSensorColResult(result);
     if (!this._sensorDataStatuses[(int)result.Sensor.SensorID].IsContinuum || this._sensorDataStatuses[(int)result.Sensor.SensorID].IsRequireWarning)
     {
         SensorDataStatus dataStatus = this._sensorDataStatuses[(int)result.Sensor.SensorID];
         var msg = new DataContinuWarningMsg
         {
             Id             = Guid.NewGuid(),
             StructId       = dataStatus.StructId,
             DeviceTypeId   = SENSORDEVICETYPEID,
             DeviceId       = dataStatus.SensorId,
             WarningTypeId  = dataStatus.IsContinuum ?((int)Errors.SUCCESS).ToString():((int)Errors.ERR_DATA_BREACH).ToString(),
             WarningTime    = dataStatus.Time,
             DateTime       = DateTime.Now,
             WarningContent = string.Format(dataStatus.IsContinuum ? "数据恢复" : EnumHelper.GetDescription(Errors.ERR_DATA_BREACH)),
             DataStatus     = dataStatus.IsContinuum
         };
         var warningmsg = new FsMessage
         {
             Header = new FsMessageHeader
             {
                 A = "PUT",
                 R = "/warning/datacontinu",
                 U = Guid.NewGuid(),
                 T = Guid.NewGuid(),
                 D = _warningAppName,
                 M = "Warning"
             },
             Body = JsonConvert.SerializeObject(msg)
         };
         return(warningmsg);
     }
     return(null);
 }
Beispiel #2
0
 public static int UpdateDataState(DataContinuWarningMsg request, int warningstatus, int dealflag)
 {
     if (!request.DataStatus)
     {
         string sqlstr =
             string.Format(
                 "insert into T_DIM_SENSOR_DATASTATUS (SensorId,DataStatus,LastAcquisitionTime) values ({0},{1},'{2}')",
                 request.DeviceId, 1, request.DateTime);
         string sqlstr2 =
             string.Format(
                 "insert into T_WARNING_SENSOR (WarningTypeId, StructId, DeviceTypeId, DeviceId, Content, Time, WarningStatus, DealFlag) values ('{0}',{1},{2},{3},'{4}','{5}',{6},{7})",
                 request.WarningTypeId, request.StructId, request.DeviceTypeId, request.DeviceId, request.WarningContent,
                 request.DateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"), warningstatus, dealflag);
         var sqlstrs = new List <string> {
             sqlstr, sqlstr2
         };
         return(DbHelperSQL.ExecuteSqlTran(sqlstrs));
     }
     else
     {
         string sql =
             string.Format(
                 "select top {0} Id from T_DIM_SENSOR_DATASTATUS where SensorId={1} and DataStatus=1 order by LastAcquisitionTime desc", 1,
                 request.DeviceId);
         object obj   = DbHelperSQL.GetSingle(sql);
         int    index = Convert.ToInt32(obj);
         if (index > 0)
         {
             string sqlstr =
                 string.Format(
                     "Update T_DIM_SENSOR_DATASTATUS set CurrentAcquisitionTime='{0}',DataStatus={1} where Id={2} ",
                     request.DateTime, 0, index);
             return(DbHelperSQL.ExecuteSql(sqlstr));
         }
     }
     return(0);
 }