Ejemplo n.º 1
0
        /// <summary>
        /// 获取未交接的定金订单列表(问题单与未交接)
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-21</para>
        /// </summary>
        /// <param name="personalId">招生专员Id</param>
        /// <returns>收款交接订单添加的实体列表</returns>
        public List <OrderHandleAddResponse> GetUnHandleAddList(string personalId)
        {
            var result = new List <OrderHandleAddResponse>();
            //获取招生专员对应的学生报名信息
            var depositOrderInfoList = new DepositOrderService(_schoolId).GetDepositOrderByPayee(personalId).Result.Where(a => a.OrderStatus == (int)OrderStatus.Paid).ToList();

            if (depositOrderInfoList != null && depositOrderInfoList.Count > 0)
            {
                //获取招生专员对应的订单交接核对明细信息
                var handoverDetailList = _detailRepository.Value.GetDetailsByPersonalId(_schoolId, personalId).Result;
                //获取定金订单问题单/未交接的数据
                var depositOrderList = depositOrderInfoList.Where(a => !handoverDetailList.Any(b => b.OrderId == a.DepositOrderId &&
                                                                                               b.OrderTradeType == (int)OrderTradeType.DepositOrder) ||
                                                                  (handoverDetailList.Exists(c => a.DepositOrderId == c.OrderId &&
                                                                                             c.OrderTradeType == (int)OrderTradeType.DepositOrder &&
                                                                                             c.HandoverStatus == (int)HandoverStatus.Problematic)));
                if (depositOrderList != null && depositOrderList.Any())
                {
                    result = depositOrderList.Select(a => new OrderHandleAddResponse
                    {
                        OrderId        = a.DepositOrderId,
                        OrderTradeType = (int)OrderTradeType.DepositOrder,
                        CreateTime     = a.CreateTime
                    }).ToList();
                }
            }
            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取定金未交接的核对明细信息
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-15</para>
        /// </summary>
        /// <param name="personalId">招生专员Id</param>
        /// <returns>订单未交接列表</returns>
        public List <OrderUnHandoverListResponse> GetUnHandList(string personalId)
        {
            List <OrderUnHandoverListResponse> result = new List <OrderUnHandoverListResponse>();
            //获取招生专员对应的学生报名信息
            var depositOrderInfoList = new DepositOrderService(_schoolId).GetDepositOrderByPayee(personalId).Result.Where(a => a.OrderStatus == (int)OrderStatus.Paid).ToList();

            if (depositOrderInfoList != null && depositOrderInfoList.Count > 0)
            {
                //获取学生信息
                var studentInfoList = StudentService.GetStudentByIds(depositOrderInfoList.Select(a => a.StudentId)).Result;
                //获取招生专员对应的订单交接核对明细信息
                var handoverDetailList = _detailRepository.Value.GetDetailsByPersonalId(_schoolId, personalId).Result;
                //过滤定金订单已交接的数据
                var depositOrderList = depositOrderInfoList.Where(a => !handoverDetailList.Any(b => b.OrderId == a.DepositOrderId &&
                                                                                               b.OrderTradeType == (int)OrderTradeType.DepositOrder) ||
                                                                  (handoverDetailList.Exists(c => a.DepositOrderId == c.OrderId &&
                                                                                             c.OrderTradeType == (int)OrderTradeType.DepositOrder &&
                                                                                             c.HandoverStatus != (int)HandoverStatus.Handover)));
                foreach (var item in depositOrderList)
                {
                    //学生对应的学生信息
                    var studentInfo = studentInfoList.FirstOrDefault(s => s.StudentId == item.StudentId);
                    OrderUnHandoverListResponse handoverModel = new OrderUnHandoverListResponse()
                    {
                        OrderId       = item.DepositOrderId,
                        OrderNo       = item.OrderNo,
                        StudentNo     = studentInfo?.StudentNo,
                        StudentName   = studentInfo?.StudentName,
                        PayAmount     = item.Amount,
                        TradeType     = (int)OrderTradeType.DepositOrder,
                        TradeTypeName = EnumName.GetDescription(typeof(OrderTradeType), (int)OrderTradeType.DepositOrder),//定金
                        Status        = (int)TransferStatus.UnTransfer,
                        StatusName    = EnumName.GetDescription(typeof(TransferStatus), (int)TransferStatus.UnTransfer),
                        Remark        = item.Remark,
                        CreateTime    = item.CreateTime
                    };
                    //报单订单对应的订单交接核对明细信息
                    var handoverDetail = handoverDetailList.FirstOrDefault(h => h.PersonalId == item.PayeeId && h.OrderId == item.DepositOrderId);
                    if (handoverDetail != null)
                    {
                        handoverModel.Status     = handoverDetail.HandoverStatus.Value;
                        handoverModel.StatusName = EnumName.GetDescription(typeof(HandoverStatus), handoverDetail.HandoverStatus);
                    }
                    result.Add(handoverModel);
                }
            }
            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取下一需要交接的订单
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-19</para>
        /// </summary>
        /// <param name="personalId">招生专员Id</param>
        /// <param name="orderId">已核对的订单Id</param>
        /// <returns>添加收款交接订单实体返回类</returns>
        public OrderHandleAddResponse GetNextHandoverOrder(string personalId, long orderId)
        {
            OrderHandleAddResponse result = new OrderHandleAddResponse();
            var depositOrderInfoList      = new DepositOrderService(_schoolId).GetDepositOrderByPayee(personalId).Result.Where(a => a.OrderStatus == (int)OrderStatus.Paid).ToList();

            if (depositOrderInfoList != null && depositOrderInfoList.Count > 0)
            {
                //获取时间最早的一笔未交接的报名订单,下一步进行核对
                var depositOrderInfo = depositOrderInfoList.OrderBy(o => o.CreateTime).FirstOrDefault(a => a.DepositOrderId != orderId);
                if (depositOrderInfo != null)
                {
                    result.OrderId        = depositOrderInfo.DepositOrderId;
                    result.OrderTradeType = (int)OrderTradeType.DepositOrder;
                }
            }
            return(result);
        }