public static DataSet AlarmDataQuery(List <string> deviceIDs, DateTime startTime, DateTime endTime, string alarmType, bool isID, bool IsNew) { int num; DataSet set = new DataSet(); DataTable table = new DataTable(); for (num = 0; num < deviceIDs.Count; num++) { string cz = ""; string name = ""; Device device = DeviceModule.GetDeviceByID(long.Parse(deviceIDs[num])); if (device != null) { name = device.DeviceName; cz = DistrictModule.GetDistrictName(device.DistrictId); } table.Clear(); table.Columns.Clear(); string[] strArray = new string[(endTime.Year - startTime.Year) + 1]; int year = startTime.Year; while (year < (endTime.Year + 1)) { strArray[year - startTime.Year] = "DeviceAlarm_" + year.ToString(); year++; } string strSql = ""; for (year = 0; year < strArray.Length; year++) { if (CheckTableExiste(strArray[year])) { strSql = "select '" + cz + "' 村庄,'" + name + "' 设备,DeviceNo 设备编号" + ",CONVERT(varchar(100),StartTime,120) 开始时间,case when State='New' then '-' else CONVERT(varchar(100),EndTime,120) end 结束时间" + ",(select top 1 BaseDesc from BaseInfo where BaseType='AlarmType' and BaseKey=AlarmType) 类型,AlarmValue" + ",case when AlarmValue=0 then (select top 1 BaseValue0 from BaseInfo where BaseType='AlarmType' and BaseKey=AlarmType) else (select top 1 BaseValue1 from BaseInfo where BaseType='AlarmType' and BaseKey=AlarmType) end 状态" + ",case when State='New' then '持续中' else cast(Duration as varchar)+'秒' end 时长" + " from " + strArray[year] + " where DeviceNo = '" + DeviceModule.GetFullDeviceNoByID(long.Parse(deviceIDs[num])) + "'" + " and StartTime<='" + endTime.ToString("yyyy-MM-dd HH:mm:ss") + "' and StartTime>='" + startTime.ToString("yyyy-MM-dd HH:mm:ss") + "'"; if ((alarmType.Trim() != "") && (alarmType != "全部")) { strSql = strSql + " and AlarmType='" + BaseModule.GetAlarmTypeByDesc(alarmType).BaseKey + "'"; } if (IsNew) { strSql = strSql + " and State = 'New'"; } } } strSql = strSql + " order by StartTime desc"; for (int i = 0; (table.Columns.Count == 0) && (i < 3); i++) { table = DbHelperSQL.QueryDataTable(strSql); } if (table.Rows.Count != 0) { set.Tables.Add(table.Copy()); } } return(set); }
public static DataSet EventDataQuery2(List <string> deviceIDs, DateTime startTime, DateTime endTime, string eventType) { int num; DataSet set = new DataSet(); DataTable table = new DataTable(); string[] strArray = new string[(endTime.Year - startTime.Year) + 1]; for (num = 0; num < deviceIDs.Count; num++) { string cz = ""; string name = ""; Device device = DeviceModule.GetDeviceByID(long.Parse(deviceIDs[num])); if (device != null) { name = device.DeviceName; cz = DistrictModule.GetDistrictName(device.DistrictId); } table.Clear(); table.Columns.Clear(); string strSql = ""; string str7 = ""; bool flag = true; for (int i = startTime.Year; i < (endTime.Year + 1); i++) { string strTableName = "DeviceEvent_" + i.ToString(); if (CheckTableExiste(strTableName)) { if (flag) { strSql = "select '" + cz + "' 村庄,'" + name + "' 设备,DeviceNo 设备编号,CONVERT(varchar(100),StartTime,120) 开泵时间,CONVERT(varchar(100),EndTime,120) 关泵时间,DATEDIFF(second,StartTime,EndTime) 灌溉时长,WaterUsed 用水量 from " + strTableName + " where EndTime>StartTime and DeviceTime<='" + endTime.ToString("yyyy-MM-dd HH:mm:ss") + "' and DeviceTime>='" + startTime.ToString("yyyy-MM-dd HH:mm:ss") + "' and DeviceNo='" + DeviceModule.GetFullDeviceNoByID(long.Parse(deviceIDs[num])) + "'"; if ((eventType != "") && (eventType != "全部")) { strSql = strSql + " and EventType='" + eventType + "'"; } str7 = strSql; flag = false; } else { string str9 = strSql; strSql = str9 + " union select '" + cz + "' 村庄,'" + name + "' 设备,DeviceNo 设备编号,CONVERT(varchar(100),StartTime,120) 开泵时间,CONVERT(varchar(100),EndTime,120) 关泵时间,DATEDIFF(second,StartTime,EndTime) 灌溉时长,WaterUsed 用水量 from " + strTableName + " where EndTime>StartTime and DeviceTime<='" + endTime.ToString("yyyy-MM-dd HH:mm:ss") + "' and DeviceTime>='" + startTime.ToString("yyyy-MM-dd HH:mm:ss") + "' and DeviceNo='" + DeviceModule.GetFullDeviceNoByID(long.Parse(deviceIDs[num])) + "'"; if ((eventType != "") && (eventType != "全部")) { strSql = strSql + " and EventType='" + eventType + "'"; } } } } if (strSql != "") { strSql = strSql + " order by DeviceTime desc"; } if (strSql != "") { table = DbHelperSQL.QueryDataTable(strSql); } if (table.Rows.Count != 0) { set.Tables.Add(table.Copy()); } } return(set); }