/// <summary> /// 根据时间获取各个类型机组能耗信息 /// </summary> /// <returns></returns> public List <UnitConsumeInfo> GetUnitConsumeList(string time, out string errMsg) { this.init(); errMsg = ""; List <UnitConsumeInfo> infoList = new List <UnitConsumeInfo>(); string sql = "SELECT * FROM ADMINISTRATOR.T_INFO_UNITCONSUME AS U LEFT JOIN T_INFO_UNIT AS T ON U.T_UNITCODE=T.T_CODE LEFT JOIN T_BASE_UNIT AS S ON S.T_UNITID=U.T_UNITCODE LEFT JOIN T_BASE_PLANT AS B ON B.T_PLANTID=S.T_PLANTID LEFT JOIN T_BASE_COMPANY AS C ON C.T_COMPANYID=B.T_COMPANYID WHERE 1=1"; if (!string.IsNullOrEmpty(time)) { sql += " AND U.T_TIME = '" + time + "'"; } DataTable dt = null; if (rlDBType == "SQL") { // sql = "select ID_KEY,班次名,起始时间,结束时间 from 班次时间表 order by ID_KEY"; //dt = DBsql.RunDataTable(sql, out errMsg); } else { dt = DBdb2.RunDataTable(sql, out errMsg); } if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { UnitConsumeInfo info = new UnitConsumeInfo(); //info.ParaId = String.IsNullOrEmpty(dt.Rows[i]["T_PARAID"].ToString()) ? String.Empty : dt.Rows[i]["T_PARAID"].ToString(); //// info.T_DWNAME = String.IsNullOrEmpty(dt.Rows[i]["T_DWNAME"].ToString()) ? String.Empty : dt.Rows[i]["T_DWNAME"].ToString(); info.T_PLANTNAME = String.IsNullOrEmpty(dt.Rows[i]["T_PLANTDESC"].ToString()) ? String.Empty : dt.Rows[i]["T_PLANTDESC"].ToString(); info.T_UNITCODE = String.IsNullOrEmpty(dt.Rows[i]["T_UNITCODE"].ToString()) ? String.Empty : dt.Rows[i]["T_UNITCODE"].ToString(); info.T_COUNT = String.IsNullOrEmpty(dt.Rows[i]["T_COUNT"].ToString()) ? String.Empty : dt.Rows[i]["T_COUNT"].ToString(); info.T_USEHOUR = String.IsNullOrEmpty(dt.Rows[i]["T_USEHOUR"].ToString()) ? String.Empty : dt.Rows[i]["T_USEHOUR"].ToString(); info.T_OF = String.IsNullOrEmpty(dt.Rows[i]["T_OF"].ToString()) ? String.Empty : dt.Rows[i]["T_OF"].ToString(); info.T_RDB = String.IsNullOrEmpty(dt.Rows[i]["T_RDB"].ToString()) ? String.Empty : dt.Rows[i]["T_RDB"].ToString(); info.T_CYDL = String.IsNullOrEmpty(dt.Rows[i]["T_CYDL"].ToString()) ? String.Empty : dt.Rows[i]["T_CYDL"].ToString(); info.T_GDMH = String.IsNullOrEmpty(dt.Rows[i]["T_GDMH"].ToString()) ? String.Empty : dt.Rows[i]["T_GDMH"].ToString(); info.T_DBMH = String.IsNullOrEmpty(dt.Rows[i]["T_DBMH"].ToString()) ? String.Empty : dt.Rows[i]["T_DBMH"].ToString(); info.T_GDL = String.IsNullOrEmpty(dt.Rows[i]["T_GDL"].ToString()) ? String.Empty : dt.Rows[i]["T_GDL"].ToString(); info.T_JTPJB = String.IsNullOrEmpty(dt.Rows[i]["T_JTPJB"].ToString()) ? String.Empty : dt.Rows[i]["T_JTPJB"].ToString(); info.T_TYPE = String.IsNullOrEmpty(dt.Rows[i]["T_CAPABILITYLEVEL"].ToString()) ? String.Empty : dt.Rows[i]["T_CAPABILITYLEVEL"].ToString(); /// infoList.Add(info); } } //去掉重复。 //return infoList.Distinct(new EqualCompare<ParaTableInfo>((x, y) => (x != null && y != null) &&(x.OutTableName == y.OutTableName))).ToList(); //不能过滤,因为会把ParaId过滤掉。以ParaId来取值的。 return(infoList); }
protected void btnImport_Click(object sender, EventArgs e) { if (fileUp.HasFile == false)//HasFile用来检查FileUpload是否有指定文件 { JScript.Alert("请您选择Excel文件"); return; } string IsXls = System.IO.Path.GetExtension(fileUp.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名 if (IsXls != ".xls") { JScript.Alert("只可以选择Excel文件"); return; } //获取Execle文件名 DateTime日期函数 string filename = fileUp.FileName; //Server.MapPath 获得虚拟服务器相对路径 string savePath = Server.MapPath(("upfiles\\") + filename); //SaveAs 将上传的文件内容保存在服务器上 fileUp.SaveAs(savePath); //连接Excel 读取Excel数据 并返回DataSet数据集合 DataSet ds = GridViewExportUtil.ExcelSqlConnection(savePath, filename, "com.sac.platform.action.report"); //com.sac.platform.action.report //定义一个DataRow数组 DataRow[] dr = ds.Tables[0].Select(); int rowsnum = ds.Tables[0].Rows.Count; if (rowsnum == 0) { JScript.Alert("Excel表为空表,无数据!"); } else { List <UnitConsumeInfo> infoList = new List <UnitConsumeInfo>(); DateTime dt = DateTime.Parse((dr[0][2].ToString().Replace("年", "-").Replace("月", "-") + "01")); for (int i = 2; i < dr.Length - 1; i++) { UnitConsumeInfo info = new UnitConsumeInfo(); if (String.IsNullOrEmpty(dr[i][0].ToString())) { continue; } info.T_TIME = dt; info.T_DWNAME = dr[i][1].ToString().Trim(); info.T_COUNT = dr[i][2].ToString(); info.T_CYDL = dr[i][14].ToString(); //对标煤耗暂时不计算。 info.T_DBMH = dr[i][2].ToString(); info.T_GDL = dr[i][20].ToString(); info.T_GDMH = dr[i][23].ToString(); //与集团平均,暂时不计算。 info.T_JTPJB = dr[i][1].ToString(); info.T_OF = dr[i][61].ToString(); info.T_RDB = dr[i][46].ToString(); info.T_UNITCODE = dr[i][0].ToString().Trim(); info.T_USEHOUR = dr[i][8].ToString(); infoList.Add(info); } try { if (bc.InsertChartDetailData(infoList, out errMsg)) { JScript.Alert("Excle表导入成功"); } else { JScript.Alert("Excle表导入失败"); } } catch { JScript.Alert("Excle表导入失败"); } } }