using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using BLL; using Model; namespace WebAPI.Controllers.DataPenetrate { /// /// 项目用户控制器 /// public class ProjectUserPenetrateController : ApiController { #region 查询 /// /// 查询项目人员personId /// /// /// /// [HttpGet] public Model.ResponeData getInfo(string projectIds = "", string unitId = "") { string projectId = projectIds; var responeData = new Model.ResponeData(); try { if (string.IsNullOrEmpty(projectId)) { responeData.code = 0; responeData.message = "项目id不能为空"; return responeData; } var getDataList = new List(); if (!string.IsNullOrEmpty(unitId)) { getDataList = Funs.DB.SitePerson_Person.Where(x => x.ProjectId == projectId && x.UnitId == unitId) .Select(s => new SitePerson_Person_new() { PersonId = s.PersonId, PersonName = s.PersonName }) .ToList(); } else { getDataList = Funs.DB.SitePerson_Person.Where(x => x.ProjectId == projectId) .Select(s => new SitePerson_Person_new() { PersonId = s.PersonId, PersonName = s.PersonName }) .ToList(); } if (getDataList.Count == 0) { responeData.code = 1; responeData.message = "根据条件未查询到数据。"; return responeData; } responeData.data = new { getDataList }; } catch (Exception ex) { responeData.code = 0; responeData.message = ex.Message; } return responeData; } /// /// 根据用户登录名查询系统用户 /// /// /// [HttpGet] public Model.ResponeData getSysUserInfo(string account="") { var responeData = new Model.ResponeData(); try { if (string.IsNullOrEmpty(account)) { responeData.code = 0; responeData.message = "用户登录名不能为空"; return responeData; } var getDataList = Funs.DB.Sys_User.Where(x => x.Account == account) .Select(s => new Sys_User_New() { UserId = s.UserId, Account = s.Account }) .ToList(); responeData.data = new { getDataList }; if (getDataList.Count == 0) { responeData.code = 1; responeData.message = "根据条件未查询到数据。"; return responeData; } else { responeData.code = 0; responeData.message = "查询成功。"; return responeData; } } catch (Exception ex) { responeData.code = 0; responeData.message = ex.Message; } return responeData; } private class SitePerson_Person_new { public string PersonId { get; set; } public string PersonName { get; set; } } private class Sys_User_New { public string UserId { get; set; } public string Account { get; set; } } #endregion #region 保存用户 /// /// 保存用户 /// /// /// public ResponeData saveUser(Sys_User model) { var responeData = new Model.ResponeData(); try { #region 判断 if (string.IsNullOrEmpty(model.UnitId)) { responeData.code = 0; responeData.message = "单位id不能为空。"; return responeData; } else { var umodel = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == model.UnitId); if (umodel == null) { responeData.code = 0; responeData.message = "单位id未查询到数据,请检查是否正确。"; return responeData; } } var q = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == model.Account && (x.UserId != model.UserId || (model.UserId == null && x.UserId != null))); if (q != null) { responeData.code = 0; responeData.message = "输入的账号已存在。"; return responeData; } if (!string.IsNullOrEmpty(model.UserCode)) { var q2 = Funs.DB.Sys_User.FirstOrDefault(x => x.UserCode == model.UserCode && (x.UserId != model.UserId || (model.UserId == null && x.UserId != null))); if (q2 != null) { responeData.code = 0; responeData.message = "输入的编号已存在。"; return responeData; } } if (!string.IsNullOrEmpty(model.IdentityCard) && BLL.UserService.IsExistUserIdentityCard(model.UserId, model.IdentityCard) == true) { responeData.code = 0; responeData.message = "输入的身份证号码已存在。"; return responeData; } if (string.IsNullOrEmpty(model.DataSources)) { responeData.code = 0; responeData.message = "项目id不能为空"; return responeData; } else { //判断projectid是否有数据 var pmodel = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == model.DataSources); if (pmodel == null) { responeData.code = 0; responeData.message = "该项目id未查询到数据,请检查是否正确。"; return responeData; } } #endregion if (string.IsNullOrEmpty(model.UserId)) { model.RawPassword = UserService.getInitialPassword(model.UnitId, model.IdentityCard); ; model.Password = Funs.EncryptionPassword(model.RawPassword); model.UserId = SQLHelper.GetNewID(typeof(Model.Sys_User)); UserService.AddUser(model); Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser { ProjectUserId = SQLHelper.GetNewID(typeof(Model.Project_ProjectUser)), ProjectId = model.DataSources, UserId = model.UserId, UnitId = model.UnitId, IsPost = true, MainCNProfessionalId = model.MainCNProfessionalId, ViceCNProfessionalId = model.ViceCNProfessionalId }; newProjectUser.RoleId = ""; BLL.ProjectUserService.AddProjectUser(newProjectUser); this.SetWorkPost(newProjectUser); } else { //判断userid是否有数据 var umodel = Funs.DB.Sys_User.FirstOrDefault(x => x.UserId == model.UserId); if (umodel == null) { responeData.code = 0; responeData.message = "用户id(UserId)未查询到数据,无法修改,请检查是否正确。"; return responeData; } umodel.UserName = model.UserName; umodel.UserCode = model.UserCode; umodel.Account = model.Account; umodel.UnitId = model.UnitId; umodel.IdentityCard = model.IdentityCard; umodel.Telephone = model.Telephone; umodel.DataSources = model.DataSources; UserService.UpdateUser(umodel); } } catch (Exception ex) { responeData.code = 0; responeData.message = ex.Message; } return responeData; } /// /// 更新用户的项目岗位 /// /// private void SetWorkPost(Model.Project_ProjectUser projectUser) { var user = BLL.UserService.GetUserByUserId(projectUser.UserId); if (user != null && !string.IsNullOrEmpty(user.IdentityCard)) { var sitePerson = BLL.PersonService.GetPersonByIdentityCard(projectUser.ProjectId, user.IdentityCard); if (sitePerson != null) { sitePerson.WorkPostId = null; sitePerson.MainCNProfessionalId = projectUser.MainCNProfessionalId; sitePerson.ViceCNProfessionalId = projectUser.ViceCNProfessionalId; BLL.PersonService.UpdatePerson(sitePerson); } else { Model.SitePerson_Person newPerson = new Model.SitePerson_Person { PersonId = SQLHelper.GetNewID(typeof(Model.SitePerson_Person)), PersonName = user.UserName, Sex = user.Sex, IdentityCard = user.IdentityCard, ProjectId = projectUser.ProjectId, UnitId = user.UnitId, IsUsed = true, MainCNProfessionalId = projectUser.MainCNProfessionalId, ViceCNProfessionalId = projectUser.ViceCNProfessionalId, }; newPerson.WorkPostId = null; BLL.PersonService.AddPerson(newPerson); } } } #endregion } }