Exemple #1
0
        public virtual QueryResult ExportTrackingInfo(TrackingInfoQueryFilter request)
        {
            int totalCount;
            var dataSet = ObjectFactory <ITrackingInfoQueryDA> .Instance.QueryTrackingInfo(request, out totalCount);

            var dataTable = dataSet.Tables["DataResult"];

            dataTable.Columns.Add("EditInfo");
            foreach (DataRow row in dataTable.Rows.AsParallel())
            {
                if (!row.IsNull("EditUser") && !string.IsNullOrWhiteSpace(row["EditUser"].ToString()))
                {
                    row["EditInfo"] = string.Format("{0}\r\n{1}", row["EditUser"].ToString().Split('\\')[0], ((DateTime)row["EditDate"]).ToString(InvoiceConst.StringFormat.LongDateFormat));
                }
                else
                {
                    row["EditInfo"] = DBNull.Value;
                }
            }
            return(new QueryResult()
            {
                Data = dataTable
                , TotalCount = dataTable.Rows.Count
            });
        }
Exemple #2
0
        /// <summary>
        /// 查询-逾期未收款订单
        /// </summary>
        /// <param name="query"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <param name="sortField"></param>
        /// <param name="callback"></param>
        public void QueryTrackingInfo(TrackingInfoQueryVM query, int pageSize, int pageIndex, string sortField, Action <TrackingInfoQueryResultVM> callback)
        {
            TrackingInfoQueryFilter filter = query.ConvertVM <TrackingInfoQueryVM, TrackingInfoQueryFilter>();

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

            string relativeUrl = "/InvoiceService/TrackingInfo/Query";

            restClient.QueryDynamicData(relativeUrl, filter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                TrackingInfoQueryResultVM result = new TrackingInfoQueryResultVM();
                if (args.Result[0] != null && args.Result[0].Rows != null)
                {
                    Action <dynamic, TrackingInfoVM> manualMap = new Action <dynamic, TrackingInfoVM>(TrackingInfoMapper);
                    result.ResultList = DynamicConverter <TrackingInfoVM> .ConvertToVMList(args.Result[0].Rows, manualMap, "LossType");
                    result.TotalCount = args.Result[0].TotalCount;
                }
                if (args.Result[1] != null && args.Result[1].Rows != null && !(args.Result[1].Rows is DynamicXml.EmptyList))
                {
                    result.Statistic = DynamicConverter <TrackingInfoQueryStatisticVM> .ConvertToVM(args.Result[1].Rows[0]);
                }
                callback(result);
            });
        }
Exemple #3
0
        /// <summary>
        /// 导出跟踪单
        /// </summary>
        /// <param name="queryVM"></param>
        /// <param name="columnSet"></param>
        public void ExportTrackingInfoExcelFile(TrackingInfoQueryVM queryVM, ColumnSet[] columnSet)
        {
            TrackingInfoQueryFilter queryFilter = queryVM.ConvertVM <TrackingInfoQueryVM, TrackingInfoQueryFilter>();

            queryFilter.PagingInfo = new PagingInfo
            {
                PageSize  = ECCentral.Portal.Basic.ConstValue.MaxRowCountLimit,
                PageIndex = 0,
                SortBy    = "Temp.SysNo desc"
            };
            queryFilter.CompanyCode = CPApplication.Current.CompanyCode;
            string relativeUrl = "/InvoiceService/TrackingInfo/Export";

            restClient.ExportFile(relativeUrl, queryFilter, columnSet);
        }
Exemple #4
0
        public virtual QueryResultList QueryTrackingInfo(TrackingInfoQueryFilter request)
        {
            int totalCount;
            var dataSet = ObjectFactory <ITrackingInfoQueryDA> .Instance.QueryTrackingInfo(request, out totalCount);

            return(new QueryResultList()
            {
                new QueryResult()
                {
                    Data = dataSet.Tables["DataResult"], TotalCount = totalCount
                },
                new QueryResult()
                {
                    Data = dataSet.Tables["StatisticResult"]
                }
            });
        }
Exemple #5
0
        public DataSet QueryTrackingInfo(TrackingInfoQueryFilter filter, out int totalCount)
        {
            DataSet           result     = null;
            PagingInfoEntity  pagingInfo = CreatePagingInfo(filter.PagingInfo);
            CustomDataCommand cmd        = DataCommandManager.CreateCustomDataCommandFromConfig("QueryTrackingInfo");

            using (DynamicQuerySqlBuilder builder = new DynamicQuerySqlBuilder(cmd.CommandText, cmd, pagingInfo, "Temp.SysNo desc"))
            {
                if (!string.IsNullOrEmpty(filter.OrderSysNo))
                {
                    var orderSysNoList = filter.OrderSysNo.Split('.').ToList()
                                         .ConvertAll(x => Convert.ToInt32(x.Trim()));

                    builder.ConditionConstructor.AddInCondition <int>(QueryConditionRelationType.AND, "Temp.OrderSysNo", DbType.Int32, orderSysNoList);
                }

                var statusList = new List <string>();
                //业务跟进
                if (filter.HasStatusFollow)
                {
                    statusList.Add("A");
                }
                //提交报损
                if (filter.HasStatusSubmit)
                {
                    statusList.Add("S");
                }
                //核销完毕
                if (filter.HasStatusConfirm)
                {
                    statusList.Add("C");
                }

                //部分选择时再添加该条件
                if (statusList.Count > 0 && statusList.Count < 3)
                {
                    builder.ConditionConstructor.AddInCondition <string>(QueryConditionRelationType.AND, "Temp.Status", DbType.AnsiStringFixedLength, statusList);
                }

                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.OrderType", DbType.Int32, "@OrderType", QueryConditionOperatorType.Equal, filter.OrderType);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.IncomeStyle", DbType.Int32, "@IncomeStyle", QueryConditionOperatorType.Equal, filter.IncomeStyle);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.PayTypeSysNo", DbType.Int32, "@PayTypeSysNo", QueryConditionOperatorType.Equal, filter.PayTypeSysNo);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.OutDate", DbType.DateTime, "@OutFromDate", QueryConditionOperatorType.MoreThanOrEqual, filter.OutFromDate);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.OutDate", DbType.DateTime, "@OutToDate", QueryConditionOperatorType.LessThanOrEqual, filter.OutToDate);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.ShipTypeSysNo", DbType.Int32, "@ShipTypeSysNo", QueryConditionOperatorType.Equal, filter.ShipTypeSysNo);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.LossType", DbType.Int32, "@LossType", QueryConditionOperatorType.Equal, filter.LossType);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.ResponsibleUserName", DbType.String, "@ResponsibleUserName", QueryConditionOperatorType.Equal, filter.ResponsibleUserName);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.InType", DbType.Int32, "@InType", QueryConditionOperatorType.Equal, filter.InType);
                builder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND, "Temp.CompanyCode", DbType.AnsiStringFixedLength, "@CompanyCode", QueryConditionOperatorType.Equal, filter.CompanyCode);

                cmd.AddOutParameter("@OrderAmt", DbType.Double, 12);
                cmd.AddOutParameter("@PrepayAmt", DbType.Double, 12);
                cmd.AddOutParameter("@GiftCardPayAmt", DbType.Double, 12);
                cmd.AddOutParameter("@IncomeAmt", DbType.Double, 12);
                cmd.AddOutParameter("@UnpayedAmt", DbType.Double, 12);

                cmd.CommandText = builder.BuildQuerySql();

                result = ExecuteDataCommandForTrackingInfo(cmd, out totalCount);
            }
            return(result);
        }