|
|
using Dapper;
|
|
|
using Estsh.Core.Dapper;
|
|
|
using Estsh.Core.Model.Result;
|
|
|
using Estsh.Core.Models;
|
|
|
using Estsh.Core.Repository.IRepositories;
|
|
|
using Estsh.Core.Util;
|
|
|
using System.Collections;
|
|
|
using System.Data;
|
|
|
using System.Text;
|
|
|
|
|
|
/***************************************************************************************************
|
|
|
*
|
|
|
* 更新人:sitong.dong
|
|
|
* 描述:页面功能按钮管理
|
|
|
* 修改时间:2022.06.22
|
|
|
* 修改日志:系统迭代升级
|
|
|
*
|
|
|
**************************************************************************************************/
|
|
|
namespace Estsh.Core.Repositories
|
|
|
{
|
|
|
|
|
|
public class PageFunctionRepository : BaseRepository<SysProgramFunOp>, IPageFunctionRepository
|
|
|
{
|
|
|
public PageFunctionRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
|
|
|
{
|
|
|
}
|
|
|
string TABLE_NAME = "sys_program_fun_op";
|
|
|
string PK_NAME = "";
|
|
|
|
|
|
#region 成员方法
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据分页条件获取分页数据列表
|
|
|
/// </summary>
|
|
|
public List<SysProgramFunOp> getListByPage(ref Pager page, string strWhere)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
Hashtable result = new Hashtable();
|
|
|
StringBuilder colStr = new StringBuilder();
|
|
|
colStr.Append(" a.program,b.name as fun_name,b.menu_id,a.grid_name,a.op_name,a.op_class,a.op_method,a.op_params,a.ruid,");
|
|
|
colStr.Append(" e.enum_desc as op_type,a.sort_num,a.[enabled],d.emp_name as update_user,");
|
|
|
colStr.Append(" a.update_time as update_date,");
|
|
|
colStr.Append(" c.emp_name as create_user,a.create_time as create_date");
|
|
|
|
|
|
StringBuilder tableStr = new StringBuilder();
|
|
|
tableStr.Append(" sys_program_fun_op a");
|
|
|
tableStr.Append(" left join sys_web_menu b on a.fun_name=b.menu_id");
|
|
|
tableStr.Append(" left join sys_emp c on a.create_userid=c.emp_id");
|
|
|
tableStr.Append(" left join sys_emp d on a.update_userid=d.emp_id");
|
|
|
tableStr.Append(" left join sys_enum e on a.op_type = e.enum_value and e.enum_type='sys_program_fun_op_op_type'");
|
|
|
DynamicParameters parameters = new DynamicParameters();
|
|
|
|
|
|
parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
|
|
|
parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
|
|
|
|
|
|
parameters.Add( "@Table", tableStr.ToString());
|
|
|
parameters.Add( "@Column", colStr.ToString());
|
|
|
parameters.Add( "@OrderColumn", "a.create_time DESC");
|
|
|
parameters.Add( "@GroupColumn", string.Empty);
|
|
|
parameters.Add( "@PageSize", page.pageSize);
|
|
|
parameters.Add( "@CurrentPage", page.pageNo);
|
|
|
parameters.Add( "@Group", 0);
|
|
|
parameters.Add( "@Condition", strWhere);
|
|
|
|
|
|
List<SysProgramFunOp> list = dbConn.Query<SysProgramFunOp>("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList();
|
|
|
page.totalRows = Convert.ToInt32(parameters.Get<int>("@TotalCount"));
|
|
|
return list;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List<KeyValueResult> GetWebMenuList(string where)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
string sqlStr = "select menu_id as [value],name as [key] from sys_web_menu";
|
|
|
if (string.IsNullOrEmpty(where) == false)
|
|
|
{
|
|
|
sqlStr += string.Format(" where {0}", where);
|
|
|
}
|
|
|
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(sqlStr).ToList();
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List<KeyValueResult> GetOpType()
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
|
|
|
string sqlStr = "select enum_value as [value] ,enum_desc as [key] from sys_enum where enum_type = 'sys_program_fun_op_op_type' ";
|
|
|
List<KeyValueResult> result = dbConn.Query<KeyValueResult>(sqlStr).ToList();
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List<SysProgramFunOp> GetFunction(string whereStr)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
List<SysProgramFunOp> result = new List<SysProgramFunOp>();
|
|
|
if (string.IsNullOrEmpty(whereStr) == false)
|
|
|
{
|
|
|
string sqlStr = string.Format("select * from sys_program_fun_op where {0}", whereStr);
|
|
|
result = dbConn.Query<SysProgramFunOp>(sqlStr).ToList();
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public bool SaveOp(string where, SysProgramFunOp paramsList)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
bool result = false;
|
|
|
if (paramsList != null)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.AppendFormat("update {0} ", this.TABLE_NAME);
|
|
|
SqlStringBuilder.Append(" set program=@program, fun_name=@funName, ");
|
|
|
SqlStringBuilder.Append(" grid_name=@gridName, op_name=@opName, ");
|
|
|
SqlStringBuilder.Append(" op_class=@opClass, op_method=@opMethod, ");
|
|
|
SqlStringBuilder.Append(" op_params=@opParams, op_type=@opType, ");
|
|
|
SqlStringBuilder.Append(" sort_num=@sortNum, [enabled]=@enabled, ");
|
|
|
SqlStringBuilder.Append(" update_time=CONVERT(varchar(50), GETDATE(), 21), ");
|
|
|
SqlStringBuilder.Append(" update_userid=@updateUserid ");
|
|
|
SqlStringBuilder.Append(where);
|
|
|
|
|
|
int rowsCount = dbConn.Execute(SqlStringBuilder.ToString(), paramsList);
|
|
|
if (rowsCount > 0)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public bool AddOp(SysProgramFunOp paramsList)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
bool result = false;
|
|
|
if (paramsList != null)
|
|
|
{
|
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
|
SqlStringBuilder.Append("INSERT INTO sys_program_fun_op ");
|
|
|
SqlStringBuilder.Append("(program,fun_name,grid_name,op_name, ");
|
|
|
SqlStringBuilder.Append("op_class,op_method,op_params,op_type, ");
|
|
|
SqlStringBuilder.Append("sort_num,[enabled],create_userid,create_time) ");
|
|
|
SqlStringBuilder.Append("VALUES(@program,@funName,@gridName,@opName, ");
|
|
|
SqlStringBuilder.Append("@opClass,@opMethod,@opParams,@opType, ");
|
|
|
SqlStringBuilder.Append("@sortNum,@enabled,@createUserid,CONVERT(varchar(50), GETDATE(), 21)) ");
|
|
|
int row = dbConn.Execute(SqlStringBuilder.ToString(), paramsList);
|
|
|
if (row > 0)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
public bool ExitOp(string where)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
bool result = false;
|
|
|
if (string.IsNullOrEmpty(where) == false)
|
|
|
{
|
|
|
string sqlStr = string.Format("select count(1) from {0} where {1}", this.TABLE_NAME, where);
|
|
|
object obj = dbConn.ExecuteScalar(sqlStr);
|
|
|
if (obj != null && obj != DBNull.Value)
|
|
|
{
|
|
|
int rowCout = Convert.ToInt32(obj);
|
|
|
if (rowCout > 0)
|
|
|
{
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public new bool Delete(string where)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
bool result = false;
|
|
|
string sqlStr = string.Format("update {0} set Enabled='N' WHERE {1}", this.TABLE_NAME, where);
|
|
|
int row = dbConn.Execute(sqlStr);
|
|
|
if (row > 0)
|
|
|
{
|
|
|
result = true;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//启用
|
|
|
public int EnableData(String ids)
|
|
|
{
|
|
|
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
|
|
|
{
|
|
|
dbConn.Open();
|
|
|
String delStr = "update sys_program_fun_op set Enabled='Y' WHERE ruid 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_program_fun_op set Enabled='N' WHERE ruid in (" + ids + ")";
|
|
|
int result = dbConn.Execute(delStr);
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
#endregion 成员方法
|
|
|
}
|
|
|
}
|