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, IPageFunctionRepository { public PageFunctionRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } string TABLE_NAME = "sys_program_fun_op"; string PK_NAME = ""; #region 成员方法 /// /// 根据分页条件获取分页数据列表 /// public List 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 list = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); page.totalRows = Convert.ToInt32(parameters.Get("@TotalCount")); return list; } } public List 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 result = dbConn.Query(sqlStr).ToList(); return result; } } public List 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 result = dbConn.Query(sqlStr).ToList(); return result; } } public List GetFunction(string whereStr) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); List result = new List(); if (string.IsNullOrEmpty(whereStr) == false) { string sqlStr = string.Format("select * from sys_program_fun_op where {0}", whereStr); result = dbConn.Query(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 成员方法 } }