public JsonResult DoImportNew() { FileInfoBLL fileBll = new FileInfoBLL(); var success = true; var message = string.Empty; try { if (this.Request.Files.Count == 0) { throw new Exception("请上传文件"); } if (!this.Request.Files[0].FileName.EndsWith(".xlsx")) { throw new Exception("请上传 Excel 文件"); } var book = new Workbook(this.Request.Files[0].InputStream); var sheet = book.Worksheets[0]; DepartmentBLL deptBll = new DepartmentBLL(); Operator user = OperatorProvider.Provider.Current(); var dept = deptBll.GetEntity(user.DeptId); if (dept == null) { user.DeptCode = "0"; } else if (dept.Nature == "部门") { var pdept = deptBll.GetEntity(dept.ParentId); user.DeptCode = pdept == null ? dept.EnCode : pdept.EnCode; } if (sheet.Cells[0, 1].StringValue != "工作任务" || sheet.Cells[0, 2].StringValue != "作业类别" || sheet.Cells[0, 3].StringValue != "作业岗位" || sheet.Cells[0, 4].StringValue != "任务描述" || sheet.Cells[0, 5].StringValue != "资源准备" || sheet.Cells[0, 6].StringValue != "作业区域" || sheet.Cells[0, 7].StringValue != "潜在危险" || sheet.Cells[0, 8].StringValue != "防范措施") { return(Json(new { success = false, message = "请使用正确的模板导入!" })); } var templates = new List <JobTemplateEntity>(); var dtemplates = new List <DangerTemplateEntity>(); var date = DateTime.Now; for (int i = 1; i <= sheet.Cells.MaxDataRow; i++) { var entity = new JobTemplateEntity(); var dentity = new DangerTemplateEntity(); entity.CreateUser = user.UserName; entity.CreateUserId = user.UserId; entity.JobId = Guid.NewGuid().ToString(); entity.JobContent = sheet.Cells[i, 1].StringValue; entity.WorkType = sheet.Cells[i, 2].StringValue; entity.WorkQuarters = sheet.Cells[i, 3].StringValue; entity.WorkDescribe = sheet.Cells[i, 4].StringValue; entity.ResPrepare = sheet.Cells[i, 5].StringValue; entity.WorkArea = sheet.Cells[i, 6].StringValue; //entity.DeptId = user.DeptId; entity.CreateDate = date.AddMinutes(i); entity.DangerType = ""; entity.JobType = "danger"; if (string.IsNullOrEmpty(sheet.Cells[i, 1].StringValue)) { entity.JobId = templates[i - 1 - 1].JobId; } entity.PicNumber = sheet.Cells[i, 9].StringValue; entity.DeptCode = user.DeptCode; if (!string.IsNullOrEmpty(entity.JobContent)) { if (templates.Exists(x => x.JobContent == entity.JobContent)) { throw new Exception(string.Format("行 {0} 任务重复!", i + 1)); } if (workmeetingbll.ExistJob(entity)) { throw new Exception(string.Format("行 {0} 任务已存在!", i + 1)); } } templates.Add(entity); } for (int i = 1; i <= sheet.Cells.MaxDataRow; i++) { var dentity = new DangerTemplateEntity(); dentity.Dangerous = sheet.Cells[i, 7].StringValue; dentity.Measure = sheet.Cells[i, 8].StringValue; dentity.CreateTime = DateTime.Now; dentity.CreateUserId = user.UserId; dentity.JobId = templates[i - 1].JobId; dentity.DangerId = Guid.NewGuid().ToString(); dtemplates.Add(dentity); } templates = templates.Where(x => x.JobContent != "").ToList(); for (int i = 0; i < templates.Count(); i++) { //if (System.IO.File.Exists("D:\\JobImages\\" + templates[i].PicNumber)) //{ // FileStream fs = new FileStream("D:\\JobImages\\" + templates[i].PicNumber, FileMode.Open); //} //string virtualPath = string.Format("Content/export/pics/{0}", templates[i].PicNumber); //image FileInfoEntity fi = new FileInfoEntity(); fi.FileId = Guid.NewGuid().ToString(); fi.RecId = Guid.NewGuid().ToString(); fi.FolderId = templates[i].JobId; fi.RecId = templates[i].JobId; fi.FileName = templates[i].PicNumber; fi.FilePath = "~/Content/export/pics/" + fi.FileName; fi.FileType = ""; fi.FileExtensions = ""; fi.FileSize = ""; fi.DeleteMark = 0; fileBll.SaveForm(fi); } workmeetingbll.AddJobTemplates(templates); workmeetingbll.AddDangerTemplates(dtemplates); } catch (Exception ex) { success = false; message = HttpUtility.JavaScriptStringEncode(ex.Message); } return(Json(new { success, message })); }