using Dapper; using Estsh.Core.Dapper; using Estsh.Core.IRepositories; using Estsh.Core.Model.Result; using Estsh.Core.Models; using SqlSugar; using System.Data; using System.Security.Policy; using System.Text; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:公共数据类,可以将一些常用的公共方法放在此类中,供其他模块调用。 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Repositories { /// /// 公共数据访问层 /// public class CommonRepository : BaseRepository, ICommonRepository { public CommonRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } /// /// 获取工厂信息,用于下拉列表框填充数据 /// /// public List getFactoryInfo() { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ // dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT factory_id as [value],factory_name as [key] from sys_factory where enabled = 'Y'"); //List lists = SqlSugarDbContext.Ado.SqlQuery(strSql.ToString()).ToList(); List lists = SqlSugarDbContext.SqlQueryable(strSql.ToString()).ToList(); return lists; //} } /// /// 获取部门信息,用于下拉列表框填充数据 /// /// public List getDeptInfo() { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ // dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT dept_id as [value],dept_name as [key] from sys_dept where enabled = 'Y'"); List lists = SqlSugarDbContext.SqlQueryable(strSql.ToString()).ToList(); return lists; //} } /// /// 获取班别信息,用于下拉列表框填充数据 /// /// public List getShiftInfo() { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ // dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT shift_id as [value],shift_name as [key] from sys_shift where enabled = 'Y'"); List lists = SqlSugarDbContext.SqlQueryable(strSql.ToString()).ToList(); return lists; //} } /// /// 获取枚举表中的数据,用于下拉列表框填充数据 /// /// public List GetSysEnum(String enumType) { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ //dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT enum_value as [value],enum_desc as [key] from sys_enum where enum_type=@enum_type and enabled='Y' "); List htParams = new List(); htParams.Add(new SugarParameter("@enum_type", enumType)); //List lists = SqlSugarDbContext.Ado.SqlQuery(strSql.ToString(), htParams).ToList(); List lists = SqlSugarDbContext.SqlQueryable(strSql.ToString()).AddParameters(htParams).ToList(); return lists; //} } /// /// 获取供应商信息,用于下拉列表框填充数据 /// /// public List getVendorInfo() { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ //dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT vendor_id as [value],vendor_name as [key] FROM sys_vendor WHERE enabled='Y' ORDER BY vendor_name"); List lists = SqlSugarDbContext.SqlQueryable(strSql.ToString()).ToList(); return lists; //} } /// /// 获取项目名称信息,用于下拉列表框填充数据 /// /// public List getModelTypeInfo() { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ // dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT type_id as [value],type_name as [key] FROM sys_model_type WHERE enabled='Y' ORDER BY type_name"); List lists = SqlSugarDbContext.SqlQueryable(strSql.ToString()).ToList(); return lists; //} } /// /// 根据菜单url获取操作权限 /// /// /// public List getOpMenuList(string url, string opType, string gridName) { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ // dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT DISTINCT op.op_name,op_class,op_method,op_params,op_type,op.sort_num "); SqlStringBuilder.Append("FROM dbo.sys_program_fun_op op "); SqlStringBuilder.Append(" JOIN dbo.sys_web_menu wm ON op.fun_name = wm.menu_id "); SqlStringBuilder.Append("WHERE op.enabled = 'Y' "); SqlStringBuilder.Append(" AND wm.url = @url "); SqlStringBuilder.Append(" AND op.op_type = @opType "); if (!String.IsNullOrEmpty(gridName)) { SqlStringBuilder.Append(" AND op.grid_name = @gridName "); } SqlStringBuilder.Append(" ORDER BY op.sort_num "); List htParams = new List(); htParams.Add(new SugarParameter("@url", url)); htParams.Add(new SugarParameter("@opType", opType)); if (!String.IsNullOrEmpty(gridName)) { htParams.Add(new SugarParameter("@gridName", gridName)); } //DynamicParameters htParams = new DynamicParameters(); // htParams.Add("@url", url); // htParams.Add("@opType", opType); // if (!String.IsNullOrEmpty(gridName)) // { // htParams.Add("@gridName", gridName); // } List lists = SqlSugarDbContext.SqlQueryable(SqlStringBuilder.ToString()).AddParameters(htParams).ToList(); return lists; //} } /// /// 更加用户获取和菜单路径获取操作权限 /// /// /// /// public List getOpMenuListByUser(int empId, string url, string opType, string gridName) { //using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) //{ // dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT DISTINCT op.op_name,op_class,op_method,op_params,op_type,op.sort_num "); SqlStringBuilder.Append("FROM dbo.sys_program_fun_op op "); SqlStringBuilder.Append(" JOIN dbo.sys_role_op_privliege rop ON op.fun_name = rop.menu_id "); SqlStringBuilder.Append(" AND op.ruid = rop.op_id "); SqlStringBuilder.Append(" JOIN dbo.sys_role_emp re ON rop.role_id = re.role_id "); SqlStringBuilder.Append(" JOIN dbo.sys_web_menu wm ON op.fun_name = wm.menu_id "); SqlStringBuilder.Append("WHERE re.emp_id = @emp_id "); SqlStringBuilder.Append(" AND op.enabled = 'Y' "); SqlStringBuilder.Append(" AND wm.url = @url "); SqlStringBuilder.Append(" AND op.op_type = @opType "); if (!String.IsNullOrEmpty(gridName)) { SqlStringBuilder.Append(" AND op.grid_name = @gridName "); } SqlStringBuilder.Append(" ORDER BY op.sort_num "); List htParams = new List(); htParams.Add(new SugarParameter("@emp_id", empId)); htParams.Add(new SugarParameter("@url", url)); htParams.Add(new SugarParameter("@opType", opType)); if (!String.IsNullOrEmpty(gridName)) { htParams.Add(new SugarParameter("@gridName", gridName)); } //DynamicParameters htParams = new DynamicParameters(); // htParams.Add("@emp_id", empId); // htParams.Add("@url", url); // htParams.Add("@opType", opType); // if (!String.IsNullOrEmpty(gridName)) // { // htParams.Add("@gridName", gridName); // } List lists = SqlSugarDbContext.Ado.SqlQuery(SqlStringBuilder.ToString(), htParams).ToList(); return lists; //} } /// /// 根据人员id 工厂id,通过权限 找到home页的菜单 /// /// /// /// public List GetWebMenus(int empid ,int factoryId) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("select a.name,a.menu_id,a.url ,a.icon_url,A.sort_num from dbo.sys_web_menu as A (nolock) "); SqlStringBuilder.Append("INNER join dbo.sys_role_privliege as B (nolock) on a.menu_id=b.fun_name "); SqlStringBuilder.Append("INNER join sys_role_emp as D (nolock) on d.role_id=b.role_id "); SqlStringBuilder.Append("INNER join sys_emp as E (nolock) on e.emp_id=d.emp_id "); SqlStringBuilder.Append("where e.emp_id='"+ empid + "' AND E.factory_id='"+ factoryId + "' "); SqlStringBuilder.Append(" AND a.parent_id=0 AND a.sort_num>0 AND a.name!='PDA' AND a.enabled='Y' order by A.sort_num "); List result = dbConn.Query(SqlStringBuilder.ToString()).ToList(); return result; } } } }