/// <summary> /// 获取余额退费订单详情 /// <para>作 者:郭伟佳</para> /// <para>创建时间:2018-11-08</para> /// </summary> /// <param name="orderId">订单Id</param> /// <param name="companyId">公司编号</param> /// <returns>订单详情</returns> public override IOrderDetailResponse GetOrderDetail(long orderId, string companyId) { var result = new BalanceRefundOrderDetailResponse(); //获取余额退费订单信息 var refundInfo = _viewBalanceRepository.Value.GetBalanceRefundByOrderId(orderId); if (refundInfo != null) { result = Mapper.Map <BalanceRefundOrderDetailResponse>(refundInfo); //获取其他费用(扣款合计) var refundAmountTypeList = CostService.GetCosts(Dto.TypeCode.LEAVE_CLASS_FEE); var costList = _tblOdrRefundOrderCost.Value.GetrefundOrderIdByCost(orderId).Select(x => new CostDetail { CostName = refundAmountTypeList.FirstOrDefault(k => k.CostId == x.CostId)?.CostName, Amount = x.Amount }).ToList(); result.CostList = costList; //获取余额退班的附件 var attchmentList = new AttchmentService(base._schoolId).GetAttchList(orderId, AttchmentType.ORDER_BALANCE_REFUND); result.AttachmentList = attchmentList; } return(result); }
/// <summary> /// 获取余额退费订单的打印收据详情 /// <para>作 者:郭伟佳</para> /// <para>创建时间:2018-11-28</para> /// </summary> /// <param name="orderId">余额退费订单id</param> /// <returns>余额退费打印信息</returns> public BalanceRefundReceiptDetailResponse GetPrintReceiptDetail(long orderId) { var result = new BalanceRefundReceiptDetailResponse(); //获取余额退费订单信息 var refundInfo = _viewBalanceRepository.Value.GetBalanceRefundByOrderId(orderId); if (refundInfo != null) { //获取余额退费的打印序号 var printNo = PrintCounterService.Print(base._schoolId, PrintBillType.BalanceRefund); //获取其他费用(扣款合计) var refundAmountTypeList = CostService.GetCosts(Dto.TypeCode.BALANCE_FEE); var costList = _tblOdrRefundOrderCost.Value.GetrefundOrderIdByCost(orderId).Select(x => new CostDetail { CostName = refundAmountTypeList.FirstOrDefault(k => k.CostId == x.CostId)?.CostName, Amount = x.Amount }).ToList(); result = new BalanceRefundReceiptDetailResponse { OrderNo = refundInfo.OrderNo, StudentId = refundInfo.StudentId, PrintNo = printNo, CreatorName = refundInfo.CreatorName, Amount = refundInfo.Amount, TotalDeductAmount = refundInfo.TotalDeductAmount, RealRefundAmount = refundInfo.RealRefundAmount, RefundDate = refundInfo.RefundDate, Remark = refundInfo.Remark, CostList = costList, SchoolName = OrgService.GetSchoolBySchoolId(refundInfo.SchoolId)?.SchoolName }; } return(result); }
/// <summary> /// 描述:获取订单详情 /// <para>作 者:瞿琦</para> /// <para>创建时间:2018-11-8</para> /// </summary> /// <param name="refundOrderId">退费订单表主键</param> /// <param name="companayId">公司编号</param> /// <returns>订单详情信息</returns> /// <exception cref="AMS.Core.BussinessException"> /// 异常ID:1,异常描述:系统不存在该退费订单 /// 异常ID:2,异常描述:系统不存在该退班信息 /// 异常ID:3,异常描述:系统不存在该退费订单的支付信息 /// </exception> public override IOrderDetailResponse GetOrderDetail(long refundOrderId, string companayId) { var result = new LeaveClassOrderDetailResponse(); //获取退费订单信息 var refundOrderEntity = base._tblOdrRefundOrderRepository.Value.GetRefundOrderIdByRefundOrder(refundOrderId); if (refundOrderEntity == null) { throw new BussinessException((byte)ModelType.Order, 1); } //获取退班信息 var leaveClassOrder = _tblOdrLeaveClassOrder.Value.GetRefundOrderByLeaveClassOrder(refundOrderId); if (leaveClassOrder == null) { throw new BussinessException((byte)ModelType.Order, 2); } //获取退费订单的支付信息 var refundPay = _tblOdrRefundPay.Value.GetRefundOrderIdByRefundPay(refundOrderId); if (refundPay == null) { throw new BussinessException((byte)ModelType.Order, 3); } //获取其他费用(扣款合计) var refundAmountTypeList = CostService.GetCosts(Dto.TypeCode.LEAVE_CLASS_FEE); var costList = _tblOdrRefundOrderCost.Value.GetrefundOrderIdByCost(refundOrderId).Select(x => new CostDetail { CostName = refundAmountTypeList.FirstOrDefault(k => k.CostId == x.CostId)?.CostName, Amount = x.Amount }).ToList(); //获取退班的附件 var attchmentService = new AttchmentService(base._schoolId); var attchmentList = attchmentService.GetAttchList(refundOrderId, AttchmentType.LEAVE_CLASS_APPLY); //获取退班的课程 var leaveClassOrderDetailList = LeaveSchoolOrderService.GetRefundCourseAmountDetail(refundOrderId, companayId); result.OrderNo = refundOrderEntity.OrderNo; result.RefundDate = refundOrderEntity.CreateTime; result.CreatorId = refundOrderEntity.CreatorId; result.CreatorName = refundOrderEntity.CreatorName; result.EnrollCourseList = leaveClassOrderDetailList; result.StopClassDate = leaveClassOrder.StopClassDate; result.ReceiptStatus = leaveClassOrder.ReceiptStatus; result.TotalDeductAmount = costList; result.Amount = refundOrderEntity.Amount; result.RefundType = (RefundType)refundPay.RefundType; result.Reason = leaveClassOrder.Reason; result.AttachmentUrl = attchmentList; result.BankName = refundPay.BankName; result.BankCardNo = refundPay.BankCardNo; result.BankUserName = refundPay.BankUserName; return(result); }
/// <summary> /// 描述:获取要打印的收据详情 /// <para>作 者:瞿琦</para> /// <para>创建时间:2018-11-8</para> /// </summary> /// <param name="refundOrderId">退费订单Id</param> /// <param name="companyId">公司编号</param> /// <returns>退费订单收据详情</returns> /// <exception cref="AMS.Core.BussinessException"> /// 异常ID:1, 异常描述:系统不存在该退费订单 /// 异常ID:2, 异常描述:系统不存在该退班信息 /// </exception> public LeaveClassOrderReceiptDetailResponse GetPrintReceiptDetail(long refundOrderId, string companyId) { var result = new LeaveClassOrderReceiptDetailResponse(); //获取退费订单信息 var refundOrderEntity = _tblOdrRefundOrderRepository.Value.GetRefundOrderIdByRefundOrder(refundOrderId); if (refundOrderEntity == null) { throw new BussinessException((byte)ModelType.Order, 1); } //获取退班信息 var leaveClassOrder = _tblOdrLeaveClassOrder.Value.GetRefundOrderByLeaveClassOrder(refundOrderId); if (leaveClassOrder == null) { throw new BussinessException((byte)ModelType.Order, 2); } //获取其他费用(扣款合计) var refundAmountTypeList = CostService.GetCosts(Dto.TypeCode.LEAVE_CLASS_FEE); var costList = _tblOdrRefundOrderCost.Value.GetrefundOrderIdByCost(refundOrderId).Select(x => new CostDetail { CostName = refundAmountTypeList.FirstOrDefault(k => k.CostId == x.CostId)?.CostName, Amount = x.Amount }).ToList(); //获取退班的课程 var leaveClassOrderDetailList = LeaveSchoolOrderService.GetRefundCourseAmountDetail(refundOrderId, companyId); var printNo = PrintCounterService.Print(base._schoolId, PrintBillType.LeaveClass); result.RefundDate = refundOrderEntity.CreateTime; result.ReceiptStatus = leaveClassOrder.ReceiptStatus; result.StopClassDate = leaveClassOrder.StopClassDate; result.TotalDeductAmount = costList; result.RefundAmount = refundOrderEntity.Amount; //实退金额=已上课次扣费金额+扣款合计 result.PrintNo = printNo; result.RefundCourseList = leaveClassOrderDetailList; OrgService orgService = new OrgService(); var schoolList = orgService.GetAllSchoolList().FirstOrDefault(x => x.SchoolId.Trim() == leaveClassOrder.SchoolId.Trim()); result.RefundUnit = schoolList == null ? "" : schoolList.SchoolName; return(result); }