protected override void OnBuildQueryCondition(QueryCondition qc) { if (qc.OrderByClause == string.Empty) qc.OrderByClause = "CREATE_TIME DESC"; qc.SelectFields = @" *"; if (string.IsNullOrEmpty(qc.WhereClause)) { qc.FromClause = @" (SELECT DISTINCT ACI.[APPLICATION_NAME],ACI.[PROGRAM_NAME] AS [PROGRAM_NAME_MCS], ACI.[RESOURCE_ID],ACI.[SUBJECT],ACI.[EMERGENCY],ACI.[URL],ACI.[CREATOR_ID],ACI.[CREATOR_NAME], ACI.[CREATE_TIME],ACI.[DRAFT_DEPARTMENT_NAME],CIM.[PROCESS_ID] FROM wf.APPLICATIONS_COMMON_INFO AS ACI (NOLOCK) LEFT JOIN wf.COMMON_INFO_MAPPING AS CIM (NOLOCK) ON ACI.RESOURCE_ID = CIM.COMMON_INFO_ID) AS T"; } else { qc.FromClause = string.Format(@" (SELECT DISTINCT ACI.[APPLICATION_NAME],ACI.[PROGRAM_NAME] AS [PROGRAM_NAME_MCS], ACI.[RESOURCE_ID],ACI.[SUBJECT],ACI.[EMERGENCY],ACI.[URL],ACI.[CREATOR_ID],ACI.[CREATOR_NAME], ACI.[CREATE_TIME],ACI.[DRAFT_DEPARTMENT_NAME],CIM.[PROCESS_ID] FROM wf.APPLICATIONS_COMMON_INFO AS ACI (NOLOCK) LEFT JOIN wf.COMMON_INFO_MAPPING AS CIM (NOLOCK) ON ACI.RESOURCE_ID = CIM.COMMON_INFO_ID WHERE {0}) AS T ", qc.WhereClause); qc.WhereClause = string.Empty; } qc.WhereClause = GetFilterByQuery(qc); base.OnBuildQueryCondition(qc); }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = TimePointContext.Current.UseCurrentTime ? @" SC.SchemaRoleSnapshot_Current R INNER JOIN SC.SchemaMembersSnapshot_Current S ON S.MemberID = R.ID INNER JOIN SC.SchemaApplicationSnapshot_Current A ON A.ID = S.ContainerID" : @"SC.SchemaRoleSnapshot R INNER JOIN SC.SchemaMembersSnapshot S ON S.MemberID = R.ID INNER JOIN SC.SchemaApplicationSnapshot A ON A.ID = S.ContainerID"; qc.SelectFields = "R.*, A.ID AS AppID,A.DisplayName AS AppName,A.Name As AppName2"; base.OnBuildQueryCondition(qc); if (string.IsNullOrWhiteSpace(qc.OrderByClause)) { qc.OrderByClause = "A.DisplayName"; } if (string.IsNullOrWhiteSpace(qc.WhereClause)) { qc.WhereClause = "1=2"; } else { qc.WhereClause = "(" + qc.WhereClause + ")"; } }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = FromClause; qc.SelectFields = SelectFields; if (string.IsNullOrEmpty(this.orderBy)) qc.OrderByClause = this.DefaultOrderBy; else qc.OrderByClause = orderBy; base.OnBuildQueryCondition(qc); var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("R."); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); var timeCondition2 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("O."); builder.AppendItem(ParentIdField, parentId); InnerBuildWhere(builder); var schemaCondition1 = DataSourceUtil.SchemaTypeCondition("R.ChildSchemaType", this.ChildSchemaTypes); var schemaCondition2 = DataSourceUtil.SchemaTypeCondition("R.ParentSchemaType", this.ParentSchemaTypes); var allConditions = new ConnectiveSqlClauseCollection(builder, timeCondition, timeCondition2, schemaCondition1, schemaCondition2); if (string.IsNullOrEmpty(qc.WhereClause)) { qc.WhereClause = allConditions.ToSqlString(TSqlBuilder.Instance); } else { qc.WhereClause = allConditions.ToSqlString(TSqlBuilder.Instance) + " AND (" + qc.WhereClause + ")"; } }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = "SC.OperationLog"; qc.SelectFields = "*"; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "CreateTime DESC"; WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); if (this.catelog.IsNotEmpty()) { builder.AppendItem("SchemaType", this.catelog); } if (this.operationType.IsNotEmpty()) { builder.AppendItem("OperationType", operationType); } if (builder.IsEmpty == false && qc.WhereClause.IsNotEmpty()) { qc.WhereClause += " AND "; } qc.WhereClause += builder.ToSqlString(TSqlBuilder.Instance); }
private void BuildCondition(QueryCondition qc) { WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); if (this.deepOption == 1) { builder.AppendCondition("C.ContainerID", this.scope.ID); } else { if (deepOption == 2) { builder.AppendItem("C.ContainerID", this.scope.ID, "<>"); } } builder.NormalFor("C.Status").NormalFor("S.Status").NormalFor("SM.Status").NormalFor("AUS.Status"); var timeBulder1 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("C."); var timeBulder2 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("S."); var time3 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("AUS."); var time4 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("SM."); var conditionClause = new ConnectiveSqlClauseCollection(builder, timeBulder1, timeBulder2, time3, time4).ToSqlString(TSqlBuilder.Instance); if (string.IsNullOrEmpty(qc.WhereClause) == false) qc.WhereClause += " AND (" + conditionClause + ")"; else qc.WhereClause = conditionClause; }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = TimePointContext.Current.UseCurrentTime ? "SC.SchemaUserSnapshot_Current O INNER JOIN SC.UserAndContainerSnapshot_Current R ON O.ID = R.UserID" : "SC.SchemaUserSnapshot O INNER JOIN SC.UserAndContainerSnapshot R ON O.ID = R.UserID"; qc.SelectFields = "O.*"; if (string.IsNullOrEmpty(this.orderBy)) qc.OrderByClause = "R.VersionStartTime DESC"; else qc.OrderByClause = orderBy; base.OnBuildQueryCondition(qc); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); var timeCondition1 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("R."); var timeCondition2 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("O."); builder.AppendItem("R.ContainerID", this.containerId); InnerBuildWhere(builder); builder.AppendItem("O.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("R.Status", (int)SchemaObjectStatus.Normal); var allConditions = new ConnectiveSqlClauseCollection(timeCondition1, timeCondition2, builder); if (string.IsNullOrEmpty(qc.WhereClause)) { qc.WhereClause = allConditions.ToSqlString(TSqlBuilder.Instance); } else { qc.WhereClause = allConditions.ToSqlString(TSqlBuilder.Instance) + " AND (" + qc.WhereClause + ")"; } }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); qc.SelectFields = "*"; qc.FromClause = TimePointContext.Current.UseCurrentTime ? "SC.AUAdminScopeItemSnapshot_Current" : "SC.AUAdminScopeItemSnapshot"; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "AUScopeItemName ASC"; WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendCondition("SchemaType", this.scopeType).NormalFor("Status"); var timeBuilder = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder(); var allCondition = new ConnectiveSqlClauseCollection(builder, timeBuilder).ToSqlString(TSqlBuilder.Instance); if (string.IsNullOrEmpty(qc.WhereClause)) { qc.WhereClause = allCondition; } else { qc.WhereClause = qc.WhereClause + "AND (" + allCondition + ")"; } }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = TimePointContext.Current.UseCurrentTime ? @"SC.UserAndContainerSnapshot_Current C INNER JOIN SC.SchemaUserSnapshot_Current U ON U.ID =C.UserID INNER JOIN SC.SchemaRoleSnapshot_Current R ON R.ID = C.ContainerID INNER JOIN SC.SchemaMembersSnapshot_Current S ON S.MemberID = R.ID INNER JOIN SC.SchemaApplicationSnapshot_Current A ON A.ID = S.ContainerID" : @"SC.UserAndContainerSnapshot C INNER JOIN SC.SchemaUserSnapshot U ON U.ID =C.UserID INNER JOIN SC.SchemaRoleSnapshot R ON R.ID = C.ContainerID INNER JOIN SC.SchemaMembersSnapshot S ON S.MemberID = R.ID INNER JOIN SC.SchemaApplicationSnapshot A ON A.ID = S.ContainerID"; qc.SelectFields = "R.*, A.ID AS AppID,A.DisplayName AS AppName,A.Name As AppName2,A.CodeName as AppCodeName"; base.OnBuildQueryCondition(qc); WhereSqlClauseBuilder wb = new WhereSqlClauseBuilder(); wb.AppendItem("C.UserID", this.userId); if (string.IsNullOrWhiteSpace(orderBy)) { qc.OrderByClause = "A.DisplayName"; } else { qc.OrderByClause = orderBy; } if (string.IsNullOrWhiteSpace(qc.WhereClause)) { qc.WhereClause = wb.ToSqlString(TSqlBuilder.Instance); } else { qc.WhereClause = wb.ToSqlString(TSqlBuilder.Instance) + " AND (" + qc.WhereClause + ")"; } }
public string GetFilterByQuery(QueryCondition qc) { if (string.IsNullOrEmpty(qc.WhereClause)) qc.WhereClause = "1 = 1"; var addition = string.IsNullOrEmpty(qc.WhereClause) ? "1 = 1" : qc.WhereClause; if (RolesDefineConfig.GetConfig().IsCurrentUserInRoles("ProcessAdmin", "AdminFormQuery", "WorkflowQueryAdmin") == false) { ConnectiveSqlClauseCollection cscc = WfAclAdapter.Instance.GetAclQueryConditionsByUser(DeluxeIdentity.CurrentUser.ID); string condition = "RESOURCE_ID IN (SELECT RESOURCE_ID FROM WF.ACL WHERE " + cscc.ToSqlString(TSqlBuilder.Instance) + ")"; //检查是否具有分类授权 WfApplicationAuthCollection authInfo = WfApplicationAuthAdapter.Instance.GetUserApplicationAuthInfo(DeluxeIdentity.Current.User); var cateCondition = authInfo.GetApplicationAndProgramBuilder("APPLICATION_NAME", "PROGRAM_NAME_MCS").ToSqlString(TSqlBuilder.Instance); if (string.IsNullOrEmpty(cateCondition) == false) { condition = "(" + condition + " OR " + cateCondition + ")"; } addition += " AND " + condition; qc.WhereClause = addition; } return qc.WhereClause; }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); qc.SelectFields = "D.PROCESS_KEY, D.APPLICATION_NAME, D.PROGRAM_NAME, D.PROCESS_NAME, D.ENABLED, D.CREATE_TIME, D.CREATOR_ID,D.CREATOR_NAME, D.MODIFY_TIME, D.MODIFIER_ID, D.MODIFIER_NAME, D.IMPORT_TIME, D.IMPORT_USER_ID, D.IMPORT_USER_NAME"; qc.FromClause = " WF.PROCESS_DESCRIPTOR_DIMENSIONS DIM INNER JOIN WF.PROCESS_DESCRIPTORS D ON DIM.PROCESS_KEY = D.PROCESS_KEY"; qc.WhereClause = string.IsNullOrEmpty(qc.WhereClause) ? string.Empty : qc.WhereClause + " AND "; if (id == null) throw new InvalidExpressionException("至少需要指定一个ID"); if (additionIds == null || additionIds.Length == 0) { qc.WhereClause += "DIM.Data.exist('Process/descendant::Resource[@ID=''" + TSqlBuilder.Instance.CheckQuotationMark(id, false) + "'']') > 0"; } else { string[] filters = new string[additionIds.Length + 1]; filters[0] = MakeFilter(id); for (int i = 0; i < additionIds.Length; i++) filters[i + 1] = MakeFilter(additionIds[i]); qc.WhereClause += BuildWhere(filters); ; } if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "D.APPLICATION_NAME ASC"; }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.SelectFields = "U.*, P.PARAM_VALUE AS PROJECT_NAME"; qc.FromClause = "WF.USER_TASK(NOLOCK) U LEFT JOIN WF.PROCESS_RELATIVE_PARAMS(NOLOCK) P ON U.PROCESS_ID = P.PROCESS_ID AND P.PARAM_KEY = 'ProjectName'"; qc.OrderByClause = GetOrderByString(qc); base.OnBuildQueryCondition(qc); }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); if (string.IsNullOrEmpty(qc.OrderByClause)) { qc.OrderByClause = "SORT_ID DESC"; } }
protected override void OnBuildQueryCondition(QueryCondition qc) { if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "B.CREATE_TIME DESC"; qc.SelectFields = "PROCESS_ID,PROCESS_NAME,B.CREATE_TIME, A.CREATE_TIME AS GEN_TIME,CREATOR_ID,CREATOR_NAME,START_TIME,DEPARTMENT_NAME,B.UPDATE_TAG"; qc.FromClause = "WF.PERSIST_QUEUE_ARCHIEVED A (NOLOCK) INNER JOIN WF.PROCESS_INSTANCES B ON A.PROCESS_ID = B.INSTANCE_ID"; base.OnBuildQueryCondition(qc); }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = "WF.APP_PROGRAM_AUTH A (NOLOCK) LEFT JOIN WF.APPLICATIONS B ON A.APPLICATION_NAME=B.CODE_NAME LEFT JOIN WF.PROGRAMS C ON C.CODE_NAME = A.PROGRAM_NAME AND C.APPLICATION_CODE_NAME = B.CODE_NAME"; if (qc.OrderByClause.IsNullOrEmpty()) qc.OrderByClause = "CREATE_TIME DESC"; //qc.SelectFields = ORMapping.GetSelectFieldsNameSql<WfApplicationAuth>(); qc.SelectFields = "A.APPLICATION_NAME,A.PROGRAM_NAME,AUTH_TYPE,ROLE_ID,ROLE_DESCRIPTION,CREATE_TIME,B.NAME AS APP_DISP,C.NAME AS PROGRAM_DISP"; }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.SelectFields = @"UT.[PROCESS_ID], UT.[TASK_GUID], UT.[APPLICATION_NAME],UT.[DRAFT_USER_ID],UT.[DRAFT_USER_NAME],UT.[PROGRAM_NAME], UT.[TASK_TITLE], UT.[URL], UT.[EMERGENCY], UT.[PURPOSE], UT.[SOURCE_NAME], UT.[READ_TIME], UT.[RESOURCE_ID], UT.[COMPLETED_TIME], UT.[DRAFT_DEPARTMENT_NAME],UT.[STATUS],PN.[STATUS] AS PSTATUS, UT.[SEND_TO_USER],PN.[OWNER_ACTIVITY_ID], P.PARAM_VALUE AS PROJECT_NAME"; qc.FromClause = @"WF.PROCESS_INSTANCES(NOLOCK) PN RIGHT JOIN WF.USER_ACCOMPLISHED_TASK (NOLOCK) UT ON UT.[PROCESS_ID] = PN.[INSTANCE_ID] LEFT JOIN WF.PROCESS_RELATIVE_PARAMS(NOLOCK) P ON UT.PROCESS_ID = P.PROCESS_ID AND P.PARAM_KEY = 'ProjectName'"; if (string.IsNullOrEmpty(qc.OrderByClause)) { qc.OrderByClause = " UT.COMPLETED_TIME DESC"; } base.OnBuildQueryCondition(qc); }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); WhereSqlClauseBuilder wb = new WhereSqlClauseBuilder(); wb.AppendItem("LogID", this.syncID); if (string.IsNullOrEmpty(qc.WhereClause)) qc.WhereClause = wb.ToSqlString(TSqlBuilder.Instance); else qc.WhereClause = " AND " + wb.ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.SelectFields = "*"; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "VersionStartTime DESC"; qc.WhereClause.IsNotEmpty((s) => qc.WhereClause += " AND "); var builder = new WhereSqlClauseBuilder(); builder.AppendItem("Status", (int)SchemaObjectStatus.Normal); var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder(); qc.WhereClause += new ConnectiveSqlClauseCollection(builder, timeCondition).ToSqlString(TSqlBuilder.Instance); }
private DataView InnerQuery(int startRowIndex, int maximumRows, string where, string orderBy, ref int totalCount) { QueryCondition qc = new QueryCondition(startRowIndex, maximumRows, "*", this._DefaultTableName, orderBy, where); OnBuildQueryCondition(qc); CommonAdapter adapter = new CommonAdapter(GetConnectionName()); DataView result = adapter.SplitPageQuery(qc, ref totalCount); ObjectContextCache.Instance[ContextCacheKey] = totalCount; return result; }
protected string GetOrderByString(QueryCondition qc) { //排序规则为“置顶”>“用户指定”>“时间” if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "TOP_FLAG DESC,DELIVER_TIME DESC"; else if (qc.OrderByClause.Contains("DELIVER_TIME")) qc.OrderByClause = string.Format("TOP_FLAG DESC,{0}", qc.OrderByClause); //09-01-12新需求 //当点击按缓急程度排序后,优先显示缓急程度高的文件,同样缓急程度的文件,办理时限早的文件排在上面,同一办理时限的文件,发送时间早的文件排在上面。 //else if (inputOrderBy.Contains("EMERGENCY")) // inputOrderBy = string.Format("TOP_FLAG DESC,{0},ISNULL(EXPIRE_TIME, '2999-12-31') ASC,DELIVER_TIME ASC", inputOrderBy); else qc.OrderByClause = string.Format("TOP_FLAG DESC,{0},DELIVER_TIME DESC", qc.OrderByClause); return qc.OrderByClause; }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); qc.SelectFields = "S.*"; qc.FromClause = this.FromSqlClause; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "S.Name ASC"; var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("S."); WhereSqlClauseBuilder where = new WhereSqlClauseBuilder(); var allConditions = new ConnectiveSqlClauseCollection(timeCondition, where); where.AppendCondition("S.CategoryID", this.categoryID); if (string.IsNullOrEmpty(qc.WhereClause) == false) qc.WhereClause += " AND "; qc.WhereClause += allConditions.ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = (TimePointContext.Current.UseCurrentTime ? "SC.SchemaGroupSnapshot_Current G INNER JOIN SC.SchemaRelationObjectsSnapshot_Current R ON G.ID = R.ObjectID " : "SC.SchemaGroupSnapshot G INNER JOIN SC.SchemaRelationObjectsSnapshot R ON G.ID = R.ObjectID "); if (this.fileterRole) { qc.FromClause += TimePointContext.Current.UseCurrentTime ? " LEFT JOIN SC.Acl_Current AC ON AC.ContainerID = R.ParentID INNER JOIN SC.SchemaRoleSnapshot_Current RS ON RS.ID = AC.MemberID INNER JOIN SC.UserAndContainerSnapshot_Current UC ON RS.ID = UC.ContainerID " : " LEFT JOIN SC.Acl AC ON AC.ContainerID = R.ParentID INNER JOIN SC.SchemaRoleSnapshot RS ON RS.ID = AC.MemberID INNER JOIN SC.UserAndContainerSnapshot UC ON RS.ID = UC.ContainerID "; } qc.SelectFields = "G.*,R.ParentID"; if (qc.OrderByClause.IsNullOrEmpty()) qc.OrderByClause = "R.InnerSort DESC"; qc.WhereClause.IsNotEmpty((s) => qc.WhereClause += " AND "); var timeConditionS = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("G."); var timeConditionR = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("R."); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("R.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("G.Status", (int)SchemaObjectStatus.Normal); var allConditions = new ConnectiveSqlClauseCollection(timeConditionS, timeConditionR, builder); if (this.fileterRole) { allConditions.Add(VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("AC.")); allConditions.Add(VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("RS.")); allConditions.Add(VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("UC.")); builder.AppendItem("AC.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("RS.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("UC.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("UC.UserID", this.userID); InSqlClauseBuilder inSql1 = new InSqlClauseBuilder("AC.ContainerPermission"); inSql1.AppendItem(this.parentPermissions); allConditions.Add(inSql1); } qc.WhereClause += allConditions.ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); qc.SelectFields = SelectFields; qc.FromClause = this.FromSqlClause; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = DefaultOrderByClause; ; var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("S."); var timeCondition1 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("M."); WhereSqlClauseBuilder where = new WhereSqlClauseBuilder(); var allConditions = new ConnectiveSqlClauseCollection(timeCondition, timeCondition1, where); BuildWhere(where); if (string.IsNullOrEmpty(qc.WhereClause) == false) qc.WhereClause += " AND "; qc.WhereClause += allConditions.ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); qc.SelectFields = "S.*"; qc.FromClause = this.FromSqlClause; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "S.SearchContent ASC"; var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("S."); var timeCondition2 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("M."); WhereSqlClauseBuilder where = new WhereSqlClauseBuilder().NormalFor("S.Status").NormalFor("M.Status"); var allConditions = new ConnectiveSqlClauseCollection(timeCondition, timeCondition2, where); where.AppendCondition("M.ContainerID", this.scope.ID); if (string.IsNullOrEmpty(qc.WhereClause) == false) qc.WhereClause += " AND "; qc.WhereClause += allConditions.ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { if (qc.OrderByClause.IsNullOrEmpty()) qc.OrderByClause = "VersionStartTime DESC"; qc.WhereClause.IsNotEmpty((s) => qc.WhereClause += " AND "); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder(); builder.AppendItem("Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("SchemaType", "Applications"); var conditions = new ConnectiveSqlClauseCollection(timeCondition, builder); qc.WhereClause += conditions.ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.SelectFields = "U.*, P.PARAM_VALUE AS PROJECT_NAME"; qc.FromClause = "WF.USER_TASK(NOLOCK) U LEFT JOIN WF.PROCESS_RELATIVE_PARAMS(NOLOCK) P ON U.PROCESS_ID = P.PROCESS_ID AND P.PARAM_KEY = 'ProjectName'"; //排序规则为“置顶”>“用户指定”>“时间” if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "TOP_FLAG DESC,DELIVER_TIME DESC"; else if (qc.OrderByClause.Contains("DELIVER_TIME")) qc.OrderByClause = string.Format("TOP_FLAG DESC,{0}", qc.OrderByClause); //09-01-12新需求 //当点击按缓急程度排序后,优先显示缓急程度高的文件,同样缓急程度的文件,办理时限早的文件排在上面,同一办理时限的文件,发送时间早的文件排在上面。 //else if (inputOrderBy.Contains("EMERGENCY")) // inputOrderBy = string.Format("TOP_FLAG DESC,{0},ISNULL(EXPIRE_TIME, '2999-12-31') ASC,DELIVER_TIME ASC", inputOrderBy); else qc.OrderByClause = string.Format("TOP_FLAG DESC,{0},DELIVER_TIME DESC", qc.OrderByClause); base.OnBuildQueryCondition(qc); }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = TimePointContext.Current.UseCurrentTime ? "SC.SchemaOrganizationSnapshot_Current O INNER JOIN SC.SchemaRelationObjectsSnapshot_Current R ON O.ID = R.ObjectID" : "SC.SchemaOrganizationSnapshot O INNER JOIN SC.SchemaRelationObjectsSnapshot R ON O.ID = R.ObjectID"; if (this.fileterRole) { qc.FromClause += TimePointContext.Current.UseCurrentTime ? " INNER JOIN SC.Acl_Current AC ON AC.ContainerID = O.ID INNER JOIN SC.SchemaRoleSnapshot_Current RS ON RS.ID = AC.MemberID INNER JOIN SC.UserAndContainerSnapshot_Current UC ON RS.ID = UC.ContainerID " : " INNER JOIN SC.Acl AC ON AC.ContainerID = O.ID INNER JOIN SC.SchemaRoleSnapshot RS ON RS.ID = AC.MemberID INNER JOIN SC.UserAndContainerSnapshot UC ON RS.ID = UC.ContainerID "; } qc.SelectFields = "DISTINCT O.*,R.FullPath"; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "R.InnerSort ASC"; qc.WhereClause.IsNotEmpty((s) => qc.WhereClause += " AND "); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("R.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("O.Status", (int)SchemaObjectStatus.Normal); var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("R."); var timeCondition2 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("O."); var schemaCondition = DataSourceUtil.SchemaTypeCondition("R.ChildSchemaType", "Organizations"); var allConditions = new ConnectiveSqlClauseCollection(builder, timeCondition, timeCondition2, schemaCondition); if (this.fileterRole && this.userID != null && this.permissions != null) { allConditions.Add(VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("AC.")); allConditions.Add(VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("RS.")); allConditions.Add(VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("UC.")); builder.AppendItem("AC.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("RS.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("UC.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("UC.UserID", this.userID); InSqlClauseBuilder inSql1 = new InSqlClauseBuilder("AC.ContainerPermission"); inSql1.AppendItem(this.permissions); allConditions.Add(inSql1); } qc.WhereClause += allConditions.ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = TimePointContext.Current.UseCurrentTime ? "SC.SchemaOrganizationSnapshot_Current O INNER JOIN SC.SchemaRelationObjectsSnapshot_Current R ON O.ID = R.ObjectID" : "SC.SchemaOrganizationSnapshot O INNER JOIN SC.SchemaRelationObjectsSnapshot R ON O.ID = R.ObjectID"; qc.SelectFields = "O.*"; if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = "R.InnerSort DESC"; qc.WhereClause.IsNotEmpty((s) => qc.WhereClause += " AND "); var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("R."); var timeCondition2 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("O."); var builder = new WhereSqlClauseBuilder(); builder.AppendItem("R.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem("R.ParentID", SCOrganization.RootOrganizationID); IConnectiveSqlClause clause = DataSourceUtil.SchemaTypeCondition("R.ChildSchemaType", SchemaInfo.FilterByCategory("Organizations").ToSchemaNames()); qc.WhereClause += new ConnectiveSqlClauseCollection(builder, timeCondition, timeCondition2, clause).ToSqlString(TSqlBuilder.Instance); }
protected override void OnBuildQueryCondition(QueryCondition qc) { base.OnBuildQueryCondition(qc); switch (deepOption) { case 1: qc.FromClause = this.DefaultFromClause; break; case 2: case 3: qc.FromClause = this.MakeFromClause(this.scopeType, GetUnitFullPath(this.unitID)); break; default: throw new ArgumentException("传入的参数有误"); } qc.SelectFields = "S.*,AUS.Name AS AU_Name,AUS.ID AS AU_ID"; BuildCondition(qc); if (string.IsNullOrEmpty(qc.OrderByClause)) qc.OrderByClause = " AUS.Name ASC "; }
protected override void OnBuildQueryCondition(QueryCondition qc) { qc.FromClause = FromClause; qc.SelectFields = SelectFields; if (this.orderBy.IsNullOrEmpty()) qc.OrderByClause = this.DefaultOrderBy; else qc.OrderByClause = orderBy; base.OnBuildQueryCondition(qc); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); var timeCondition = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("R."); var timeCondition2 = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder("O."); builder.AppendItem(ParentIdField, parentId); builder.AppendItem<int>("R.Status", (int)SchemaObjectStatus.Normal); builder.AppendItem<int>("O.Status", (int)SchemaObjectStatus.Normal); InnerBuildWhere(builder); var conditionMemberCondition = DataSourceUtil.SchemaTypeCondition("R.MemberSchemaType", this.MemberSchemaTypes); var conditionContainerCondition = DataSourceUtil.SchemaTypeCondition("R.ContainerSchemaType", this.ContainerSchemaTypes); var allCondition = new ConnectiveSqlClauseCollection(builder, conditionMemberCondition, conditionMemberCondition, timeCondition, timeCondition2); if (string.IsNullOrEmpty(qc.WhereClause)) { qc.WhereClause = allCondition.ToSqlString(TSqlBuilder.Instance); } else { qc.WhereClause = allCondition.ToSqlString(TSqlBuilder.Instance) + " AND (" + qc.WhereClause + ")"; } }
public WfClientUserOperationLogPageQueryResult QueryUserOperationLogByResourceID(string resourceID, int startRowIndex, int maximumRows, string orderBy, int totalCount) { resourceID.CheckStringIsNullOrEmpty("resourceID"); OperationContext.Current.FillContextToOguServiceContext(); WhereSqlClauseBuilder builder = new WhereSqlClauseBuilder(); builder.AppendItem("RESOURCE_ID", resourceID); builder.AppendTenantCode(); if (orderBy.IsNullOrEmpty()) orderBy = "ID DESC"; QueryCondition qc = new QueryCondition(startRowIndex, maximumRows, "*", ORMapping.GetMappingInfo(typeof(UserOperationLog)).TableName, orderBy); qc.WhereClause = builder.ToSqlString(TSqlBuilder.Instance); return QueryUserOperationLog(qc, totalCount); }