//using CRM.Core.DTO;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using System.IO;
using System.Linq;
using System.Text;
using WX.CRM.BLL.Base;
using WX.CRM.Common;
using WX.CRM.DAL;
using WX.CRM.IBLL.Util;
using WX.CRM.Model.Entity;
using WX.CRM.Model.Enum;
namespace WX.CRM.BLL.Util
{
///
/// 缓存BL
///
public class CACHE_BL : ICACHE_Q
{
#region excel数据导入字典
///
/// excel数据导入字典
///
///
public List GetList_ExcelImportDict(EnumExcelDataType excelDataType)
{
var list = GetList_ExcelImportDict();
var typeid = excelDataType.ToString();
list = list.Where(m => m.TYPEID.Equals(typeid)).OrderBy(m => m.SORTID).ToList();
//foreach (var item in list)
//{
// item.ColumnIndex = -1;
//}
return list;
}
///
/// excel数据导入字典
///
///
public List GetList_ExcelImportDict(EnumExcelDataType excelDataType, decimal isNew)
{
var list = GetList_ExcelImportDict();
var typeid = excelDataType.ToString();
list = list.Where(m => m.TYPEID.Equals(typeid)).Where(m => m.ISNEW == isNew).OrderBy(m => m.SORTID).ToList();
//foreach (var item in list)
//{
// item.ColumnIndex = -1;
//}
return list;
}
public List GetList_ExcelImportDict()
{
string cacheKey = "cache_excelImportDict_getList";
List list;
if (CacheHelper.Exists(cacheKey))
list = CacheHelper.Get>(cacheKey);
else
using (var db = new crmContext())
{
list = db.BAS_EXCELIMPORTDICT.ToList();
CacheHelper.Set(cacheKey, list);
}
return list;
}
#endregion excel数据导入字典
#region excel数据导入类型
///
/// 获取excel数据导入类型
///
/// 数据导入类型
///
public BAS_EXCELIMPORTTYPE GetModel_ExcelImportType(EnumExcelDataType excelDataType)
{
//string cacheKey = "cache_excelImportType_getList";
//List list;
//if (CacheHelper.Exists(cacheKey))
// list = CacheHelper.Get>(cacheKey);
//else
// using (var db = new qhContext())
// {
// list = db.BAS_EXCELIMPORTTYPE.ToList();
// CacheHelper.Set(cacheKey, list);
// }
//string typeid = excelDataType.ToString();
//return list.FirstOrDefault(m => m.TYPECODE.Equals(typeid));
var list = GetList_ExcelImportType();
var typeid = excelDataType.ToString();
return list.FirstOrDefault(p => p.TYPECODE.Equals(typeid));
}
///
/// 获取excel数据导入类型列表
///
///
public List GetList_ExcelImportType()
{
string cacheKey = "cache_excelImportType_getList";
List list;
if (CacheHelper.Exists(cacheKey))
list = CacheHelper.Get>(cacheKey);
else
using (var db = new crmContext())
{
list = db.BAS_EXCELIMPORTTYPE.ToList();
CacheHelper.Set(cacheKey, list);
}
return list;
}
#endregion excel数据导入类型
#region 工单样式列表
///
/// 工单样式列表
///
///
public List GetList_MemoStyle()
{
string cacheKey = "cache_MemoStyle_getList";
if (CacheHelper.Exists(cacheKey))
return CacheHelper.Get>(cacheKey);
using (crmContext db = new crmContext())
{
List list = db.ORD_MEMOSTYLE.ToList();
CacheHelper.Set(cacheKey, list);
return list;
}
}
#endregion 工单样式列表
#region 获取通用数据小类(通过 Model.Enum.ComType查询)
///
/// 获取通用数据小类
///
/// Model.Enum.ComType
///
public List GetList_SubComType(WX.CRM.Model.Enum.ComType type)
{
//string cacheKey1 = "cache_ComType_getList";
string cacheKey2 = "cache_SubComType_getList";
//List comTypeList;
List subComtypeList;
//if (CacheHelper.Exists(cacheKey1))
// comTypeList = CacheHelper.Get>(cacheKey1);
//else
//{
// using (Model.Entity.crmContext db = new Model.Entity.crmContext())
// {
// comTypeList = db.BAS_COMTYPE.ToList();
// CacheHelper.Set(cacheKey1, comTypeList);
// }
//}
if (CacheHelper.Exists(cacheKey2))
subComtypeList = CacheHelper.Get>(cacheKey2);
else
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
subComtypeList = db.BAS_SUBCOMTYPE.ToList();
CacheHelper.Set(cacheKey2, subComtypeList);
}
}
return subComtypeList.Where(m => m.TYPECODE == type.ToString()).OrderBy(m => m.SUBTYPECODE).ToList();
}
public List GetList_SubComType(string typeCode)
{
//string cacheKey1 = "cache_ComType_getList";
string cacheKey2 = "cache_SubComType_getList";
//List comTypeList
List subComtypeList;
//if (CacheHelper.Exists(cacheKey1))
// comTypeList = CacheHelper.Get>(cacheKey1);
//else
//{
// using (Model.Entity.crmContext db = new Model.Entity.crmContext())
// {
// comTypeList = db.BAS_COMTYPE.ToList();
// CacheHelper.Set(cacheKey1, comTypeList);
// }
//}
if (CacheHelper.Exists(cacheKey2))
subComtypeList = CacheHelper.Get>(cacheKey2);
else
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
subComtypeList = db.BAS_SUBCOMTYPE.ToList();
CacheHelper.Set(cacheKey2, subComtypeList);
}
}
if (!string.IsNullOrWhiteSpace(typeCode))
{
return subComtypeList.Where(m => m.TYPECODE == typeCode).ToList();
}
return subComtypeList;
}
#endregion 获取通用数据小类(通过 Model.Enum.ComType查询)
#region 角色查询
///
/// 获取工单小类信息
///
///
public List GetList_Role()
{
string cacheKey = "cache_Role_getList";
if (CacheHelper.Exists(cacheKey))
return CacheHelper.Get>(cacheKey);
using (crmContext db = new crmContext())
{
List list = db.BAS_ROLE.ToList();
CacheHelper.Set(cacheKey, list);
return list;
}
}
///
/// 获取角色编码
///
/// 角色ID数组
///
public string Get_RoleCodes(decimal[] roleIds)
{
List roleList = GetList_Role().Where(m => roleIds.Contains(m.ROLEID)).ToList();
StringBuilder codes = new StringBuilder();
foreach (BAS_ROLE role in roleList)
{
codes.AppendFormat("[{0}]", role.CODE);
}
return codes.ToString();
}
public List GetUserRole()
{
var key = "cache_User_Role";
if (CacheHelper.Exists(key))
return CacheHelper.Get>(key);
using (var db = new crmContext())
{
var list = db.BAS_INNERUSERROLE.ToList();
CacheHelper.Set(key, list);
return list;
}
}
///
/// 特殊权限表
///
///
public List GetRightLevel()
{
var key = "cache_BAS_RIGHT_LEVEL";
if (CacheHelper.Exists(key))
return CacheHelper.Get>(key);
using (var db = new crmContext())
{
var list = db.BAS_RIGHT_LEVEL.ToList();
CacheHelper.Set(key, list);
return list;
}
}
///
/// 特殊权限详细表
///
///
public List GetRightLevelDetail()
{
var key = "cache_BAS_RIGHT_LEVEL_DETAIL";
if (CacheHelper.Exists(key))
return CacheHelper.Get>(key);
using (var db = new crmContext())
{
var list = db.BAS_RIGHT_LEVEL_DETAIL.ToList();
CacheHelper.Set(key, list);
return list;
}
}
#endregion 角色查询
#region 获取工单小类信息 (只查询可显示)
///
/// 获取工单小类信息 (只查询可显示)
///
///
public List GetList_MemoSubType(int type = 1)
{
string cacheKey = "cache_MemoSubType_getList";
if (CacheHelper.Exists(cacheKey))
return CacheHelper.Get>(cacheKey);
using (crmContext db = new crmContext())
{
List list = null;
if (type == 0)
list = db.ORD_MEMOSUBTYPE.OrderBy(m => m.CTIME).ToList();
else
list = db.ORD_MEMOSUBTYPE.Where(m => m.ISSHOW == 1).OrderBy(m => m.CTIME).ToList();
CacheHelper.Set(cacheKey, list);
return list;
}
}
#endregion 获取工单小类信息 (只查询可显示)
#region 获取工单大类(只查询可显示)
///
/// 获取工单大类(只查询可显示)
///
///
public List GetList_MemoType(int type = 1)
{
string cacheKey = "cache_MemoType_getList";
if (CacheHelper.Exists(cacheKey))
return CacheHelper.Get>(cacheKey);
using (crmContext db = new crmContext())
{
List list = null;
if (type == 0)
list = db.ORD_MEMOTYPE.OrderBy(m => m.CTIME).ToList();
else
list = db.ORD_MEMOTYPE.OrderBy(m => m.CTIME).Where(m => m.ISSHOW == 1).ToList();
CacheHelper.Set(cacheKey, list);
return list;
}
}
#endregion 获取工单大类(只查询可显示)
#region 根据Model.Enum.Parameter 获取参数value
public string GetValue_Parameter(string key)
{
string cacheKey = "cache_Parameter_getList";
List modelist;
if (CacheHelper.Exists(cacheKey))
modelist = CacheHelper.Get>(cacheKey);
else
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
modelist = db.BAS_PARAMETER.ToList();
CacheHelper.Set(cacheKey, modelist);
}
}
WX.CRM.Model.Entity.BAS_PARAMETER model = modelist.FirstOrDefault(m => m.PARAKEY == key);
if (model == null)
return "";
return model.PARAVALUE;
}
///
/// 根据Model.Enum.Parameter 获取参数value
///
///
public string GetValue_Parameter(WX.CRM.Model.Enum.Parameter key)
{
string cacheKey = "cache_Parameter_getList";
List modelist;
if (CacheHelper.Exists(cacheKey))
modelist = CacheHelper.Get>(cacheKey);
else
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
modelist = db.BAS_PARAMETER.ToList();
CacheHelper.Set(cacheKey, modelist);
}
}
WX.CRM.Model.Entity.BAS_PARAMETER sysConfig = modelist.FirstOrDefault(m => m.PARAKEY == "Sys_Environment_DeptCode");
WX.CRM.Model.Entity.BAS_PARAMETER model = modelist.FirstOrDefault(m => m.PARAKEY == key.ToString() && m.DEPTCDOE == sysConfig.PARAVALUE);
if (model == null)
model = modelist.FirstOrDefault(m => m.PARAKEY == key.ToString() && (m.DEPTCDOE == "" || m.DEPTCDOE == null));
if (model == null)
return "";
return model.PARAVALUE;
}
///
/// 根据系统参数分类获取系统参数列表
///
/// 系统参数分类
///
public List GetList_Parameter(WX.CRM.Model.Enum.ParameterGroup type)
{
string cacheKey = "cache_Parameter_getList";
List modelist;
if (CacheHelper.Exists(cacheKey))
modelist = CacheHelper.Get>(cacheKey);
else
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
modelist = db.BAS_PARAMETER.ToList();
CacheHelper.Set(cacheKey, modelist);
}
}
List list = modelist.Where(m => m.GROUPID.Trim() == type.ToString().Trim()).ToList();
return list;
}
///
/// 根据参数分类和参数值获取参数名
///
/// 参数值
/// 参数分类
///
public string GetParaNameByParavalue(string paravalue, ParameterGroup type)
{
string cacheKey = "cache_Parameter_getParaNameByParavalue";
List modelist;
if (CacheHelper.Exists(cacheKey))
modelist = CacheHelper.Get>(cacheKey);
else
{
using (crmContext db = new crmContext())
{
modelist = db.BAS_PARAMETER.ToList();
CacheHelper.Set(cacheKey, modelist);
}
}
string sss = paravalue.Trim();
BAS_PARAMETER model = modelist.FirstOrDefault(m => m.PARAVALUE == sss && m.GROUPID == type.ToString());
if (model == null)
return "";
return model.PARANAME;
}
#endregion 根据Model.Enum.Parameter 获取参数value
#region 获取公司业务列表
///
/// 获取公司业务列表
///
///
public List GetList_Business()
{
string cacheKey = "cache_Business_getList";
if (CacheHelper.Exists(cacheKey))
return CacheHelper.Get>(cacheKey);
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
var list = db.BAS_BUSINESS.ToList();
CacheHelper.Set(cacheKey, list);
return list;
}
}
#endregion 获取公司业务列表
#region 获取内部公司列表 cache_Company_getList
///
/// 获取公司列表
///
///
public List GetList_innerCompany()
{
string cacheKey = "cache_Company_getList";
if (CacheHelper.Exists(cacheKey))
return CacheHelper.Get>(cacheKey);
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
List list = db.BAS_COMPANY.Where(m => m.ISOUTERAGENT == 0).OrderBy(m => m.CTIME).ToList();
CacheHelper.Set(cacheKey, list);
return list;
}
}
#endregion 获取内部公司列表 cache_Company_getList
#region 获取销售组树形 cache_InnerGroup_getTreeList
///
/// 获取销售组树形
///
///
public object GetTreeList_InnerGroup_Old()
{
string cacheKey = "cache_InnerGroup_getTreeList";
if (CacheHelper.Exists(cacheKey))
return CacheHelper.Get