using System; using System.Collections.Generic; using WMS.Info; using WMS.Util; using System.Linq; namespace WMS.Core { public class BaseData { const ERedisCacheNo RedisCacheNo = ERedisCacheNo.System; /// /// 获取列表数据 /// /// public IEnumerable QueryList(string keyword) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0).ToList();//WhereIF(!keyword.IsEmpty(), it => it.F_PNO.Contains(keyword)).ToList(); } catch (Exception ex) { throw ex; } } /// /// 获取列表数据 /// /// public IEnumerable GetList(string keyword) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_PNO == "0").WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)).ToList(); } catch (Exception ex) { throw ex; } } /// /// 获取列表数据 /// /// public IEnumerable GetListByPNO(string PNO) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_PNO == PNO).ToList(); } catch (Exception ex) { throw ex; } } /// /// 获取模块列表 /// public List GetList() { try { //var list = RedisCache.Read>("SysModuleGetList", RedisCacheNo); //if (list == null || list.Count == 0) //{ var list = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_PNO == "0").OrderBy(it => it.F_SORTNUM).ToList(); //RedisCache.Write>("SysModuleGetList", list, RedisCacheNo); //} return list; } catch (Exception ex) { throw ex; } } /// /// 获取功能列表的树形数据(只有展开项) /// /// public List GetExpendTree() { //var ExpendTree = RedisCache.Read>("SysModuleGetExpendTree", RedisCacheNo); //if (ExpendTree == null || ExpendTree.Count == 0) //{ List modulelist = GetList(); List treeList = new List(); foreach (var item in modulelist) { if (item.F_PNO == "0") { TreeModel node = new TreeModel(); node.id = item.F_NO; node.text = item.F_NAME; node.value = item.F_NO; node.showcheck = false; node.checkstate = 0; node.isexpand = true; //node.icon = item.F_ICON; node.parentId = item.F_PNO; treeList.Add(node); } //} //ExpendTree = treeList.ToTree(); //RedisCache.Write>("SysModuleGetExpendTree", ExpendTree, RedisCacheNo); } return treeList; } /// /// 获取分页数据 /// /// public IEnumerable GetPageList(string keyword, string unitGrpId, 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)); db.WhereIF(!unitGrpId.IsEmpty(), v => v.F_PNO == unitGrpId); 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 BASE_DATA 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 { SysDbCore.GetDbCtx().Deleteable().Where(it => it.F_NO == keyValue).ExecuteCommand(); //SysDbCore.GetDbCtx().Updateable().UpdateColumns(it => new BASE_WAREHOUSE { F_ISDELETE = 1 }).Where(it => it.F_NO == keyValue).ExecuteCommand(); } catch (Exception ex) { throw ex; } } /// /// 保存实体数据(新增、修改) /// 主键 /// /// public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, BASE_DATA 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("名称为空。"); } if (string.IsNullOrWhiteSpace(entity.F_PNO) || entity.F_PNO == "-1") { entity.F_PNO = "0"; } entity.F_EDITTIME = DateTime.Now; entity.F_EDITUSERNO = loginUserInfo.UserNo; if (string.IsNullOrEmpty(keyValue)) { var item = SysDbCore.GetDbCtx().Queryable().First(v => v.F_NO == entity.F_NO); if (item != null) { throw SysExCore.ThrowFailException("添加仓库区域时,区域编号不能重复。"); } 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 Dictionary GetMap(string KeyW, string KeyV) { try { Dictionary dics = new Dictionary(); if (!string.IsNullOrEmpty(KeyW)) { SysDbCore.GetDbCtx().Queryable().Where(v => v.F_PNO == "KeyW").ToList().ForEach(it => dics.Add(it.F_NO, it)); } if (!string.IsNullOrEmpty(KeyV)) { dics.Clear(); string[] vs = KeyV.Split(','); SysDbCore.GetDbCtx().Queryable().Where(v => vs.Contains(v.F_NO)).ToList().ForEach(it => dics.Add(it.F_NO, it)); } return dics; } catch (Exception ex) { throw ex; } } /// /// 获取树形数据 /// /// 父级id /// public List GetTree(string parentId) { try { var warehouseList = new BaseData().GetListByPNO(parentId); List treeList = new List(); string guidid = Guid.NewGuid().ToString(); //treeList.Add(new TreeModel() { // id = guidid, // text = "所有字典类型", // value = guidid, // showcheck = false, // checkstate = 0, // isexpand = true, // parentId = "0" //}); string[] strl = new string[] { "cost", "cost_DEP_SC", "sap_WHcell" }; if (strl.Contains(parentId)) { foreach (var item in warehouseList) { TreeModel node = new TreeModel { id = item.F_VALUE, text = item.F_VALUE + "-" + item.F_NAME, value = item.F_VALUE, showcheck = false, checkstate = 0, isexpand = true, parentId = guidid }; treeList.Add(node); } } else { foreach (var item in warehouseList) { TreeModel node = new TreeModel { id = item.F_NO, text = item.F_NAME, value = item.F_NO, showcheck = false, checkstate = 0, isexpand = true, parentId = guidid }; treeList.Add(node); } } return treeList; //return treeList.ToTree(parentId); } catch (Exception ex) { throw ex; } } } }