/// <summary> /// 用户集合操作完成后事件 /// </summary> /// <param name="operateType">操作类型</param> /// <param name="ts">用户对象集合</param> /// <param name="result">操作结果</param> /// <param name="currUser">当前用户</param> /// <param name="otherParams">其他参数</param> public void OperateCompeletedHandles(ModelRecordOperateType operateType, List <Sys_User> ts, bool result, UserInfo currUser, object[] otherParams = null) { if (operateType == ModelRecordOperateType.Add && result) { //新增用户后初始化用户密码为 username+'_'+123456 string errMsg = string.Empty; foreach (Sys_User t in ts) { if (string.IsNullOrEmpty(t.PasswordHash)) { string pwd = string.Format("{0}_123456", t.UserName); bool rs = UserOperate.ModifyPassword(t.Id, pwd, out errMsg); if (rs) { new UserOperateHandleFactory().AfterRegiterUser(t.UserName, pwd); } } } } if (operateType == ModelRecordOperateType.Del && result) { foreach (Sys_User t in ts) { new UserOperateHandleFactory().AfterDeleteUser(t.UserName); } } }
/// <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="operateType">操作类型</param> /// <param name="t">员工对象</param> /// <param name="result">操作结果</param> /// <param name="currUser">当前用户</param> /// <param name="otherParams"></param> public void OperateCompeletedHandle(ModelRecordOperateType operateType, OrgM_Emp t, bool result, UserInfo currUser, object[] otherParams = null) { if (result) { string errMsg = string.Empty; string username = OrgMOperate.GetUserNameByEmp(t); if (operateType == ModelRecordOperateType.Add) { if (!string.IsNullOrEmpty(username)) { UserOperate.AddUser(out errMsg, username, string.Format("{0}_123456", username), null, t.Name); } } else if (operateType == ModelRecordOperateType.Edit) { if (!string.IsNullOrEmpty(username)) { UserOperate.UpdateUserAliasName(username, t.Name); } } else if (operateType == ModelRecordOperateType.Del) { if (!string.IsNullOrEmpty(username)) { UserOperate.DelUser(username); //删除账号 } } } }
/// <summary> /// 保存后 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="result"></param> /// <param name="currUser"></param> /// <param name="otherParams"></param> public void OperateCompeletedHandles(ModelRecordOperateType operateType, List <Sys_FormField> ts, bool result, Frame.Base.UserInfo currUser, object[] otherParams = null) { if (ts != null) { foreach (Sys_FormField t in ts) { OperateCompeletedHandle(operateType, t, result, currUser, otherParams); } } }
/// <summary> /// 批量操作完成后事件 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="result"></param> /// <param name="currUser">当前用户</param> /// <param name="otherParams"></param> public void OperateCompeletedHandles(ModelRecordOperateType operateType, List <OrgM_Emp> ts, bool result, UserInfo currUser, object[] otherParams = null) { if (ts != null && ts.Count > 0) { foreach (OrgM_Emp t in ts) { OperateCompeletedHandle(operateType, t, result, currUser, otherParams); } } }
/// <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, Sys_Module t, bool result, UserInfo currUser, object[] otherParams = null) { if (operateType == ModelRecordOperateType.Del && result) { if (t.IsCustomerModule) { //自定义模块删除后要删除对应的字段、表单、表单字段、列表、列表字段、列表按钮、字典绑定等信息 SystemOperate.DeleteModuleReferences(t); } } }
/// <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); } }
/// <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_Dept t, bool result, UserInfo currUser, object[] otherParams = null) { if (result) { string errMsg = string.Empty; Guid? parentId = null; if (t.ParentId.HasValue && t.ParentId.Value != Guid.Empty) { OrgM_Dept parentDept = OrgMOperate.GetParentDept(t.ParentId.Value); if (parentDept != null && !string.IsNullOrEmpty(parentDept.Name)) { Sys_Organization parentOrg = CommonOperate.GetEntity <Sys_Organization>(x => x.Name == parentDept.Name && x.Flag == parentDept.Id.ToString() && !x.IsDeleted, null, out errMsg); if (parentOrg != null) { parentId = parentOrg.Id; } } } //部门新增后增加到系统组织中 if (operateType == ModelRecordOperateType.Add) { Sys_Organization org = new Sys_Organization() { Name = t.Name, ParentId = parentId, Flag = t.Id.ToString(), Des = t.Alias, CreateUserId = t.CreateUserId, CreateUserName = t.CreateUserName, ModifyUserId = t.ModifyUserId, ModifyUserName = t.ModifyUserName }; CommonOperate.OperateRecord <Sys_Organization>(org, ModelRecordOperateType.Add, out errMsg, null, false); } else if (operateType == ModelRecordOperateType.Edit) { Sys_Organization org = CommonOperate.GetEntity <Sys_Organization>(x => x.Name == t.Name && x.Flag == t.Id.ToString() && !x.IsDeleted, null, out errMsg); if (org != null) { org.ParentId = parentId; org.ModifyDate = DateTime.Now; org.ModifyUserId = t.ModifyUserId; org.ModifyUserName = t.ModifyUserName; List <string> fileNames = new List <string>() { "ParentId", "ModifyDate", "ModifyUserId", "ModifyUserName" }; CommonOperate.OperateRecord <Sys_Organization>(org, ModelRecordOperateType.Edit, out errMsg, fileNames, false); } } } }
/// <summary> /// 模块集合操作完成后 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="result"></param> /// <param name="currUser"></param> /// <param name="otherParams"></param> public void OperateCompeletedHandles(ModelRecordOperateType operateType, List <Sys_Module> ts, bool result, UserInfo currUser, object[] otherParams = null) { if (operateType == ModelRecordOperateType.Del && result) { List <Sys_Module> tempModules = ts.Where(x => x.IsCustomerModule).ToList(); if (tempModules.Count > 0) { //自定义模块删除后要删除对应的字段、表单、表单字段、列表、列表字段、列表按钮、字典绑定等信息 foreach (Sys_Module t in tempModules) { SystemOperate.DeleteModuleReferences(t); } } } }
/// <summary> /// 保存前 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandles(ModelRecordOperateType operateType, List <Sys_FormField> ts, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (operateType == ModelRecordOperateType.Add || operateType == ModelRecordOperateType.Edit) { if (ts != null && ts.Count > 0) { foreach (Sys_FormField t in ts) { BeforeOperateVerifyOrHandle(operateType, t, out errMsg, otherParams); } } } return(true); }
/// <summary> /// 操作前验证 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandles(ModelRecordOperateType operateType, List <OrgM_EmpDeptDuty> ts, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (ts != null && ts.Count > 0) { foreach (OrgM_EmpDeptDuty t in ts) { bool rs = BeforeOperateVerifyOrHandle(operateType, t, out errMsg, otherParams); if (!rs) { return(false); } } } return(true); }
/// <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, Sys_FormField t, bool result, Frame.Base.UserInfo currUser, object[] otherParams = null) { if (result) { string errMsg = string.Empty; Sys_FormField tempT = CommonOperate.GetEntityById <Sys_FormField>(t.Id, out errMsg); bool isFormEnableMemeryCache = ModelConfigHelper.IsModelEnableMemeryCache(typeof(Sys_Form)); //Sys_Form是否启动内存缓存 if (tempT.Sys_FormId.HasValue && isFormEnableMemeryCache) { Sys_Form form = SystemOperate.GetForm(tempT.Sys_FormId.Value); if (form != null) { form.FormFields = null; } } } }
/// <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, Sys_GridField t, bool result, UserInfo currUser, object[] otherParams = null) { if (result) { Sys_GridField tempT = SystemOperate.GetAllGridFields(x => x.Id == t.Id).FirstOrDefault(); bool isGridEnableMemeryCache = ModelConfigHelper.IsModelEnableMemeryCache(typeof(Sys_Grid)); //Sys_Grid是否启动内存缓存 if (tempT.Sys_GridId.HasValue && isGridEnableMemeryCache) { Sys_Grid grid = SystemOperate.GetGrid(tempT.Sys_GridId.Value); if (grid != null) { grid.GridFields = null; } } //string errMsg = string.Empty; //CommonOperate.UpdateRecordsByExpression<Sys_GridField>(new { FieldFormatter = "", EditorFormatter = "" }, x => x.Id == t.Id, out errMsg); } }
/// <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, Sys_Field t, bool result, UserInfo currUser, object[] otherParams = null) { if (result) { string errMsg = string.Empty; if (operateType == ModelRecordOperateType.Edit) { if (!string.IsNullOrEmpty(t.Display)) //修改了字段显示名称 { List <Sys_GridField> gridFields = SystemOperate.GetAllGridFields(x => x.Sys_FieldId == t.Id); if (gridFields.Count > 0) { gridFields.ForEach(x => { x.Display = t.Display; }); CommonOperate.OperateRecords <Sys_GridField>(gridFields, ModelRecordOperateType.Edit, out errMsg, false); } List <Sys_FormField> formFields = CommonOperate.GetEntities <Sys_FormField>(out errMsg, x => x.Sys_FieldId == t.Id, null, false); if (formFields != null && formFields.Count > 0) { formFields.ForEach(x => { x.Display = t.Display; }); CommonOperate.OperateRecords <Sys_FormField>(formFields, ModelRecordOperateType.Edit, out errMsg, false); } Sys_Field tempField = SystemOperate.GetFieldById(t.Id); if (tempField.Sys_ModuleId.HasValue) { Sys_Module module = SystemOperate.GetModuleById(tempField.Sys_ModuleId.Value); if (module != null && !string.IsNullOrEmpty(module.TitleKeyDisplay)) { module.TitleKeyDisplay = tempField.Display; } } } } else if (operateType == ModelRecordOperateType.Del) { //字段信息删除后删除相应的表单字段和列表字段 //删除列表字段 Sys_Module gridFieldModule = SystemOperate.GetModuleByTableName(typeof(Sys_GridField).Name); CommonOperate.DeleteRecordsByExpression <Sys_GridField>(x => x.Sys_FieldId == t.Id, out errMsg, gridFieldModule.IsEnabledRecycle); //删除表单字段 Sys_Module formFieldModule = SystemOperate.GetModuleByTableName(typeof(Sys_FormField).Name); CommonOperate.DeleteRecordsByExpression <Sys_FormField>(x => x.Sys_FieldId == t.Id, out errMsg, formFieldModule.IsEnabledRecycle); } } }
/// <summary> /// 操作前验证,如果流程已经在运行则不能删除 /// </summary> /// <param name="operateType"></param> /// <param name="t"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandle(ModelRecordOperateType operateType, Bpm_WorkFlow t, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (operateType == ModelRecordOperateType.Del) { //如果该流程存在流程实例则不允许删除 Bpm_WorkFlowInstance workflowInst = CommonOperate.GetEntity <Bpm_WorkFlowInstance>(x => x.Bpm_WorkFlowId == t.Id, null, out errMsg); if (workflowInst != null) { errMsg = "运行中的流程不允许删除!"; return(false); } } else if (operateType == ModelRecordOperateType.Add) { if (t.ValidEndTime != null && t.ValidEndTime.Value <= DateTime.Now) { errMsg = "结束时间必须大于今天!"; return(false); } if (t.ValidEndTime != null) { if (t.ValidStartTime == null) { errMsg = "设置了结束时间必须也要设置起始时间!"; return(false); } else if (t.ValidStartTime.Value < DateTime.Now) { errMsg = "起始时间必须大于等于今天!"; return(false); } } if (t.ValidStartTime == null && t.ValidEndTime == null) { if (BpmOperate.GetAllWorkflows(x => x.Sys_ModuleId == t.Sys_ModuleId && x.ValidStartTime == null && x.ValidEndTime == null).Count > 0) { errMsg = "该模块已经存在了默认流程(起始时间和结束时间为空),不允许再添加默认流程!"; return(false); } } } return(true); }
/// <summary> /// 操作前验证 /// </summary> /// <param name="operateType"></param> /// <param name="t"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandle(ModelRecordOperateType operateType, OrgM_EmpDeptDuty t, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (operateType == ModelRecordOperateType.Add || operateType == ModelRecordOperateType.Edit) { if (t.IsMainDuty) //设置主职岗位 { //判断该员工是否已经存主职岗位设置 long num = operateType == ModelRecordOperateType.Add ? CommonOperate.Count <OrgM_EmpDeptDuty>(out errMsg, false, x => x.OrgM_EmpId == t.OrgM_EmpId && x.IsMainDuty == true) : CommonOperate.Count <OrgM_EmpDeptDuty>(out errMsg, false, x => x.OrgM_EmpId == t.OrgM_EmpId && x.IsMainDuty == true && x.Id != t.Id); if (num > 0) { errMsg = "当前员工已设置了主职岗位,请不要重复设置"; return(false); } } else { long num = operateType == ModelRecordOperateType.Add ? CommonOperate.Count <OrgM_EmpDeptDuty>(out errMsg, false, x => x.OrgM_EmpId == t.OrgM_EmpId && x.IsMainDuty == true) : CommonOperate.Count <OrgM_EmpDeptDuty>(out errMsg, false, x => x.OrgM_EmpId == t.OrgM_EmpId && x.IsMainDuty == true && x.Id != t.Id); if (num == 0) { errMsg = operateType == ModelRecordOperateType.Add ? "当前员工未设置主职岗位,请先设置主职岗位" : "当前更改导致主职岗位缺失,请重新设置"; return(false); } } } else if (operateType == ModelRecordOperateType.Del) { OrgM_EmpDeptDuty obj = CommonOperate.GetEntityById <OrgM_EmpDeptDuty>(t.Id, out errMsg); if (obj != null && obj.IsMainDuty && obj.OrgM_EmpId.HasValue && obj.OrgM_EmpId.Value != Guid.Empty) //当前删除的是主职岗位 { //判断员工是否存在,员工存在需要先删除员工信息 long num = CommonOperate.Count <OrgM_Emp>(out errMsg, false, x => x.Id == obj.OrgM_EmpId.Value); if (num > 0) { errMsg = "删除员工主职岗位前请先删除员工信息"; return(false); } } } return(true); }
/// <summary> /// 保存前 /// </summary> /// <param name="operateType"></param> /// <param name="t"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandle(ModelRecordOperateType operateType, Sys_FormField t, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (operateType == ModelRecordOperateType.Add || operateType == ModelRecordOperateType.Edit) { if (t.GroupName == string.Empty) { t.GroupName = null; } if (t.TabName == string.Empty) { t.TabName = null; } if (t.UrlOrData == string.Empty) { t.UrlOrData = null; } } return(true); }
/// <summary> /// 操作前验证 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandles(ModelRecordOperateType operateType, List <Bpm_WorkFlow> ts, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (operateType == ModelRecordOperateType.Del) { foreach (Bpm_WorkFlow t in ts) { //如果该流程存在流程实例则不允许删除 Bpm_WorkFlowInstance workflowInst = CommonOperate.GetEntity <Bpm_WorkFlowInstance>(x => x.Bpm_WorkFlowId == t.Id, null, out errMsg); if (workflowInst != null) { errMsg += string.Format("【{0}】,", t.Name); } } if (errMsg.Length > 0) { errMsg = string.Format("流程{0}正在运行不允许删除!", errMsg); return(false); } } return(true); }
/// <summary> /// 模块集合操作完成前 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandles(ModelRecordOperateType operateType, List <Sys_Module> ts, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (operateType == ModelRecordOperateType.Del) { string otherErr = string.Empty; foreach (Sys_Module t in ts) { if (!t.IsCustomerModule) //系统模块 { //非自定义模块不允许删除 errMsg += errMsg == string.Empty ? string.Format("模块【{0}】", t.Name) : string.Format(",【{0}】", t.Name); } else //自定义模块,自定义模块如果有数据则不能删除 { long count = CommonOperate.Count(out errMsg, t.Id); if (count > 0) { otherErr += otherErr == string.Empty ? string.Format("模块【{0}】有记录【{1}】条", t.Name, count) : string.Format(",【{0}】有记录【{1}】条", t.Name, count); } } } if (errMsg != string.Empty) { errMsg += "为系统模块,不允许删除!"; } if (otherErr != string.Empty) { otherErr += ",请清空各自定义模块的数据后再删除!"; } errMsg = errMsg + otherErr; if (!string.IsNullOrEmpty(errMsg)) { return(false); } } return(true); }
/// <summary> /// 模块操作前处理 /// </summary> /// <param name="operateType"></param> /// <param name="t"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandle(ModelRecordOperateType operateType, Sys_Module t, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; if (operateType == ModelRecordOperateType.Del) { //非自定义模块不允许删除 if (!t.IsCustomerModule) { errMsg = string.Format("【{0}】为系统模块,不允许删除!", t.Name); return(false); } else //自定义模块如果有数据则不能删除 { long count = CommonOperate.Count(out errMsg, t.Id); //模块中记录数 if (count > 0) { errMsg = string.Format("模块【{0}】中存在【{0}】条记录,请先清空模块数据后再删除!", t.Name, count); return(false); } } } return(true); }
/// <summary> /// 临时用户操作 /// </summary> /// <param name="userId">用户Id</param> /// <param name="userpwd">用户密码</param> private static string TempUserOperate(Guid userId, string userpwd) { string errMsg = string.Empty; try { ModelRecordOperateType operateType = ModelRecordOperateType.Edit; Sys_TempUser tempUser = CommonOperate.GetEntity <Sys_TempUser>(x => x.FieldInfo1 == userId.ToString(), string.Empty, out errMsg); if (tempUser == null) { operateType = ModelRecordOperateType.Add; tempUser = new Sys_TempUser(); tempUser.FieldInfo1 = userId.ToString(); } tempUser.FieldInfo2 = MySecurity.DES3EncryptString(string.Format("{0}_0123456789", Guid.Empty.ToString()), userpwd, "sy654321"); CommonOperate.OperateRecord <Sys_TempUser>(tempUser, operateType, out errMsg, null, false); } catch (Exception ex) { errMsg = ex.Message; } return(errMsg); }
/// <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_Emp t, bool result, UserInfo currUser, object[] otherParams = null) { if (result) { string errMsg = string.Empty; string username = OrgMOperate.GetUserNameByEmp(t); if (operateType == ModelRecordOperateType.Add) { if (!string.IsNullOrEmpty(username)) { UserOperate.AddUser(out errMsg, username, string.Format("{0}_123456", username), null, t.Name); } } else if (operateType == ModelRecordOperateType.Edit) { if (!string.IsNullOrEmpty(username)) { UserOperate.UpdateUserAliasName(username, t.Name); } } else if (operateType == ModelRecordOperateType.Del) { if (!string.IsNullOrEmpty(username)) { UserOperate.DelUser(username); //删除账号 } //删除员工同时删除员工岗位 CommonOperate.DeleteRecordsByExpression <OrgM_EmpDeptDuty>(x => x.OrgM_EmpId == t.Id, out errMsg, t.IsDeleted); } if (operateType == ModelRecordOperateType.Add || operateType == ModelRecordOperateType.Edit) { //新增编辑时同时设置员工主职岗位 if (t.DeptId.HasValue && t.DeptId.Value != Guid.Empty && t.DutyId.HasValue && t.DutyId.Value != Guid.Empty) { OrgM_EmpDeptDuty empPosition = null; if (operateType == ModelRecordOperateType.Edit) { empPosition = CommonOperate.GetEntity <OrgM_EmpDeptDuty>(x => x.OrgM_EmpId == t.Id && x.IsMainDuty == true, null, out errMsg); if (empPosition != null) { empPosition.OrgM_DeptId = t.DeptId.Value; empPosition.OrgM_DutyId = t.DutyId.Value; empPosition.IsValid = true; empPosition.ModifyDate = DateTime.Now; empPosition.ModifyUserId = currUser.UserId; empPosition.ModifyUserName = currUser.EmpName; CommonOperate.OperateRecord <OrgM_EmpDeptDuty>(empPosition, ModelRecordOperateType.Edit, out errMsg, null, false); return; } } empPosition = new OrgM_EmpDeptDuty() { OrgM_DeptId = t.DeptId.Value, OrgM_DutyId = t.DutyId.Value, OrgM_EmpId = t.Id, IsMainDuty = true, IsValid = true, EffectiveDate = DateTime.Now, CreateDate = DateTime.Now, CreateUserId = currUser.UserId, CreateUserName = currUser.EmpName, ModifyDate = DateTime.Now, ModifyUserId = currUser.UserId, ModifyUserName = currUser.EmpName }; CommonOperate.OperateRecord <OrgM_EmpDeptDuty>(empPosition, ModelRecordOperateType.Add, out errMsg, null, false); } } } }
/// <summary> /// 操作前处理 /// </summary> /// <param name="operateType"></param> /// <param name="t"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandle(ModelRecordOperateType operateType, Sys_SystemSet t, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; return(true); }
/// <summary> /// 操作后处理 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="result"></param> /// <param name="currUser"></param> /// <param name="otherParams"></param> public void OperateCompeletedHandles(ModelRecordOperateType operateType, List <Sys_SystemSet> ts, bool result, UserInfo currUser, object[] otherParams = null) { }
/// <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_Emp t, bool result, UserInfo currUser, object[] otherParams = null) { if (result) { string errMsg = string.Empty; string username = OrgMOperate.GetUserNameByEmp(t); string userInitPwd = WebConfigHelper.GetAppSettingValue("UserInitPwd"); if (string.IsNullOrEmpty(userInitPwd)) { userInitPwd = "123456"; } if (operateType == ModelRecordOperateType.Add) { if (!string.IsNullOrEmpty(username)) { UserOperate.AddUser(out errMsg, username, userInitPwd, null, t.Name); } } else if (operateType == ModelRecordOperateType.Edit) { if (!string.IsNullOrEmpty(username)) { Sys_User user = UserOperate.GetUser(username); if (user != null) //用户已存在 { UserOperate.UpdateUserAliasName(username, t.Name); } else //用户不存在 { UserOperate.AddUser(out errMsg, username, userInitPwd, null, t.Name); } } } else if (operateType == ModelRecordOperateType.Del) { if (!string.IsNullOrEmpty(username)) { UserOperate.DelUser(username); //删除账号 } //删除员工同时删除员工岗位 CommonOperate.DeleteRecordsByExpression <OrgM_EmpDeptDuty>(x => x.OrgM_EmpId == t.Id, out errMsg, t.IsDeleted); } if (operateType == ModelRecordOperateType.Add || operateType == ModelRecordOperateType.Edit) { //新增编辑时同时设置员工主职岗位 if (t.DeptId.HasValue && t.DeptId.Value != Guid.Empty && t.DutyId.HasValue && t.DutyId.Value != Guid.Empty) { OrgM_EmpDeptDuty empPosition = null; if (operateType == ModelRecordOperateType.Edit) { empPosition = CommonOperate.GetEntity <OrgM_EmpDeptDuty>(x => x.OrgM_EmpId == t.Id && x.IsMainDuty == true, null, out errMsg); if (empPosition != null) { empPosition.OrgM_DeptId = t.DeptId.Value; empPosition.OrgM_DutyId = t.DutyId.Value; empPosition.IsValid = true; empPosition.ModifyDate = DateTime.Now; empPosition.ModifyUserId = currUser.UserId; empPosition.ModifyUserName = currUser.EmpName; CommonOperate.OperateRecord <OrgM_EmpDeptDuty>(empPosition, ModelRecordOperateType.Edit, out errMsg, null, false); return; } } Guid moduleId = SystemOperate.GetModuleIdByModelType(typeof(OrgM_EmpDeptDuty)); string code = SystemOperate.GetBillCode(moduleId); empPosition = new OrgM_EmpDeptDuty() { Code = code, OrgM_DeptId = t.DeptId.Value, OrgM_DutyId = t.DutyId.Value, OrgM_EmpId = t.Id, IsMainDuty = true, IsValid = true, EffectiveDate = DateTime.Now, CreateDate = DateTime.Now, CreateUserId = currUser.UserId, CreateUserName = currUser.EmpName, ModifyDate = DateTime.Now, ModifyUserId = currUser.UserId, ModifyUserName = currUser.EmpName }; Guid rs = CommonOperate.OperateRecord <OrgM_EmpDeptDuty>(empPosition, ModelRecordOperateType.Add, out errMsg, null, false); if (rs != Guid.Empty) { SystemOperate.UpdateBillCode(moduleId, code); } } } } }
/// <summary> /// 批量操作前验证事件 /// </summary> /// <param name="operateType"></param> /// <param name="ts"></param> /// <param name="errMsg"></param> /// <param name="otherParams"></param> /// <returns></returns> public bool BeforeOperateVerifyOrHandles(ModelRecordOperateType operateType, List <OrgM_Emp> ts, out string errMsg, object[] otherParams = null) { errMsg = string.Empty; return(true); }