1522 lines
		
	
	
		
			61 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			1522 lines
		
	
	
		
			61 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | namespace BLL | |||
|  | { | |||
|  |     using System.Collections.Generic; | |||
|  |     using System.IO; | |||
|  |     using System.Linq; | |||
|  |     using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  |     public static class UserService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"><3E>û<EFBFBD>Id</param> | |||
|  |         /// <returns><3E>û<EFBFBD><C3BB><EFBFBD>Ϣ</returns> | |||
|  |         public static Model.Sys_User GetUserByUserId(string userId) | |||
|  |         { | |||
|  |             return Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ | |||
|  |         /// </summary> | |||
|  |         /// <param name="userName"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.Sys_User GetUserByUserName(string userName) | |||
|  |         { | |||
|  |             return Funs.DB.Sys_User.FirstOrDefault(e => e.UserName == userName); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ŀ<EFBFBD>Ͻ<EFBFBD>ɫList | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"><3E>û<EFBFBD>Id</param> | |||
|  |         /// <returns><3E>û<EFBFBD><C3BB><EFBFBD>Ϣ</returns> | |||
|  |         public static List<string> GetRoleListByProjectIdUserId(string projectId, string userId) | |||
|  |         { | |||
|  |             List<string> roleList = new List<string>(); | |||
|  |             var getUser = GetUserByUserId(userId); | |||
|  |             if (getUser != null) | |||
|  |             { | |||
|  |                 string rolesStr = string.Empty; | |||
|  |                 if (!string.IsNullOrEmpty(getUser.RoleId)) | |||
|  |                 { | |||
|  |                     rolesStr = getUser.RoleId; | |||
|  |                 } | |||
|  |                 var pUser = ProjectUserService.GetProjectUserByUserIdProjectId(projectId, userId); ////<2F>û<EFBFBD> | |||
|  |                 if (pUser != null && !string.IsNullOrEmpty(pUser.RoleId)) | |||
|  |                 { | |||
|  |                     if (string.IsNullOrEmpty(rolesStr)) | |||
|  |                     { | |||
|  |                         rolesStr = pUser.RoleId; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         if (!rolesStr.Contains(pUser.RoleId)) | |||
|  |                         { | |||
|  |                             rolesStr += "," + pUser.RoleId; | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  | 
 | |||
|  |                 roleList = Funs.GetStrListByStr(rolesStr, ','); | |||
|  |             } | |||
|  |             return roleList; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>Ϣ | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"><3E>û<EFBFBD>Id</param> | |||
|  |         /// <returns><3E>û<EFBFBD><C3BB><EFBFBD>Ϣ</returns> | |||
|  |         public static void UpdateLastUserInfo(string userId, string LastMenuType, bool LastIsOffice, string LastProjectId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var uU = db.Sys_User.FirstOrDefault(e => e.UserId == userId); | |||
|  |                 if (uU != null) | |||
|  |                 { | |||
|  |                     uU.LastMenuType = LastMenuType; | |||
|  |                     uU.LastIsOffice = LastIsOffice; | |||
|  |                     uU.LastMenuType = LastMenuType; | |||
|  |                     uU.LastProjectId = LastProjectId; | |||
|  |                     db.SubmitChanges(); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB>˺<EFBFBD><CBBA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"><3E>û<EFBFBD>id</param> | |||
|  |         /// <param name="account"><3E>˺<EFBFBD></param> | |||
|  |         /// <returns><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD></returns> | |||
|  |         public static bool IsExistUserAccount(string userId, string account) | |||
|  |         { | |||
|  |             bool isExist = false; | |||
|  |             var role = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account && (x.UserId != userId || (userId == null && x.UserId != null))); | |||
|  |             if (role != null) | |||
|  |             { | |||
|  |                 isExist = true; | |||
|  |             } | |||
|  |             return isExist; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB>˺<EFBFBD><CBBA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"><3E>û<EFBFBD>id</param> | |||
|  |         /// <param name="identityCard"><3E><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD></param> | |||
|  |         /// <returns><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD></returns> | |||
|  |         public static bool IsExistUserIdentityCard(string userId, string identityCard) | |||
|  |         { | |||
|  |             bool isExist = false; | |||
|  |             var role = Funs.DB.Sys_User.FirstOrDefault(x => x.IdentityCard == identityCard && (x.UserId != userId || (userId == null && x.UserId != null))); | |||
|  |             if (role != null) | |||
|  |             { | |||
|  |                 isExist = true; | |||
|  |             } | |||
|  |             return isExist; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static string GetPasswordByUserId(string userId) | |||
|  |         { | |||
|  |             Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); | |||
|  |             return m.Password; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static string GetUserNameByUserId(string userId) | |||
|  |         { | |||
|  |             string userName = string.Empty; | |||
|  |             Model.Sys_User user = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); | |||
|  |             if (user != null) | |||
|  |             { | |||
|  |                 userName = user.UserName; | |||
|  |             } | |||
|  | 
 | |||
|  |             return userName; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static string GetUserNameAndTelByUserId(string userId) | |||
|  |         { | |||
|  |             string userName = string.Empty; | |||
|  |             Model.Sys_User user = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); | |||
|  |             if (user != null) | |||
|  |             { | |||
|  |                 userName = user.UserName; | |||
|  |                 if (!string.IsNullOrEmpty(user.Telephone)) | |||
|  |                 { | |||
|  |                     userName += "<22><>" + user.Telephone; | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             return userName; | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// <20><EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"></param> | |||
|  |         /// <param name="password"></param> | |||
|  |         public static void UpdatePassword(string userId, string password) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Sys_User m = db.Sys_User.FirstOrDefault(e => e.UserId == userId); | |||
|  |             if (m != null) | |||
|  |             { | |||
|  |                 m.Password = Funs.EncryptionPassword(password); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>Ϣ | |||
|  |         /// </summary> | |||
|  |         /// <param name="user"><3E><>Աʵ<D4B1><CAB5></param> | |||
|  |         public static void AddUser(Model.Sys_User user) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             string newKeyID = SQLHelper.GetNewID(typeof(Model.Sys_User)); | |||
|  |             Model.Sys_User newUser = new Model.Sys_User | |||
|  |             { | |||
|  |                 UserId = newKeyID, | |||
|  |                 Account = user.Account, | |||
|  |                 UserName = user.UserName, | |||
|  |                 UserCode = user.UserCode, | |||
|  |                 Password = user.Password, | |||
|  |                 UnitId = user.UnitId, | |||
|  |                 RoleId = user.RoleId, | |||
|  |                 IsPost = user.IsPost, | |||
|  |                 IdentityCard = user.IdentityCard, | |||
|  |                 PageSize = 10, | |||
|  |                 IsOffice = user.IsOffice, | |||
|  |                 Telephone = user.Telephone, | |||
|  |                 DataSources = user.DataSources, | |||
|  |                 SignatureUrl = user.SignatureUrl, | |||
|  |                 DepartId = user.DepartId, | |||
|  |                 Politicalstatus = user.Politicalstatus, | |||
|  |                 Hometown = user.Hometown, | |||
|  |                 Education = user.Education, | |||
|  |                 Graduate = user.Graduate, | |||
|  |                 Major = user.Major, | |||
|  |                 CertificateId = user.CertificateId, | |||
|  |                 IntoDate = user.IntoDate, | |||
|  |                 ValidityDate = user.ValidityDate, | |||
|  |                 Sex = user.Sex, | |||
|  |                 BirthDay = user.BirthDay, | |||
|  |                 PositionId = user.PositionId, | |||
|  |                 PostTitleId = user.PostTitleId, | |||
|  |                 WorkPostId = user.WorkPostId, | |||
|  |                 MainCNProfessionalId = user.MainCNProfessionalId, | |||
|  |                 ViceCNProfessionalId = user.ViceCNProfessionalId, | |||
|  |                 WorkNo = user.WorkNo, | |||
|  |             }; | |||
|  |             db.Sys_User.InsertOnSubmit(newUser); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         #region <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ϣά<EFBFBD><EFBFBD> --<EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// <summary> | |||
|  |         /// <20><EFBFBD><DEB8>û<EFBFBD><C3BB><EFBFBD>Ϣ | |||
|  |         /// </summary> | |||
|  |         /// <param name="user"><3E><>Աʵ<D4B1><CAB5></param> | |||
|  |         public static void UpdateSysUser(Model.Sys_User user) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Sys_User newUser = db.Sys_User.FirstOrDefault(e => e.UserId == user.UserId); | |||
|  |             if (newUser != null) | |||
|  |             { | |||
|  |                 newUser.Account = user.Account; | |||
|  |                 newUser.UserName = user.UserName; | |||
|  |                 newUser.UserCode = user.UserCode; | |||
|  |                 if (!string.IsNullOrEmpty(user.Password)) | |||
|  |                 { | |||
|  |                     newUser.Password = user.Password; | |||
|  |                 } | |||
|  |                 newUser.IdentityCard = user.IdentityCard; | |||
|  |                 newUser.UnitId = user.UnitId; | |||
|  |                 newUser.RoleId = user.RoleId; | |||
|  |                 newUser.IsPost = user.IsPost; | |||
|  |                 newUser.IsOffice = user.IsOffice; | |||
|  |                 newUser.Telephone = user.Telephone; | |||
|  |                 newUser.SignatureUrl = user.SignatureUrl; | |||
|  |                 newUser.DepartId = user.DepartId; | |||
|  |                 newUser.MainCNProfessionalId = user.MainCNProfessionalId; | |||
|  |                 newUser.ViceCNProfessionalId = user.ViceCNProfessionalId; | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>Ϣ | |||
|  |         /// </summary> | |||
|  |         /// <param name="user"><3E><>Աʵ<D4B1><CAB5></param> | |||
|  |         public static void UpdateUser(Model.Sys_User user) | |||
|  |         { | |||
|  |             Model.Sys_User newUser = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == user.UserId); | |||
|  |             if (newUser != null) | |||
|  |             { | |||
|  |                 newUser.Account = user.Account; | |||
|  |                 newUser.UserName = user.UserName; | |||
|  |                 newUser.UserCode = user.UserCode; | |||
|  |                 if (!string.IsNullOrEmpty(user.Password)) | |||
|  |                 { | |||
|  |                     newUser.Password = user.Password; | |||
|  |                 } | |||
|  |                 newUser.IdentityCard = user.IdentityCard; | |||
|  |                 newUser.UnitId = user.UnitId; | |||
|  |                 newUser.RoleId = user.RoleId; | |||
|  |                 newUser.IsPost = user.IsPost; | |||
|  |                 newUser.IsOffice = user.IsOffice; | |||
|  |                 newUser.Telephone = user.Telephone; | |||
|  |                 newUser.SignatureUrl = user.SignatureUrl; | |||
|  |                 newUser.DepartId = user.DepartId; | |||
|  |                 newUser.Politicalstatus = user.Politicalstatus; | |||
|  |                 newUser.Hometown = user.Hometown; | |||
|  |                 newUser.Education = user.Education; | |||
|  |                 newUser.Graduate = user.Graduate; | |||
|  |                 newUser.Major = user.Major; | |||
|  |                 newUser.CertificateId = user.CertificateId; | |||
|  |                 newUser.IntoDate = user.IntoDate; | |||
|  |                 newUser.ValidityDate = user.ValidityDate; | |||
|  |                 newUser.Sex = user.Sex; | |||
|  |                 newUser.BirthDay = user.BirthDay; | |||
|  |                 newUser.PositionId = user.PositionId; | |||
|  |                 newUser.PostTitleId = user.PostTitleId; | |||
|  |                 newUser.WorkPostId = user.WorkPostId; | |||
|  |                 newUser.ProjectId = user.ProjectId; | |||
|  |                 newUser.ProjectRoleId = user.ProjectRoleId; | |||
|  |                 newUser.ProjectWorkPostId = user.ProjectWorkPostId; | |||
|  |                 newUser.MainCNProfessionalId = user.MainCNProfessionalId; | |||
|  |                 newUser.ViceCNProfessionalId = user.ViceCNProfessionalId; | |||
|  |                 newUser.WorkNo = user.WorkNo; | |||
|  |                 Funs.DB.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԱIdɾ<64><C9BE>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>Ϣ | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"></param> | |||
|  |         public static void DeleteUser(string userId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Sys_User user = db.Sys_User.FirstOrDefault(e => e.UserId == userId); | |||
|  |             if (user != null) | |||
|  |             { | |||
|  |                 var logs = from x in db.Sys_Log where x.UserId == userId select x; | |||
|  |                 if (logs.Count() > 0) | |||
|  |                 { | |||
|  |                     db.Sys_Log.DeleteAllOnSubmit(logs); | |||
|  |                 } | |||
|  |                 db.Sys_User.DeleteOnSubmit(user); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserList() | |||
|  |         { | |||
|  |             var list = (from x in Funs.DB.Sys_User orderby x.UserName select x).ToList(); | |||
|  |             return list; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>  <20><>Ŀ <20><>ɫ <20>ҿ<EFBFBD><D2BF><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.SpSysUserItem> GetProjectRoleUserListByProjectId(string projectId, string unitId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             IQueryable<Model.SpSysUserItem> users = null; | |||
|  |             if (!string.IsNullOrEmpty(projectId)) | |||
|  |             { | |||
|  |                 List<Model.SpSysUserItem> returUsers = new List<Model.SpSysUserItem>(); | |||
|  |                 List<Model.Project_ProjectUser> getPUser = new List<Model.Project_ProjectUser>(); | |||
|  |                 if (!string.IsNullOrEmpty(unitId)) | |||
|  |                 { | |||
|  |                     getPUser = (from x in db.Project_ProjectUser | |||
|  |                                 join u in db.Project_ProjectUnit on new { x.ProjectId, x.UnitId } equals new { u.ProjectId, u.UnitId } | |||
|  |                                 where x.ProjectId == projectId && (u.UnitId == unitId || u.UnitType == BLL.Const.ProjectUnitType_1 || u.UnitType == BLL.Const.ProjectUnitType_3 || u.UnitType == BLL.Const.ProjectUnitType_4) | |||
|  |                                 select x).ToList(); | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     getPUser = (from x in db.Project_ProjectUser | |||
|  |                                 where x.ProjectId == projectId | |||
|  |                                 select x).ToList(); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 if (getPUser.Count() > 0) | |||
|  |                 { | |||
|  |                     foreach (var item in getPUser) | |||
|  |                     { | |||
|  |                         List<string> roleIdList = Funs.GetStrListByStr(item.RoleId, ','); | |||
|  |                         var getRoles = db.Sys_Role.FirstOrDefault(x =>roleIdList.Contains(x.RoleId)); | |||
|  |                         if (getRoles != null) | |||
|  |                         { | |||
|  |                             string userName = RoleService.getRoleNamesRoleIds(item.RoleId) + "-" + UserService.GetUserNameByUserId(item.UserId); | |||
|  |                             Model.SpSysUserItem newsysUser = new Model.SpSysUserItem | |||
|  |                             { | |||
|  |                                 UserId = item.UserId, | |||
|  |                                 UserName = userName, | |||
|  |                             }; | |||
|  |                             returUsers.Add(newsysUser); | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 return returUsers; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 if (!string.IsNullOrEmpty(unitId)) | |||
|  |                 { | |||
|  |                     users = (from x in db.Sys_User | |||
|  |                              join z in db.Sys_Role on x.RoleId equals z.RoleId | |||
|  |                              where x.IsPost == true && x.UnitId == unitId | |||
|  |                              orderby x.UserCode | |||
|  |                              select new Model.SpSysUserItem | |||
|  |                              { | |||
|  |                                  UserName = z.RoleName + "- " + x.UserName, | |||
|  |                                  UserId = x.UserId, | |||
|  |                              }); | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     users = (from x in db.Sys_User | |||
|  |                              join z in db.Sys_Role on x.RoleId equals z.RoleId | |||
|  |                              where x.IsPost == true  | |||
|  |                              orderby x.UserCode | |||
|  |                              select new Model.SpSysUserItem | |||
|  |                              { | |||
|  |                                  UserName = z.RoleName + "- " + x.UserName, | |||
|  |                                  UserId = x.UserId, | |||
|  |                              }); | |||
|  |                 } | |||
|  |             } | |||
|  |             return users.ToList(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ź͵<C5BA>λId<49><64>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserListByProjectIdAndUnitId(string projectId, string unitId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> list = new List<Model.Sys_User>(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(unitId)) | |||
|  |                     { | |||
|  |                         list = (from x in db.Sys_User | |||
|  |                                 join y in db.Project_ProjectUser | |||
|  |                                 on x.UserId equals y.UserId | |||
|  |                                 where y.ProjectId == projectId && x.UnitId == unitId | |||
|  |                                 orderby x.UserName | |||
|  |                                 select x).ToList(); | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         list = (from x in db.Sys_User | |||
|  |                                 join y in db.Project_ProjectUser | |||
|  |                                 on x.UserId equals y.UserId | |||
|  |                                 where y.ProjectId == projectId | |||
|  |                                 orderby x.UserName | |||
|  |                                 select x).ToList(); | |||
|  |                     } | |||
|  | 
 | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     list = (from x in db.Sys_User | |||
|  |                             where x.UnitId == unitId | |||
|  |                             orderby x.UserName | |||
|  |                             select x).ToList(); | |||
|  |                 } | |||
|  |                 return list; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>ڸ<EFBFBD><DAB8>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetProjectUserListByProjectId(string projectId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var users = (from x in db.Sys_User | |||
|  |                              where x.IsPost == true && x.UserId != Const.hfnbdId && x.UserId != Const.sedinId | |||
|  |                              orderby x.UserName | |||
|  |                              select x).ToList(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     users = (from x in users | |||
|  |                              join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                              where y.ProjectId == projectId | |||
|  |                              orderby x.UserName | |||
|  |                              select x).ToList(); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 return users; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>źͽ<C5BA>ɫId<49><64>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserListByProjectIdAndRoleId(string projectId, string roleIds) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<string> listRoles = Funs.GetStrListByStr(roleIds, ','); | |||
|  |                 List<Model.Sys_User> list = new List<Model.Sys_User>(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     if (listRoles.Count() > 0) | |||
|  |                     { | |||
|  |                         list = (from x in db.Sys_User | |||
|  |                                 join y in db.Project_ProjectUser | |||
|  |                                 on x.UserId equals y.UserId | |||
|  |                                 where y.ProjectId == projectId && listRoles.Contains(y.RoleId) | |||
|  |                                 orderby x.UserName | |||
|  |                                 select x).ToList(); | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         list = (from x in db.Sys_User | |||
|  |                                 join y in db.Project_ProjectUser | |||
|  |                                 on x.UserId equals y.UserId | |||
|  |                                 where y.ProjectId == projectId | |||
|  |                                 orderby x.UserName | |||
|  |                                 select x).ToList(); | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     list = (from x in db.Sys_User | |||
|  |                             where x.UserId != BLL.Const.hfnbdId && x.UserId != Const.sedinId | |||
|  |                             orderby x.UserName | |||
|  |                             select x).ToList(); | |||
|  | 
 | |||
|  |                     if (listRoles.Count() > 0) | |||
|  |                     { | |||
|  |                         list = list.Where(x => listRoles.Contains(x.RoleId)).ToList(); | |||
|  |                     } | |||
|  |                 } | |||
|  | 
 | |||
|  |                 return list; | |||
|  |             } | |||
|  |         } | |||
|  |          | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>źͽ<C5BA>ɫId<49><64>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserListByProjectIdUnitIdRoleId(string projectId,string unitId, string roleIds) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<string> listRoles = Funs.GetStrListByStr(roleIds, ','); | |||
|  |                 List<Model.Sys_User> list = new List<Model.Sys_User>(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     if (listRoles.Count() > 0) | |||
|  |                     { | |||
|  |                         list = (from x in db.Sys_User | |||
|  |                                 join y in db.Project_ProjectUser | |||
|  |                                 on x.UserId equals y.UserId | |||
|  |                                 where y.ProjectId == projectId && x.UnitId == unitId && listRoles.Contains(y.RoleId)  | |||
|  |                                 orderby x.UserName | |||
|  |                                 select x).ToList(); | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         list = (from x in db.Sys_User | |||
|  |                                 join y in db.Project_ProjectUser | |||
|  |                                 on x.UserId equals y.UserId | |||
|  |                                 where y.ProjectId == projectId && x.UnitId == unitId | |||
|  |                                 orderby x.UserName | |||
|  |                                 select x).ToList(); | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     list = (from x in db.Sys_User | |||
|  |                             where   x.UnitId == unitId && x.UserId != BLL.Const.hfnbdId && x.UserId != Const.sedinId | |||
|  |                             orderby x.UserName | |||
|  |                             select x).ToList(); | |||
|  | 
 | |||
|  |                     if (listRoles.Count() > 0) | |||
|  |                     { | |||
|  |                         list = list.Where(x => listRoles.Contains(x.RoleId)).ToList(); | |||
|  |                     } | |||
|  |                 } | |||
|  | 
 | |||
|  |                 return list; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         #region <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// <summary> | |||
|  |         /// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetProjectUserListByProjectId(projectId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD>ɫ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>  | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitFlowOperateControlUserDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetProjectRoleUserListByProjectId(projectId, unitId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserProjectIdUnitIdDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetUserListByProjectIdAndUnitId(projectId, unitId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="roleIds"><3E><>ɫid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserProjectIdRoleIdDropDownList(FineUIPro.DropDownList dropName, string projectId, string roleIds, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetUserListByProjectIdAndRoleId(projectId, roleIds); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="roleIds"><3E><>ɫid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserProjectIdUnitIdRoleIdDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitId, string roleIds, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetUserListByProjectIdUnitIdRoleId(projectId,unitId, roleIds); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="dataId"></param> | |||
|  |         public static void DeleteUserRead(string dataId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             var userRs = from x in Funs.DB.Sys_UserRead where x.DataId == dataId select x; | |||
|  |             if (userRs.Count() > 0) | |||
|  |             { | |||
|  |                 Funs.DB.Sys_UserRead.DeleteAllOnSubmit(userRs); | |||
|  |                 Funs.DB.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD>ʩ<EFBFBD><CAA9><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>̡<EFBFBD>רҵ<D7A8><D2B5>ȡ<EFBFBD>鿴<EFBFBD><E9BFB4>Ϣ<EFBFBD>û<EFBFBD>  | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetSeeUserList(string projectId, string subUnitId, string cNProfessionalCode, string unitWorkId, string subUserId, string mainUserId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> users = new List<Model.Sys_User>(); | |||
|  |                 //<2F>ְ<EFBFBD><D6B0>û<EFBFBD> | |||
|  |                 var q1 = (from x in db.Project_ProjectUser | |||
|  |                           join y in db.Sys_User | |||
|  |                           on x.UserId equals y.UserId | |||
|  |                           join z in db.SitePerson_Person | |||
|  |                           on y.IdentityCard equals z.IdentityCard | |||
|  |                           join a in db.Base_WorkPost | |||
|  |                           on z.WorkPostId equals a.WorkPostId | |||
|  |                           where x.IsPost == true && x.UnitId == subUnitId | |||
|  |                           && a.CNCodes.Contains(cNProfessionalCode) | |||
|  |                               && x.UserId != subUserId | |||
|  |                               && x.ProjectId == projectId && z.ProjectId == projectId | |||
|  |                           orderby x.UserId | |||
|  |                           select x).ToList(); | |||
|  |                 foreach (var item in q1) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(item.WorkAreaId)) | |||
|  |                     { | |||
|  |                         string[] workAreas = item.WorkAreaId.Split(','); | |||
|  |                         foreach (var workArea in workAreas) | |||
|  |                         { | |||
|  |                             if (workArea == unitWorkId) | |||
|  |                             { | |||
|  |                                 users.Add(GetUserByUserId(item.UserId)); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 //<2F>ܰ<EFBFBD><DCB0>û<EFBFBD> | |||
|  |                 Model.Base_Unit mainUnit = BLL.UnitService.GetUnitByProjectIdUnitTypeList(projectId, Const.ProjectUnitType_1)[0]; | |||
|  |                 string mainUnitId = string.Empty; | |||
|  |                 if (mainUnit != null) | |||
|  |                 { | |||
|  |                     mainUnitId = mainUnit.UnitId; | |||
|  |                 } | |||
|  |                 var q2 = (from x in db.Project_ProjectUser | |||
|  |                           join y in db.Sys_User | |||
|  |                           on x.UserId equals y.UserId | |||
|  |                           join z in db.SitePerson_Person | |||
|  |                           on y.IdentityCard equals z.IdentityCard | |||
|  |                           join a in db.Base_WorkPost | |||
|  |                           on z.WorkPostId equals a.WorkPostId | |||
|  |                           where x.IsPost == true && x.UnitId == mainUnitId && a.CNCodes.Contains(cNProfessionalCode) | |||
|  |                               && x.UserId != mainUserId | |||
|  |                               && x.ProjectId == projectId && z.ProjectId == projectId | |||
|  |                           orderby x.UserId | |||
|  |                           select x).ToList(); | |||
|  |                 foreach (var item in q2) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(item.WorkAreaId)) | |||
|  |                     { | |||
|  |                         string[] workAreas = item.WorkAreaId.Split(','); | |||
|  |                         foreach (var workArea in workAreas) | |||
|  |                         { | |||
|  |                             if (workArea == unitWorkId) | |||
|  |                             { | |||
|  |                                 users.Add(GetUserByUserId(item.UserId)); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 return users; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease, string UnitId) | |||
|  |         { | |||
|  |             dropName.DataValueField = "Value"; | |||
|  |             dropName.DataTextField = "Text"; | |||
|  |             if (!string.IsNullOrWhiteSpace(UnitId)) | |||
|  |             { | |||
|  |                 dropName.DataSource = GetUserByUnitId(projectId, UnitId); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 dropName.DataSource = GetMainUserList(projectId); | |||
|  |             } | |||
|  | 
 | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>յ<EFBFBD>λ<EFBFBD><CEBB>ѯ<EFBFBD>û<EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="unitId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetUserByUnitId(string projectId, string unitId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var user = (from x in db.Sys_User | |||
|  |                             where x.IsPost == true | |||
|  |                             orderby x.UserId | |||
|  |                             select x).ToList(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId) && !string.IsNullOrEmpty(unitId)) | |||
|  |                 { | |||
|  |                     user = (from x in user | |||
|  |                             join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                             where (y.ProjectId == projectId && y.UnitId == unitId) | |||
|  |                             select x).ToList(); | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     user = (from x in user | |||
|  |                             join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                             where (y.ProjectId == projectId) | |||
|  |                             select x).ToList(); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 ListItem[] lis = new ListItem[user.Count()]; | |||
|  |                 for (int i = 0; i < user.Count(); i++) | |||
|  |                 { | |||
|  |                     lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString()); | |||
|  |                 } | |||
|  |                 return lis; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD><C8A1>Ŀ<EFBFBD>ܰ<EFBFBD><DCB0>û<EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetMainUserList(string projectId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var user = (from x in db.Sys_User | |||
|  |                             join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                             join z in db.Project_ProjectUnit on x.UnitId equals z.UnitId | |||
|  |                             where x.IsPost == true && y.ProjectId == projectId && z.ProjectId == projectId && z.UnitType == Const.ProjectUnitType_1 | |||
|  |                             orderby x.UserId | |||
|  |                             select x).ToList(); | |||
|  |                 ListItem[] lis = new ListItem[user.Count()]; | |||
|  |                 for (int i = 0; i < user.Count(); i++) | |||
|  |                 { | |||
|  |                     lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString()); | |||
|  |                 } | |||
|  |                 return lis; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public static void Init(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "Text"; | |||
|  |             dropName.DataTextField = "Text"; | |||
|  |             dropName.DataSource = GetMainUserList(projectId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD>ʩ<EFBFBD><CAA9><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>̡<EFBFBD>רҵ<D7A8><D2B5>ȡ<EFBFBD>鿴<EFBFBD><E9BFB4>Ϣ<EFBFBD>û<EFBFBD>  | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetSeeUserList2(string projectId, string subUnitId, string cNProfessionalCode, string unitWorkId, string mainUserId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> users = new List<Model.Sys_User>(); | |||
|  |                 //<2F>ְ<EFBFBD><D6B0>û<EFBFBD> | |||
|  |                 var q1 = (from x in db.Project_ProjectUser | |||
|  |                           join y in db.Sys_User | |||
|  |                           on x.UserId equals y.UserId | |||
|  |                           join z in db.SitePerson_Person | |||
|  |                           on y.IdentityCard equals z.IdentityCard | |||
|  |                           join a in db.Base_WorkPost | |||
|  |                           on z.WorkPostId equals a.WorkPostId | |||
|  |                           where x.IsPost == true && x.UnitId == subUnitId && a.CNCodes.Contains(cNProfessionalCode) | |||
|  |                               && x.ProjectId == projectId && z.ProjectId == projectId | |||
|  |                           orderby x.UserId | |||
|  |                           select x).ToList(); | |||
|  |                 foreach (var item in q1) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(item.WorkAreaId)) | |||
|  |                     { | |||
|  |                         string[] workAreas = item.WorkAreaId.Split(','); | |||
|  |                         foreach (var workArea in workAreas) | |||
|  |                         { | |||
|  |                             if (workArea == unitWorkId) | |||
|  |                             { | |||
|  |                                 users.Add(GetUserByUserId(item.UserId)); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 //<2F>ܰ<EFBFBD><DCB0>û<EFBFBD> | |||
|  |                 Model.Base_Unit mainUnit = BLL.UnitService.GetUnitByProjectIdUnitTypeList(projectId, Const.ProjectUnitType_1)[0]; | |||
|  |                 string mainUnitId = string.Empty; | |||
|  |                 if (mainUnit != null) | |||
|  |                 { | |||
|  |                     mainUnitId = mainUnit.UnitId; | |||
|  |                 } | |||
|  |                 var q2 = (from x in db.Project_ProjectUser | |||
|  |                           join y in db.Sys_User | |||
|  |                           on x.UserId equals y.UserId | |||
|  |                           join z in db.SitePerson_Person | |||
|  |                           on y.IdentityCard equals z.IdentityCard | |||
|  |                           join a in db.Base_WorkPost | |||
|  |                           on z.WorkPostId equals a.WorkPostId | |||
|  |                           where x.IsPost == true && x.UnitId == mainUnitId && a.CNCodes.Contains(cNProfessionalCode) | |||
|  |                               && x.UserId != mainUserId | |||
|  |                               && x.ProjectId == projectId && z.ProjectId == projectId | |||
|  |                           orderby x.UserId | |||
|  |                           select x).ToList(); | |||
|  |                 foreach (var item in q2) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(item.WorkAreaId)) | |||
|  |                     { | |||
|  |                         string[] workAreas = item.WorkAreaId.Split(','); | |||
|  |                         foreach (var workArea in workAreas) | |||
|  |                         { | |||
|  |                             if (workArea == unitWorkId) | |||
|  |                             { | |||
|  |                                 users.Add(GetUserByUserId(item.UserId)); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 return users; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD>ʩ<EFBFBD><CAA9><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>̡<EFBFBD>רҵ<D7A8><D2B5>ȡ<EFBFBD>鿴<EFBFBD><E9BFB4>Ϣ<EFBFBD>û<EFBFBD>  | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetSeeUserList3(string projectId, string unitId1, string unitId2, string unitId3, string cNProfessionalCode, string unitWorkId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> users = new List<Model.Sys_User>(); | |||
|  |                 var q1 = (from x in db.Project_ProjectUser | |||
|  |                           join y in db.Sys_User | |||
|  |                           on x.UserId equals y.UserId | |||
|  |                           join z in db.SitePerson_Person | |||
|  |                           on y.IdentityCard equals z.IdentityCard | |||
|  |                           join a in db.Base_WorkPost | |||
|  |                           on z.WorkPostId equals a.WorkPostId | |||
|  |                           where x.IsPost == true && (x.UnitId == unitId1 || x.UnitId == unitId2) && a.CNCodes.Contains(cNProfessionalCode) | |||
|  |                               && x.ProjectId == projectId && z.ProjectId == projectId | |||
|  |                           orderby x.UserId | |||
|  |                           select x).ToList(); | |||
|  |                 foreach (var item in q1) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(item.WorkAreaId)) | |||
|  |                     { | |||
|  |                         string[] workAreas = item.WorkAreaId.Split(','); | |||
|  |                         foreach (var workArea in workAreas) | |||
|  |                         { | |||
|  |                             if (workArea == unitWorkId) | |||
|  |                             { | |||
|  |                                 users.Add(GetUserByUserId(item.UserId)); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(unitId3)) | |||
|  |                 { | |||
|  |                     var q2 = (from x in db.Project_ProjectUser | |||
|  |                               join y in db.Sys_User | |||
|  |                               on x.UserId equals y.UserId | |||
|  |                               join z in db.SitePerson_Person | |||
|  |                               on y.IdentityCard equals z.IdentityCard | |||
|  |                               join a in db.Base_WorkPost | |||
|  |                               on z.WorkPostId equals a.WorkPostId | |||
|  |                               where x.IsPost == true && a.CNCodes.Contains(cNProfessionalCode) | |||
|  |                                   && x.ProjectId == projectId && z.ProjectId == projectId | |||
|  |                               orderby x.UserId | |||
|  |                               select x).ToList(); | |||
|  |                     var q3 = (from x in q2 | |||
|  |                               where unitId3.Split(',').Contains(x.UnitId) | |||
|  |                               select x).ToList(); | |||
|  |                     foreach (var item in q3) | |||
|  |                     { | |||
|  |                         if (!string.IsNullOrEmpty(item.WorkAreaId)) | |||
|  |                         { | |||
|  |                             string[] workAreas = item.WorkAreaId.Split(','); | |||
|  |                             foreach (var workArea in workAreas) | |||
|  |                             { | |||
|  |                                 if (workArea == unitWorkId) | |||
|  |                                 { | |||
|  |                                     users.Add(GetUserByUserId(item.UserId)); | |||
|  |                                 } | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 return users; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>ضλ<E0B5A5>µ<EFBFBD><C2B5>û<EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"></param> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="isShowPlease"></param> | |||
|  |         /// <param name="UnitId"></param> | |||
|  |         public static void InitUsersDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease, string UnitId) | |||
|  |         { | |||
|  |             dropName.DataValueField = "Value"; | |||
|  |             dropName.DataTextField = "Text"; | |||
|  |             if (!string.IsNullOrWhiteSpace(UnitId)) | |||
|  |             { | |||
|  |                 dropName.DataSource = GetUserByUnitIds(projectId, UnitId); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 dropName.DataSource = GetMainUserList(projectId); | |||
|  |             } | |||
|  | 
 | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD>λ<E0B5A5><CEBB><EFBFBD>û<EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="unitIds"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetUserByUnitIds(string projectId, string unitIds) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var user = (from x in db.Sys_User | |||
|  |                             where x.IsPost == true | |||
|  |                             orderby x.UserId | |||
|  |                             select x).ToList(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId) && !string.IsNullOrEmpty(unitIds)) | |||
|  |                 { | |||
|  |                     user = (from x in user | |||
|  |                             join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                             where (y.ProjectId == projectId && unitIds.Split(',').Contains(y.UnitId)) | |||
|  |                             select x).ToList(); | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     user = (from x in user | |||
|  |                             join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                             where (y.ProjectId == projectId) | |||
|  |                             select x).ToList(); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 ListItem[] lis = new ListItem[user.Count()]; | |||
|  |                 for (int i = 0; i < user.Count(); i++) | |||
|  |                 { | |||
|  |                     lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString()); | |||
|  |                 } | |||
|  |                 return lis; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>ݵ<EFBFBD>λId<49><64><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>ȡ<EFBFBD>鿴<EFBFBD><E9BFB4>Ϣ<EFBFBD>û<EFBFBD>  | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetSeeUserListByRole(string projectId, string unitId, string role1, string role2, string role3, string role4) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 return (from x in db.Sys_User | |||
|  |                         join z in db.Project_ProjectUser | |||
|  |                         on x.UserId equals z.UserId | |||
|  |                         join y in db.Sys_Role | |||
|  |                         on z.RoleId equals y.RoleId | |||
|  |                         where x.IsPost == true && x.UnitId == unitId && (y.RoleId == role1 || y.RoleId == role2 || y.RoleId == role3 || y.RoleId == role4) | |||
|  |                             && z.ProjectId == projectId | |||
|  |                         orderby x.UserId | |||
|  |                         select x).Distinct().ToList(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD>ʩ<EFBFBD><CAA9><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>̡<EFBFBD>רҵ<D7A8><D2B5>ȡ<EFBFBD>鿴<EFBFBD><E9BFB4>Ϣ<EFBFBD>û<EFBFBD>  | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetSeeUserList4(string projectId, string unitId1, string unitId2, string unitId3) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> users = new List<Model.Sys_User>(); | |||
|  |                 var q1 = (from x in db.Sys_User | |||
|  |                           join y in db.Project_ProjectUser | |||
|  |                           on x.UserId equals y.UserId | |||
|  |                           where x.IsPost == true && x.UnitId == unitId1 && y.ProjectId == projectId | |||
|  |                           orderby x.UserId | |||
|  |                           select x).ToList(); | |||
|  |                 users.AddRange(q1); | |||
|  |                 if (!string.IsNullOrEmpty(unitId2)) | |||
|  |                 { | |||
|  |                     var q2 = from x in db.Sys_User | |||
|  |                              join y in db.Project_ProjectUser | |||
|  |                              on x.UserId equals y.UserId | |||
|  |                              where y.ProjectId == projectId && x.IsPost == true | |||
|  |                              select x; | |||
|  |                     var q3 = (from x in q2 where unitId2.Split(',').Contains(x.UnitId) select x).ToList(); | |||
|  |                     users.AddRange(q3); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(unitId3)) | |||
|  |                 { | |||
|  |                     var q4 = from x in db.Sys_User | |||
|  |                              join y in db.Project_ProjectUser | |||
|  |                              on x.UserId equals y.UserId | |||
|  |                              where y.ProjectId == projectId && x.IsPost == true | |||
|  |                              select x; | |||
|  |                     var q5 = (from x in q4 where unitId3.Split(',').Contains(x.UnitId) select x).ToList(); | |||
|  |                     users.AddRange(q5); | |||
|  |                 } | |||
|  |                 return users; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitJLUserDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "Value"; | |||
|  |             dropName.DataTextField = "Text"; | |||
|  |             dropName.DataSource = GetJLUserList(projectId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD><C8A1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetJLUserList(string projectId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var user = (from x in db.Sys_User | |||
|  |                             join y in db.Project_ProjectUser | |||
|  |                             on x.UserId equals y.UserId | |||
|  |                             join z in db.Project_ProjectUnit | |||
|  |                             on y.UnitId equals z.UnitId | |||
|  |                             where x.IsPost == true && y.ProjectId == projectId && z.UnitType == BLL.Const.ProjectUnitType_3 | |||
|  |                             orderby x.UserId | |||
|  |                             select x).ToList(); | |||
|  |                 ListItem[] lis = new ListItem[user.Count()]; | |||
|  |                 for (int i = 0; i < user.Count(); i++) | |||
|  |                 { | |||
|  |                     lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString()); | |||
|  |                 } | |||
|  |                 return lis; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// ҵ<><D2B5><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitYZUserDropDownList(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "Value"; | |||
|  |             dropName.DataTextField = "Text"; | |||
|  |             dropName.DataSource = GetYZUserList(projectId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡ<EFBFBD><C8A1>Ŀҵ<C4BF><D2B5><EFBFBD>û<EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetYZUserList(string projectId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var user = (from x in db.Sys_User | |||
|  |                             join y in db.Project_ProjectUser | |||
|  |                             on x.UserId equals y.UserId | |||
|  |                             join z in db.Project_ProjectUnit | |||
|  |                             on y.UnitId equals z.UnitId | |||
|  |                             where x.IsPost == true && y.ProjectId == projectId && z.UnitType == BLL.Const.ProjectUnitType_4 | |||
|  |                             orderby x.UserId | |||
|  |                             select x).ToList(); | |||
|  |                 ListItem[] lis = new ListItem[user.Count()]; | |||
|  |                 for (int i = 0; i < user.Count(); i++) | |||
|  |                 { | |||
|  |                     lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString()); | |||
|  |                 } | |||
|  |                 return lis; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>ݵ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="projectId"><3E><>Ŀid</param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserProjectIdUnitTypeDropDownList(FineUIPro.DropDownList dropName, string projectId, string unitType, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetUserListByProjectIdAndUnitType(projectId, unitType); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ź͵<C5BA>λ<EFBFBD><CEBB><EFBFBD>ͻ<EFBFBD>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserListByProjectIdAndUnitType(string projectId, string unitType) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> list = new List<Model.Sys_User>(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     list = (from x in db.Sys_User | |||
|  |                             join y in db.Project_ProjectUser | |||
|  |                             on x.UserId equals y.UserId | |||
|  |                             join z in db.Project_ProjectUnit | |||
|  |                             on x.UnitId equals z.UnitId | |||
|  |                             where y.ProjectId == projectId && z.ProjectId == projectId && z.UnitType == unitType | |||
|  |                             orderby x.UserName | |||
|  |                             select x).ToList(); | |||
|  |                 } | |||
|  |                 return list; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         #region <EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD>û<EFBFBD>ID<EFBFBD>õ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>ݶ<EFBFBD><DDB6>û<EFBFBD>ID<49>õ<EFBFBD><C3B5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="bigType"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static string getUserNamesUserIds(object userIds) | |||
|  |         { | |||
|  |             string userName = string.Empty; | |||
|  |             if (userIds != null) | |||
|  |             { | |||
|  |                 string[] ids = userIds.ToString().Split(','); | |||
|  |                 foreach (string id in ids) | |||
|  |                 { | |||
|  |                     var q = GetUserNameByUserId(id); | |||
|  |                     if (q != null) | |||
|  |                     { | |||
|  |                         userName += q + ","; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 if (userName != string.Empty) | |||
|  |                 { | |||
|  |                     userName = userName.Substring(0, userName.Length - 1); ; | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             return userName; | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="name"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetProjectUserListByProjectIdForApi(string projectId, string name) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var users = (from x in db.Sys_User | |||
|  |                              where x.IsPost == true && x.UserId != BLL.Const.hfnbdId | |||
|  |                              where name == "" || x.UserName.Contains(name) | |||
|  |                              orderby x.UserName | |||
|  |                              select x).ToList(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     users = (from x in users | |||
|  |                              join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                              where y.ProjectId == projectId | |||
|  |                              orderby x.UserName | |||
|  |                              select x).ToList(); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 return users; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="unitId"></param> | |||
|  |         /// <param name="unitType"></param> | |||
|  |         /// <param name="name"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetProjectUserListByProjectIdForApi(string projectId, string unitId, string unitType, string name) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> list = new List<Model.Sys_User>(); | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     string[] unitTypes = { }; | |||
|  |                     string[] unitIds = { }; | |||
|  | 
 | |||
|  |                     if (!string.IsNullOrEmpty(unitType)) | |||
|  |                     { | |||
|  |                         unitTypes = unitType.Split(','); | |||
|  |                     } | |||
|  |                     if (!string.IsNullOrEmpty(unitId)) | |||
|  |                     { | |||
|  |                         unitIds = unitId.Split(','); | |||
|  |                     } | |||
|  |                     list = (from x in db.Sys_User | |||
|  |                             join y in db.Project_ProjectUser on x.UserId equals y.UserId | |||
|  |                             join z in db.Project_ProjectUnit on x.UnitId equals z.UnitId | |||
|  |                             where name == "" || x.UserName.Contains(name) | |||
|  |                             where y.ProjectId == projectId && z.ProjectId == projectId | |||
|  |                             where unitType == "" || unitTypes.Contains(z.UnitType) | |||
|  |                             where unitId == "" || unitIds.Contains(z.UnitId) | |||
|  |                             orderby z.UnitType descending, x.UserName | |||
|  |                             select x).ToList(); | |||
|  |                 } | |||
|  |                 return list; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="account"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.Sys_User FindUserByAccount(string account) | |||
|  |         { | |||
|  |             var q = from y in Funs.DB.Sys_User | |||
|  |                     where y.Account == account && y.IsPost == true | |||
|  |                     select y; | |||
|  |             return q.FirstOrDefault(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>ݵ<EFBFBD>λId<49><64>ȡ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserListByUnitId(string unitId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> list = new List<Model.Sys_User>(); | |||
|  |                 list = (from x in db.Sys_User | |||
|  |                         where x.UnitId == unitId | |||
|  |                         orderby x.UserName | |||
|  |                         select x).ToList(); | |||
|  |                 return list; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserUnitIdDropDownList(FineUIPro.DropDownList dropName, string unitId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetUserListByUnitId(unitId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>ݽ<EFBFBD>ɫ<EFBFBD><C9AB>ȡ<EFBFBD>鿴<EFBFBD>û<EFBFBD>  | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserListByRole(string role) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 return (from x in db.Sys_User | |||
|  |                         where x.RoleId == role | |||
|  |                         orderby x.UserId | |||
|  |                         select x).Distinct().ToList(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="userId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static string getSignatureName(string userId) | |||
|  |         { | |||
|  |             string userName = string.Empty; | |||
|  |             var getUser = UserService.GetUserByUserId(userId); | |||
|  |             if (getUser != null) | |||
|  |             { | |||
|  |                 userName = getUser.UserName; | |||
|  |                 if (!string.IsNullOrEmpty(getUser.SignatureUrl)) | |||
|  |                 { | |||
|  |                     string url = Funs.RootPath + getUser.SignatureUrl; | |||
|  |                     FileInfo info = new FileInfo(url); | |||
|  |                     if (info.Exists) | |||
|  |                     { | |||
|  |                         userName = "<img width='90' height='35' src='" + (Funs.SGGLUrl + getUser.SignatureUrl).Replace('\\', '/') + "'></img>"; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             return userName; | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD>ݵ<EFBFBD>λId<49><64><EFBFBD>Ż<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʩ<EFBFBD><CAA9><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Sys_User> GetUserListByUnitIdDepartId(string unitId, string DepartId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 List<Model.Sys_User> list = new List<Model.Sys_User>(); | |||
|  |                 list = (from x in db.Sys_User | |||
|  |                         where x.UnitId == unitId && x.DepartId == DepartId | |||
|  |                         orderby x.UserName | |||
|  |                         select x).ToList(); | |||
|  |                 return list; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param> | |||
|  |         /// <param name="isShowPlease"><3E>Ƿ<EFBFBD><C7B7><EFBFBD>ʾ<EFBFBD><CABE>ѡ<EFBFBD><D1A1></param> | |||
|  |         public static void InitUserUnitIdDepartIdDropDownList(FineUIPro.DropDownList dropName, string unitId, string DepartId, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "UserId"; | |||
|  |             dropName.DataTextField = "UserName"; | |||
|  |             dropName.DataSource = BLL.UserService.GetUserListByUnitIdDepartId(unitId, DepartId); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><><EFBFBD><EFBFBD>ʩ<EFBFBD><CAA9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName"></param> | |||
|  |         /// <param name="isShowPlease"></param> | |||
|  |         public static void InitSGBUser(FineUIPro.DropDownList dropName, bool isShowPlease) | |||
|  |         { | |||
|  |             dropName.DataValueField = "Value"; | |||
|  |             dropName.DataTextField = "Text"; | |||
|  |             dropName.DataSource = GetSGBUserList(); | |||
|  |             dropName.DataBind(); | |||
|  |             if (isShowPlease) | |||
|  |             { | |||
|  |                 Funs.FineUIPleaseSelect(dropName); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// <20><>ȡʩ<C8A1><CAA9><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD> | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetSGBUserList() | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var user = (from x in db.Sys_User | |||
|  |                             where x.IsPost == true && x.UnitId == Const.UnitId_CWCEC && x.DepartId == Const.Depart_constructionId | |||
|  |                             orderby x.UserId | |||
|  |                             select x).ToList(); | |||
|  |                 ListItem[] lis = new ListItem[user.Count()]; | |||
|  |                 for (int i = 0; i < user.Count(); i++) | |||
|  |                 { | |||
|  |                     lis[i] = new ListItem(user[i].UserName ?? "", user[i].UserId.ToString()); | |||
|  |                 } | |||
|  |                 return lis; | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |