public override string BuildSingleStrategyString(Strategy strategy) { ProjectStrategyName name = (ProjectStrategyName)strategy.Name; string text = ""; if (strategy.Type == StrategyType.Other) { switch (name) { case ProjectStrategyName.False: return("1=2"); case ProjectStrategyName.ProjectCode: return(text); case ProjectStrategyName.ProjectCodeNot: return(string.Format("ProjectCode <> '{0}'", strategy.GetParameter(0))); case ProjectStrategyName.ProjectCodeIn: return(string.Format("ProjectCode in ('{0}')", strategy.GetParameter(0).Replace(",", "','"))); case ProjectStrategyName.UnitCode: { string unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0)); if (unitFullCode == "") { return(" 1 = 2"); } return(string.Format(" projectCode in ( select relaCode from unit where unitType='项目' and FullCode like '{0}%' ) ", unitFullCode)); } } return(text); } return(StandardStrategyStringBuilder.BuildStrategyString(strategy)); }
public override string BuildSingleStrategyString(Strategy strategy) { UnitStrategyName name = (UnitStrategyName)strategy.Name; string text = ""; if (strategy.Type == StrategyType.Other) { switch (name) { case UnitStrategyName.OnlyHasUser: return(" dbo.GetUnitUserCount(UnitCode) > 0"); case UnitStrategyName.SortID: return(text); case UnitStrategyName.ProjectCode: return(string.Format(" FullCode LIKE dbo.GetUnitFullCodeByProjectCode('{0}') + '%'", strategy.GetParameter(0))); case UnitStrategyName.UnderUnitCode: { string unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0)); return(string.Format(" FullCode like '{0}%' ", strategy.GetParameter(0))); } } return(text); } return(StandardStrategyStringBuilder.BuildStrategyString(strategy)); }
public override string BuildSingleStrategyString(Strategy strategy) { RoleStrategyName name = (RoleStrategyName)strategy.Name; string projectUnitCode = ""; string unitFullCode = ""; if (strategy.Type == StrategyType.Other) { switch (name) { case RoleStrategyName.ProjectCode: projectUnitCode = ProjectDAO.GetProjectUnitCode(strategy.GetParameter(0)); return(string.Format(" exists ( select * from userRole where userrole.RoleCode = Role.RoleCode and unitCode ='{0}' ) ", unitFullCode)); case RoleStrategyName.ProjectCodeEx: unitFullCode = OBSDAO.GetUnitFullCode(ProjectDAO.GetProjectUnitCode(strategy.GetParameter(0))); return(string.Format(" exists ( select * from userRole where userrole.RoleCode = Role.RoleCode and unitCode in ( select unitCode from unit where fullCode like '{0}%')) ", unitFullCode)); case RoleStrategyName.UnitCode: unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0)); return(string.Format(" exists ( select * from userRole where userrole.RoleCode = Role.RoleCode and unitCode in ( select unitCode from unit where fullCode like '{0}%')) ", unitFullCode)); case RoleStrategyName.ModuleCode: return(string.Format(" RoleCode in ( select RoleCode from RoleModule where ModuleCode='{0}' ) ", strategy.GetParameter(0))); case RoleStrategyName.UserCode: return(string.Format(" RoleCode in ( select RoleCode from UserRole where UserCode='{0}' ) ", strategy.GetParameter(0))); } return(""); } return(StandardStrategyStringBuilder.BuildStrategyString(strategy)); }
/// <summary> /// 生成SQL语句 /// </summary> /// <param name="strategy"></param> /// <returns></returns> public override string BuildSingleStrategyString(Strategy strategy) { UserStrategyName name = (UserStrategyName)strategy.Name; string text = ""; if (strategy.Type == StrategyType.Other) { string text2 = ""; string unitFullCode = ""; string text4 = ""; string text5 = ""; string parameter = ""; switch (name) { case UserStrategyName.UserCodes: return(string.Format(" UserCode in ( {0} )", strategy.GetParameter(0))); case UserStrategyName.UsersAndStations: parameter = strategy.GetParameter(0); text5 = strategy.GetParameter(1); return(string.Format(" ( ( UserCode in ( {0} ) ) or exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and UserRole.StationCode in ( {1} ) ) ) ", parameter, text5)); case UserStrategyName.UserID: case UserStrategyName.UserName: case UserStrategyName.PassWord: case UserStrategyName.OwnName: case UserStrategyName.Status: case UserStrategyName.Sex: case UserStrategyName.SortID: return(text); case UserStrategyName.StationCode: { string text7 = strategy.GetParameter(0); return(string.Format(" exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and UserRole.StationCode ='{0}' ) ", text7)); } case UserStrategyName.StationCodes: text5 = strategy.GetParameter(0); return(string.Format(" exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and UserRole.StationCode in ( {0} ) ) ", text5)); case UserStrategyName.NoStation: return(" not exists (select * from UserRole where UserRole.UserCode = SystemUser.UserCode)"); case UserStrategyName.RoleCode: text4 = strategy.GetParameter(0); return(string.Format(" exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and Station.RoleCode='{0}' ) ) ", strategy.GetParameter(0))); case UserStrategyName.ProjectCode: unitFullCode = OBSDAO.GetUnitFullCode(ProjectDAO.GetProjectUnitCode(strategy.GetParameter(0))); return(string.Format(" exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and exists ( select 1 from Unit where Station.UnitCode=Unit.UnitCode and Unit.FullCode like '{0}%' ) ) ) ", unitFullCode)); case UserStrategyName.UnitCodeEx: unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0)); return(string.Format(" exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and exists ( select 1 from Unit where Station.UnitCode=Unit.UnitCode and Unit.FullCode like '{0}%' ) ) ) ", unitFullCode)); case UserStrategyName.UnitCode: text2 = strategy.GetParameter(0); return(string.Format(" exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and Station.UnitCode='{0}' ) ) ", text2)); case UserStrategyName.WBSCode: return(string.Format(" exists (select * from TaskPerson where TaskPerson.UserCode = [SystemUser].UserCode and TaskPerson.WBSCode ='{0}' and Type = 2 )", strategy.GetParameter(0))); case UserStrategyName.UserIdorUserName: return(string.Format(" ( userid ='{0}' or username='******' )", Strategy.ReplaceSingleQuote(strategy.GetParameter(0)))); } return(text); } return(StandardStrategyStringBuilder.BuildStrategyString(strategy)); }