package com.openhis.web.pharmacyWarehousemanage.appservice;

import javax.servlet.http.HttpServletRequest;

import com.core.common.core.domain.R;
import com.openhis.web.pharmacyWarehousemanage.dto.PharmacyWarehouseInitDto;
import com.openhis.web.pharmacyWarehousemanage.dto.PharmacyWarehouseSearchParam;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 药库共通方法
 *
 * @author yuxj
 * @date 2025-07-22
 */
public interface IPharmacyWarehouseCommonService {
    /**
     * 单据初始化
     *
     * @return 初始化信息
     */
    PharmacyWarehouseInitDto init();

    /**
     * 获取药品
     *
     * @param purchaseOrderSearchParam 查询条件
     * @return 药品信息
     */
    R<?> getMedicationInfo(PharmacyWarehouseSearchParam purchaseOrderSearchParam, Integer pageNo, Integer pageSize,
        String searchKey, HttpServletRequest request);

    /**
     * 单据列表
     *
     * @param purchaseOrderSearchParam 查询条件
     * @param pageNo 当前页码
     * @param pageSize 查询条数
     * @param searchKey 模糊查询关键字
     * @param request 请求数据
     * @param locationFlg 仓库flg
     * @param supplyType 单据类型
     * @return 订货单据分页列表
     */
    R<?> getPage(PharmacyWarehouseSearchParam purchaseOrderSearchParam, Integer pageNo, Integer pageSize,
        String searchKey, HttpServletRequest request,String locationFlg,Integer supplyType);

    /**
     * 删除单据
     *
     * @param busNo 单据号
     * @return 操作结果
     */
    R<?> deleteOrder(String busNo);

//    /**
//     * 提交审批
//     *
//     * @param busNo 单据号
//     * @return 操作结果
//     */
//    R<?> submitApproval(String busNo);

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

//    /**
//     * 撤回审批
//     *
//     * @param busNo 单据号
//     * @return 操作结果
//     */
//    R<?> withdrawApproval(String busNo);

}
