public virtual QueryResult QueryGiftCardFabricationMaster(GiftCardFabricationFilter filter) { int totalCount; var dataTable = ObjectFactory <IGiftCardQueryDA> .Instance.QueryGiftCardFabricationMaster(filter, out totalCount); return(new QueryResult() { Data = dataTable, TotalCount = totalCount }); }
/// <summary> /// 查询礼品卡制作 /// </summary> /// <param name="filter"></param> /// <param name="totalCount"></param> /// <returns></returns> public DataTable QueryGiftCardFabricationMaster(GiftCardFabricationFilter filter, out int totalCount) { PagingInfoEntity pagingEntity = new PagingInfoEntity(); if (filter.PageInfo == null) { pagingEntity = null; } else { pagingEntity.SortField = filter.PageInfo.SortBy; pagingEntity.MaximumRows = filter.PageInfo.PageSize; pagingEntity.StartRowIndex = filter.PageInfo.PageIndex * filter.PageInfo.PageSize; } var cmd = DataCommandManager.CreateCustomDataCommandFromConfig("GiftCard_QueryGiftCardFabricationMaster"); using (var sqlBuilder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingEntity, "GG.GiftCardFabricationSysNo DESC")) { //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "ChannelID", DbType.String, "@ChannelID", QueryConditionOperatorType.Equal, filter.ChannelID); //sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "B.ReferenceSOSysNo", DbType.Int32, "@ReferenceSOSysNo", QueryConditionOperatorType.Equal, filter.ReferenceSOSysNo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.CompanyCode", DbType.String, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.Title", DbType.String, "@Title", QueryConditionOperatorType.Like, filter.Title); if (filter.Status.HasValue) { if (filter.Status.Value == -2) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, "PV.Status IN (4,6,7,8)"); } else { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.Status", DbType.Int32, "@Status", QueryConditionOperatorType.Equal, filter.Status); } } sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "GM.POSysNo", DbType.Int32, "@POSysNo", QueryConditionOperatorType.Like, filter.POSysNo); if (filter.InDateTo != null) { filter.InDateTo = (filter.InDateTo == filter.InDateFrom ? filter.InDateTo.Value.AddDays(1) : filter.InDateTo); } sqlBuilder.ConditionConstructor.AddBetweenCondition(QueryConditionRelationType.AND, "GM.InDate", DbType.DateTime, "@InDate", QueryConditionOperatorType.LessThanOrEqual, QueryConditionOperatorType.MoreThanOrEqual, filter.InDateTo, filter.InDateFrom); if (filter.Status.HasValue) { cmd.CommandText = sqlBuilder.BuildQuerySql().Replace("#StrWhere2#", " where GG.Status=" + filter.Status.Value).Replace("#StrWhere3#", " where GG.Status=" + filter.Status.Value + " "); } else { cmd.CommandText = sqlBuilder.BuildQuerySql().Replace("#StrWhere2#", "").Replace("#StrWhere3#", ""); } EnumColumnList enumList = new EnumColumnList(); enumList.Add("POStatus", typeof(ECCentral.BizEntity.PO.PurchaseOrderStatus));//前台展示状态 //enumList.Add("CardType", typeof(ECCentral.BizEntity.IM.GiftCardType)); CodeNamePairColumnList pairList = new CodeNamePairColumnList(); pairList.Add("Status", "IM", "GiftCardFabricationStatus"); // var dt = cmd.ExecuteDataTable(enumList, pairList); totalCount = Convert.ToInt32(cmd.GetParameterValue("@TotalCount")); return(dt); } }