public float getLastData(Model.DjPressInfo pressInfo) { using (OracleConnection conn = new OracleConnection(OracleHelper.ConnectionStringOrderDistributedTransaction)) { String SQL = " SELECT PRESSDATA " + " FROM " + " (SELECT * " + " FROM AD_DJ_PRESS " + " WHERE DEVCODE = :devCode " + " and UPTIME < :uptime " + " order by UPTIME desc) " + " where rownum=1 "; /* * String SQL = " SELECT PRESSDATA " + * " FROM AD_DJ_PRESS " + * " WHERE DEVCODE = :devCode " + * " and UPTIME < :uptime " + * " and rownum=1 " + * " order by UPTIME desc "; * */ OracleParameter[] oraParams = new OracleParameter[] { new OracleParameter(":devCode",pressInfo.DEVID), new OracleParameter(":uptime",pressInfo.UPTIME) }; DataTable dt = OracleHelper.ExecuteDataset(conn,CommandType.Text,SQL,oraParams).Tables[0]; if (dt.Rows.Count > 0) { float lastData = float.Parse(dt.Rows[0]["PRESSDATA"].ToString()); return(lastData); } } return(-1); }
private AlarmRecordInfo getAlarmRecord(AlarmRuleInfo alarmRuleInfo, Model.DjPressInfo pressInfo) { if (null != alarmRuleInfo) { float curValue = float.Parse(pressInfo.PRESSDATA); IDevice deviceDal = SensorHub.DALFactory.Device.Create(); IDjPress pressDal = SensorHub.DALFactory.DjPress.Create(); AlarmRecordInfo alarmRecordInfo = new AlarmRecordInfo(); alarmRecordInfo.ACTIVE = true; alarmRecordInfo.DEVICE_CODE = pressInfo.DEVID; alarmRecordInfo.DEVICE_ID = alarmRuleInfo.DeviceId; alarmRecordInfo.DEVICE_TYPE_NAME = deviceDal.getDevTypeByCode(pressInfo.DEVID); alarmRecordInfo.ITEMNAME = "压力值"; alarmRecordInfo.ITEMVALUE = curValue.ToString(); alarmRecordInfo.MESSAGE_STATUS = 0; alarmRecordInfo.RECORDCODE = ""; alarmRecordInfo.RECORDDATE = System.DateTime.Now; if (alarmRuleInfo.HighValue != 0 && curValue > alarmRuleInfo.HighValue) { alarmRecordInfo.MESSAGE = "压力超限"; return(alarmRecordInfo); } if (alarmRuleInfo.Saltation != 0) { float lastData = pressDal.getLastData(pressInfo); if (-1 != lastData && Math.Abs(curValue - lastData) > alarmRuleInfo.Saltation) { alarmRecordInfo.MESSAGE = "压力突变"; // return alarmRecordInfo; return(null); } } } return(null); }
public float getLastData(Model.DjPressInfo pressInfo) { return(SensorHub.DALFactory.DjPress.Create().getLastData(pressInfo)); }