public void QueryPOSPayConfirmList(POSPayQueryVM query, int pageSize, int pageIndex, string sortField, Action <POSPayQueryResultVM> callback) { POSPayQueryFilter filter = query.ConvertVM <POSPayQueryVM, POSPayQueryFilter>(); filter.PagingInfo = new PagingInfo() { PageIndex = pageIndex, PageSize = pageSize, SortBy = sortField }; string relativeUrl = "/InvoiceService/POSPay/QueryConfirmList"; restClient.QueryDynamicData(relativeUrl, filter, (obj, args) => { if (args.FaultsHandle()) { return; } POSPayQueryResultVM result = new POSPayQueryResultVM(); if (args.Result[0] != null && args.Result[0].Rows != null) { result.ResultList = DynamicConverter <POSPayVM> .ConvertToVMList(args.Result[0].Rows); result.TotalCount = args.Result[0].TotalCount; } if (args.Result[1] != null && args.Result[1].Rows != null) { result.Statistic = DynamicConverter <POSPayQueryStatisticVM> .ConvertToVMList(args.Result[1].Rows); } callback(result); }); }
public virtual QueryResultList QueryPOSPay(POSPayQueryFilter request) { int totalCount; var dataSet = ObjectFactory <IPOSPayQueryDA> .Instance.QueryPOSPayConfirmList(request, out totalCount); var list = new QueryResultList(); list.Add(new QueryResult { Data = dataSet.Tables[0], TotalCount = totalCount }); list.Add(new QueryResult { Data = dataSet.Tables[1], TotalCount = 2 }); //return new QueryResultList() //{ // new QueryResult(){ Data = dataSet.Tables[0], TotalCount = totalCount}, // new QueryResult(){ Data = dataSet.Tables[1], TotalCount = 2} //}; return(list); }
public DataSet QueryPOSPayConfirmList(POSPayQueryFilter query, out int totalCount) { DataSet result = null; PagingInfoEntity pagingInfo = new PagingInfoEntity(); if (query.PagingInfo != null) { MapSortField(query.PagingInfo); pagingInfo.MaximumRows = query.PagingInfo.PageSize; pagingInfo.StartRowIndex = query.PagingInfo.PageIndex * query.PagingInfo.PageSize; pagingInfo.SortField = query.PagingInfo.SortBy; } CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("QueryPOSPayConfirmList"); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder( dataCommand.CommandText, dataCommand, pagingInfo, "b.SoSysNo desc")) { string OutTimeFieldName = string.Empty; sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "b.Source", DbType.String, "@Source", QueryConditionOperatorType.Equal, "POS"); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "b.POSTerminalID", DbType.String, "@POSTerminalID", QueryConditionOperatorType.Equal, query.POSTerminalID); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "b.PayedDate", DbType.Date, "@PayedDateFrom", QueryConditionOperatorType.MoreThanOrEqual, query.PayedDateFrom); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "b.PayedDate", DbType.Date, "@PayedDateTo", QueryConditionOperatorType.LessThan, query.PayedDateTo); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "b.AttachInfo", DbType.String, "@POSPayTypeCode", QueryConditionOperatorType.Equal, query.POSPayType); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "a.Status", DbType.AnsiStringFixedLength, "@AutoConfirmStatus", QueryConditionOperatorType.Equal, query.AutoConfirmStatus); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "f.Status", DbType.Int32, "@SOIncomeStatus", QueryConditionOperatorType.Equal, query.SOIncomeStatus); sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "b.AttachInfo2", DbType.String, "@CombineNumber", QueryConditionOperatorType.Equal, query.CombineNumber); if (!string.IsNullOrEmpty(query.SOSysNo)) { int sysNo; var soSysNoList = query.SOSysNo.Split('.').ToList(); soSysNoList.RemoveAll(s => !int.TryParse(s, out sysNo)); if (soSysNoList.Count > 0) { sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND, string.Format("b.SoSysNo IN({0})", string.Join(",", soSysNoList))); } } //出库时间(考虑并单的出库时间) string fsWhere = string.Empty; string scWhere = string.Empty; string outTimeWhere = string.Empty; if (query.OutDateFrom.HasValue) { fsWhere += " AND f.OutTime>=@SOOutDateFrom "; scWhere += " AND g.MergeOutTime>=@SOOutDateFrom "; dataCommand.AddInputParameter("@SOOutDateFrom", DbType.DateTime, query.OutDateFrom.Value); } if (query.OutDateTo.HasValue) { fsWhere += " AND f.OutTime<@SOOutDateTo "; scWhere += " AND g.MergeOutTime<@SOOutDateTo "; dataCommand.AddInputParameter("@SOOutDateTo", DbType.DateTime, query.OutDateTo); } if (query.OutDateFrom.HasValue || query.OutDateTo.HasValue) { outTimeWhere = " AND ((g.IsCombine=0 " + fsWhere + ") OR (g.IsCombine=1 " + scWhere + ")) "; } dataCommand.AddOutParameter("@OrderAmt", DbType.Double, 50); dataCommand.AddOutParameter("@PayedAmt", DbType.Double, 50); dataCommand.AddOutParameter("@ConfirmedAmt", DbType.Double, 50); dataCommand.AddOutParameter("@SOIncomeAmt", DbType.Double, 50); dataCommand.CommandText = sqlBuilder.BuildQuerySql(); dataCommand.CommandText = dataCommand.CommandText.Replace("/*#StrWhere1#*/", outTimeWhere.ToString()); result = ExecuteDataCommand(dataCommand, out totalCount); } return(result); }