/// <summary> /// 保存用户信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public JsonResult SaveUser(UserModel model) { var retModel = new JsonReturnModel(); try { //判断中心部门是否存在 if (!string.IsNullOrEmpty(model.b_Centre)) { var centreItem = OrganizationalStructureDA.GetOrganizationalStructureByParam(inn, model.b_Centre, 2); if (!centreItem.isError() && centreItem.getItemCount() <= 0) { retModel.AddError("errorMessage", "填写的中心不存在!"); return(Json(retModel, JsonRequestBehavior.AllowGet)); } if (!string.IsNullOrEmpty(model.b_Department)) { //获取中心部门节点代号 string centreNodeCode = centreItem.getProperty("b_nodecode"); //判断部门是否在中心部门下存在 List <B_ORGANIZATIONALSTRUCTURE> organizationalStructureList = new List <B_ORGANIZATIONALSTRUCTURE>(); //获取组织架构 List <B_ORGANIZATIONALSTRUCTURE> dataList = OrganizationalStructureBll.GetOrganizationalStructureList(); OrganizationalStructureBll.GetChildByParent(inn, centreNodeCode, organizationalStructureList, dataList); int count = organizationalStructureList.Where(x => x.B_NODENAME == model.b_Department).Count(); if (count <= 0) { retModel.AddError("errorMessage", "填写的部门在中心下不存在!"); return(Json(retModel, JsonRequestBehavior.AllowGet)); } } } //判断输入的高级经理是否存在 if (!string.IsNullOrEmpty(model.b_SeniorManager)) { var itemSeniorManager = IdentityDA.GetIdentityByKeyedName(inn, model.b_SeniorManager); if (itemSeniorManager.isError()) { retModel.AddError("errorMessage", "输入的高级经理不存在!"); return(Json(retModel, JsonRequestBehavior.AllowGet)); } } //判断输入的总监是否存在 if (!string.IsNullOrEmpty(model.b_Director)) { var itemDirector = IdentityDA.GetIdentityByKeyedName(inn, model.b_Director); if (itemDirector.isError()) { retModel.AddError("errorMessage", "输入的总监不存在!"); return(Json(retModel, JsonRequestBehavior.AllowGet)); } } //判断输入的VP是否存在 if (!string.IsNullOrEmpty(model.b_VP)) { var itemVP = IdentityDA.GetIdentityByKeyedName(inn, model.b_VP); if (itemVP.isError()) { retModel.AddError("errorMessage", "输入的VP不存在!"); return(Json(retModel, JsonRequestBehavior.AllowGet)); } } Innovator adminInn = WorkFlowBll.GetAdminInnovator(); if (adminInn != null) { var item = adminInn.newItem("User", "edit"); item.setAttribute("id", model.Id); item.setProperty("b_jobnumber", model.b_JobNumber); item.setProperty("b_chinesename", model.b_ChineseName); item.setProperty("b_englishname", model.b_EnglishName); item.setProperty("email", model.Email); item.setProperty("telephone", model.Telephone); item.setProperty("b_centre", model.b_Centre); item.setProperty("b_department", model.b_Department); item.setProperty("b_idnumber", model.b_IdNumber); item.setProperty("b_seniormanager", model.b_SeniorManager); item.setProperty("b_director", model.b_Director); item.setProperty("b_vp", model.b_VP); item.setProperty("b_affiliatedcompany", model.b_AffiliatedCompany); var result = item.apply(); if (result.isError()) { retModel.AddError("errorMessage", result.getErrorString()); } } } catch (Exception ex) { retModel.AddError("errorMessage", ex.Message); } return(Json(retModel, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 根据名称获取用户信息 /// </summary> /// <param name="name"></param> /// <returns></returns> public JsonResult GetUserByName(string name) { var retModel = new JsonReturnModel(); try { using (InnovatorSolutionsEntities db = new InnovatorSolutionsEntities()) { USER item = db.USER.Where(x => x.FIRST_NAME == name).FirstOrDefault(); if (item != null) { UserModel model = new UserModel(); model.Id = item.ID; model.first_Name = item.FIRST_NAME; model.Email = item.EMAIL; model.Telephone = item.TELEPHONE; model.b_JobNumber = item.B_JOBNUMBER; model.b_ChineseName = item.B_CHINESENAME; model.b_EnglishName = item.B_ENGLISHNAME; model.b_Centre = item.B_CENTRE; model.b_Department = item.B_DEPARTMENT; model.b_SeniorManager = item.B_SENIORMANAGER; model.b_Director = item.B_DIRECTOR; model.b_VP = item.B_VP; if (!string.IsNullOrEmpty(model.b_Centre)) { //根据中心名称获取中心领导 var structure = OrganizationalStructureDA.GetOrganizationalStructureByParam(inn, model.b_Centre, 2); if (!structure.isError() && structure.getItemCount() > 0) { string b_nodepersonname = structure.getItemByIndex(0).getProperty("b_nodepersonname"); string b_NodeCode = structure.getItemByIndex(0).getProperty("b_nodecode"); string b_ParentNodeCode = structure.getItemByIndex(0).getProperty("b_parentnodecode"); string b_CompanyCode = structure.getItemByIndex(0).getProperty("b_companycode"); string b_CostCenter = structure.getItemByIndex(0).getProperty("b_costcenter"); USER centreUser = UserDA.GetUserByLoginName(b_nodepersonname); if (centreUser != null && centreUser.FIRST_NAME != name) { model.b_CentreLeader = centreUser.FIRST_NAME; } else if (centreUser != null && centreUser.FIRST_NAME == name) { //获取上级节点 var parentNode = OrganizationalStructureDA.GetOrganizationalStructureByNodeCode(inn, b_ParentNodeCode); if (!parentNode.isError() && parentNode.getItemCount() > 0) { string lineLeader = parentNode.getItemByIndex(0).getProperty("b_nodepersonname"); USER lineLeaderUser = UserDA.GetUserByLoginName(lineLeader); if (lineLeaderUser != null && lineLeaderUser.FIRST_NAME != name) { model.b_LineLeader = lineLeaderUser.FIRST_NAME; } } } if (!string.IsNullOrEmpty(model.b_Department)) { //获取结构数据 List <B_ORGANIZATIONALSTRUCTURE> list = OrganizationalStructureBll.GetOrganizationalStructureList(); //获取中心下的组织结构 List <B_ORGANIZATIONALSTRUCTURE> childNodeList = new List <B_ORGANIZATIONALSTRUCTURE>(); OrganizationalStructureBll.GetChildByParent(inn, b_NodeCode, childNodeList, list); if (childNodeList != null && childNodeList.Count > 0) { B_ORGANIZATIONALSTRUCTURE departObj = childNodeList.Where(x => x.B_NODENAME == model.b_Department).FirstOrDefault(); if (departObj != null) { b_CompanyCode = departObj.B_COMPANYCODE; b_CostCenter = departObj.B_COSTCENTER; USER departUser = UserDA.GetUserByLoginName(departObj.B_NODEPERSONNAME); if (departUser != null && departUser.FIRST_NAME != name) { model.b_DepartmentLeader = departUser.FIRST_NAME; } } } } model.b_CompanyCode = b_CompanyCode; model.b_CostCenter = b_CostCenter; if (!string.IsNullOrEmpty(model.b_CompanyCode)) { //根据公司代码 获取公司信息 string companyName = CompanyInfoBll.GetCompanyNameByCode(inn, model.b_CompanyCode); if (!string.IsNullOrEmpty(companyName)) { model.b_CompanyCode = model.b_CompanyCode + " (" + companyName + ")"; } } } } retModel.data = model; } } } catch (Exception ex) { retModel.AddError("errorMessage", ex.Message); } return(Json(retModel, JsonRequestBehavior.AllowGet)); }