/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public new vOrg_Organization GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vOrg_Organization>(model); return(returnModel); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vOrg_Group GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vOrg_Group>(model); return(returnModel); }
/// <summary> /// 下载附件 /// </summary> /// <param name="attachId">附件Id</param> /// <returns></returns> public ActionResult DownloadAttachment(Guid attachId) { if (_Request == null) { _Request = Request; } string errMsg = string.Empty; Sys_Attachment attachment = CommonOperate.GetEntityById <Sys_Attachment>(attachId, out errMsg); if (attachment != null) { try { string pathFlag = System.IO.Path.DirectorySeparatorChar.ToString(); string tempFile = string.Format("{0}{1}", Globals.GetWebDir(), attachment.FileUrl.ObjToStr().Replace(Globals.GetBaseUrl(), string.Empty)); tempFile = tempFile.Replace("/", pathFlag); string ext = FileOperateHelper.GetFileExt(tempFile); var fs = new System.IO.FileStream(tempFile, FileMode.Open); if (fs != null) { string tempfn = attachment.FileName; return(File(fs, FileOperateHelper.GetHttpMIMEContentType(ext), tempfn)); } } catch (Exception ex) { return(Content("<script>alert('异常:" + ex.Message + "');</script>")); } } return(Content("<script>alert('找不到此文件!');</script>")); }
/// <summary> /// 获取记录附件 /// </summary> /// <param name="recordId">记录ID</param> /// <returns></returns> public ActionResult GetAttachments(Guid recordId) { string errMsg = string.Empty; List <Sys_Attachment> attachments = CommonOperate.GetEntities <Sys_Attachment>(out errMsg, x => x.RecordId == recordId, null, false); return(Json(attachments)); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vSys_Menu GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vSys_Menu>(model); return(returnModel); }
/// <summary> /// 修改用户别名 /// </summary> /// <param name="username">用户名</param> /// <param name="aliasName">用户别名</param> /// <returns></returns> public static string UpdateUserAliasName(string username, string aliasName) { if (ModelConfigHelper.ModelIsViewMode(typeof(Sys_User))) { return("用户管理模块为视图模式不允许更新用户别名!"); } if (string.IsNullOrWhiteSpace(aliasName)) { return("用户别名不能为空!"); } string errMsg = string.Empty; Sys_User user = CommonOperate.GetEntity <Sys_User>(x => x.UserName == username, null, out errMsg); if (user == null) { return("用户信息不存在!"); } if (user.AliasName != aliasName) { user.AliasName = aliasName; Guid rs = CommonOperate.OperateRecord <Sys_User>(user, ModelRecordOperateType.Edit, out errMsg, new List <string>() { "AliasName" }, false); } return(errMsg); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vAuth_PositionFeatureRole GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vAuth_PositionFeatureRole>(model); return(returnModel); }
/// <summary> /// 操作完成后 /// </summary> /// <param name="operateType"></param> /// <param name="t"></param> /// <param name="result"></param> /// <param name="currUser"></param> /// <param name="otherParams"></param> public void OperateCompeletedHandle(ModelRecordOperateType operateType, OrgM_EmpDeptDuty t, bool result, UserInfo currUser, object[] otherParams = null) { if (result) { string errMsg = string.Empty; if (operateType == ModelRecordOperateType.Add || operateType == ModelRecordOperateType.Edit) { if (t.OrgM_EmpId.HasValue && t.OrgM_EmpId.Value != Guid.Empty && t.OrgM_DeptId.HasValue && t.OrgM_DeptId.Value != Guid.Empty) { OrgM_Dept dept = OrgMOperate.GetDeptById(t.OrgM_DeptId.Value); string username = OrgMOperate.GetUserNameByEmpId(t.OrgM_EmpId.Value); if (!string.IsNullOrEmpty(username) && dept != null) { Sys_User user = UserOperate.GetUser(username); Sys_Organization org = UserOperate.GetAllOrgs(x => x.Name == dept.Name && x.Flag == dept.Id.ToString()).FirstOrDefault(); if (user != null && org != null && user.Sys_OrganizationId != org.Id) { user.Sys_OrganizationId = org.Id; CommonOperate.OperateRecord <Sys_User>(user, ModelRecordOperateType.Edit, out errMsg, new List <string>() { "Sys_OrganizationId" }, false); } } } } } }
/// <summary> /// 网格数据处理 /// </summary> /// <param name="data"></param> /// <param name="otherParams"></param> /// <param name="currUser"></param> public bool PageGridDataHandle(List <Bpm_WorkToDoList> data, object[] otherParams = null, UserInfo currUser = null) { if (data != null && data.Count > 0) { string errMsg = string.Empty; foreach (Bpm_WorkToDoList todo in data) { todo.ModuleName = SystemOperate.GetModuleNameById(todo.ModuleId); if (!todo.Bpm_WorkFlowInstanceId.HasValue) { continue; } Bpm_WorkFlowInstance flowInst = BpmOperate.GetWorkflowInstanceById(todo.Bpm_WorkFlowInstanceId.Value); if (flowInst == null) { continue; } todo.StatusOfEnum = flowInst.StatusOfEnum; int status = (int)flowInst.StatusOfEnum; Bpm_WorkToDoList tempTodo = CommonOperate.GetEntity <Bpm_WorkToDoList>(x => x.Bpm_WorkFlowInstanceId == todo.Bpm_WorkFlowInstanceId.Value && x.Status == status, null, out errMsg); if (tempTodo != null && !string.IsNullOrEmpty(todo.NextNodeHandler)) { List <Guid> tempEmpIds = tempTodo.NextNodeHandler.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(x => x.ObjToGuid()).Where(x => x != Guid.Empty).ToList(); if (tempEmpIds.Count > 0) { todo.OrgM_EmpName = string.Join(",", tempEmpIds.Select(x => OrgMOperate.GetEmpNameContainsQuit(x)).Where(x => !string.IsNullOrEmpty(x))); } } } } return(false); }
/// <summary> /// 添加异常日志 /// </summary> /// <param name="ex">异常对象</param> /// <param name="paramObj">参数</param> /// <param name="controlOrClass">控制器或类名</param> /// <param name="actionName">方法名</param> /// <param name="currUser">当前用户</param> public static void AddExceptionLog(Exception ex, string paramObj, string controlOrClass = null, string actionName = null, UserInfo currUser = null) { if (ex == null) { return; } try { //构造对象 Log_Exception exceptionLog = new Log_Exception(); exceptionLog.ExceptionName = ex.GetType().Name; exceptionLog.ExceptionSource = ex.Source; exceptionLog.ExceptionMsg = ex.Message; exceptionLog.StackTrace = ex.StackTrace; exceptionLog.ExceptionTime = DateTime.Now; exceptionLog.ControllerName = controlOrClass; exceptionLog.ActionName = actionName; exceptionLog.CreateUserId = currUser != null ? currUser.UserId : (Guid?)null; exceptionLog.CreateUserName = UserInfo.GetUserAliasName(currUser); exceptionLog.CreateDate = DateTime.Now; exceptionLog.ModifyDate = DateTime.Now; exceptionLog.ModifyUserId = currUser != null ? currUser.UserId : (Guid?)null; exceptionLog.ModifyUserName = UserInfo.GetUserAliasName(currUser); exceptionLog.Id = Guid.NewGuid(); //保存 string errMsg = string.Empty; CommonOperate.OperateRecord <Log_Exception>(exceptionLog, OperateHandle.ModelRecordOperateType.Add, out errMsg, null, false); } catch { } }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vOrg_UserPosition GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vOrg_UserPosition>(model); return(returnModel); }
/// <summary> /// 调度日志 /// </summary> /// <returns></returns> public ActionResult GetQuartzLog() { var jobName = Server.UrlDecode(Request["jobName"].ObjToStr()); var jobGroup = Server.UrlDecode(Request["jobGroup"].ObjToStr()); if (string.IsNullOrEmpty(jobName) || string.IsNullOrEmpty(jobGroup)) { return(Json(null)); } string errMsg = string.Empty; string connString = WebConfigHelper.GetConnectionString("QuartzConnString"); DateTime dtBefore = DateTime.Now.AddDays(-7); dtBefore = DateTime.SpecifyKind(dtBefore, DateTimeKind.Utc); DateTimeOffset dtOffSet = dtBefore; long ticks = dtOffSet.UtcTicks; string sql = string.Format("SELECT * FROM QRTZ_FIRED_TRIGGERS WHERE FIRED_TIME>{0} AND JOB_NAME='{1}' AND JOB_GROUP='{2}' ORDER BY FIRED_TIME DESC", ticks, jobName, jobGroup); DataTable dt = CommonOperate.ExecuteQuery(out errMsg, sql, null, connString); if (dt != null && dt.Rows.Count > 0) { var list = dt.AsEnumerable().Cast <DataRow>().Select(x => new { jobName = x["JOB_NAME"].ObjToStr(), jobGroup = x["JOB_GROUP"].ObjToStr(), planName = x["TRIGGER_NAME"].ObjToStr(), planGroupName = x["TRIGGER_GROUP"].ObjToStr(), planExecTime = new DateTimeOffset(x["FIRED_TIME"].ObjToLong(), TimeSpan.Zero).LocalDateTime.ToString("yyyy-MM-dd HH:mm:ss") }); return(Json(list)); } return(Json(null)); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vSys_OpenInterfaceType GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vSys_OpenInterfaceType>(model); return(returnModel); }
/// <summary> /// 下载附件 /// </summary> /// <param name="attachId">附件Id</param> /// <returns></returns> public ActionResult DownloadAttachment(Guid attachId) { if (_Request == null) { _Request = Request; } string errMsg = string.Empty; Sys_Attachment attachment = CommonOperate.GetEntityById <Sys_Attachment>(attachId, out errMsg); if (attachment != null) { try { string tempFile = string.Format("{0}{1}", Globals.GetWebDir(), attachment.FileUrl.ObjToStr().Replace(Globals.GetBaseUrl(), string.Empty)); if (WebConfigHelper.GetAppSettingValue("IsLinux") != "true") { tempFile = tempFile.Replace("/", "\\"); } string ext = FileOperateHelper.GetFileExt(tempFile); var fs = new System.IO.FileStream(tempFile, FileMode.Open); if (fs != null) { return(File(fs, FileOperateHelper.GetHttpMIMEContentType(ext), Url.Encode(attachment.FileName))); } } catch (Exception ex) { return(Content("<script>alert('异常:" + ex.Message + "');</script>")); } } return(Content("<script>alert('找不到此文件!');</script>")); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vAuth_PositionSpecialMenuConfig GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vAuth_PositionSpecialMenuConfig>(model); return(returnModel); }
/// <summary> /// 账户是否有效 /// </summary> /// <param name="username"></param> /// <param name="errMsg">异常信息</param> /// <returns></returns> public static bool UserIsValid(string username, out string errMsg) { errMsg = string.Empty; Sys_User tempUser = CommonOperate.GetEntity <Sys_User>(x => !x.IsDeleted && x.IsValid && x.IsActivated && x.UserName.ToLower() == username.Trim().ToLower(), string.Empty, out errMsg); return(tempUser != null); }
/// <summary> /// 删除附件 /// </summary> /// <param name="attachIds">附件Id集合,多个以逗号分隔</param> /// <returns></returns> public ActionResult DeleteAttachment(string attachIds) { if (string.IsNullOrEmpty(attachIds)) { return(Json(new ReturnResult { Success = false, Message = "附件Id为空!" })); } if (_Request == null) { _Request = Request; } string[] token = attachIds.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (token.Length == 0) { return(Json(new ReturnResult { Success = false, Message = "附件Id为空!" })); } List <Guid> delIds = token.Select(x => x.ObjToGuid()).Where(x => x != Guid.Empty).ToList(); if (delIds == null || delIds.Count == 0) { return(Json(new ReturnResult { Success = false, Message = "附件Id为空!" })); } string errMsg = string.Empty; List <Sys_Attachment> tempAttachments = CommonOperate.GetEntities <Sys_Attachment>(out errMsg, x => delIds.Contains(x.Id), null, false); errMsg = SystemOperate.DeleteAttachment(tempAttachments); return(Json(new ReturnResult { Success = string.IsNullOrEmpty(errMsg), Message = errMsg })); }
/// <summary> /// 登录后 /// </summary> /// <param name="resultContext">结果上下文</param> public override void OnResultExecuted(ResultExecutedContext resultContext) { //异步处理 Task.Factory.StartNew(() => { try { JsonResult result = resultContext.Result as JsonResult; if (result != null && result.Value != null) { PropertyInfo pSuccess = result.Value.GetType().GetProperty("Success"); PropertyInfo pErrMsg = result.Value.GetType().GetProperty("Message"); bool loginSuccess = pSuccess.GetValue2(result.Value, null).ObjToBool(); loginLog.LoginStatus = loginSuccess ? "登录成功" : "登录失败"; loginLog.FailureReason = pErrMsg.GetValue2(result.Value, null).ObjToStr(); } else { loginLog.LoginStatus = "登录失败"; loginLog.FailureReason = "无返回结果"; } string errMsg = string.Empty; long loginNum = CommonOperate.Count <Log_Login>(out errMsg, false, x => x.LoginName == loginLog.LoginName); loginLog.LoginNum = (int)loginNum + 1; loginLog.Id = Guid.NewGuid(); CommonOperate.OperateRecord <Log_Login>(loginLog, Operate.Base.OperateHandle.ModelRecordOperateType.Add, out errMsg, null, false); } catch { } }); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vSys_UserLoginHistory GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vSys_UserLoginHistory>(model); return(returnModel); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vAuth_UserDataRole GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vAuth_UserDataRole>(model); return(returnModel); }
/// <summary> /// 添加操作日志 /// </summary> /// <param name="operateUser">操作用户</param> /// <param name="moduleName">模块名称</param> /// <param name="opType">操作类型,如新增、修改、删除等</param> /// <param name="opContent">操作内容</param> /// <param name="IsOpSuccess">是否成功</param> /// <param name="opErrMsg">操作异常信息</param> public static void AddOperateLog(UserInfo operateUser, string moduleName, string opType, string opContent, bool IsOpSuccess, string opErrMsg) { try { if (operateUser == null || string.IsNullOrEmpty(moduleName)) { return; } //构建操作日志对象 UserInfo admin = UserOperate.GetSuperAdmin(); Log_Operate operateLog = new Log_Operate(); operateLog.Id = Guid.NewGuid(); operateLog.ModuleName = moduleName; operateLog.OperateType = opType; operateLog.OperateContent = opContent; operateLog.OperateResult = IsOpSuccess ? "操作成功" : "操作失败"; operateLog.OperateTip = opErrMsg; operateLog.UserId = operateUser.UserName; operateLog.UserAlias = operateUser.AliasName; operateLog.OperateTime = DateTime.Now; operateLog.ClientIp = operateUser.ClientIP; operateLog.CreateDate = DateTime.Now; operateLog.CreateUserId = admin.UserId; operateLog.CreateUserName = admin.AliasName; operateLog.ModifyDate = DateTime.Now; operateLog.ModifyUserId = admin.UserId; operateLog.ModifyUserName = admin.AliasName; string errMsg = string.Empty; //保存日志 CommonOperate.OperateRecord <Log_Operate>(operateLog, OperateHandle.ModelRecordOperateType.Add, out errMsg, null, false); } catch { } }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vAuth_DataObject GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vAuth_DataObject>(model); return(returnModel); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vAuth_FeatureRoleConfig GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vAuth_FeatureRoleConfig>(model); return(returnModel); }
/// <summary> /// 修改密码 /// </summary> /// <param name="userId">用户Id</param> /// <param name="newPwd">新密码</param> /// <param name="errMsg">错误信息</param> /// <returns></returns> public static bool ModifyPassword(Guid userId, string newPwd, out string errMsg) { errMsg = string.Empty; if (ModelConfigHelper.ModelIsViewMode(typeof(Sys_User))) { errMsg = "用户管理模块为视图模式不允许更新密码!"; return(false); } Sys_User user = CommonOperate.GetEntity <Sys_User>(x => x.Id == userId && !x.IsDeleted && x.IsValid && x.IsActivated, string.Empty, out errMsg); if (user == null) { errMsg = "非法用户!"; return(false); } //获取混淆码 string passwordSalt = SecurityHelper.GenerateSalt(); //获取混淆码加密过的密码 string passwordHash = SecurityHelper.EncodePassword(newPwd, passwordSalt); //SecurityHelper.EncodePassword(MySecurity.MD5(newPwd), passwordSalt); user.PasswordHash = passwordHash; user.PasswordSalt = passwordSalt; Guid rs = CommonOperate.OperateRecord <Sys_User>(user, ModelRecordOperateType.Edit, out errMsg, new List <string>() { "PasswordHash", "PasswordSalt" }, false); if (rs != Guid.Empty) //修改密码成功 { errMsg = TempUserOperate(userId, newPwd); } return(string.IsNullOrEmpty(errMsg)); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vSchedule_Type GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vSchedule_Type>(model); return(returnModel); }
/// <summary> /// 根据Id获取扩展对象 /// </summary> /// <param name="Id"></param> /// <returns></returns> public vSys_ApplicationModule GetById(Guid Id) { var model = base.GetById(Id); var returnModel = CommonOperate.ConvertObj <vSys_ApplicationModule>(model); return(returnModel); }
/// <summary> /// 添加部门 /// </summary> /// <returns></returns> public JsonResult AddDept() { if (_Request == null) { _Request = Request; } string deptname = _Request.QueryEx("deptname").ObjToStr(); if (string.IsNullOrWhiteSpace(deptname)) { return(Json(new ReturnResult() { Success = false, Message = "部门名称不能为空" })); } string errMsg = string.Empty; long num = CommonOperate.Count <OrgM_Dept>(out errMsg, false, x => x.Name == deptname); if (num > 0) { return(Json(new ReturnResult() { Success = false, Message = "该部门已存在,请不要重复添加" })); } UserInfo currUser = GetCurrentUser(_Request); Guid moduleId = SystemOperate.GetModuleIdByTableName("OrgM_Dept"); string code = SystemOperate.GetBillCode(moduleId); OrgM_Dept dept = new OrgM_Dept() { Code = code, Name = deptname, Alias = deptname, IsValid = true, EffectiveDate = DateTime.Now, CreateDate = DateTime.Now, CreateUserId = currUser.UserId, CreateUserName = currUser.EmpName, ModifyDate = DateTime.Now, ModifyUserId = currUser.UserId, ModifyUserName = currUser.EmpName }; Guid deptId = CommonOperate.OperateRecord <OrgM_Dept>(dept, ModelRecordOperateType.Add, out errMsg, null, false); if (deptId != Guid.Empty) { SystemOperate.UpdateBillCode(moduleId, code); return(Json(new { Success = true, Message = string.Empty, DeptId = deptId, DeptName = deptname })); } else { return(Json(new ReturnResult() { Success = false, Message = errMsg })); } }
/// <summary> /// 根据用户Id获取用户名 /// </summary> /// <param name="userId">用户Id</param> /// <returns></returns> public static string GetUserNameByUserId(Guid userId) { string errMsg = string.Empty; Sys_User tempUser = CommonOperate.GetEntityById <Sys_User>(userId, out errMsg); if (tempUser != null) { return(tempUser.UserName); } return(string.Empty); }
/// <summary> /// 获取用户信息 /// </summary> /// <param name="userId">用户Id</param> /// <returns></returns> public static UserInfo GetUserInfo(Guid userId) { string errMsg = string.Empty; Sys_User user = CommonOperate.GetEntityById <Sys_User>(userId, out errMsg); if (user == null) { return(null); } return(GetUserInfo(user)); }
/// <summary> /// 操作后处理,流程删除后删除对应的流程结点和流程连线 /// </summary> /// <param name="operateType"></param> /// <param name="t"></param> /// <param name="result"></param> /// <param name="currUser"></param> /// <param name="otherParams"></param> public void OperateCompeletedHandle(ModelRecordOperateType operateType, Bpm_WorkFlow t, bool result, UserInfo currUser, object[] otherParams = null) { string errMsg = string.Empty; if (result && operateType == ModelRecordOperateType.Del) { //删除流程结点 CommonOperate.DeleteRecordsByExpression <Bpm_WorkNode>(x => x.Bpm_WorkFlowId == t.Id, out errMsg); //删除流程连线 CommonOperate.DeleteRecordsByExpression <Bpm_WorkLine>(x => x.Bpm_WorkFlowId == t.Id, out errMsg); } }