/// <summary> /// 表单数据处理 /// </summary> /// <param name="t">对象</param> /// <param name="formType">表单类型</param> /// <param name="currUser">当前用户</param> public void FormDataHandle(OrgM_Emp t, FormTypeEnum formType, UserInfo currUser = null) { if (t != null) { OrgM_EmpDeptDuty empPosition = OrgMOperate.GetEmpMainPosition(t.Id); if (empPosition != null) { if (empPosition.OrgM_DeptId.HasValue && empPosition.OrgM_DeptId.Value != Guid.Empty && empPosition.OrgM_DutyId.HasValue && empPosition.OrgM_DutyId.Value != Guid.Empty) { OrgM_Dept dept = OrgMOperate.GetDeptById(empPosition.OrgM_DeptId.Value); if (dept != null) { t.DeptId = dept.Id; t.DeptName = string.IsNullOrEmpty(dept.Alias) ? dept.Name : dept.Alias; } OrgM_Duty duty = OrgMOperate.GetDuty(empPosition.OrgM_DutyId.Value); if (duty != null) { t.DutyId = duty.Id; t.DutyName = duty.Name; } } } } }
/// <summary> /// 网格数据处理 /// </summary> /// <param name="data">数据</param> /// <param name="otherParams">其他参数</param> /// <param name="currUser">当前用户</param> public bool PageGridDataHandle(List <OrgM_Emp> data, object[] otherParams = null, UserInfo currUser = null) { if (data != null && data.Count > 0) { foreach (OrgM_Emp t in data) { OrgM_EmpDeptDuty empPosition = OrgMOperate.GetEmpMainPosition(t.Id); if (empPosition != null) { if (empPosition.OrgM_DeptId.HasValue && empPosition.OrgM_DeptId.Value != Guid.Empty && empPosition.OrgM_DutyId.HasValue && empPosition.OrgM_DutyId.Value != Guid.Empty) { OrgM_Dept dept = OrgMOperate.GetDeptById(empPosition.OrgM_DeptId.Value); if (dept != null) { t.DeptId = dept.Id; t.DeptName = string.IsNullOrEmpty(dept.Alias) ? dept.Name : dept.Alias; } OrgM_Duty duty = OrgMOperate.GetDuty(empPosition.OrgM_DutyId.Value); if (duty != null) { t.DutyId = duty.Id; t.DutyName = duty.Name; } } } } } return(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_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> /// <returns></returns> public JsonResult GetEmpLevelDepthDept() { if (_Request == null) { _Request = Request; } SetRequest(_Request); string levelDepthStr = _Request.QueryEx("levelDepth").ObjToStr(); int levelDepth = levelDepthStr.ObjToInt(); //层级 string empIdStr = _Request.QueryEx("empId").ObjToStr(); Guid empId = empIdStr.ObjToGuid(); //员工ID string companyIdStr = _Request.QueryEx("companyId").ObjToStr(); Guid? companyId = companyIdStr.ObjToGuidNull(); //所属公司,集团模式下用到 string deptIdStr = _Request.QueryEx("deptId").ObjToStr(); Guid? deptId = deptIdStr.ObjToGuidNull(); //兼职部门,以兼职部门找 if (empId == Guid.Empty || levelDepth < 0) { return(Json(null)); } //层级部门 OrgM_Dept depthDept = OrgMOperate.GetEmpLevelDepthDept(levelDepth, empId, companyId, deptId); //当前部门 OrgM_Dept currDept = deptId.HasValue && deptId.Value != Guid.Empty ? OrgMOperate.GetDeptById(deptId.Value) : OrgMOperate.GetEmpMainDept(empId, companyId); return(Json(new { CurrDept = currDept, DepthDept = depthDept })); }
/// <summary> /// 获取员工的层级部门信息 /// </summary> /// <returns></returns> public ActionResult GetEmpLevelDepthDept() { if (_Request == null) { _Request = Request; } SetRequest(_Request); int levelDepth = _Request["levelDepth"].ObjToInt(); //层级 Guid empId = _Request["empId"].ObjToGuid(); //员工ID Guid?companyId = _Request["companyId"].ObjToGuidNull(); //所属公司,集团模式下用到 Guid?deptId = _Request["deptId"].ObjToGuidNull(); //兼职部门,以兼职部门找 if (empId == Guid.Empty || levelDepth < 0) { return(Json(null)); } //层级部门 OrgM_Dept depthDept = OrgMOperate.GetEmpLevelDepthDept(levelDepth, empId, companyId, deptId); //当前部门 OrgM_Dept currDept = deptId.HasValue && deptId.Value != Guid.Empty ? OrgMOperate.GetDeptById(deptId.Value) : OrgMOperate.GetEmpMainDept(empId, companyId); return(Json(new { CurrDept = currDept, DepthDept = depthDept })); }
/// <summary> /// 添加职务 /// </summary> /// <returns></returns> public JsonResult AddDuty() { if (_Request == null) { _Request = Request; } Guid deptId = _Request.QueryEx("deptId").ObjToGuid(); if (deptId == Guid.Empty) { return(Json(new ReturnResult() { Success = false, Message = "请先选择部门" })); } OrgM_Dept dept = OrgMOperate.GetDeptById(deptId); if (dept == null) { return(Json(new ReturnResult() { Success = false, Message = "选择的部门不存在" })); } string dutyname = _Request.QueryEx("dutyname").ObjToStr(); if (string.IsNullOrWhiteSpace(dutyname)) { return(Json(new ReturnResult() { Success = false, Message = "职务名称不能为空" })); } string errMsg = string.Empty; long num = CommonOperate.Count <OrgM_Dept>(out errMsg, false, x => x.Name == dutyname); if (num > 0) { return(Json(new ReturnResult() { Success = false, Message = "该职务已存在,请不要重复添加" })); } UserInfo currUser = GetCurrentUser(_Request); Guid moduleId = SystemOperate.GetModuleIdByTableName("OrgM_Duty"); string code = SystemOperate.GetBillCode(moduleId); OrgM_Duty duty = new OrgM_Duty() { Code = code, Name = dutyname, IsValid = true, EffectiveDate = DateTime.Now, CreateDate = DateTime.Now, CreateUserId = currUser.UserId, CreateUserName = currUser.EmpName, ModifyDate = DateTime.Now, ModifyUserId = currUser.UserId, ModifyUserName = currUser.EmpName }; Guid dutyId = CommonOperate.OperateRecord <OrgM_Duty>(duty, ModelRecordOperateType.Add, out errMsg, null, false); if (dutyId != Guid.Empty) { SystemOperate.UpdateBillCode(moduleId, code); Guid?parentId = null; List <OrgM_DeptDuty> positions = OrgMOperate.GetDeptPositions(deptId); if (positions.Count > 0) { OrgM_DeptDuty leaderPosition = positions.Where(x => x.IsDeptCharge).FirstOrDefault(); if (leaderPosition != null) { parentId = leaderPosition.Id; } } Guid gwModuleId = SystemOperate.GetModuleIdByTableName("OrgM_DeptDuty"); string positionCode = SystemOperate.GetBillCode(gwModuleId); OrgM_DeptDuty position = new OrgM_DeptDuty() { Code = positionCode, Name = string.Format("{0}-{1}", string.IsNullOrEmpty(dept.Alias) ? dept.Name : dept.Alias, dutyname), OrgM_DeptId = deptId, OrgM_DutyId = dutyId, ParentId = parentId, IsValid = true }; Guid positionId = CommonOperate.OperateRecord <OrgM_DeptDuty>(position, ModelRecordOperateType.Add, out errMsg, null, false); if (positionId != Guid.Empty) { SystemOperate.UpdateBillCode(gwModuleId, positionCode); } return(Json(new { Success = true, Message = string.Empty, DutyId = dutyId })); } else { return(Json(new ReturnResult() { Success = false, Message = errMsg })); } }