package com.emergency.avenue.storage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.emergency.avenue.admin.api.vo.TreeNode;
import com.emergency.avenue.storage.api.entity.InboundMaterialInfo;
import com.emergency.avenue.storage.api.entity.InboundStatus;
import com.emergency.avenue.common.core.util.R;
import com.emergency.avenue.storage.api.request.InboundInfoRequest;
import com.emergency.avenue.storage.api.request.StorageMaterialsRequest;
import com.emergency.avenue.storage.api.response.InboundInfoResponse;
import com.emergency.avenue.storage.api.response.StorageMaterialsResponse;

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

public interface InboundMaterialService extends IService<InboundMaterialInfo> {

	R<Map<Object, Object>> listMap(Integer id);

	R saveInboundStatus(InboundStatus inboundStatus);

	R<List<InboundInfoResponse>> selectListByDept(InboundInfoRequest inboundInfoRequest);

	R<List<InboundInfoResponse>> selectListByDeptMoney(InboundInfoRequest inboundInfoRequest);

    void exportFxkhwzsljzb(String fileName, String templateFile, List<InboundInfoResponse> data, HttpServletResponse response);

	R<List<StorageMaterialsResponse>> selectListByStorageMaterials(StorageMaterialsRequest storageMaterialsRequest);

	List<TreeNode> getMaterialsTreeByWarehouseId(String warehouseId);
}
