//TODO:效率问题有待优化 static public string GetHtml(string organizationId, string electricRoomName, string levelType) { if (levelType != "ElectricRoom") { DataTable electricRoomTable = AmmetersService.GetElectricRoom(organizationId); StringBuilder build = new StringBuilder(); foreach (DataRow dr in electricRoomTable.Rows) { string t_electricRoomName = dr["ElectricRoom"].ToString().Trim(); string m_newEletricRoomName = dr["ElectricRoomName"].ToString().Trim();//闫潇华修改电气室名称 DataTable t_sourceTable = GetTableByElectricRoom(organizationId, t_electricRoomName); build.Append(PanelHtmlStr(t_sourceTable, t_electricRoomName, m_newEletricRoomName)); } return(build.ToString()); } else { string m_EletricRoomDbName = GetMeterDatabaseByOrganizationId.GetMeterDatabaseName(organizationId); string connectionString = ConnectionStringFactory.NXJCConnectionString; SqlServerDataFactory _dataFactory = new SqlServerDataFactory(connectionString); string m_Sql = @"SELECT ElectricRoom FROM [{0}].[dbo].ElectricRoomContrast WHERE ElectricRoomName='{1}'"; DataTable m_EletricRoomTable = _dataFactory.Query(string.Format(m_Sql, m_EletricRoomDbName, electricRoomName)); string m_EletricRoom = m_EletricRoomTable.Rows[0]["ElectricRoom"].ToString().Trim();//在此为了用新的电气室名称得到旧的电气室名称,作为查询条件往后传 DataTable sourceTable = GetTableByElectricRoom(organizationId, m_EletricRoom); //return ToHtmlStrByTable(sourceTable,electricRoomName); return(PanelHtmlStr(sourceTable, m_EletricRoom, electricRoomName)); } }
/// <summary> /// 获得该分厂有哪些电气室 /// </summary> /// <param name="organizationId">组织机构ID</param> /// <returns></returns> public static DataTable GetElectricRoom(string organizationId) { //电表数据库名 string managementDatabaseName = GetMeterDatabaseByOrganizationId.GetMeterDatabaseName(organizationId); string connectionstring = ConnectionStringFactory.NXJCConnectionString; SqlServerDataFactory _dataFactory = new SqlServerDataFactory(connectionstring); string sqlStr = @"SELECT A.ElectricRoom, B.ElectricRoomName FROM (SELECT DISTINCT ElectricRoom FROM [{0}].[dbo].[AmmeterContrast] WHERE EnabledFlag=1) A left join [{0}].[dbo].ElectricRoomContrast AS B on A.ElectricRoom = B.ElectricRoom ORDER by B.DisplayIndex"; return(_dataFactory.Query(string.Format(sqlStr, managementDatabaseName))); }
/// <summary> /// 获取电表对照表的内容 /// </summary> /// <param name="electricRoomName">电气室名</param> /// <returns></returns> static private DataTable GetTableByElectricRoom(string organizationId, string electricRoomName) { string managementDatabaseName = GetMeterDatabaseByOrganizationId.GetMeterDatabaseName(organizationId); string connectionstring = ConnectionStringFactory.NXJCConnectionString; SqlServerDataFactory _dataFactory = new SqlServerDataFactory(connectionstring); string sqlStr = @"SELECT A.AmmeterName,A.AmmeterNumber,A.CT,A.PT,A.AmmeterAddress,A.Status,A.TimeStatusChange FROM [{0}].[dbo].AmmeterContrast AS A WHERE A.ElectricRoom=@ElectricRoom and A.EnabledFlag = 1" ; SqlParameter paramater = new SqlParameter("ElectricRoom", electricRoomName); return(_dataFactory.Query(string.Format(sqlStr, managementDatabaseName), paramater)); }
/// <summary> /// 获取当前的电表电能与功率值 /// </summary> /// <returns></returns> public static DataTable GetCurrentValue(string organizationId) { DataTable result = new DataTable(); string connectionString = ConnectionStringFactory.NXJCConnectionString; using (SqlConnection connection = new SqlConnection(connectionString)) { string managementDatabaseName = GetMeterDatabaseByOrganizationId.GetMeterDatabaseName(organizationId); SqlCommand command = connection.CreateCommand(); string sqlStr = string.Format("SELECT * FROM [{0}].[dbo].[RealtimeAmmeter]", managementDatabaseName); //command.CommandText = "SELECT * FROM [zc_nxjc_byc_byf].[dbo].[RealtimeAmmeter]"; command.CommandText = sqlStr; using (SqlDataAdapter adapter = new SqlDataAdapter(command)) { adapter.Fill(result); } } return(result); }