package com.openhis.web.pharmacyDispensarymanage.appservice;

import java.util.List;

import com.core.common.core.domain.R;
import com.openhis.web.inventorymanage.dto.ItemChargeDetailDto;
import com.openhis.web.inventorymanage.dto.SupplyItemDetailDto;

/**
 * 药房审批方法
 *
 * @author yuxj
 * @date 2025-07-22
 */
public interface IPharmacyDispensaryReceiptApprovalService {

    /**
     * 请领单同意审批
     *
     * @param busNo 单据号
     * @return 操作结果
     */
    R<?> requisitionOrderAgreeApproval(String busNo);

    /**
     * 药房入库单据审批通过
     *
     * @param busNo 单据号
     * @return 操作结果
     */
    R<?> stockInOrderAgreeApproved(String busNo);

    /**
     * 药库退库审批通过
     *
     * @param busNo 单据号
     * @return 操作结果
     */
    R<?> returnToWarehouseAgreeApproved(String busNo);


//     /**
//     * 药房发药审批通过
//     *
//     * @param busNo 单据号
//     * @return 操作结果
//     */
//     R<?> dispensingAgreeApproved(String busNo);

    /**
     * 药房损益单审批通过
     *
     * @param busNo 单据号
     * @return 操作结果
     */
    R<?> profitLossAgreeApproved(String busNo);

    /**
     * 药房盘点单审批通过
     *
     * @param busNo 单据号
     * @return 操作结果
     */
    R<?> stocktakingAgreepproved(String busNo);
     /**
     * 药房调入单审批通过
     *
     * @param busNo 单据号
     * @return 操作结果
     */
     R<?> transferInAgreeApproved(String busNo);

    /**
     * 药房调出单审批通过
     *
     * @param busNo 单据号
     * @return 操作结果
     */
    R<?> transferOutAgreeApproved(String busNo);

    /**
     * 根据单据号获取供应单据及供应项相关详细信息
     *
     * @param busNo 单据号
     * @return 供应单据及供应项相关详细信息
     */
    List<SupplyItemDetailDto> getSupplyItemDetail(String busNo);


}
