123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 |
- 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
- {
-
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<ACL_USERITEM> GetList(string keyword)
- {
- try
- {
- return SysDbCore.GetDbCtx().Queryable<ACL_USERITEM>().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;
- }
- }
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<ACL_USERITEM> GetListForDeptNo(string DeptNo)
- {
- try
- {
- return SysDbCore.GetDbCtx().Queryable<ACL_USERITEM>().Where(it => it.F_ISDELETE == 0 && it.F_ISSTOP == 0).WhereIF(DeptNo.IsEmpty(), it => it.F_DEPTNO == DeptNo).ToList();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 获取分页数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<ACL_USERITEM> GetPageList(string keyword, Pagination pagination)
- {
- try
- {
- int count = 0;
- var db = SysDbCore.GetDbCtx().Queryable<ACL_USERITEM>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
- List<ACL_USERITEM> list = new List<ACL_USERITEM>();
- 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;
- }
- }
- /// <summary>
- /// 获取实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public ACL_USERITEM GetEntity(string keyValue)
- {
- try
- {
- return SysDbCore.GetDbCtx().Queryable<ACL_USERITEM>().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void DeleteEntity(string keyValue)
- {
- try
- {
- if (LoginBLLCore.CheckAdmin(keyValue))
- {
- throw SysExCore.ThrowFailException("系统内置账号,无法进行删除。");
- }
- void action(SqlSugarClient ctx)
- {
- ctx.Deleteable<ACL_USERRELATION>().Where(it => it.F_USERNO==keyValue).ExecuteCommand();
- ctx.Deleteable<ACL_AUTHORIZE>().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserItem && it.F_OBJNO == keyValue).ExecuteCommand();
- ctx.Deleteable<ACL_USERITEM>().Where(it => it.F_NO == keyValue).ExecuteCommand();
- }
- SysDbCore.DbTranExec(action);
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- 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<ACL_AUTHORIZE>().Where(v => v.F_OBJNO == entity.F_NO && v.F_ACLTYPENUM==4 && v.F_OBJTYPENUM==0).First();
- if(horize!=null)
- {
- SysDbCore.GetDbCtx().Deleteable<ACL_AUTHORIZE>().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<ACL_AUTHORIZE>(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<ACL_USERITEM>(u).ExecuteCommand();
- }
- else
- {
- SysDbCore.GetDbCtx().Updateable<ACL_USERITEM>(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;
- }
- }
- /// <summary>
- /// 获取用户Map
- /// </summary>
- public Dictionary<string, ACL_USERITEM> GetMap()
- {
- try
- {
- Dictionary<string, ACL_USERITEM> dics = new Dictionary<string, ACL_USERITEM>();
- SysDbCore.GetDbCtx().Queryable<ACL_USERITEM>().ToList().ForEach(it =>
- {
- it.F_DATA = "";
- it.F_PASSWORD = "";
- dics.Add(it.F_NO, it);
- });
- return dics;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 重置密码
- /// </summary>
- 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<ACL_USERITEM>().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<TreeModel> GetCheckTree()
- {
- List<ACL_USERITEM> list = SysDbCore.GetDbCtx().Queryable<ACL_USERITEM>().Where(it => it.F_ISDELETE == 0 && it.F_ISSTOP == 0).ToList();
- List<TreeModel> treeList = new List<TreeModel>();
- //{
- // 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();
- }
- /// <summary>
- /// 获取按钮列表树形数据(基于供应商模块)
- /// </summary>
- /// <returns></returns>
- public List<TreeModel> GetSupperTree()
- {
- List<BASE_SUPPLIER> list = SysDbCore.GetDbCtx().Queryable<BASE_SUPPLIER>().Where(it => it.F_ISDELETE == 0 && it.F_ISSTOP == 0).ToList();
- List<TreeModel> treeList = new List<TreeModel>();
- {
- 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();
- }
- }
- }
|