/// <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">退费订单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); }
/// <summary> /// 获取定金详情信息 /// <para>作 者:Huang GaoLiang </para> /// <para>创建时间:2018-11-15 </para> /// </summary> /// <param name="depositOrderId">订单编号</param> /// <param name="companyId">公司编号</param> /// <returns>返回订金详情数据</returns> /// <exception cref="BussinessException"> /// 异常ID:5,数据异常 /// </exception> public DepositOrderDetailResponse GetPrintOrderDetail(long depositOrderId, string companyId) { DepositOrderDetailResponse order = (DepositOrderDetailResponse)GetOrderDetail(depositOrderId, companyId); order.SchoolName = new OrgService().GetAllSchoolList().FirstOrDefault(m => m.SchoolId == order.SchoolId)?.SchoolName; order.PrintNumber = PrintCounterService.Print(_schoolId, PrintBillType.DepositOrderBill); // 根据学生编号获取学生信息 StudentDetailResponse studentInfo = new StudentService(_schoolId).GetStudent(order.StudentId); if (studentInfo == null) { throw new BussinessException((byte)ModelType.Cash, 5); } order.StudentName = studentInfo.StudentName; order.StudentNo = studentInfo.StudentNo; order.LinkMobile = studentInfo.LinkMail; order.Age = studentInfo.Age; return(order); }