You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

198 lines
8.1 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Dapper;
using Estsh.Core.Dapper;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using System.Collections;
using System.Data;
using System.Text;
/***************************************************************************************************
*
* 更新人sitong.dong
* 描述:枚举数据数据库访问类
* 修改时间2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
/// <summary>
/// 处理枚举数据管理的业务数据
/// </summary>
public class EnumRepository : BaseRepository<SysEnum>, IEnumRepository
{
public EnumRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
/// <summary>
/// 根据分页条件获取分页数据列表
/// </summary>
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
parameters.Add( "@Table", "sys_enum");
parameters.Add( "@Column", "*");
parameters.Add( "@OrderColumn", OrderBy);
parameters.Add( "@GroupColumn", "");
parameters.Add( "@PageSize", PageSize);
parameters.Add( "@CurrentPage", PageIndex);
parameters.Add( "@Group", 0);
parameters.Add( "@Condition", strWhere);
List<SysEnum> depts = dbConn.Query<SysEnum>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", depts);
result.Add("totalCount", parameters.Get<int>("@TotalCount"));
return result;
}
}
/// <summary>
/// 获取下拉框枚举类型数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getEnumTypeList()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select DISTINCT enum_type as [value],enum_type as [key] from dbo.sys_enum where enabled='Y' ");
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(strSql.ToString()).ToList();
return result;
}
}
/// <summary>
/// 获取根据类型获取枚举数据
/// </summary>
/// <returns></returns>
public List<SysEnum> getEnumList(string enumType)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from dbo.sys_enum where enabled='Y' AND enum_type = @enumType ");
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@enumType", enumType);
List<SysEnum> result = dbConn.Query<SysEnum>(strSql.ToString(), parameters).ToList();
return result;
}
}
/// <summary>
/// 根据枚举ID获取枚举明细数据
/// </summary>
/// <param name="enumId"></param>
/// <returns></returns>
public List<SysEnum> getEnumById(string enumId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("SELECT enum_id, enum_type, enum_value,enum_name, enum_desc ");
SqlStringBuilder.Append("FROM dbo.sys_enum ");
SqlStringBuilder.Append("WHERE enum_id = @enum_id ");
DynamicParameters ht = new DynamicParameters();
ht.Add("@enum_id", enumId);
List<SysEnum> result = dbConn.Query<SysEnum>(SqlStringBuilder.ToString(), ht).ToList();
return result;
}
}
/// <summary>
/// 插入枚举数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveEnum(SysEnum htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.sys_enum ( enum_type, enum_value,enum_name, enum_desc, factory_id,factory_code,create_userid, ");
SqlStringBuilder.Append(" create_time ,enabled)");
SqlStringBuilder.Append("VALUES ( @enumType, @enumValue,@enumName, @enumDesc,@factoryId,@factoryCode, @createUserid, ");
SqlStringBuilder.Append(" CONVERT(varchar(50), GETDATE(), 21), ");
SqlStringBuilder.Append(" 'Y' )");
var result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 更新枚举数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateEnum(SysEnum htParams)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("UPDATE dbo.sys_enum ");
SqlStringBuilder.Append("SET enum_type = @enumType, enum_value = @enumValue,enum_name=@enumName, ");
SqlStringBuilder.Append(" enum_desc = @enumDesc,factory_id=@factoryId,factory_code=@factoryCode, update_userid = @updateUserid, ");
SqlStringBuilder.Append(" update_time = CONVERT(varchar(50), GETDATE(), 21) ");
SqlStringBuilder.Append("WHERE enum_id = @enumId ");
var result = dbConn.Execute(SqlStringBuilder.ToString(), htParams);
return result;
}
}
/// <summary>
/// 删除枚举数据
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public int deleteEnum(String enumId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters htparams = new DynamicParameters();
htparams.Add("@enum_id", enumId);
String delStr = "update sys_enum set Enabled='N' where enum_id = @enum_id";
var result = dbConn.Execute(delStr, htparams);
return result;
}
}
//启用
public int EnableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_enum set Enabled='Y' WHERE enum_id in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
//禁用
public int DisableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_enum set Enabled='N' WHERE enum_id in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
#endregion 成员方法
}
}