/// <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); }
/// <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); }
/// <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); }