package cn.iocoder.yudao.module.system.service.biz;


import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.*;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.RefundSettlementOrderDO;

/**
 * 长者退住结算单 Service 接口
 *
 * @author 系统管理员
 */
public interface RefundSettlementOrderService {


    PageResult<RefundSettlementOrderDO> getRefundSettlementOrderPage(RefundSettlementOrderPageReqVO pageReqVO);

    RefundSettlementOrderRespVO getRefundSettlementOrder(Long id);
    
    RefundSettlementOrderRespVO getRefundSettlementOrderDetails(Long id);

    /**
     * 获取虚拟账单详情（新的简化版接口）
     * 
     * @param id 退住结算单ID
     * @return 虚拟账单详情
     */
    RefundSettlementOrderRespVO getVirtualRefundSettlementOrder(Long id);


//    void settleAccounts(ExpensePayOrderSaveReqVO saveReqVO);

    void refundSupplementarySettlement(RefundSupplementarySettlementSaveReqVO saveReqVO);

    RefundSupplementarySettlementRespVO getRefundSupplementarySettlement(Long refundSettlementOrderId);

    void settleVirtualRefundOrder(ExpensePayOrderSaveReqVO saveReqVO);

    RefundSettledOrderDetailVO getSettledRefundOrderDetail(Long id);

    void editRefundSettlementOrder(RefundSettlementOrderRespVO respVO);
}