package com.kcim.service;

import com.kcim.dao.model.*;
import com.kcim.web.request.ItemMapRequest;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @program: CostAccount
 * @description: 收费项目管理接口
 * @author: Wang.YS
 * @create: 2023-11-10 14:18
 **/

public interface ItemService {
    Object getItemList(Integer current, Integer pageSize, String name, Integer type);

    void addItem(Item request);

    void editItem(Item request);

    void deleteItem(Integer id);

    Object exportItem(HttpServletResponse response);

    void importItem(MultipartFile file);

    void matchItemAndStandItem(String progressKey);

    Object getStandItemDict(String name);

    List<OrderItemMap> getItemDict(String name);
    
    Object getItemEmpMap(String itemCode, String departmentCode);

    void addItemEmpMap(ItemEmpMap request);

    void editItemEmpMap(ItemEmpMap request);

    void deleteItemEmpMap(Integer id);

    Object getItemEquipmentMap(String itemCode, String departmentCode);

    void addItemEquipmentMap(ItemEquipmentMap request);

    void editItemEquipmentMap(ItemEquipmentMap request);

    void deleteItemEquipmentMap(Integer id);

    Object getItemSpaceMap(String itemCode, String departmentCode);

    void addItemSpaceMap(ItemSpaceMap request);

    void editItemSpaceMap(ItemSpaceMap request);

    void deleteItemSpaceMap(Integer id);

    Object getItemNoValuationDrugMaterialMap(String itemCode, String departmentCode);

    void addItemNoValuationDrugMaterialMap(ItemMapRequest request);

    void editItemNoValuationDrugMaterialMap(ItemNoValuationDrugMaterialMap request);

    void deleteItemNoValuationDrugMaterialMap(Integer id);

    Object getItemValuationDrugMaterialMap(String itemCode, String departmentCode);

    void addItemValuationDrugMaterialMap(ItemMapRequest request);

    void editItemValuationDrugMaterialMap(ItemValuationDrugMaterialMap request);

    void deleteItemValuationDrugMaterialMap(Integer id);

    void batchDeleteItemNoValuationDrugMaterialMap(List<Integer> ids);

    void batchDeleteItemValuationDrugMaterialMap(List<Integer> ids);

    Object getItemDict(Integer type, String itemCode, String name);

    Object getReferralMatch(String itemCode, String departmentCode);


    Object getMatchCount();

    Object getSingleItem(String itemCode, String departmentCode);

    Object getSingleItemList();

    void matchItem(String itemCode, String standItemCode, Integer type, String departmentCode);
}
