/// <summary>
        /// 根据招生专员Id获取收款交接表
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-19</para>
        /// </summary>
        /// <param name="personalId">招生专员Id</param>
        /// <returns>收款交接表信息</returns>
        public OrderHandoverReportResponse GetHandoverListByPersonalId(string personalId)
        {
            //获取招生专员对应的订单交接核对明细
            var handoverDetails = _detailRepository.Value.GetDetailsByPersonalId(this._schoolId, personalId).Result.Where(a => a.HandoverStatus == (int)HandoverStatus.Checked);
            OrderHandoverReportResponse result = GetHandoverList(handoverDetails);

            //获取招生专员信息
            result.PersonalName = EmployeeService.GetByEmployeeId(personalId)?.EmployeeName;
            result.HandoverDate = DateTime.Now;
            return(result);
        }
        /// <summary>
        /// 获取收款交接汇总信息
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-19</para>
        /// </summary>
        /// <param name="handoverDetails">收款交接明细信息列表</param>
        /// <returns>收款交接表信息</returns>
        private OrderHandoverReportResponse GetHandoverList(IEnumerable <TblFinOrderHandoverDetail> handoverDetails)
        {
            OrderHandoverReportResponse report = new OrderHandoverReportResponse();

            if (handoverDetails != null && handoverDetails.Any())
            {
                //获取按订单类型汇总的订单交接核对明细(支付日期等于创建日期的已核对的订单)
                var handoverDetailsByTrade = handoverDetails.Where(a => a.CreateTime.Date == a.PayDate.Date);
                var tradeList = GetHandoverTradeListByTradeType(handoverDetailsByTrade);
                report.TradeList        = tradeList;
                report.TradeTotalAmount = tradeList.Sum(a => a.TotalAmount);

                //获取按日期汇总的订单交接核对明细(往日已收款&今日入系统(本月)的已核对的订单)
                var handoverDetailsByCurrentMonth = handoverDetails.Where(a => a.PayDate.Date != a.CreateTime.Date && a.PayDate.Month == DateTime.Now.Month);
                var currentMonthList = GetHandoverListByDay(handoverDetailsByCurrentMonth);
                report.CurrentMonthList        = currentMonthList.OrderBy(a => a.PayDate).ToList();
                report.CurrentMonthTotalAmount = currentMonthList.Sum(a => a.TotalAmount);

                //获取按日期汇总的订单交接核对明细(往日已收款&今日入系统(往月)的已核对的订单)
                var handoverDetailsByLastMonth = handoverDetails.Where(a => a.PayDate.Date != a.CreateTime.Date && a.PayDate.Month != DateTime.Now.Month);
                var lastMonthList = GetHandoverListByDay(handoverDetailsByLastMonth);
                report.LastMonthList        = lastMonthList.OrderBy(a => a.PayDate).ToList();
                report.LastMonthTotalAmount = lastMonthList.Sum(a => a.TotalAmount);
                //合计金额
                report.TotalAmount = report.TradeTotalAmount + report.CurrentMonthTotalAmount + report.LastMonthTotalAmount;
                //总记录数
                report.TotalRecord = tradeList.Sum(a => a.HandoverNumber) + currentMonthList.Sum(a => a.HandoverNumber) + lastMonthList.Sum(a => a.HandoverNumber);

                //获取按订单类型汇总的订单交接核对明细(所有已核对的订单)
                var tradeAllList     = GetHandoverTradeListByTradeType(handoverDetails);
                var tradeSummaryList = tradeAllList.Select(a => new OrderHandoverTradeSummaryResponse
                {
                    OrderTradeType     = a.OrderTradeType,
                    OrderTradeTypeName = a.OrderTradeTypeName,
                    Cash           = a.Cash,
                    OtherAmount    = a.OtherAmount,
                    PayAmount      = a.PayAmount,
                    TransferAmount = a.TransferAmount,
                    //合计=现钞+刷卡/微信/支付宝+转账+其他
                    TotalAmount = a.Cash + a.PayAmount + a.TransferAmount + a.OtherAmount
                }).ToList();
                report.TradeSummaryList        = tradeSummaryList;
                report.TradeSummaryTotalAmount = tradeSummaryList.Sum(a => a.TotalAmount);
                report.DayIncomeAmout          = tradeSummaryList.Sum(a => a.Cash);//收现钞=所有当前已核对的订单的支付方式是现钞的金额的之和
            }

            return(report);
        }
        /// <summary>
        /// 根据收款交接Id获取收款交接表信息
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-19</para>
        /// </summary>
        /// <param name="handoverId">订单交接Id</param>
        /// <returns>收款交接表信息</returns>
        public OrderHandoverReportResponse GetHandoverListByHandoverId(long handoverId)
        {
            //获取收款交接信息
            var handoverInfo = _repository.Value.GetByHandoverId(handoverId);

            if (handoverInfo != null)
            {
                //获取招生专员对应的订单交接核对明细
                var handoverDetails = _detailRepository.Value.GetDetailsByHandoverId(handoverId).Result;
                //获取收款交接明细的汇总信息
                OrderHandoverReportResponse result = GetHandoverList(handoverDetails);
                result.DayIncomeAmout = handoverInfo.DayIncomeAmout;
                result.HandoverDate   = handoverInfo.HandoverDate;
                result.HandoverUrl    = handoverInfo.HandoverUrl;
                result.InBankAmount   = handoverInfo.InBankAmount;
                result.PersonalName   = handoverInfo.PersonalName;
                result.ReceiptNumber  = handoverInfo.ReceiptNumber;
                result.RecipientUrl   = handoverInfo.RecipientUrl;
                result.Remark         = handoverInfo.Remark;
                return(result);
            }

            return(new OrderHandoverReportResponse());
        }