#region Excel导入数据页面
public ActionResult ImportWaterData(string type)
{
ViewBag.type = type;
return View();
}
/// <summary>
/// 导入水数据
/// </summary>
/// <param name="fileName"></param>
/// <param name="type"></param>
/// <param name="time"></param>
/// <param name="facetype">断面类型</param>
/// <returns></returns>
public JsonResult UploadExcelData(string fileName, string type, string time, string facetype, string timetype, bool proItem = false)
{
JsonMsg jsonMsg = new JsonMsg
{
Result = false,
Message = "导入数据失败!"
};
try
{
string[] array = fileName.Split(new char[]
{
'.'
});
DataTable dataTable = null;
try
{
string str = base.Server.MapPath("~");
string text = "/Upload/Water/";
if (!Directory.Exists(str + text))
{
Directory.CreateDirectory(str + text);
}
string str2 = string.Concat(new string[] { text, type, array[0], ".", array[1] });
base.Request.Files["fileImport"].SaveAs(str + str2);
ExcelToData excelToData = new ExcelToData(str + str2);
dataTable = excelToData.ExcelToDataTable(null, true);
}
catch (Exception ex)
{
dataTable = null;
jsonMsg.Result = false;
jsonMsg.Message = "文件格式错误";
Log.Info(ex.ToString());
}
if (type == "DBS" || type == "地表水")
{
jsonMsg = ImportExcelData_DBS(dataTable, time, facetype, proItem);
}
else if (type == "DBSGK")
{
jsonMsg = ImportExcelData_DBS(dataTable, time, facetype, proItem, true, 2);
}
else if (type == "DXS" || type == "地下水")
{
jsonMsg = ImportExcelData_DXS(dataTable, time, facetype, proItem);
}
else if (type == "ZDZ" || type == "自动站")
{
jsonMsg = ImportExcelData_ZDZ(dataTable, timetype);
}
}
catch (Exception ee)
{
}
systemlogsManager.AddLogs(NetHelper.GetHostAddress(), DateTime.Now, CurrentUser.GetNowUser().UserName, "导入数据", jsonMsg.Message);
return base.Json(jsonMsg);
}
#endregion
#region 数据-导入
/// <summary>
/// 导入
/// </summary>
/// <returns></returns>
public JsonMsg ImportExcelData_GGS(DataTable dataTable)
{
int regionId = CurrentUser.GetNowUser().RegionId;
JsonMsg jsonMsg = new JsonMsg();
StringBuilder stringBuilder = new StringBuilder();
string errorStr = "";
try
{
if (dataTable != null)
{
string tableName = "[dbo].[test]";
string typeStr = "数据导入";
int num = 0;
int num2 = 0;
IList<string> list = new List<string>();
string s = time + "-01";
DateTime jointTime = DateTime.Parse(s);
foreach (DataRow dataRow in dataTable.Rows)
{
if (num <= dataTable.Rows.Count - 1)
{
if (!isNameWhere && (dataRow["编码"] == null || dataRow["编码"].ToString().Trim() == ""))
{
num2++;
errorStr = "导入失败," + dataRow["编码"].ToString() + "数据错误!断面为空。";
list.Add(errorStr);
}
else if (isNameWhere && (dataRow["名称"] == null || dataRow["断面名称"].ToString().Trim() == ""))
{
num2++;
errorStr = "导入失败," + dataRow["名称"].ToString() + "数据错误!断面为空。";
list.Add(errorStr);
}
else
{
errorStr = dataRow["名称"].ToString() + " " + dataRow["断面名称"].ToString();
Data_Base model = new Data_Base ();
model.Temp = -1m;
model.Temp_Mark = "";
model.UpdateTime = DateTime.Now;
model.UpdateUser = CurrentUser.GetNowUser().RealName;
if (modelType == 1)
{
string jysj = dataRow["采样时间"].ToString();
if (jysj == "——" || jysj == "--")
{
model.JointTime = jointTime;
}
else if (jysj.Contains("/"))
{
var timett = GetDateTimeStr(jysj);
model.JointTime = DateTime.Parse(timett);
}
else
{
model.JointTime = DateTime.Parse(jysj);
}
model.Year = model.JointTime.Year.ToString();
model.Month = model.JointTime.Month.ToString();
model.Day = model.JointTime.Day.ToString();
}
else if (modelType == 2)
{
string year = dataRow["监测年份"].ToString();
string month = dataRow["监测月份"].ToString();
if (!string.IsNullOrEmpty(year) && !string.IsNullOrEmpty(month))
{
var tt = year + "-" + month + "-01";
try
{
model.JointTime = DateTime.Parse(tt);
}
catch (Exception ee) { }
}
else
{
model.JointTime = jointTime;
}
model.Year = model.JointTime.Year.ToString();
model.Month = model.JointTime.Month.ToString();
model.Day = model.JointTime.Day.ToString();
}
try { var Pointtype = dataRow["类型"].ToString(); }
catch (Exception ee) { systemlogsManager.AddLogNet(CurrentUser.GetNowUser().UserName, DateTime.Now, typeStr, ee.ToString(), "点位类型"); }
try { model.ReMark = dataRow["备注"].ToString(); }
catch (Exception ee) { systemlogsManager.AddLogNet(CurrentUser.GetNowUser().UserName, DateTime.Now, typeStr, ee.ToString(), "备注"); }
// 导入项目
string text2 = "L";
string b = "-";
string b2 = "--";
if (dataRow["温度(℃)"].ToString().Trim() != b && dataRow["温度(℃)"].ToString().Trim() != b2 && dataRow["温度(℃)"] != null && dataRow["温度(℃)"] != "")
{
string text3 = dataRow["温度(℃)"].ToString().Trim();
if (text3.Contains(text2))
{
model.Temp = decimal.Parse(text3.Replace(text2, ""));
model.Temp_Mark = text2;
}
else
{
model.Temp = ((decimal.Parse(text3) == -1m) ? -1m : decimal.Parse(text3));
}
}
model.LevelMark = "RI";
string deleteSql = " delete from " + tableName + " where JointTime = '" + model.JointTime + "'; ";
DataManager.ExecuteNonQueryCount(deleteSql);
stringBuilder.Append(DataManager.BaseAdd(model).ToString());
}
}
}
if (stringBuilder.Length > 0)
{
int num3 = this.DataManager.ExecuteNonQueryCount(stringBuilder.ToString());
if (num2 == 0 && num3 != -1)
{
jsonMsg.Result = true;
jsonMsg.Message = "导入成功" + num3 + "条";
}
else
{
jsonMsg.Result = false;
jsonMsg.Message = string.Join(",", list.ToArray<string>());
}
}
else
{
jsonMsg.Result = false;
jsonMsg.Message = string.Join(",", list.ToArray<string>());
}
}
else
{
jsonMsg.Result = false;
jsonMsg.Message = "数据不能为空!";
}
}
catch (Exception ee)
{
jsonMsg.Result = false;
jsonMsg.Message = errorStr + ee.ToString();
}
systemlogsManager.AddLogs(NetHelper.GetHostAddress(), DateTime.Now, CurrentUser.GetNowUser().UserName, "导入数据", jsonMsg.Message);
return jsonMsg;
}