Пример #1
0
        public virtual QueryResult ExportQuerySO(SOQueryFilter request)
        {
            var dataSet = ObjectFactory <ISOIncomeQueryDA> .Instance.ExportQuerySO(request);

            return(new QueryResult()
            {
                Data = dataSet.Tables["Table"], TotalCount = dataSet.Tables["Table"].Rows.Count
            });
        }
Пример #2
0
        public void ExportConfirmFailed(string soSysNo, ColumnSet[] columnSet)
        {
            SOQueryFilter filter = new SOQueryFilter();

            filter.SOSysNo    = soSysNo;
            filter.PagingInfo = new PagingInfo()
            {
                PageIndex = 0,
                PageSize  = ECCentral.Portal.Basic.ConstValue.MaxRowCountLimit,
                SortBy    = "sm.SysNo desc"
            };


            string relativeUrl = "/InvoiceService/SOIncome/ExportQuerySO";

            restClient.ExportFile(relativeUrl, filter, columnSet);
        }
Пример #3
0
        public virtual QueryResultList QuerySO(SOQueryFilter request)
        {
            int totalCount;
            var dataSet = ObjectFactory <ISOIncomeQueryDA> .Instance.QuerySO(request, out totalCount);

            return(new QueryResultList()
            {
                new QueryResult()
                {
                    Data = dataSet.Tables["DataResult"], TotalCount = totalCount
                },
                new QueryResult()
                {
                    Data = dataSet.Tables["StatisticResult"]
                }
            });
        }
Пример #4
0
        /// <summary>
        /// 自动确认收款单时查询未确认收款的订单
        /// </summary>
        public void QuerySO(string soSysNo, int pageSize, int pageIndex, string sortField, Action <dynamic> callback)
        {
            SOQueryFilter filter = new SOQueryFilter();

            filter.SOSysNo    = soSysNo;
            filter.PagingInfo = new PagingInfo()
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                SortBy    = sortField
            };

            string relativeUrl = "/InvoiceService/SOIncome/QuerySO";

            restClient.QueryDynamicData(relativeUrl, filter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                callback(args.Result);
            });
        }
Пример #5
0
        public static QueryResult <SOInfo> SOQuery(SOQueryFilter queryFilter)
        {
            CustomDataCommand command = DataCommandManager.CreateCustomDataCommandFromConfig("SOQuery");

            using (
                var sqlBuilder = new DynamicQuerySqlBuilder(command.CommandText, command, queryFilter,
                                                            string.IsNullOrEmpty(queryFilter.SortFields) ? "s.SysNo ASC" : queryFilter.SortFields))
            {
                if (queryFilter.SOSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND,
                                                                       string.Format("(so.SysNo = {0} or sc.SoSplitMaster = {0})", queryFilter.SOSysNo));
                }

                if (queryFilter.OrderDateBegin.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "so.OrderDate",
                                                                 DbType.DateTime, "@OrderDateBegin",
                                                                 QueryConditionOperatorType.MoreThanOrEqual, queryFilter.OrderDateBegin);
                }

                if (queryFilter.OrderDateEnd.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "so.OrderDate",
                                                                 DbType.DateTime, "@OrderDateEnd",
                                                                 QueryConditionOperatorType.LessThan, queryFilter.OrderDateEnd.Value.Date.AddDays(1));
                }

                if (!string.IsNullOrWhiteSpace(queryFilter.CustomerID))
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "cust.CustomerID",
                                                                 DbType.String, "@CustomerID",
                                                                 QueryConditionOperatorType.Equal, queryFilter.CustomerID);
                }

                if (queryFilter.ProductSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND,
                                                                       string.Format(@"(so.SysNo in (SELECT si.sosysno
			                            from ipp3..so_item si(nolock)
			                            WHERE  si.ProductSysNo = {0}))"            , queryFilter.ProductSysNo));
                }

                if (!string.IsNullOrWhiteSpace(queryFilter.ReceivePhone))
                {
                    sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND,
                                                                       "(so.ReceivePhone = @ReceivePhone OR so.ReceiveCellPhone = @ReceivePhone)");
                    command.AddInputParameter("@ReceivePhone", DbType.String, queryFilter.ReceivePhone);
                }

                if (queryFilter.SOStatus.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "so.Status",
                                                                 DbType.Int32, "@SOStatus",
                                                                 QueryConditionOperatorType.Equal, (int)queryFilter.SOStatus.Value);
                }

                if (queryFilter.PayTypeSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "so.PayTypeSysNo",
                                                                 DbType.Int32, "@PayTypeSysNo",
                                                                 QueryConditionOperatorType.Equal, queryFilter.PayTypeSysNo);
                }

                if (queryFilter.ShipTypeSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "so.ShipTypeSysNo",
                                                                 DbType.Int32, "@ShipTypeSysNo",
                                                                 QueryConditionOperatorType.Equal, queryFilter.ShipTypeSysNo);
                }

                if (queryFilter.ConsolidatedPaymentStatus.HasValue)
                {
                    //已支付未审核
                    if (queryFilter.ConsolidatedPaymentStatus == ConsolidatedPaymentStatus.PaymentWaitApprove)
                    {
                        sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND,
                                                                           "(netpay.Status = 0)");
                    }
                    //未支付
                    else if (queryFilter.ConsolidatedPaymentStatus == ConsolidatedPaymentStatus.PaymentNone)
                    {
                        sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND,
                                                                           "(netpay.SysNo IS NULL OR netpay.Status = -1)");
                    }
                    // 匹配SOIncome状态
                    else
                    {
                        sqlBuilder.ConditionConstructor.AddCustomCondition(QueryConditionRelationType.AND,
                                                                           "fs.Status = " + (int)queryFilter.ConsolidatedPaymentStatus.Value);
                    }
                }

                if (queryFilter.MerchantSysNo.HasValue)
                {
                    sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "sc.MerchantSysNo",
                                                                 DbType.Int32, "@MerchantSysNo",
                                                                 QueryConditionOperatorType.Equal, queryFilter.MerchantSysNo);
                }

                if (string.IsNullOrWhiteSpace(queryFilter.SortFields))
                {
                    queryFilter.SortFields = "so.[OrderDate] DESC";
                }


                command.CommandText = sqlBuilder.BuildQuerySql();
                List <SOInfo> resultList = command.ExecuteEntityList <SOInfo>();
                int           totalCount = Convert.ToInt32(command.GetParameterValue("@TotalCount"));

                return(new QueryResult <SOInfo>
                {
                    PageInfo = new PageInfo
                    {
                        PageIndex = queryFilter.PageIndex,
                        PageSize = queryFilter.PageSize,
                        TotalCount = totalCount,
                        SortBy = queryFilter.SortFields
                    },
                    ResultList = resultList
                });
            }
        }