using System; using System.Data; using System.Collections.Generic; using WMS.Info; using WMS.Util; using SqlSugar; namespace WMS.Core { /// /// 描 述:角色管理 /// public class ACLUserRole { /// /// 获取列表数据 /// /// 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 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_USERROLE 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 { void action(SqlSugarClient ctx) { ctx.Deleteable().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserRole && it.F_ITEMNO == keyValue).ExecuteCommand(); ctx.Deleteable().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserRole && 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(string supperno,LoginUserInfo loginUserInfo, string keyValue, ACL_USERROLE 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 == 1).First(); if (horize != null) { SysDbCore.GetDbCtx().Deleteable().Where(v => v.F_OBJNO == entity.F_NO && v.F_ACLTYPENUM == 4 && v.F_OBJTYPENUM == 1).ExecuteCommand(); } ACL_AUTHORIZE rize = new ACL_AUTHORIZE() { F_NO = Guid.NewGuid().ToString(), F_ITEMNO = supperno, F_OBJTYPENUM = 1, F_ACLTYPENUM = 4, F_OBJNO = entity.F_NO, }; SysDbCore.GetDbCtx().Insertable(rize).ExecuteCommand(); entity.F_EDITTIME = DateTime.Now; entity.F_EDITUSERNO = loginUserInfo.UserNo; if (string.IsNullOrEmpty(keyValue)) { entity.F_ADDTIME = DateTime.Now; entity.F_ADDUSERNO = loginUserInfo.UserNo; entity.F_ISDELETE = 0; entity.F_ISSTOP = 0; SysDbCore.GetDbCtx().Insertable(entity).ExecuteCommand(); } else { SysDbCore.GetDbCtx().Updateable(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand(); } } catch (Exception ex) { throw ex; } } public Dictionary GetMap() { try { Dictionary dics = new Dictionary(); SysDbCore.GetDbCtx().Queryable().ToList().ForEach(it => dics.Add(it.F_NO, it)); return dics; } 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 = ""; node.text = "全部"; node.value = "Warehouse"; 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 = "Warehouse"; treeList.Add(node); } return treeList.ToTree(); } } }