/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, MatrixsafecheckEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
public ActionResult SubmitForm(string keyValue, MatrixsafecheckEntity entity) { entity.ISOVER = 1; DataTable dt = new DataTable(); if (keyValue == "" || keyValue == null) { dt = matrixsafecheckbll.GetInfoBySql("select id from bis_matrixsafecheck where checktime = to_date('" + entity.CHECKTIME + "', 'yyyy-MM-dd HH24:mi:ss') "); } else { dt = matrixsafecheckbll.GetInfoBySql("select id from bis_matrixsafecheck where checktime = to_date('" + entity.CHECKTIME + "', 'yyyy-MM-dd HH24:mi:ss') and ID <> '" + keyValue + "' "); } if (dt.Rows.Count == 0) { matrixsafecheckbll.SaveForm(keyValue, entity); return(Success("操作成功。")); } else { return(Error("已存在相同时间的数据。")); } }
public string ImportQuestion() { var user = OperatorProvider.Provider.Current(); if (OperatorProvider.Provider.Current().IsSystem) { return("超级管理员无此操作权限"); } string orgId = OperatorProvider.Provider.Current().OrganizeId;//所属公司 int error = 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); file.SaveAs(Server.MapPath("~/Resource/temp/" + fileName)); Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook(); wb.Open(Server.MapPath("~/Resource/temp/" + fileName)); Aspose.Cells.Cells cells = wb.Worksheets[0].Cells; string where = ""; if (user.RoleName.Contains("厂级")) { where += " a.ISROLE = '0' and a.CREATEUSERDEPTCODE ='" + user.DeptCode + "'"; } else { where += " a.ISROLE = '1' and a.CREATEUSERDEPTCODE ='" + user.DeptCode + "'"; } DataTable dtcontent = matrixsafecheckbll.GetInfoBySql("select ID, CODE,CONTENT from BIS_MATRIXCONTENT a where " + where); if (dtcontent.Rows.Count == 0) { return("请先设置检查内容"); } DataTable dtdept = matrixsafecheckbll.GetInfoBySql("select ID, code,dept,deptname,deptcode from BIS_MATRIXDEPT a where " + where); if (dtdept.Rows.Count == 0) { return("请先设置检查部门"); } DataTable dt = cells.ExportDataTable(1, 0, cells.MaxDataRow, cells.MaxColumn + 1, false); dt.Rows.RemoveAt(0); for (int i = 1; i < dt.Rows.Count; i++) { //检查日期 string checktime = dt.Rows[i][0].ToString(); //检查内容 string checkcontent = dt.Rows[i][1].ToString(); //检查部门 string checkdept = dt.Rows[i][2].ToString(); //检查人员 string checkuser = dt.Rows[i][3].ToString(); //---****值存在空验证*****-- if (string.IsNullOrEmpty(checktime) && string.IsNullOrEmpty(checkcontent) && string.IsNullOrEmpty(checkdept) && string.IsNullOrEmpty(checkuser)) { continue; } if (string.IsNullOrEmpty(checktime) || string.IsNullOrEmpty(checkcontent) || string.IsNullOrEmpty(checkdept)) { falseMessage += "</br>" + "第" + (i + 2) + "行值存在空,未能导入."; error++; continue; } MatrixsafecheckEntity entir = new MatrixsafecheckEntity(); entir.ISOVER = 1; // 检查时间 try { if (!string.IsNullOrEmpty(checktime)) { // 检查时间 DataTable dtcount = matrixsafecheckbll.GetInfoBySql("select id from bis_matrixsafecheck where checktime = to_date('" + DateTime.Parse(checktime).ToString("yyyy-MM-dd") + "', 'yyyy-MM-dd HH24:mi:ss') "); if (dtcount.Rows.Count > 0) { falseMessage += "</br>" + "第" + (i + 2) + "行检查时间已存在,未能导入."; error++; continue; } else { entir.CHECKTIME = DateTime.Parse(DateTime.Parse(checktime).ToString("yyyy-MM-dd")); } } } catch { falseMessage += "</br>" + "第" + (i + 2) + "行检查时间有误,未能导入."; error++; continue; } // 检查内容 entir.CONTENT = checkcontent; if (!string.IsNullOrEmpty(checkcontent)) { var conarr = checkcontent.Split(','); int contentresult = 0; foreach (string continfo in conarr) { foreach (DataRow condr in dtcontent.Rows) { if (continfo == condr["CONTENT"].ToString()) { if (entir.CONTENTID == "" || entir.CONTENTID == null) { entir.CONTENTID = condr["ID"].ToString(); entir.CONTENTNUM = condr["CODE"].ToString(); } else { entir.CONTENTID += "," + condr["ID"].ToString(); entir.CONTENTNUM += "," + condr["CODE"].ToString(); } contentresult++; break; } } } if (contentresult != conarr.Length) { falseMessage += "</br>" + "第" + (i + 2) + "行检查内容有误,未能导入."; error++; continue; } } // 检查部门 entir.CHECKDEPTNAME = checkdept; if (!string.IsNullOrEmpty(checkdept)) { var deptarr = checkdept.Split(','); int checkdeptresult = 0; foreach (string deptinfo in deptarr) { foreach (DataRow deptdr in dtdept.Rows) { if (deptinfo == deptdr["DEPTNAME"].ToString()) { if (entir.CHECKDEPTSEL == "" || entir.CHECKDEPTSEL == null) { entir.CHECKDEPTSEL = deptdr["ID"].ToString(); entir.CHECKDEPT = deptdr["DEPT"].ToString(); entir.CHECKDEPTCODE = deptdr["DEPTCODE"].ToString(); entir.CHECKDEPTNUM = deptdr["CODE"].ToString(); } else { entir.CHECKDEPTSEL += "," + deptdr["ID"].ToString(); entir.CHECKDEPT += "," + deptdr["DEPT"].ToString(); entir.CHECKDEPTCODE += "," + deptdr["DEPTCODE"].ToString(); entir.CHECKDEPTNUM += "," + deptdr["CODE"].ToString(); } checkdeptresult++; break; } } } if (checkdeptresult != deptarr.Length) { falseMessage += "</br>" + "第" + (i + 2) + "行检查部门有误,未能导入."; error++; continue; } } // 检查人员 entir.CHECKUSERNAME = checkuser; if (!string.IsNullOrEmpty(checkuser)) { var userarr = checkuser.Split(','); int checkuserresult = 0; foreach (string userinfo in userarr) { DataTable userdt = matrixsafecheckbll.GetInfoBySql(" SELECT USERID,ACCOUNT,DEPARTMENTCODE,REALNAME FROM BASE_USER WHERE REALNAME = '" + userinfo + "' "); if (userdt.Rows.Count == 0) { break; } else { if (entir.CHECKUSER == "" || entir.CHECKUSER == null) { entir.CHECKUSER = userdt.Rows[0]["USERID"].ToString(); entir.CHECKUSERCODE = userdt.Rows[0]["ACCOUNT"].ToString(); entir.CHECKUSERDEPT = userdt.Rows[0]["DEPARTMENTCODE"].ToString(); } else { entir.CHECKUSER += "," + userdt.Rows[0]["USERID"].ToString(); entir.CHECKUSERCODE += "," + userdt.Rows[0]["ACCOUNT"].ToString(); entir.CHECKUSERDEPT = userdt.Rows[0]["DEPARTMENTCODE"].ToString(); } checkuserresult++; } } if (checkuserresult != userarr.Length) { falseMessage += "</br>" + "第" + (i + 2) + "行检查人员有误,未能导入."; error++; continue; } } try { entir.ID = Guid.NewGuid().ToString(); matrixsafecheckbll.SaveForm(entir.ID, entir); } catch { falseMessage += "</br>" + "第" + (i + 2) + "行保存失败,未能导入."; error++; continue; } } count = dt.Rows.Count - 1; message = "共有" + count + "条记录,成功导入" + (count - error) + "条,失败" + error + "条"; message += "</br>" + falseMessage; } return(message); }