using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.Util; using WMS.Info; using SqlSugar; namespace WMS.Core { public class ACLUserItem { /// /// 获取列表数据 /// /// public IEnumerable GetList(string keyword) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)).ToList(); } catch (Exception ex) { throw ex; } } /// /// 获取列表数据 /// /// public IEnumerable GetListForDeptNo(string DeptNo) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_ISSTOP == 0).WhereIF(DeptNo.IsEmpty(), it => it.F_DEPTNO == DeptNo).ToList(); } catch (Exception ex) { throw ex; } } /// /// 获取分页数据 /// /// public IEnumerable GetPageList(string keyword, Pagination pagination) { try { int count = 0; var db = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)); List list = new List(); if (pagination.sord.ToUpper() == "ASC") { list = db.OrderBy(pagination.sidx).ToPageList(pagination.page, pagination.rows, ref count); } else { string orderstr = pagination.sidx + " desc"; list = db.OrderBy(orderstr).ToPageList(pagination.page, pagination.rows, ref count); } pagination.records = count; return list; } catch (Exception ex) { throw ex; } } /// /// 获取实体数据 /// 主键 /// /// public ACL_USERITEM GetEntity(string keyValue) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First(); } catch (Exception ex) { throw ex; } } /// /// 删除实体数据 /// 主键 /// /// public void DeleteEntity(string keyValue) { try { if (LoginBLLCore.CheckAdmin(keyValue)) { throw SysExCore.ThrowFailException("系统内置账号,无法进行删除。"); } void action(SqlSugarClient ctx) { ctx.Deleteable().Where(it => it.F_USERNO==keyValue).ExecuteCommand(); ctx.Deleteable().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserItem && it.F_OBJNO == keyValue).ExecuteCommand(); ctx.Deleteable().Where(it => it.F_NO == keyValue).ExecuteCommand(); } SysDbCore.DbTranExec(action); } catch (Exception ex) { throw ex; } } /// /// 保存实体数据(新增、修改) /// 主键 /// /// public void SaveEntity(LoginUserInfo loginUser, string keyValue, ACL_USERITEM entity) { try { if (entity == null) { throw SysExCore.ThrowFailException("用户保存数据为空。"); } if (string.IsNullOrWhiteSpace(entity.F_NO)) { throw SysExCore.ThrowFailException("用户编号为空。"); } if (string.IsNullOrWhiteSpace(entity.F_NAME)) { throw SysExCore.ThrowFailException("用户名称为空。"); } // 判断用户《供应商权限是否存在,如果存在则删除 var horize = SysDbCore.GetDbCtx().Queryable().Where(v => v.F_OBJNO == entity.F_NO && v.F_ACLTYPENUM==4 && v.F_OBJTYPENUM==0).First(); if(horize!=null) { SysDbCore.GetDbCtx().Deleteable().Where(v => v.F_OBJNO == entity.F_NO && v.F_ACLTYPENUM == 4 && v.F_OBJTYPENUM == 0).ExecuteCommand(); } //ACL_AUTHORIZE rize = new ACL_AUTHORIZE() { // F_NO = Guid.NewGuid().ToString(), // F_ITEMNO = entity.F_HEADICON, // F_OBJTYPENUM=0, // F_ACLTYPENUM=4, // F_OBJNO= entity.F_NO, //}; //SysDbCore.GetDbCtx().Insertable(rize).ExecuteCommand(); DateTime nowdt =DateTime.Now; if (string.IsNullOrEmpty(keyValue)) { EUserType ut = LoginBLLCore.GetUserType(keyValue); if (ut != EUserType.User) { throw SysExCore.ThrowFailException("用户名非法。"); } ACL_USERITEM u = new ACL_USERITEM() { F_ADDTIME = nowdt, F_ADDUSERNO = loginUser.UserNo, //F_DATA = (new byte[0]).ToString(), F_EDITPWDTIME = nowdt, F_EDITTIME = nowdt, F_EDITUSERNO = loginUser.UserNo, F_HEADICON = entity.F_HEADICON, F_ISDELETE = 0, F_ISSTOP = 0, F_PWDERRQTY = 0, F_MEMO = entity.F_MEMO, F_NAME = entity.F_NAME, F_NO = entity.F_NO, F_PASSWORD = SysSecurityCore.Aes256Encrypt(SysSetCore.GetSysSet().PwdInit), F_SEX = entity.F_SEX, F_DEPTNO = entity.F_DEPTNO, F_AUTOSTOPTIME = entity.F_AUTOSTOPTIME, }; SysDbCore.GetDbCtx().Insertable(u).ExecuteCommand(); } else { SysDbCore.GetDbCtx().Updateable(entity).SetColumns(it => new ACL_USERITEM { F_EDITUSERNO = loginUser.UserNo, F_HEADICON = entity.F_HEADICON, F_EDITTIME = nowdt, F_DEPTNO = entity.F_DEPTNO, F_MEMO = entity.F_MEMO, F_AUTOSTOPTIME = entity.F_AUTOSTOPTIME, F_ISSTOP = entity.F_ISSTOP, F_NAME = entity.F_NAME, F_SEX = entity.F_SEX }).Where(it => it.F_NO == entity.F_NO).ExecuteCommand(); } } catch (Exception ex) { throw ex; } } /// /// 获取用户Map /// public Dictionary GetMap() { try { Dictionary dics = new Dictionary(); SysDbCore.GetDbCtx().Queryable().ToList().ForEach(it => { it.F_DATA = ""; it.F_PASSWORD = ""; dics.Add(it.F_NO, it); }); return dics; } catch (Exception ex) { throw ex; } } /// /// 重置密码 /// public void ResetPassword(LoginUserInfo LoginUser, string EditUserNo) { try { EUserType editEuser = LoginBLLCore.GetUserType(EditUserNo); if (LoginUser.UserType == EUserType.System) { if (editEuser == EUserType.Super) { throw SysExCore.ThrowFailException("无法重置超级管理员账号密码!!!"); } } else if (LoginUser.UserType == EUserType.SuperAdmin) { if (editEuser == EUserType.Super || editEuser == EUserType.System) { throw SysExCore.ThrowFailException("无法重置系统管理员账号密码!!!"); } } else { if (editEuser == EUserType.Super || editEuser == EUserType.System || editEuser == EUserType.SuperAdmin) { throw SysExCore.ThrowFailException("无法重置管理员账号密码!!!"); } } int i = SysDbCore.GetDbCtx().Updateable().SetColumns(it => new ACL_USERITEM() { F_PASSWORD = SysSecurityCore.Aes256Encrypt(SysSetCore.GetSysSet().PwdInit), F_EDITTIME = DateTime.Now, F_EDITUSERNO = LoginUser.UserNo, F_EDITPWDTIME = DateTime.Now, F_PWDERRQTY = 0 }).Where(it => it.F_NO.ToUpper() == EditUserNo.ToUpper()).ExecuteCommand(); if (i <= 0) { throw SysExCore.ThrowFailException("修改密码失败!!!"); } } catch (Exception ex) { throw ex; } } public List GetCheckTree() { List list = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_ISSTOP == 0).ToList(); List treeList = new List(); //{ // TreeModel node = new TreeModel(); // node.id = ACLAuthorize.ALLAuthorize; // node.text = "授权所有"; // node.value = ACLAuthorize.ALLAuthorize; // node.showcheck = true; // node.checkstate = 0; // node.isexpand = true; // node.icon = ACLAuthorize.IcoAuthorize; // node.parentId = ""; // treeList.Add(node); //} foreach (var item in list) { TreeModel node = new TreeModel(); node.id = item.F_NO; node.text = item.F_NAME; node.value = item.F_NO; node.showcheck = true; node.checkstate = 0; node.isexpand = true; node.icon = ACLAuthorize.IcoAuthorize; node.parentId = ""; treeList.Add(node); } return treeList.ToTree(); } /// /// 获取按钮列表树形数据(基于供应商模块) /// /// public List GetSupperTree() { List list = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_ISSTOP == 0).ToList(); List treeList = new List(); { TreeModel node = new TreeModel(); node.id = ACLAuthorize.ALLAuthorize; node.text = "授权所有"; node.value = ACLAuthorize.ALLAuthorize; node.showcheck = true; node.checkstate = 0; node.isexpand = true; node.icon = ACLAuthorize.IcoAuthorize; node.parentId = ""; treeList.Add(node); } foreach (var item in list) { TreeModel node = new TreeModel(); node.id = item.F_NO; node.text = item.F_NAME; node.value = item.F_NO; node.showcheck = true; node.checkstate = 0; node.isexpand = true; node.icon = ACLAuthorize.IcoAuthorize; node.parentId = ""; treeList.Add(node); } return treeList.ToTree(); } } }