/// <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);
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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);
        }