private NosaareaEntity GenEntity(object[] vals, UserBLL userbll, NosaeleBLL nosaelebll) { var user = ERCHTMS.Code.OperatorProvider.Provider.Current(); NosaareaEntity entity = new NosaareaEntity() { ID = Guid.NewGuid().ToString() }; var oldList = nosaareabll.GetList(String.Format(" and createuserorgcode='{0}' and no='{1}'", user.OrganizeCode, vals[0].ToString().Trim())).ToList(); if (oldList.Count > 0) { entity = oldList[0]; } entity.NO = vals[0].ToString().Trim(); entity.Name = vals[1].ToString().Trim(); entity.AreaRange = vals[2].ToString().Trim(); entity.DutyDepartName = vals[3].ToString().Trim(); entity.DutyUserName = vals[4].ToString().Trim(); var uEntity = userbll.GetUserInfoByName(entity.DutyDepartName, entity.DutyUserName); entity.DutyUserId = uEntity.UserId; entity.DutyDepartId = uEntity.DepartmentId; entity.Mobile = vals[5].ToString(); return(entity); }
private bool Validate(int index, object[] vals, UserBLL userbll, NosaeleBLL nosaelebll, out string msg) { var user = ERCHTMS.Code.OperatorProvider.Provider.Current(); var r = true; var i = index + 1; msg = ""; if (vals.Length < 6) { msg += ",格式不正确"; r = false; } var obj = vals[0]; if (IsNull(obj)) { msg += ",区域编号不能为空"; r = false; } else { var oldList = nosaelebll.GetList(String.Format(" and createuserorgcode='{0}' and no='{1}'", user.OrganizeCode, obj.ToString().Trim())).ToList(); if (oldList.Count > 0) { msg += ",区域编号已存在"; } } obj = vals[1]; if (IsNull(obj)) { msg += ",区域名称不能为空"; r = false; } //obj = vals[2]; //if (IsNull(obj)) //{ // msg += ",区域范围不能为空"; // r = false; //} obj = vals[3]; if (IsNull(obj)) { msg += ",区域责任部门不能为空"; r = false; } obj = vals[4]; if (IsNull(obj)) { msg += ",区域代表不能为空"; r = false; } else if (!IsNull(vals[3])) { var entity = userbll.GetUserInfoByName(vals[3].ToString().Trim(), obj.ToString().Trim()); if (entity == null) { msg += ",责任部门不正确或责任部门中不存在相应的区域代表用户"; r = false; } } obj = vals[5];//联系电话 //if (!IsNull(obj)) //{ // var list = nosaelebll.GetList(String.Format(" and createuserorgcode='{0}' and no='{1}'", user.OrganizeCode, obj.ToString().Trim())); // if (list.Count() == 0) // { // msg += ",上级区域编号不存在"; // r = false; // } //} if (!string.IsNullOrWhiteSpace(msg)) { msg += "。"; r = false; } return(r); }
public string ImportEle() { UserBLL userbll = new UserBLL(); NosaeleBLL nosaelebll = new NosaeleBLL(); int error = 0; int sussceed = 0; string message = "请选择格式正确的文件再导入!"; string falseMessage = ""; int count = HttpContext.Request.Files.Count; if (count > 0) { HttpPostedFileBase file = HttpContext.Request.Files[0]; if (string.IsNullOrEmpty(file.FileName)) { return(message); } if (!(file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xls") || file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xlsx"))) { return(message); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(file.FileName); string filePath = Server.MapPath("~/Resource/temp/" + fileName); file.SaveAs(filePath); Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook(); wb.Open(Server.MapPath("~/Resource/temp/" + fileName)); Aspose.Cells.Cells cells = wb.Worksheets[0].Cells; if ((cells.MaxDataRow - 3) == 0) { message = "没有数据,请选择先填写模板在进行导入!"; return(message); } DataTable dt = cells.ExportDataTable(3, 0, (cells.MaxDataRow - 2), cells.MaxColumn + 1, true); //DataTable dt = ExcelHelper.ExcelImport(filePath); for (int i = 0; i < dt.Rows.Count; i++) { object[] vals = dt.Rows[i].ItemArray; if (IsEndRow(vals) == true) { break; } var msg = ""; if (Validate(i, vals, userbll, nosaelebll, out msg) == true) { var entity = GenEntity(vals, userbll, nosaelebll); nosaareabll.SaveForm(entity.ID, entity); sussceed++; } else { falseMessage += "第" + (i + 1) + "行" + msg + "<br/>"; error++; } } count = dt.Rows.Count; message = "共有" + count + "条记录,成功导入" + sussceed + "条,失败" + error + "条"; message += "<br/>" + falseMessage; //删除临时文件 System.IO.File.Delete(filePath); } return(message); }