package org.springblade.modules.material.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.material.pojo.dto.MaterialDTO;
import org.springblade.modules.material.pojo.entity.MaterialEntity;
import org.springblade.modules.material.pojo.vo.EmpGetFittingOutVo;
import org.springblade.modules.material.pojo.vo.MaterialVO;
import org.springblade.modules.nh.excel.MaterialExcel;
import org.springblade.modules.order.pojo.vo.SelectVo;

import java.util.List;

/**
 * 物料库存 服务类
 *
 * @author cswang
 * @since 2024-08-25
 */
public interface IMaterialService extends BaseService<MaterialEntity> {
	/**
	 * 自定义分页
	 *
	 * @param page
	 * @param material
	 * @return
	 */
	IPage<MaterialVO> selectMaterialPage(IPage<MaterialVO> page, MaterialVO material);


	/**
	 * 导出数据
	 *
	 * @param queryWrapper
	 * @return
	 */
	List<MaterialExcel> exportMaterial(Wrapper<MaterialEntity> queryWrapper);


	 MaterialEntity getByMaterialCode(String materialCode);

	void importMaterial(List<MaterialExcel> data, Boolean isCovered);

	MaterialDTO getMaterialDetailByCode(String materialCode);

	boolean empGetFittingOut(EmpGetFittingOutVo empGetFittingOutVo);

	List<SelectVo> getOrderListByNumber(String number);
}
