public IActionResult Create(DepartmentDeclareModel model) { var response = ResponseModelFactory.CreateInstance; using (_dbContext) { var personaldiary = new DepartmentDeclare(); personaldiary.DeclareName = model.DeclareName; //姓名 personaldiary.DeclareDepartment = model.DeclareDepartment; //部门 personaldiary.DeclareTime = model.DeclareTime; //时间 personaldiary.BonusPoint = model.BonusPoint; //加分项 personaldiary.PlusScore = model.PlusScore; //加分分值 personaldiary.PlusContent = model.PlusContent; //加分内容 personaldiary.Deduction = model.Deduction; //减分项 personaldiary.DeductionScore = model.DeductionScore; //减分分值 personaldiary.DeductionContent = model.DeductionContent; //减分内容 personaldiary.Remark = model.Remark; //备注 personaldiary.EstablishTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //添加时间 personaldiary.EstablishName = AuthContextService.CurrentUser.DisplayName; //添加人 personaldiary.IsDeleted = 0; //是否删除 _dbContext.DepartmentDeclare.Add(personaldiary); int res = _dbContext.SaveChanges(); if (res > 0) { ToLog.AddLog("添加", "成功:添加:绩效申报信息数据", _dbContext); } response.SetSuccess(); return(Ok(response)); } }
public IActionResult daoru(IFormFile excelfile) { var response = ResponseModelFactory.CreateInstance; using (_dbContext) { DateTime beginTime = DateTime.Now; string sWebRootFolder = _hostingEnvironment.WebRootPath + "\\UploadFiles\\PerformanceDeclare"; string uploadtitle = "绩效申报导入" + DateTime.Now.ToString("yyyyMMddHHmmss"); string sFileName = $"{uploadtitle}.xlsx"; FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName)); string responsemsgsuccess = ""; //成功提示 string responsemsgrepeat = ""; //重复提示 string responsemsgdefault = ""; //为空提示 int successcount = 0; //成功条数 int repeatcount = 0; //重复条数 int defaultcount = 0; //为空条数 try { //把excelfile中的数据复制到file中 using (FileStream fs = new FileStream(file.ToString(), FileMode.Create)) //初始化一个指定路径和创建模式的FileStream { excelfile.CopyTo(fs); fs.Flush(); //清空stream的缓存,并且把缓存中的数据输出到file } DataTable dt = Haikan3.Utils.ExcelTools.ExcelToDataTable(file.ToString(), "Sheet1", true); if (dt == null || dt.Rows.Count == 0) { response.SetFailed("表格无数据"); return(Ok(response)); } else { if (!dt.Columns.Contains("部门")) { response.SetFailed("无‘部门’列"); return(Ok(response)); } if (!dt.Columns.Contains("姓名")) { response.SetFailed("无‘姓名’列"); return(Ok(response)); } if (!dt.Columns.Contains("时间")) { response.SetFailed("无‘时间’列"); return(Ok(response)); } if (!dt.Columns.Contains("加分项")) { response.SetFailed("无‘加分项’列"); return(Ok(response)); } if (!dt.Columns.Contains("加分内容")) { response.SetFailed("无‘加分内容’列"); return(Ok(response)); } if (!dt.Columns.Contains("加分分值")) { response.SetFailed("无‘加分分值’列"); return(Ok(response)); } if (!dt.Columns.Contains("减分项")) { response.SetFailed("无‘减分项’列"); return(Ok(response)); } if (!dt.Columns.Contains("减分内容")) { response.SetFailed("无‘减分内容’列"); return(Ok(response)); } if (!dt.Columns.Contains("减分分值")) { response.SetFailed("无‘减分分值’列"); return(Ok(response)); } if (!dt.Columns.Contains("备注")) { response.SetFailed("无‘备注’列"); return(Ok(response)); } for (int i = 0; i < dt.Rows.Count; i++) { var entity = new DepartmentDeclare(); if (!string.IsNullOrEmpty(dt.Rows[i]["姓名"].ToString())) { entity.DeclareName = dt.Rows[i]["姓名"].ToString(); } else { responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行姓名为空" + "</p></br>"; defaultcount++; continue; } if (!string.IsNullOrEmpty(dt.Rows[i]["部门"].ToString())) { entity.DeclareDepartment = _dbContext.Department.FirstOrDefault(x => x.Name == dt.Rows[i]["部门"].ToString()).DepartmentUuid.ToString();//部门guid //entity.DeclareDepartment = dt.Rows[i]["部门"].ToString(); } else { responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行部门为空" + "</p></br>"; defaultcount++; continue; } if (!string.IsNullOrEmpty(dt.Rows[i]["时间"].ToString())) { string s = Convert.ToDateTime(dt.Rows[i]["时间"].ToString()).ToString("yyyy-MM"); entity.DeclareTime = Convert.ToDateTime(dt.Rows[i]["时间"].ToString()).ToString("yyyy-MM"); } else { responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行时间为空" + "</p></br>"; defaultcount++; continue; } if (!string.IsNullOrEmpty(dt.Rows[i]["加分项"].ToString())) { entity.BonusPoint = dt.Rows[i]["加分项"].ToString(); } if (!string.IsNullOrEmpty(dt.Rows[i]["加分内容"].ToString())) { entity.PlusContent = dt.Rows[i]["加分内容"].ToString(); } if (!string.IsNullOrEmpty(dt.Rows[i]["加分分值"].ToString())) { entity.PlusScore = int.Parse(dt.Rows[i]["加分分值"].ToString()); } if (!string.IsNullOrEmpty(dt.Rows[i]["减分项"].ToString())) { entity.Deduction = dt.Rows[i]["减分项"].ToString(); } if (!string.IsNullOrEmpty(dt.Rows[i]["减分内容"].ToString())) { entity.DeductionContent = dt.Rows[i]["减分内容"].ToString(); } if (!string.IsNullOrEmpty(dt.Rows[i]["减分分值"].ToString())) { entity.DeductionScore = int.Parse(dt.Rows[i]["减分分值"].ToString()); } if (!string.IsNullOrEmpty(dt.Rows[i]["备注"].ToString())) { entity.Remark = dt.Rows[i]["备注"].ToString(); } entity.EstablishTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //添加时间 entity.EstablishName = AuthContextService.CurrentUser.DisplayName; //添加人 entity.IsDeleted = 0; //是否删除 if (!string.IsNullOrEmpty(dt.Rows[i]["加分项"].ToString()) || !string.IsNullOrEmpty(dt.Rows[i]["减分项"].ToString())) { string ssss = dt.Rows[i]["加分项"].ToString(); if (dt.Rows[i]["加分项"].ToString() == "1" || dt.Rows[i]["减分项"].ToString() == "1") { entity.AuditStatus = "2";//审核状态 } else { entity.AuditStatus = "1";//审核状态 } } _dbContext.DepartmentDeclare.Add(entity); _dbContext.SaveChanges(); successcount++; responsemsgsuccess += "<p style='color:green'>" + "第" + (i + 2) + "行信息导入成功" + "</p></br>"; } } responsemsgsuccess = "<p style='color:green'>导入成功:" + successcount + "条</p></br>" + responsemsgsuccess; responsemsgrepeat = "<p style='color:orange'>重复需手动修改数据:" + repeatcount + "条</p></br>" + responsemsgrepeat; responsemsgdefault = "<p style='color:red'>导入失败:" + defaultcount + "条</p></br>" + responsemsgdefault; ToLog.AddLog("导入", "成功:导入:绩效申报信息数据", _dbContext); DateTime endTime = DateTime.Now; TimeSpan useTime = endTime - beginTime; string taketime = "导入时间" + useTime.TotalSeconds.ToString() + "秒 "; response.SetData(JsonConvert.DeserializeObject(JsonConvert.SerializeObject(new { time = taketime, successmsg = responsemsgsuccess, repeatmsg = responsemsgrepeat, defaultmsg = responsemsgdefault }))); return(Ok(response)); } catch (Exception ex) { response.SetFailed("请上传与表字符相符的表格"); return(Ok(response)); } } }