This commit is contained in:
2024-05-08 17:17:11 +08:00
parent 0696f555b2
commit 2f1fca4df2
4528 changed files with 635638 additions and 0 deletions
@@ -0,0 +1,113 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
public class Sys_ButtonPowerService
{
///// <summary>
///// 获取按钮权限集合
///// </summary>
///// <param name="roleId">角色ID</param>
///// <param name="menuId">菜单ID</param>
///// <returns>按钮集合</returns>
//public static string[] GetButtonPowerList(string roleId, string menuId)
//{
// Model.SGGLDB db = Funs.DB;
// var q = from x in db.Sys_ButtonPower where x.RoleId == roleId && x.MenuId == menuId select x;
// if (q != null)
// {
// string[] button = new string[q.Count()];
// int i = 0;
// foreach (var b in q)
// {
// Model.ButtonToMenu btn = db.ButtonToMenu.FirstOrDefault(e => e.ButtonToMenuId == b.ButtonToMenuId);
// button[i] = btn.ButtonName;
// i++;
// }
// return button;
// }
// else
// {
// return null;
// }
//}
/// <summary>
/// 删除权限
/// </summary>
/// <param name="roleId"></param>
public static void DeleteButtonPower(string roleId, string systemValue)
{
Model.SGGLDB db = Funs.DB;
var bt = from x in db.Sys_ButtonPower
join y in db.Sys_Menu on x.MenuId equals y.MenuId
where x.RoleId == roleId && y.MenuModule == systemValue
select x;
if (bt.Count() > 0)
{
db.Sys_ButtonPower.DeleteAllOnSubmit(bt);
}
db.SubmitChanges();
}
/// <summary>
/// 增加按钮权限
/// </summary>
/// <param name="power"></param>
public static void SaveButtonPower(Model.Sys_ButtonPower btn)
{
Model.SGGLDB db = Funs.DB;
string newKeyID = SQLHelper.GetNewID(typeof(Model.Sys_ButtonPower));
Model.Sys_ButtonPower button = new Model.Sys_ButtonPower();
button.ButtonPowerID = newKeyID;
button.RoleId = btn.RoleId;
button.MenuId = btn.MenuId;
button.ButtonToMenuId = btn.ButtonToMenuId;
db.Sys_ButtonPower.InsertOnSubmit(button);
db.SubmitChanges();
}
/// <summary>
/// 判断菜单是否存在
/// </summary>
/// <param name="postId"></param>
/// <returns></returns>
public static bool IsExistMenu(string menuId)
{
Model.Sys_Menu m = Funs.DB.Sys_Menu.FirstOrDefault(e => e.MenuId == menuId);
if (m != null)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 判断按键对应菜单是否存在
/// </summary>
/// <param name="postId"></param>
/// <returns></returns>
public static bool isExistButtonToMenu(string buttonToMenuId)
{
//Model.Sys_ButtonToMenu b = Funs.DB.Sys_ButtonToMenu.FirstOrDefault(e => e.ButtonToMenuId == buttonToMenuId);
//if (b != null)
//{
// return true;
//}
//else
//{
return false;
//}
}
}
}
@@ -0,0 +1,157 @@
namespace BLL
{
using System;
using System.Collections;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Data.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI.WebControls;
using System.Net;
using Model;
using BLL;
using System.Collections.Generic;
public static class Sys_LogService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 记录数
/// </summary>
private static int count
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Sys_Log> qq = from x in db.Sys_Log orderby x.OperationTime descending select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="startRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static IEnumerable getListData(string systemId, string projectId, string userId, string startTime, string endTime, int startRowIndex, int maximumRows)
{
IQueryable<Model.Sys_Log> q = qq;
if (userId != "0" && !string.IsNullOrEmpty(userId))
{
q = q.Where(e => e.UserId == userId);
}
if (!String.IsNullOrEmpty(startTime))
{
q = q.Where(e => e.OperationTime >= Convert.ToDateTime(startTime));
}
if (!String.IsNullOrEmpty(endTime))
{
q = q.Where(e => e.OperationTime <= Convert.ToDateTime(endTime));
}
if (projectId != "0" && !string.IsNullOrEmpty(projectId))
{
q = q.Where(e => e.ProjectId == projectId);
}
if (systemId != "0" && !string.IsNullOrEmpty(systemId))
{
q = q.Where(e => e.SystemId == systemId);
}
count = q.Count();
if (count == 0)
{
return new object[] { "" };
}
return from x in q.Skip(startRowIndex).Take(maximumRows)
select new
{
UserName = (from u in db.Sys_User where u.UserId == x.UserId select u.UserName).FirstOrDefault(),
x.OperationTime,
x.Ip,
x.HostName,
x.OperationLog,
ProjectName = (from u in db.Base_Project where u.ProjectId == x.ProjectId select u.ProjectName).FirstOrDefault(),
SystemName = (from u in db.Sys_System where u.SystemId == x.SystemId select u.SystemName).FirstOrDefault(),
};
}
/// <summary>
/// 获取列表数
/// </summary>
/// <returns></returns>
public static int getListCount(string systemId, string projectId, string userId, string startTime, string endTime)
{
return count;
}
/// <summary>
/// 添加操作日志
/// </summary>
/// <param name="userId"></param>
/// <param name="opLog"></param>
public static void AddLog(string systemId, string projectId, string userId, string opLog)
{
//SetOvertime(userId);
Model.SGGLDB db = Funs.DB;
Model.Sys_Log log = new Model.Sys_Log();
log.LogId = SQLHelper.GetNewID(typeof(Model.Sys_Log));
log.HostName = Dns.GetHostName();
IPAddress[] ips = Dns.GetHostAddresses(log.HostName);
if (ips.Length > 0)
{
foreach (IPAddress ip in ips)
{
if (ip.ToString().IndexOf('.') != -1)
{
log.Ip = ip.ToString();
}
}
}
log.OperationTime = DateTime.Now;
log.OperationLog = opLog;
log.UserId = userId;
log.ProjectId = projectId;
log.SystemId = systemId;
db.Sys_Log.InsertOnSubmit(log);
db.SubmitChanges();
}
/// <summary>
/// 根据人员Id查询所有日志信息的数量
/// </summary>
/// <param name="userId">人员Id</param>
/// <returns>日志信息的数量</returns>
public static int GetLogCountByUserId(string userId)
{
var q = (from x in Funs.DB.Sys_Log where x.UserId == userId select x).ToList();
return q.Count();
}
/// <summary>
/// 根据人员Id删除所有相关日志信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteLogByUserId(string userId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.Sys_Log where x.UserId == userId select x).ToList();
if (q != null)
{
db.Sys_Log.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
}
}
}
@@ -0,0 +1,105 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
public static class Sys_RolePowerService
{
/// <summary>
/// 增加角色权限
/// </summary>
/// <param name="power"></param>
public static void SaveRolePower(Model.Sys_RolePower power)
{
Model.SGGLDB db = Funs.DB;
string newRolePower = BLL.SQLHelper.GetNewID(typeof(Model.Sys_RolePower));
Model.Sys_RolePower newPower = new Model.Sys_RolePower();
newPower.RolePowerId = newRolePower;
newPower.RoleId = power.RoleId;
newPower.MenuId = power.MenuId;
db.Sys_RolePower.InsertOnSubmit(newPower);
db.SubmitChanges();
}
/// <summary>
/// 删除权限
/// </summary>
/// <param name="postId"></param>
public static void DeleteRolePower(string roleId, string systemValue)
{
Model.SGGLDB db = Funs.DB;
var q = from x in db.Sys_RolePower
join y in db.Sys_Menu on x.MenuId equals y.MenuId
where x.RoleId == roleId && y.MenuModule == systemValue
select x;
if (q.Count() > 0)
{
db.Sys_RolePower.DeleteAllOnSubmit(q);
}
db.SubmitChanges();
}
/// <summary>
/// 获取角色权限
/// </summary>
/// <param name="roleId"></param>
public static List<Model.Sys_RolePower> GetRolePower(string roleId)
{
List<Model.Sys_RolePower> powerList = Funs.DB.Sys_RolePower.Where(e => e.RoleId == roleId).ToList();
return powerList;
}
/// <summary>
/// 根据角色Id查询所有系统功能授权信息的数量
/// </summary>
/// <param name="roleId">角色Id</param>
/// <returns>授权的数量</returns>
public static int GetPostPowerCountByPostId(string roleId)
{
var q = (from x in Funs.DB.Sys_RolePower where x.RoleId == roleId select x).ToList();
return q.Count();
}
/// <summary>
/// 根据角色主键获得角色权限数量
/// </summary>
/// <param name="roleId">角色</param>
/// <returns></returns>
public static int GetPostPowerCountByRoleId(string roleId)
{
var q = (from x in Funs.DB.Sys_RolePower where x.RoleId == roleId select x).ToList();
return q.Count();
}
/// <summary>
/// 根据角色主键获得对应的菜单权限
/// </summary>
/// <param name="roleId">角色主键</param>
/// <returns>菜单ID数组</returns>
public static string[] GetMenuIdByRoleId(string roleId)
{
var q = Funs.DB.Sys_RolePower.Where(e => e.RoleId == roleId);
string[] menuId = new string[q.Count()];
if (q.Count() > 0)
{
int i = 0;
foreach (var menu in q)
{
menuId[i] = menu.MenuId;
i++;
}
return menuId;
}
else
{
return null;
}
}
}
}
@@ -0,0 +1,224 @@
namespace BLL
{
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Data.Linq;
using System.Web.Security;
using System.Web.UI.WebControls;
using Model;
using BLL;
public static class Sys_RoleService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 记录数
/// </summary>
private static int count
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Sys_Role> qq = from x in db.Sys_Role orderby x.SortIndex select x;
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="startRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static IEnumerable getListData(int startRowIndex, int maximumRows)
{
IQueryable<Model.Sys_Role> q = qq;
count = q.Count();
if (count == 0)
{
return new object[] { "" };
}
return from x in q.Skip(startRowIndex).Take(maximumRows)
select new
{
x.RoleId,
x.RoleName,
x.Def,
IsAPPLeaderRole = x.IsAPPLeaderRole == true ? "是" : "否",
};
}
/// <summary>
/// 获取列表数
/// </summary>
/// <returns></returns>
public static int getListCount()
{
return count;
}
/// <summary>
/// 获取角色信息
/// </summary>
/// <param name="roleId">角色Id</param>
/// <returns></returns>
public static Model.Sys_Role GetRole(string roleId)
{
return Funs.DB.Sys_Role.FirstOrDefault(x => x.RoleId == roleId);
}
/// <summary>
/// 增加角色
/// </summary>
/// <param name="roleName"></param>
/// <param name="def"></param>
public static void AddRole(string roleName, string def, string roleType, bool? isAuditFlow, bool? isAPPLeaderRole)
{
Model.SGGLDB db = Funs.DB;
string newKeyID = SQLHelper.GetNewID(typeof(Model.Sys_Role));
Model.Sys_Role role = new Model.Sys_Role();
role.RoleId = newKeyID;
role.RoleName = roleName;
role.RoleType = roleType;
role.Def = def;
role.IsAuditFlow = isAuditFlow;
role.IsAPPLeaderRole = isAPPLeaderRole;
role.IsHeadRole = false;
db.Sys_Role.InsertOnSubmit(role);
db.SubmitChanges();
}
/// <summary>
/// 修改角色信息
/// </summary>
/// <param name="roleId"></param>
/// <param name="roleName"></param>
/// <param name="def"></param>
public static void UpdateRole(string roleId, string roleName, string def, bool? isAuditFlow, bool? isAPPLeaderRole)
{
Model.SGGLDB db = Funs.DB;
Model.Sys_Role role = db.Sys_Role.First(e => e.RoleId == roleId);
role.RoleName = roleName;
role.Def = def;
role.IsAuditFlow = isAuditFlow;
role.IsAPPLeaderRole = isAPPLeaderRole;
role.IsHeadRole = false;
db.SubmitChanges();
}
/// <summary>
/// 删除角色
/// </summary>
/// <param name="roleId"></param>
public static void DeleteRole(string roleId)
{
Model.SGGLDB db = Funs.DB;
Model.Sys_Role role = db.Sys_Role.First(e => e.RoleId == roleId);
db.Sys_Role.DeleteOnSubmit(role);
db.SubmitChanges();
}
/// <summary>
/// 获取角色名称是否存在
/// </summary>
/// <param name="roleId">角色id</param>
/// <param name="roleName">角色名称</param>
/// <returns>是否存在</returns>
public static bool IsExistRoleName(string roleId, string roleName)
{
bool isExist = false;
var role = Funs.DB.Sys_Role.FirstOrDefault(x => x.RoleName == roleName && x.RoleId != roleId);
if (role != null)
{
isExist = true;
}
return isExist;
}
/// <summary>
/// 根据角色判断用户是否存在
/// </summary>
/// <param name="roleId">角色</param>
/// <returns>true:存在;false:不存在</returns>
public static bool IsExistUserByRole(string roleId, string userId)
{
bool isExist = false;
if (userId == BLL.Const.Gly)
{
isExist = true;
}
else
{
var m = from x in Funs.DB.Sys_User where x.RoleId == roleId select x;
if (m.Count() > 0)
{
if ((m.Where(z => z.UserId == userId) != null))
{
if (m.Where(z => z.UserId == userId).Count() > 0)
{
return true;
}
}
}
}
return isExist;
}
/// <summary>
/// 获取角色下拉选项
/// </summary>
/// <returns></returns>
public static List<Model.Sys_Role> GetRoleList()
{
var list = (from x in Funs.DB.Sys_Role orderby x.RoleName select x).ToList();
return list;
}
/// <summary>
/// 获取角色列表
/// </summary>
/// <returns></returns>
public static ListItem[] GetAllRoleList()
{
var q = (from x in Funs.DB.Sys_Role orderby x.RoleName select x).ToList();
ListItem[] lis = new ListItem[q.Count()];
for (int i = 0; i < q.Count(); i++)
{
lis[i] = new ListItem(q[i].RoleName ?? "", q[i].RoleId.ToString());
}
return lis;
}
/// <summary>
/// 获取角色列表
/// </summary>
/// <returns></returns>
//public static ListItem[] GetRoleList(bool isAuditFlow)
//{
// var q = (from x in Funs.DB.Sys_Role where x.IsAuditFlow==isAuditFlow && x.IsHeadRole==false orderby x.SortIndex select x).ToList();
// ListItem[] lis = new ListItem[q.Count()];
// for (int i = 0; i < q.Count(); i++)
// {
// lis[i] = new ListItem(q[i].RoleName ?? "", q[i].RoleId.ToString());
// }
// return lis;
//}
}
}
@@ -0,0 +1,607 @@
namespace BLL
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Security;
using System.Web.UI.WebControls;
using Model;
public static class Sys_UserService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 记录数
/// </summary>
private static int count
{
get;
set;
}
/// <summary>
/// 定义变量
/// </summary>
private static IQueryable<Model.Sys_User> qq = from x in db.Sys_User orderby x.UserCode select x;
/// <summary>
/// 用户登陆方法
/// </summary>
/// <param name="loginname">登陆名</param>
/// <param name="password">未加密密码</param>
/// <param name="rememberMe">记住我开关</param>
/// <param name="page">调用页面</param>
/// <returns>是否登陆成功</returns>
public static bool UserLogOn(string account, string password, bool rememberMe, System.Web.UI.Page page)
{
bool IsSuccess = false;
var q = from y in Funs.DB.Sys_User where y.Account == account select y;
List<Model.Sys_User> x = null;
if (q.Count() > 0)
{
x = (from y in Funs.DB.Sys_User
where y.Account == account && y.IsPost == true
&& y.Password == EncryptionPassword(password)
select y).ToList();
if (x.Any())
{
FormsAuthentication.SetAuthCookie(account, false);
Model.Sys_User s = x.First();
page.Session[SessionName.CurrUser] = s;
if (rememberMe)
{
System.Web.HttpCookie u = new System.Web.HttpCookie("UserInfo");
u["username"] = account;
//u["password"] = null;
// Cookies过期时间设置为一年.
u.Expires = DateTime.Now.AddYears(1);
page.Response.Cookies.Add(u);
}
else
{
// 当选择不提交用户名时,Cookies过期时间设置为昨天.
page.Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1);
}
IsSuccess = true;
//page.Application.Lock();
//page.Application["IsValiad"] = true;
//page.Application.UnLock();
}
}
return IsSuccess;
}
/// <summary>
/// 登陆获取用户信息
/// </summary>
/// <param name="account"></param>
/// <param name="password"></param>
/// <param name="rememberMe"></param>
/// <param name="page"></param>
/// <returns></returns>
public static bool ADUserLogOn(string account, bool rememberMe, System.Web.UI.Page page)
{
bool IsSuccess = false;
var user = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account && x.IsPost == true);
if (user != null)
{
FormsAuthentication.SetAuthCookie(account, false);
page.Session[SessionName.CurrUser] = user;
if (rememberMe)
{
System.Web.HttpCookie u = new System.Web.HttpCookie("UserInfo");
u["username"] = account;
// u["password"] = null;
// Cookies过期时间设置为一年.
u.Expires = DateTime.Now.AddYears(1);
page.Response.Cookies.Add(u);
}
else
{
// 当选择不提交用户名时,Cookies过期时间设置为昨天.
page.Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1);
}
IsSuccess = true;
}
return IsSuccess;
}
/// <summary>
/// 加密密码
/// </summary>
/// <param name="password">加密前的密码</param>
/// <returns>加密后的密码</returns>
public static string EncryptionPassword(string password)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");
}
/// <summary>
/// 获取用户初始密码
/// </summary>
/// <param name="unitId">单位id</param>
/// <param name="phone">手机号码</param>
/// <returns></returns>
public static string GetEncryptionPassword(string unitId,string phone)
{
string passNo =string.Empty;
var unit = BLL.Base_UnitService.GetUnit(unitId);
if (unit != null && !string.IsNullOrEmpty(unit.UnitCode))
{
passNo = unit.UnitCode;
}
passNo += '.';
if (!string.IsNullOrEmpty(phone) && phone.Length > 4)
{
passNo += phone.Substring(phone.Length - 4);
}
else
{
passNo += "1234";
}
return EncryptionPassword(passNo);
}
/// <summary>
/// 获取用户信息
/// </summary>
/// <param name="userId">用户Id</param>
/// <returns>用户信息</returns>
public static Model.Sys_User GetUsersByUserId(string userId)
{
Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId);
return m;
}
/// <summary>
/// 获取用户账号是否存在
/// </summary>
/// <param name="userId">用户id</param>
/// <param name="account">账号</param>
/// <param name="projectId">项目ID</param>
/// <returns>是否存在</returns>
public static bool IsExistUserAccount(string userId, string account)
{
bool isExist = false;
if (!string.IsNullOrEmpty(userId))
{
var user = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account && x.UserId != userId);
if (user != null)
{
isExist = true;
}
}
else
{
var user = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account);
if (user != null)
{
isExist = true;
}
}
return isExist;
}
/// <summary>
/// 获取同单位用户名称是否存在
/// </summary>
/// <param name="userId">用户id</param>
/// <param name="userName">账号</param>
/// <param name="unitId">项目ID</param>
/// <returns>是否存在</returns>
public static bool IsExistUserName(string userId, string userName,string unitId)
{
bool isExist = false;
var name = Funs.DB.Sys_User.FirstOrDefault(x => x.UserName == userName && x.UnitId == unitId && x.UserId != userId);
if (name != null)
{
isExist = true;
}
return isExist;
}
/// <summary>
/// 根据部门获取用户信息
/// </summary>
/// <param name="departId"></param>
/// <returns></returns>
public static List<Model.Sys_User> GetUsersByDep(string departId)
{
return (from x in Funs.DB.Sys_User where x.DepartId == departId select x).ToList();
}
/// <summary>
/// 根据部门Id筛选用户信息,用户名模糊查询所有用户信息
/// </summary>
/// <param name="userName">用户名</param>
/// <returns></returns>
public static List<Model.Sys_User> GetUsersByRoleId(string userName, string roleId, string projectId)
{
return (from x in Funs.DB.Sys_User where x.UserName.Contains(userName) && x.RoleId == roleId select x).ToList();
}
/// <summary>
/// 根据用户名模糊查询所有用户信息
/// </summary>
/// <param name="userName">用户名</param>
/// <returns></returns>
public static List<Model.Sys_User> GetUsersByUserNameAndProjectId(string userName, string projectId)
{
return (from x in Funs.DB.Sys_User where x.UserName.Contains(userName) && x.IsHeadMan == false select x).ToList();
}
/// <summary>
/// 根据角色,用户名模糊查询所有用户信息
/// </summary>
/// <param name="userName">用户名</param>
/// <returns></returns>
public static List<Model.Sys_User> GetUsersByUserName(string userName, string roleId)
{
return (from x in Funs.DB.Sys_User where x.UserName.Contains(userName) && x.RoleId == roleId select x).ToList();
}
/// <summary>
/// 根据用户Id查询所有用户的数量
/// </summary>
/// <param name="userId">用户Id</param>
/// <returns>用户的数量</returns>
public static int GetUserCount(string userId)
{
var q = (from x in Funs.DB.Sys_User where x.UserId == userId select x).ToList();
return q.Count();
}
/// <summary>
/// 根据用户获取密码
/// </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>
/// 根据用户ID获取名称
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public static string GetUserNameByUserId(string userId)
{
string userName = string.Empty;
Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId);
if (m != null)
{
userName = m.UserName;
}
return userName;
}
/// <summary>
/// 修改密码
/// </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 = password;
db.SubmitChanges();
}
}
/// <summary>
/// 增加人员信息
/// </summary>
/// <param name="user">人员实体</param>
public static void AddUser(Model.Sys_User user)
{
Model.SGGLDB db = Funs.DB;
Model.Sys_User newUser = new Model.Sys_User();
newUser.UserId = user.UserId;
newUser.Account = user.Account;
newUser.UserCode = user.UserCode;
newUser.Password = user.Password;
newUser.UserName = user.UserName;
newUser.UnitId = user.UnitId;
newUser.RoleId = user.RoleId;
newUser.IsPost = user.IsPost;
newUser.DepartId = user.DepartId;
newUser.Email = user.Email;
newUser.EmailPassword = user.EmailPassword;
newUser.AllowLoginSystem = user.AllowLoginSystem;
newUser.Phone = user.Phone;
newUser.SignatureUrl = user.SignatureUrl;
db.Sys_User.InsertOnSubmit(newUser);
db.SubmitChanges();
}
/// <summary>
/// 修改人员信息
/// </summary>
/// <param name="user">人员实体</param>
public static void UpdateUser(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.UserCode = user.UserCode;
//newUser.Password = user.Password;
newUser.UserName = user.UserName;
newUser.UnitId = user.UnitId;
newUser.RoleId = user.RoleId;
newUser.IsPost = user.IsPost;
newUser.DepartId = user.DepartId;
newUser.Email = user.Email;
if (!String.IsNullOrEmpty(user.EmailPassword))
{
newUser.EmailPassword = user.EmailPassword;
}
newUser.AllowLoginSystem = user.AllowLoginSystem;
newUser.Phone = user.Phone;
newUser.SignatureUrl = user.SignatureUrl;
db.SubmitChanges();
}
}
/// <summary>
/// 根据人员Id删除一个人员信息
/// </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 userButtonPower = from x in db.Project_UserButtonPower where x.UserId == userId select x;
if (userButtonPower.Count() > 0)
{
db.Project_UserButtonPower.DeleteAllOnSubmit(userButtonPower);
db.SubmitChanges();
}
var project_UserPower = from x in db.Project_UserPower where x.UserId == userId select x;
if (project_UserPower.Count() > 0)
{
db.Project_UserPower.DeleteAllOnSubmit(project_UserPower);
db.SubmitChanges();
}
db.Sys_User.DeleteOnSubmit(user);
db.SubmitChanges();
}
}
/// <summary>
/// 根据角色获得用户数
/// </summary>
/// <param name="role">角色</param>
/// <returns></returns>
public static int GetUserCountByRole(string role)
{
var q = (from x in Funs.DB.Sys_User where x.RoleId == role select x).ToList();
return q.Count();
}
/// <summary>
/// 根据部门主键获得用户数
/// </summary>
/// <param name="departId">部门主键</param>
/// <returns>用户数</returns>
public static int GetUserCountByDepartId(string departId)
{
var q = (from x in Funs.DB.Sys_User where x.DepartId == departId select x).ToList();
return q.Count();
}
/// <summary>
/// 根据单位主键获得用户
/// </summary>
/// <param name="unitId">单位主键</param>
/// <returns></returns>
public static List<Model.Sys_User> GetUsersByUnitId(string unitId)
{
var q = (from x in Funs.DB.Sys_User where x.UnitId == unitId select x).ToList();
return q;
}
/// <summary>
/// 根据单位主键获得在岗用户
/// </summary>
/// <param name="unitId">单位主键</param>
/// <returns></returns>
public static List<Model.Sys_User> GetIsPostUsersByUnitId(string unitId, string projectId)
{
var q = (from x in Funs.DB.Sys_User
join y in Funs.DB.Project_User on x.UserId equals y.UserId
where y.ProjectId == projectId && x.UnitId == unitId && x.IsPost == true
orderby x.UserName
select x).ToList();
return q;
}
/// <summary>
/// 根据帐号获取用户信息
/// </summary>
/// <param name="account">帐号</param>
/// <returns>用户信息</returns>
public static Model.Sys_User GetUserByAccount(string account)
{
Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.IsHeadMan == true && e.Account == account);
return m;
}
/// <summary>
/// 根据用户主键判断是否分包商业务管理员角色
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public static bool GetIsGLByUserId(string userId)
{
bool isGL = false;
Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId);
if (m != null)
{
if (m.RoleId == BLL.Const.GL)
{
isGL = true;
}
}
return isGL;
}
/// <summary>
/// 根据部门获得所有对应在岗的用户且参与流程
/// </summary>
/// <returns></returns>
public static ListItem[] GetUserListByDepartId(string departId)
{
var q = (from x in Funs.DB.Sys_User
join y in Funs.DB.Sys_Role on x.RoleId equals y.RoleId
where x.IsPost == true && y.IsAuditFlow == true && x.DepartId == departId
orderby x.UserName
select x).ToList();
ListItem[] lis = new ListItem[q.Count()];
for (int i = 0; i < q.Count(); i++)
{
lis[i] = new ListItem(q[i].UserName ?? "", q[i].UserId.ToString());
}
return lis;
}
/// <summary>
/// 查询所有在岗的用户
/// </summary>
/// <returns></returns>
public static ListItem[] GetGlUserList()
{
var q = (from x in Funs.DB.Sys_User where x.IsPost == true && x.RoleId == BLL.Const.GL orderby x.UserName select x).ToList();
ListItem[] lis = new ListItem[q.Count()];
for (int i = 0; i < q.Count(); i++)
{
lis[i] = new ListItem(q[i].UserName ?? "", q[i].UserId.ToString());
}
return lis;
}
/// <summary>
/// 查询所有在岗的用户
/// </summary>
/// <returns></returns>
public static List<Model.Sys_User> GetUserList()
{
return (from x in Funs.DB.Sys_User where x.IsPost == true orderby x.UserName select x).ToList();
}
/// <summary>
/// 查询所有在岗的用户
/// </summary>
/// <returns></returns>
public static List<Model.Sys_User> GetUserListByProjectId(string projectId)
{
var pUserId = from x in Funs.DB.Project_User where x.ProjectId == projectId select x.UserId;
var q = (from x in Funs.DB.Sys_User
where x.IsPost == true && (x.UserId == BLL.Const.GlyId || pUserId.Contains(x.UserId))
orderby x.UserName
select x).ToList();
return q;
}
/// <summary>
/// 获取具有流程审批的用户
/// </summary>
/// <returns></returns>
public static List<Model.Sys_User> GetUserListHasApprove(string projectId)
{
var q = (from x in Funs.DB.Sys_User
join y in Funs.DB.Project_User on x.UserId equals y.UserId
join z in Funs.DB.Sys_Role on x.RoleId equals z.RoleId
join r in Funs.DB.Sys_Role on y.RoleId equals r.RoleId
where y.ProjectId == projectId
&& x.IsPost == true && (z.IsAuditFlow == true || r.IsAuditFlow == true)
orderby x.UserName
select x).ToList();
return q;
}
/// <summary>
/// 根据角色获得所有对应在岗的用户
/// </summary>
/// <returns></returns>
public static List<Sys_User> GetUserListByRoleId(string projectId, string roleId)
{
var q = (from x in Funs.DB.Sys_User
join y in Funs.DB.Project_User on x.UserId equals y.UserId
where y.ProjectId == projectId
&& (x.RoleId == roleId || y.RoleId == roleId)
orderby x.UserName
select x).ToList();
return q;
}
/// <summary>
/// 根据角色获得最大编号的在岗用户
/// </summary>
/// <returns></returns>
public static Model.Sys_User GetMaxUserByRoleId(string roleId)
{
return (from x in Funs.DB.Sys_User where x.IsPost == true && x.RoleId == roleId && (x.UserCode != "" && x.UserCode != null) orderby x.UserCode descending select x).FirstOrDefault();
}
/// <summary>
/// 获取检测单位的用户
/// </summary>
/// <returns></returns>
public static ListItem[] GetUserListByUnitType(string projectId, string unitType)
{
var q = (from x in Funs.DB.Sys_User
join y in Funs.DB.Project_User on x.UserId equals y.UserId
join z in Funs.DB.Project_Unit on x.UnitId equals z.UnitId
where (x.IsPost == true && y.ProjectId == projectId && z.UnitType == unitType)
orderby x.UserName
select x).ToList();
ListItem[] lis = new ListItem[q.Count()];
for (int i = 0; i < q.Count(); i++)
{
lis[i] = new ListItem(q[i].UserName ?? "", q[i].UserId.ToString());
}
return lis;
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static List<Model.Sys_User> GetRecipientList(string projectId)
{
return (from x in Funs.DB.Sys_User
join y in Funs.DB.Project_User on x.UserId equals y.UserId
where x.Account != BLL.Const.Gly && x.Account != BLL.Const.GlyId && y.ProjectId==projectId orderby x.UserName select x).ToList();
}
public static Model.Sys_User GetUsersByUserName(string userName)
{
return Funs.DB.Sys_User.FirstOrDefault(e => e.UserName == userName);
}
}
}
@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
/// <summary>
/// 选择显示列的表
/// </summary>
public static class Sys_UserShowColumnsService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 根据用户ID获取信息
/// </summary>
/// <param name="userId"></param>
/// <param name="type"></param>
/// <returns></returns>
public static Model.Sys_UserShowColumns GetColumnsByUserId(string userId, string type)
{
return Funs.DB.Sys_UserShowColumns.FirstOrDefault(x => x.UserId == userId && x.ShowType == type);
}
/// <summary>
/// 添加用户对应显示列信息
/// </summary>
/// <param name="userId"></param>
/// <param name="opUserShowColumns"></param>
public static void AddUserShowColumns(Model.Sys_UserShowColumns showColumns)
{
Model.Sys_UserShowColumns newShowColumns = new Model.Sys_UserShowColumns();
newShowColumns.ShowColumnId = SQLHelper.GetNewID(typeof(Model.Sys_UserShowColumns));
newShowColumns.UserId = showColumns.UserId;
newShowColumns.Columns = showColumns.Columns;
newShowColumns.ShowType = showColumns.ShowType;
db.Sys_UserShowColumns.InsertOnSubmit(newShowColumns);
db.SubmitChanges();
}
/// <summary>
/// 修改用户对应显示列信息
/// </summary>
/// <param name="roleId"></param>
/// <param name="roleName"></param>
/// <param name="def"></param>
public static void UpdateUserShowColumns(Model.Sys_UserShowColumns showColumns)
{
Model.Sys_UserShowColumns newShowColumns = db.Sys_UserShowColumns.FirstOrDefault(e => e.ShowColumnId == showColumns.ShowColumnId);
if (newShowColumns != null)
{
newShowColumns.Columns = showColumns.Columns;
newShowColumns.ShowType = showColumns.ShowType;
db.SubmitChanges();
}
}
/// <summary>
/// 删除用户对应显示列信息
/// </summary>
/// <param name="roleId"></param>
public static void DeleteUserShowColumns(string showColumnId)
{
Model.Sys_UserShowColumns newShowColumns = db.Sys_UserShowColumns.First(e => e.ShowColumnId == showColumnId);
db.Sys_UserShowColumns.DeleteOnSubmit(newShowColumns);
db.SubmitChanges();
}
}
}