Exemplo n.º 1
0
        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);
            });
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }