public void ChangeGroup(GroupCondition condition, int broId, PathFindingData pathFindingData) { this.condition = condition; this.broId = broId; this.pathFindingData = pathFindingData; conditionAdded = true; }
ICondition ExtractCondition(ref CssToken token) { var condition = default(ICondition); if (token.Type == CssTokenType.RoundBracketOpen) { token = _tokenizer.Get(); condition = CreateCondition(ref token); if (condition != null) condition = new GroupCondition(condition); else if (token.Type == CssTokenType.Ident) condition = DeclarationCondition(ref token); if (token.Type == CssTokenType.RoundBracketClose) token = _tokenizer.Get(); } else if (token.Data.Equals(Keywords.Not, StringComparison.OrdinalIgnoreCase)) { token = _tokenizer.Get(); condition = ExtractCondition(ref token); if (condition != null) condition = new NotCondition(condition); } return condition; }
// Returns a list of AclExpansionEntry for the passed User, ACE with the passed Positon and passed GroupSelection private List <AclExpansionEntry> GetAclExpansionEntryList_UserPositionGroupSelection( User user, Position position, GroupCondition groupCondition, GroupHierarchyCondition groupHierarchyCondition) { List <User> userList = new List <User> (); userList.Add(user); var userFinderStub = MockRepository.GenerateStub <IAclExpanderUserFinder> (); userFinderStub.Expect(mock => mock.FindUsers()).Return(userList); List <AccessControlList> aclList = new List <AccessControlList>(); var ace = TestHelper.CreateAceWithPositionAndGroupCondition(position, groupCondition); ace.GroupHierarchyCondition = groupHierarchyCondition; AttachAccessTypeReadWriteDelete(ace, true, null, true); Assert.That(ace.Validate().IsValid); var acl = TestHelper.CreateStatefulAcl(ace); aclList.Add(acl); var aclFinderStub = MockRepository.GenerateStub <IAclExpanderAclFinder> (); aclFinderStub.Expect(mock => mock.FindAccessControlLists()).Return(aclList); var aclExpander = new AclExpander(userFinderStub, aclFinderStub); // Retrieve the resulting list of AclExpansionEntry|s var aclExpansionEntryList = aclExpander.GetAclExpansionEntryList(); return(aclExpansionEntryList); }
/// <summary> /// 查询配送方式-产品 /// </summary> /// <param name="filter"></param> /// <param name="totalCount"></param> /// <returns></returns> public DataTable QueryShipTypeAreaPriceList(ShipTypeAreaPriceQueryFilter filter, out int TotalCount) { MapSortField(filter); TotalCount = 0; PagingInfoEntity pagingInfo = ToPagingInfo(filter.PagingInfo); CustomDataCommand cmd = DataCommandManager.CreateCustomDataCommandFromConfig("ShipTypeAreaPrice_QueryShipTypeAreaPrice"); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingInfo, "SAP.SysNo DESC")) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SAP.ShipTypeSysNo", DbType.Int32, "@ShipTypeSysNo", QueryConditionOperatorType.Equal, filter.ShipTypeSysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SAP.MerchantSysNo", DbType.Int32, "@VendorSysNo", QueryConditionOperatorType.Equal, filter.VendorSysNo); if (filter.CompanyCustomer.HasValue) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SAP.CompanyCustomer", DbType.Int32, "@CompanyCustomer", QueryConditionOperatorType.Equal, (int)filter.CompanyCustomer.Value); } if (!string.IsNullOrEmpty(filter.AreaName)) { using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.ProvinceName", DbType.String, "@ProvinceName", QueryConditionOperatorType.Equal, filter.AreaName); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "A.CityName", DbType.String, "@CityName", QueryConditionOperatorType.Equal, filter.AreaName); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "A.DistrictName", DbType.String, "@DistrictName", QueryConditionOperatorType.Equal, filter.AreaName); } } if (filter.AreaSysNo.HasValue) { using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.SysNO", DbType.String, "@SysNO", QueryConditionOperatorType.Equal, filter.AreaSysNo); } } else if (filter.CitySysNo.HasValue) { using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.SysNo", DbType.String, "@SysNo", QueryConditionOperatorType.Equal, filter.CitySysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "A.CitySysNo", DbType.String, "@CitySysNo", QueryConditionOperatorType.Equal, filter.CitySysNo); } } else if (filter.ProvinceSysNo.HasValue) { using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "A.SysNo", DbType.String, "@SysNo", QueryConditionOperatorType.Equal, filter.ProvinceSysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "A.ProvinceSysNo", DbType.String, "@ProvinceSysNo", QueryConditionOperatorType.Equal, filter.ProvinceSysNo); } } cmd.CommandText = sqlBuilder.BuildQuerySql(); DataTable dt = cmd.ExecuteDataTable("CompanyCustomer", typeof(ECCentral.BizEntity.Common.CompanyCustomer)); TotalCount = int.Parse(cmd.GetParameterValue("@TotalCount").ToString()); return(dt); } }
/// <summary> /// 查询市级以上的地域 /// </summary> /// <param name="filter"></param> /// <param name="totalCount"></param> /// <returns></returns> public DataTable QueryAreaNoDistrictList(AreaQueryFilter filter, out int totalCount) { totalCount = 0; CustomDataCommand customCommand = DataCommandManager.CreateCustomDataCommandFromConfig("GetAreaList"); PagingInfoEntity pagingInfo = ToPagingInfo(filter.PagingInfo); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(customCommand.CommandText, customCommand, pagingInfo, "SysNo DESC")) { if (filter.DistrictSysNumber.HasValue) {//精确查询区 sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SysNo", DbType.String, "@SysNo", QueryConditionOperatorType.Equal, filter.DistrictSysNumber); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CitySysNo", DbType.String, "@CitySysNo", QueryConditionOperatorType.Equal, filter.CitySysNumber); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "ProvinceSysNo", DbType.String, "@ProvinceSysNo", QueryConditionOperatorType.Equal, filter.ProvinceSysNumber); } else if (filter.CitySysNumber.HasValue) { //查询出市以及其下属的区 using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SysNo", DbType.String, "@SysNo", QueryConditionOperatorType.Equal, filter.CitySysNumber); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "ProvinceSysNo", DbType.String, "@ProvinceSysNo", QueryConditionOperatorType.Equal, filter.ProvinceSysNumber); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "CitySysNo", DbType.String, "@CitySysNo", QueryConditionOperatorType.Equal, filter.CitySysNumber); } //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "ProvinceSysNo", DbType.String, "@ProvinceSysNo", QueryConditionOperatorType.Equal, filter.ProvinceSysNumber); } else if (filter.ProvinceSysNumber.HasValue) { //查询出省以及其下属的市和区 using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SysNo", DbType.String, "@SysNo", QueryConditionOperatorType.Equal, filter.ProvinceSysNumber); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "ProvinceSysNo", DbType.String, "@ProvinceSysNo", QueryConditionOperatorType.Equal, filter.ProvinceSysNumber); //paramValues 设置为filter.ProvinceSysNumber是为了通过构造验证没有实际意义 //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "CitySysNo", DbType.String, "", QueryConditionOperatorType.IsNull, filter.ProvinceSysNumber); } } sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Status", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.Status); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Rank", DbType.String, "@Rank", QueryConditionOperatorType.Equal, filter.Rank); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "WeightLimit", DbType.Int32, "@WeightLimit", QueryConditionOperatorType.Equal, filter.WeightLimit); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOAmountLimit", DbType.Decimal, "@SOAmountLimit", QueryConditionOperatorType.Equal, filter.SOAmtLimit); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, "8601"); sqlBuilder.ConditionConstructor.AddNullCheckCondition(QueryConditionRelationType.AND, "[DistrictName]", QueryConditionOperatorType.IsNull); sqlBuilder.ConditionConstructor.AddNullCheckCondition(QueryConditionRelationType.AND, "[CityName]", QueryConditionOperatorType.IsNotNull); customCommand.CommandText = sqlBuilder.BuildQuerySql(); DataTable dt = customCommand.ExecuteDataTable(new EnumColumnList { { "Status", typeof(AreaStatus) } }); totalCount = int.Parse(customCommand.GetParameterValue("TotalCount").ToString()); return(dt); } }
private DecidedGoalType DecidedGoal(GroupCondition group, Condition condition, Translation translation, ref PathFindingData pathFindingData) { if (!condition.isSet) { if (!group.isSet) { return(DecidedGoalType.None); } return(DecidedGoalType.Group); } if (!group.isSet) { return(DecidedGoalType.Condition); } var conditionDistance = math.length(condition.goal - translation.Value); var groupDistance = math.length(group.goal - translation.Value); switch (pathFindingData.decisionMethod) { case DecisionMethod.Max: if (conditionDistance < groupDistance) { return(DecidedGoalType.Group); } else { return(DecidedGoalType.Condition); } case DecisionMethod.Min: if (conditionDistance < groupDistance) { return(DecidedGoalType.Condition); } else { return(DecidedGoalType.Group); } case DecisionMethod.ConditionOverGroup: return(DecidedGoalType.Condition); case DecisionMethod.GroupOverCondition: return(DecidedGoalType.Group); } return(DecidedGoalType.None); }
/// <summary> /// 查询配送方式-地区-价格 /// </summary> /// <param name="queryFilter"></param> /// <returns></returns> public static QueryResult <ShipTypeAreaPriceInfoQueryResult> QueryShipTypeAreaPrice(ShipTypeAreaPriceQueryFilter queryFilter) { CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("QueryShipTypeAreaPrice"); using (var sqlBuilder = new DynamicQuerySqlBuilder(command.CommandText, command, queryFilter, string.IsNullOrEmpty(queryFilter.SortFields) ? "stap.SysNo ASC" : queryFilter.SortFields)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "stap.MerchantSysNo", DbType.Int32, "@MerchantSysNo", QueryConditionOperatorType.Equal, queryFilter.MerchantSysNo); if (queryFilter.ShipTypeSysNo.HasValue) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "stap.ShipTypeSysNo", DbType.String, "@ShipTypeSysNo", QueryConditionOperatorType.Equal, queryFilter.ShipTypeSysNo.Value); } if (queryFilter.DistrictSysNo.HasValue) { using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SysNO", DbType.String, "@SysNO", QueryConditionOperatorType.Equal, queryFilter.DistrictSysNo); } } else if (queryFilter.CitySysNo.HasValue) { using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SysNo", DbType.String, "@SysNo", QueryConditionOperatorType.Equal, queryFilter.CitySysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "a.CitySysNo", DbType.String, "@CitySysNo", QueryConditionOperatorType.Equal, queryFilter.CitySysNo); } } else if (queryFilter.ProvinceSysNo.HasValue) { using (GroupCondition g = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.SysNo", DbType.String, "@SysNo", QueryConditionOperatorType.Equal, queryFilter.ProvinceSysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.OR, "a.ProvinceSysNo", DbType.String, "@ProvinceSysNo", QueryConditionOperatorType.Equal, queryFilter.ProvinceSysNo); } } command.CommandText = sqlBuilder.BuildQuerySql(); List <ShipTypeAreaPriceInfoQueryResult> resultList = command.ExecuteEntityList <ShipTypeAreaPriceInfoQueryResult>(); int totalCount = Convert.ToInt32(command.GetParameterValue("@TotalCount")); return(new QueryResult <ShipTypeAreaPriceInfoQueryResult>() { PageInfo = new PageInfo() { PageIndex = queryFilter.PageIndex, PageSize = queryFilter.PageSize, TotalCount = totalCount, SortBy = queryFilter.SortFields }, ResultList = resultList }); } }
CssCondition ExtractCondition(ref CssToken token) { var condition = default(CssCondition); CreateNewNode(); if (token.Type == CssTokenType.RoundBracketOpen) { token = NextToken(); CollectTrivia(ref token); condition = AggregateCondition(ref token); if (condition != null) { condition = new GroupCondition(condition); } else if (token.Type == CssTokenType.Ident) { condition = DeclarationCondition(ref token); } if (token.Type == CssTokenType.RoundBracketClose) { token = NextToken(); CollectTrivia(ref token); } } else if (token.Data.Isi(Keywords.Not)) { token = NextToken(); CollectTrivia(ref token); condition = ExtractCondition(ref token); if (condition != null) { condition = new NotCondition(condition); } } return(CloseNode(condition)); }
IConditionFunction ExtractCondition(ref CssToken token) { if (token.Type == CssTokenType.RoundBracketOpen) { token = NextToken(); CollectTrivia(ref token); var condition = AggregateCondition(ref token); if (condition != null) { var group = new GroupCondition(); group.Content = condition; condition = group; } else if (token.Type == CssTokenType.Ident) { condition = DeclarationCondition(ref token); } if (token.Type == CssTokenType.RoundBracketClose) { token = NextToken(); CollectTrivia(ref token); } return(condition); } else if (token.Data.Isi(Keywords.Not)) { var condition = new NotCondition(); token = NextToken(); CollectTrivia(ref token); condition.Content = ExtractCondition(ref token); return(condition); } return(null); }
private bool IsGroupConditionEnabled(GroupCondition value, bool isStateful) { switch (value) { case GroupCondition.None: return(true); case GroupCondition.OwningGroup: return(isStateful); case GroupCondition.SpecificGroup: return(true); case GroupCondition.AnyGroupWithSpecificGroupType: return(true); case GroupCondition.BranchOfOwningGroup: return(isStateful); default: throw CreateInvalidOperationException("The value '{0}' is not a valid value for 'GroupCondition'.", value); } }
ICondition ExtractCondition(ref CssToken token) { var condition = default(ICondition); if (token.Type == CssTokenType.RoundBracketOpen) { token = _tokenizer.Get(); condition = CreateCondition(ref token); if (condition != null) { condition = new GroupCondition(condition); } else if (token.Type == CssTokenType.Ident) { condition = DeclarationCondition(ref token); } if (token.Type == CssTokenType.RoundBracketClose) { token = _tokenizer.Get(); } } else if (token.Data.Equals(Keywords.Not, StringComparison.OrdinalIgnoreCase)) { token = _tokenizer.Get(); condition = ExtractCondition(ref token); if (condition != null) { condition = new NotCondition(condition); } } return(condition); }
public DataTable QueryRegister(RegisterQueryFilter filter, out int totalCount) { PagingInfoEntity pagingEntity = new PagingInfoEntity(); pagingEntity.SortField = filter.PagingInfo.SortBy; pagingEntity.MaximumRows = filter.PagingInfo.PageSize; pagingEntity.StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize; CustomDataCommand cmd = null; if (filter.IsRepeatRegister.HasValue && filter.IsRepeatRegister.Value) { cmd = DataCommandManager.CreateCustomDataCommandFromConfig("QueryRegistersForRepeatRegister"); } else { cmd = DataCommandManager.CreateCustomDataCommandFromConfig("QueryRegisters"); } using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, " register.SysNo DESC ")) { #region build conditions #region sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.CustomerSysNo", DbType.Int32, "@CustomerSysNo", QueryConditionOperatorType.Equal, filter.CustomerSysNo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.ProductSysNo", DbType.Int32, "@ProductSysNo", QueryConditionOperatorType.Equal, filter.ProductSysNo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.RequestID", DbType.String, "@RequestID", QueryConditionOperatorType.Equal, filter.RequestID ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.IsRecommendRefund", DbType.Int32, "@IsRecommendRefund", QueryConditionOperatorType.Equal, filter.IsRecommendRefund ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.RequestType", DbType.Int32, "@RequestTypeCode", QueryConditionOperatorType.Equal, filter.RequestType ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.SOSysNo", DbType.Int32, "@SOSysNo", QueryConditionOperatorType.Equal, filter.SOSysNo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.SysNo", DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, filter.RegisterSysNo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "customer.CustomerID", DbType.String, "@CustomerID", QueryConditionOperatorType.Equal, filter.CustomerID ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.CreateTime", DbType.DateTime, "@CreateTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.CreateTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.CreateTime", DbType.DateTime, "@CreateTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.CreateTimeTo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.RevertStatus", DbType.Int32, "@RevertStatusCode", QueryConditionOperatorType.Equal, filter.RevertStatus ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.NewProductStatus", DbType.Int32, "@NewProductStatusCode", QueryConditionOperatorType.Equal, filter.NewProductStatus ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.OutBoundStatus", DbType.Int32, "@OutBoundStatusCode", QueryConditionOperatorType.Equal, filter.OutBoundStatus ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.ReturnStatus", DbType.Int32, "@ReturnStatusCode", QueryConditionOperatorType.Equal, filter.ReturnStatus ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.Status", DbType.Int32, "@StatusCode", QueryConditionOperatorType.Equal, filter.RequestStatus ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.RefundStatus", DbType.Int32, "@RefundStatusCode", QueryConditionOperatorType.Equal, filter.RefundStatus ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.NextHandler", DbType.Int32, "@NextHandlerCode", QueryConditionOperatorType.Equal, filter.NextHandler ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.IsWithin7Days", DbType.Int32, "@IsWithin7Days", QueryConditionOperatorType.Equal, filter.IsWithin7Days ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.RMAReason", DbType.Int32, "@RMAReason", QueryConditionOperatorType.Equal, filter.RMAReason ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "product.PMUserSysNo", DbType.Int32, "@PMUserSysNo", QueryConditionOperatorType.Equal, filter.PMUserSysNo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "category3.Category1SysNo", DbType.Int32, "@C1SysNo", QueryConditionOperatorType.Equal, filter.Category1SysNo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "category3.Category2SysNo", DbType.Int32, "@C2SysNo", QueryConditionOperatorType.Equal, filter.Category2SysNo ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "category3.Category3SysNo", DbType.Int32, "@C3SysNo", QueryConditionOperatorType.Equal, filter.Category3SysNo ); //销售方 if (filter.SellersType != null) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.InvoiceType", DbType.AnsiStringFixedLength, "@InvoiceType", QueryConditionOperatorType.Equal, filter.SellersType ); } //是否已打印标签 if (filter.IsLabelPrinted.HasValue) { string isLabelPrinted = string.Empty; if (filter.IsLabelPrinted == false) { isLabelPrinted = "N"; } else if (filter.IsLabelPrinted == true) { isLabelPrinted = "Y"; } sqlBuilder.ConditionConstructor.AddCondition ( QueryConditionRelationType.AND, "request.IsLabelPrinted", DbType.String, "@IsLabelPrinted", QueryConditionOperatorType.Equal, isLabelPrinted ); } //商家处理结果 sqlBuilder.ConditionConstructor.AddCondition ( QueryConditionRelationType.AND, "register.SellerOperationInfo", DbType.String, "@SellerOperationInfo", QueryConditionOperatorType.Equal, filter.SellerOperationInfo ); if (filter.IsRepeatRegister.HasValue) { if (filter.IsRepeatRegister.Value) { QueryConditionOperatorType qcOperator = QueryConditionOperatorType.MoreThan; if (filter.CompareSymbol == CompareSymbolType.Equal) { qcOperator = QueryConditionOperatorType.Equal; } else if (filter.CompareSymbol == CompareSymbolType.LessThan) { qcOperator = QueryConditionOperatorType.LessThan; } else if (filter.CompareSymbol == CompareSymbolType.MoreThan) { qcOperator = QueryConditionOperatorType.MoreThan; } sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "Repeat.RepeatProductCount", DbType.Int32, "@RepeatProductCount", qcOperator, filter.ProductCount); } else { string feedBackCondition1 = string.Empty; string feedBackCondition2 = string.Empty; feedBackCondition1 = @"SELECT 1 FROM [OverseaServiceManagement].[dbo].[RepeatRegister] WITH(NOLOCK) WHERE SOSysNo = request.SOSysNo AND [ProductSysNo] = register.ProductSysNo AND [CurrentCount] = 1" ; feedBackCondition2 = @"SELECT 1 FROM [OverseaServiceManagement].[dbo].[RepeatRegister] WITH(NOLOCK) WHERE SOSysNo = request.SOSysNo AND [ProductSysNo] = register.ProductSysNo" ; using (GroupCondition group = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddSubQueryCondition( QueryConditionRelationType.AND, null, QueryConditionOperatorType.Exist, feedBackCondition1 ); sqlBuilder.ConditionConstructor.AddSubQueryCondition( QueryConditionRelationType.OR, null, QueryConditionOperatorType.NotExist, feedBackCondition2 ); } } } if (!string.IsNullOrEmpty(filter.NextHandlerList) && filter.NextHandler == RMANextHandler.Dun) { string feedBackCondition = string.Empty; feedBackCondition = "SELECT 1 FROM dbo.RMA_Register_Dunlog Dunlog WITH(NOLOCK) WHERE Dunlog.RegisterSysNo = register.SysNo" + " AND Dunlog.FeedBack IN (" + filter.NextHandlerList + ")"; ConditionConstructor subCondition = sqlBuilder.ConditionConstructor.AddSubQueryCondition( QueryConditionRelationType.AND, null, QueryConditionOperatorType.Exist, feedBackCondition ); } #endregion #region DateTime conditions if (filter.IsUnReceive.HasValue && filter.IsUnReceive.Value) { sqlBuilder.ConditionConstructor.AddNullCheckCondition( QueryConditionRelationType.AND, "request.RecvTime", QueryConditionOperatorType.IsNull ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.RecvTime", DbType.DateTime, "@RecvTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.RecvTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.RecvTime", DbType.DateTime, "@RecvTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.RecvTimeTo ); } if (filter.IsUnReturn.HasValue && filter.IsUnReturn.Value) { sqlBuilder.ConditionConstructor.AddNullCheckCondition( QueryConditionRelationType.AND, "rmareturn.ReturnTime", QueryConditionOperatorType.IsNull ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "rmareturn.ReturnTime", DbType.DateTime, "@ReturnTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.ReturnTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "rmareturn.ReturnTime", DbType.DateTime, "@ReturnTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.ReturnTimeTo ); } if (filter.IsUnRefund.HasValue && filter.IsUnRefund.Value) { sqlBuilder.ConditionConstructor.AddNullCheckCondition( QueryConditionRelationType.AND, "refund.RefundTime", QueryConditionOperatorType.IsNull ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "refund.RefundTime", DbType.DateTime, "@RefundTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.RefundTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "refund.RefundTime", DbType.DateTime, "@RefundTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.RefundTimeTo ); } if (filter.IsUnResponse.HasValue && filter.IsUnResponse.Value) { sqlBuilder.ConditionConstructor.AddNullCheckCondition( QueryConditionRelationType.AND, "register.ResponseTime", QueryConditionOperatorType.IsNull ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.ResponseTime", DbType.DateTime, "@ResponseTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.ResponseTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.ResponseTime", DbType.DateTime, "@ResponseTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.ResponseTimeTo ); } if (filter.IsUnOutbound.HasValue && filter.IsUnOutbound.Value) { sqlBuilder.ConditionConstructor.AddNullCheckCondition( QueryConditionRelationType.AND, "outbound.OutTime", QueryConditionOperatorType.IsNull ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "outbound.OutTime", DbType.DateTime, "@OutBoundTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.OutboundTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "outbound.OutTime", DbType.DateTime, "@OutBoundTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.OutboundTimeTo ); } if (filter.IsUnCheck.HasValue && filter.IsUnCheck.Value) { sqlBuilder.ConditionConstructor.AddNullCheckCondition( QueryConditionRelationType.AND, "register.CheckTime", QueryConditionOperatorType.IsNull ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.CheckTime", DbType.DateTime, "@CheckTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.CheckTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.CheckTime", DbType.DateTime, "@CheckTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.CheckTimeTo ); } if (filter.IsUnRevert.HasValue && filter.IsUnRevert.Value) { sqlBuilder.ConditionConstructor.AddNullCheckCondition( QueryConditionRelationType.AND, "rmarevert.OutTime", QueryConditionOperatorType.IsNull ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "rmarevert.OutTime", DbType.DateTime, "@RevertTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.RevertTimeFrom ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "rmarevert.OutTime", DbType.DateTime, "@RevertTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.RevertTimeTo ); } #endregion #region VIP condition if (filter.IsVIP.HasValue) { using (GroupCondition group = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { if (filter.IsVIP == true) { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "customer.VIPRank", DbType.Int32, "@AutoVIP", QueryConditionOperatorType.Equal, 2 // VIPRank.AutoVIP ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.OR, "customer.VIPRank", DbType.Int32, "@ManualVIP", QueryConditionOperatorType.Equal, 4 // VIPRank.ManualVIP ); } else { sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "customer.VIPRank", DbType.Int32, "@AutoNonVIP", QueryConditionOperatorType.Equal, 1 // VIPRank.AutoNonVIP ); sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.OR, "customer.VIPRank", DbType.Int32, "@ManualNonVIP", QueryConditionOperatorType.Equal, 3 // VIPRank.ManualNonVIP ); } } } #endregion sqlBuilder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "register.CompanyCode", DbType.String, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode ); #endregion cmd.CommandText = MakeSqlWithCondition(filter, sqlBuilder.BuildQuerySql()); EnumColumnList enumList = new EnumColumnList(); enumList.Add("OutBoundStatus", typeof(RMAOutBoundStatus)); enumList.Add("RevertStatus", typeof(RMARevertStatus)); enumList.Add("RefundStatus", typeof(RMARefundStatus)); enumList.Add("ReturnStatus", typeof(RMAReturnStatus)); enumList.Add("NewProductStatus", typeof(RMANewProductStatus)); enumList.Add("Status", typeof(RMARequestStatus)); enumList.Add("InvoiceType", typeof(SellersType)); CodeNamePairColumnList codeNameList = new CodeNamePairColumnList(); codeNameList.Add("RMAReason", "RMA", "RMAReason"); codeNameList.Add("SellerOperationInfo", "RMA", "SellerOperationInfo"); var dt = cmd.ExecuteDataTable(enumList, codeNameList); totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount")); return(dt); } }
public AccessControlEntry CreateAceWithPositionAndGroupCondition(Position position, GroupCondition groupCondition) { using (_transaction.EnterNonDiscardingScope()) { AccessControlEntry entry = AccessControlEntry.NewObject(); entry.UserCondition = UserCondition.SpecificPosition; entry.SpecificPosition = position; entry.GroupCondition = groupCondition; if (groupCondition == GroupCondition.OwningGroup) { entry.GroupHierarchyCondition = GroupHierarchyCondition.ThisAndParent; } return(entry); } }
public DataTable QueryRMARequest(RMARequestQueryFilter filter, out int totalCount) { if (filter == null) { totalCount = -1; return(null); } CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryRequests"); PagingInfoEntity pagingInfo = new PagingInfoEntity() { SortField = filter.PagingInfo.SortBy, StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize, MaximumRows = filter.PagingInfo.PageSize }; using (DynamicQuerySqlBuilder builder = new DynamicQuerySqlBuilder(dataCommand.CommandText, dataCommand, pagingInfo, "request.SysNo DESC")) { #region build query conditions if (filter.CreateDateFrom != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.CreateTime", DbType.DateTime, "@CreateTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.CreateDateFrom); } if (filter.CreateDateTo != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.CreateTime", DbType.DateTime, "@CreateTimeTo", QueryConditionOperatorType.LessThan, filter.CreateDateTo); } if (filter.ReceivedDateFrom != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.RecvTime", DbType.DateTime, "@RecvTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.ReceivedDateFrom); } if (filter.ReceivedDateTo != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.RecvTime", DbType.DateTime, "@RecvTimeTo", QueryConditionOperatorType.LessThan, filter.ReceivedDateTo); } if (filter.ETakeDateFrom != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.ETakeDate", DbType.DateTime, "@ETakeDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.ETakeDateFrom); } if (filter.ETakeDateTo != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.ETakeDate", DbType.DateTime, "@ETakeDateTo", QueryConditionOperatorType.LessThan, filter.ETakeDateTo); } if (!string.IsNullOrEmpty(filter.SOID)) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "so.SOID", DbType.String, "@SOID", QueryConditionOperatorType.Equal, filter.SOID); } if (!string.IsNullOrEmpty(filter.RequestID)) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.RequestID", DbType.String, "@RequestID", QueryConditionOperatorType.Equal, filter.RequestID); } if (filter.IsVIP.HasValue) { using (GroupCondition group = new GroupCondition(builder, QueryConditionRelationType.AND)) { if (filter.IsVIP.Value) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "customer.VIPRank", DbType.Int32, "@AutoVIP", QueryConditionOperatorType.Equal, 2 // VIPRank.AutoVIP ); builder.ConditionConstructor.AddCondition( QueryConditionRelationType.OR, "customer.VIPRank", DbType.Int32, "@ManualVIP", QueryConditionOperatorType.Equal, 4 // VIPRank.ManualVIP ); } else { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "customer.VIPRank", DbType.Int32, "@AutoNonVIP", QueryConditionOperatorType.Equal, 1 // VIPRank.AutoNonVIP ); builder.ConditionConstructor.AddCondition( QueryConditionRelationType.OR, "customer.VIPRank", DbType.Int32, "@ManualNonVIP", QueryConditionOperatorType.Equal, 3 // VIPRank.ManualNonVIP ); } } } if (filter.CustomerSysNo.HasValue) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "customer.SysNo", DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, filter.CustomerSysNo); } if (!string.IsNullOrEmpty(filter.CustomerID)) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "customer.CustomerID", DbType.String, "@CustomerID", QueryConditionOperatorType.Equal, filter.CustomerID); } if (filter.ReceiveUserSysNo.HasValue) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.RecvUserSysNo", DbType.Int32, "@RecvUserSysNo", QueryConditionOperatorType.Equal, filter.ReceiveUserSysNo); } if (filter.IsSubmit.HasValue) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.IsSubmit", DbType.Int32, "@IsSubmit", QueryConditionOperatorType.Equal, filter.IsSubmit); } if (filter.Status.HasValue) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.Status", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.Status ); } if (filter.SysNo.HasValue) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.SysNo", DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, filter.SysNo ); } if (filter.SOSysNo.HasValue) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.SOSysNo", DbType.Int32, "@SOSysNo", QueryConditionOperatorType.Equal, filter.SOSysNo ); } if (!string.IsNullOrEmpty(filter.CompanyCode)) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode ); } if (filter.IsLabelPrinted != null) { string strIsLabelPrinted = "N"; if (filter.IsLabelPrinted.Value) { strIsLabelPrinted = "Y"; } builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.IsLabelPrinted", DbType.AnsiStringFixedLength, "@IsLabelPrinted", QueryConditionOperatorType.Equal, strIsLabelPrinted ); } if (filter.SellersType != null) { if (filter.SellersType == SellersType.Self) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.InvoiceType", DbType.AnsiStringFixedLength, "@InvoiceType", QueryConditionOperatorType.Equal, 0 ); } else { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.InvoiceType", DbType.AnsiStringFixedLength, "@InvoiceType", QueryConditionOperatorType.Equal, 1 ); } } //服务编码 add by norton 2012.11.21 if (!string.IsNullOrEmpty(filter.ServiceCode)) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.ServiceCode", DbType.String, "@ServiceCode", QueryConditionOperatorType.Equal, filter.ServiceCode); } if (filter.AuditUserSysNo.HasValue) { builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "request.AuditUserSysNo", DbType.Int32, "@AuditUserSysNo", QueryConditionOperatorType.Equal, filter.AuditUserSysNo); } if (filter.AuditDateFrom != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.AuditTime", DbType.DateTime, "@AuditDateFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.AuditDateFrom); } if (filter.AuditDateTo != null) { builder.ConditionConstructor.AddCondition( QueryConditionRelationType.AND, "request.AuditTime", DbType.DateTime, "@AuditDateTo", QueryConditionOperatorType.LessThanOrEqual, filter.AuditDateTo); } #endregion dataCommand.CommandText = builder.BuildQuerySql(); #region 扩展字段读取 string columnExtendColumnRMAItemSysNos = string.Empty; //需要读取额外的单件连接数据 if (filter.IsReadRMAItemSysNos) { columnExtendColumnRMAItemSysNos = string.Format(",{0}", "(SELECT [OverseaOrderManagement].[dbo].[UF_GetRMAItemSysNos] (request.SysNo)) as RMAItemSysNos"); } dataCommand.CommandText = dataCommand.CommandText.Replace("#ExtendColRMAItemSysNos#", columnExtendColumnRMAItemSysNos); #endregion dataCommand.SetParameterValue("@StartNumber", filter.PagingInfo.PageSize * filter.PagingInfo.PageIndex); dataCommand.SetParameterValue("@EndNumber", filter.PagingInfo.PageSize * filter.PagingInfo.PageIndex + filter.PagingInfo.PageSize); DataTable dt = dataCommand.ExecuteDataTable("Status", typeof(RMARequestStatus)); totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount")); return(dt); } }
public JsonResult Get(int draw, int start) { var filteredData = _db.tbGroup.AsQueryable(); string parameter = Request.Query["search[value]"].FirstOrDefault(); GroupCondition condition = null; if (parameter != "") { condition = (GroupCondition)JsonConvert.DeserializeObject(parameter, typeof(GroupCondition)); } List <tbGroup> rows = null; if (condition != null) { if (condition.GroupID != "") { filteredData = filteredData.Where(e => e.GroupID.Contains(condition.GroupID)); } if (condition.GroupName != "") { filteredData = filteredData.Where(e => e.GroupName.Contains(condition.GroupName)); } } int recordsTotal = filteredData.Count(); rows = filteredData.OrderBy(e => e.GroupID).Skip(start).Take(10).ToList(); var renderModel = new DataTablesRenderModel { draw = draw, data = rows, length = rows.Count(), recordsFiltered = recordsTotal, recordsTotal = recordsTotal }; return(Json(renderModel)); //////////////// //var filteredData = (from p in _db.ProductInfoes // select new // { // p.ProductNo, // p.ProductName, // p.Spec, // p.Unit, // p.Capcity // }).AsQueryable(); //int recordsTotal = _db.ProductInfoes.Count(); //var rows = filteredData.OrderBy(e => e.ProductNo).ToList(); //var rows = filteredData.OrderBy(e => e.ProductNo).Skip(start).Take(10).ToList(); //rows = filteredData.OrderBy(e => e.ProductNo).Where(s => s.ProductNo == searchProductNo).Skip(start).Take(10).ToList(); //var renderModel = new DataTablesRenderModel //{ // draw = draw, // data = rows, // length = rows.Count(), // recordsFiltered = recordsTotal, // recordsTotal = recordsTotal //}; //return Json(renderModel); }
public DataTable Query(AuditRefundQueryFilter filter, out int totalCount) { DataTable result = null; PagingInfoEntity pagingInfo = new PagingInfoEntity(); if (filter.PagingInfo != null) { MapSortField(filter.PagingInfo); pagingInfo.MaximumRows = filter.PagingInfo.PageSize; pagingInfo.StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize; pagingInfo.SortField = filter.PagingInfo.SortBy; } CustomDataCommand cmd = DataCommandManager.CreateCustomDataCommandFromConfig("GetAuditRefundList"); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingInfo, "SOIncomeBank.SysNo DESC")) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[SysNo]", DbType.Int32, "@SysNo", QueryConditionOperatorType.Equal, filter.Id); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[Status]", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.AuditStatus); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[HaveAutoRMA]", DbType.Int32, "@HaveAutoRMA", QueryConditionOperatorType.Equal, filter.ShipRejected); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[OrderType]", DbType.Int32, "@OrderType", QueryConditionOperatorType.Equal, filter.OrderType); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[RefundPayType]", DbType.Int32, "@RefundType", QueryConditionOperatorType.Equal, filter.RefundPayType); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[RefundReason]", DbType.Int32, "@RMAReason", QueryConditionOperatorType.Equal, filter.RMAReasonCode); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[OrderSysNo]", DbType.Int32, "@RMANumber", QueryConditionOperatorType.Equal, filter.RMANumber); if (!string.IsNullOrEmpty(filter.OrderNumber)) { List <int> OrderNumberList = new List <int>(); int[] OrderNumberArray = Array.ConvertAll <string, int>(filter.OrderNumber.Split('.'), new Converter <string, int>((source) => { return(Convert.ToInt32(string.IsNullOrEmpty(source) ? "0" : source)); })); OrderNumberList.AddRange(OrderNumberArray); sqlBuilder.ConditionConstructor.AddInCondition <int>(QueryConditionRelationType.AND, "SOIncomeBank.SOSysNo", DbType.Int32, OrderNumberList); } sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[CreateTime]", DbType.DateTime, "@CreateTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.CreateTimeFrom); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[CreateTime]", DbType.DateTime, "@CreateTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.CreateTimeTo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[AuditTime]", DbType.DateTime, "@AuditTimeFrom", QueryConditionOperatorType.MoreThanOrEqual, filter.AuditTimeFrom); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[AuditTime]", DbType.DateTime, "@AuditTimeTo", QueryConditionOperatorType.LessThanOrEqual, filter.AuditTimeTo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "RMARefund.Status", DbType.Int32, "@RMAStatus", QueryConditionOperatorType.Equal, filter.RMAStatus); if (filter.CashRelated) { using (GroupCondition group = new GroupCondition(sqlBuilder, QueryConditionRelationType.AND)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "RMARefund.[CashFlag]", DbType.Int32, "@CashFlag", QueryConditionOperatorType.Equal, 0); sqlBuilder.ConditionConstructor.AddNullCheckCondition(QueryConditionRelationType.OR, "RMARefund.[CashFlag]", QueryConditionOperatorType.IsNull); } } sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncome.[Status]", DbType.Int32, "@RefundStatus", QueryConditionOperatorType.Equal, filter.RefundStatus); //为提高性能改为左匹配 if (!string.IsNullOrEmpty(filter.CustomerID)) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, string.Format(" Customer.CustomerID like '{0}%'", filter.CustomerID)); } switch (filter.OperationType) { case OperationSignType.LessThanOrEqual: sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.RefundCashAmt", DbType.Decimal, "@RefundAmount", QueryConditionOperatorType.LessThanOrEqual, filter.RefundAmount); break; case OperationSignType.Equal: sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.RefundCashAmt", DbType.Decimal, "@RefundAmount", QueryConditionOperatorType.Equal, filter.RefundAmount); break; case OperationSignType.MoreThanOrEqual: sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.RefundCashAmt", DbType.Decimal, "@RefundAmount", QueryConditionOperatorType.MoreThanOrEqual, filter.RefundAmount); break; } sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOIncomeBank.[CompanyCode]", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "NetPayExt.[Status]", DbType.Int32, "@WLTRefundStatus", QueryConditionOperatorType.Equal, filter.WLTRefundStatus); if (!string.IsNullOrEmpty(filter.PayTypeSysNo)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOMaster.payTypeSysNo", DbType.Int32, "@payTypeSysNo", QueryConditionOperatorType.Equal, Int32.Parse(filter.PayTypeSysNo)); } if (filter.IsVAT.HasValue) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "SOMaster.IsVAT", DbType.Int32, "@IsVAT", QueryConditionOperatorType.Equal, filter.IsVAT.Value); } if (filter.StockSysNo.HasValue) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, @"exists (SELECT TOP 1 1 FROM OverseaOrderManagement.dbo.V_OM_SO_Item ITEM WITH(NOLOCK) WHERE item.SOSysNo = SOMaster.SysNo AND item.WarehouseNumber = @WareHouseNumber)"); cmd.AddInputParameter("@WareHouseNumber", DbType.Int32, filter.StockSysNo.Value); } cmd.CommandText = sqlBuilder.BuildQuerySql(); cmd.CommandTimeout = TimeOut; EnumColumnList enumColumns = new EnumColumnList(); enumColumns.Add("AuditStatus", typeof(RefundStatus)); enumColumns.Add("OrderType", typeof(RefundOrderType)); enumColumns.Add("RefundStatus", typeof(SOIncomeStatus)); enumColumns.Add("RefundPayType", typeof(RefundPayType)); enumColumns.Add("Source", typeof(NetPaySource)); result = cmd.ExecuteDataTable(enumColumns); totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount")); } return(result); }
public static void GroupCondition(ref GroupCondition gc) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); if(DataHolder.BattleSystem().IsTurnBased()) { gc.firstMove = EditorGUILayout.Toggle("First move", gc.firstMove, GUILayout.Width(mWidth)); if(gc.firstMove) { gc.firstMoveRounds = EditorGUILayout.IntField("Rounds", gc.firstMoveRounds, GUILayout.Width(mWidth)); if(gc.firstMoveRounds < 1) gc.firstMoveRounds = 1; } } else if(DataHolder.BattleSystem().IsActiveTime()) { gc.timebar = EditorGUILayout.FloatField("Start timebar", gc.timebar, GUILayout.Width(mWidth)); } for(int i=0; i<gc.setStatus.Length; i++) { if(DataHolder.StatusValue(i).IsConsumable()) { EditorGUILayout.BeginHorizontal(); gc.setStatus[i] = EditorGUILayout.Toggle("Set "+DataHolder.StatusValues().GetName(i), gc.setStatus[i], GUILayout.Width(mWidth)); if(gc.setStatus[i]) { gc.status[i] = EditorGUILayout.IntField(gc.status[i], GUILayout.Width(mWidth*0.5f)); } EditorGUILayout.EndHorizontal(); } else gc.setStatus[i] = false; } EditorGUILayout.EndVertical(); EditorGUILayout.Separator(); EditorGUILayout.BeginVertical(); for(int i=0; i<gc.effect.Length; i++) { gc.effect[i] = (SkillEffect)EditorTab.EnumToolbar(DataHolder.Effects().GetName(i), (int)gc.effect[i], typeof(SkillEffect)); } EditorGUILayout.EndVertical(); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); }