package com.gkhy.hazmat.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.hazmat.system.domain.HzHazmat;
import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO;
import com.gkhy.hazmat.system.domain.vo.HzHazmatUseVO;
import com.gkhy.hazmat.system.domain.vo.HzHazmatWarehouseVO;
import com.gkhy.hazmat.system.domain.vo.TabooDisVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
*
* 危化品表 Mapper 接口
*
*
* @author kzy
* @since 2024-08-05 14:41:40
*/
@Mapper
public interface HzHazmatMapper extends BaseMapper {
/**
* 删除危化品
* @param hazmatId
*/
void deleteHazmatById(Long hazmatId);
/**
* 分页获取危化品列表
* @param hzHazmat
* @return
*/
List selectHazmatList(HzHazmat hzHazmat);
/**
* 获取指定仓库库存
* @param warehouseId
* @param basicId
* @param companyId
* @return
*/
Integer selectHazmatCountOfWarehouse(@Param("warehouseId") Long warehouseId, @Param("basicId")Long basicId, @Param("companyId")Long companyId,
@Param("cupboardId") Long cupboardId);
/**
* 获取指定仓库库存
* @param warehouseId
* @param basicId
* @param companyId
* @return
*/
List selectHazmatWarehouseCheck(@Param("warehouseId") Long warehouseId, @Param("companyId")Long companyId,
@Param("cupboardId") Long cupboardId);
/**
* 根据条码code查询危化品信息
* @param code
* @return
*/
HzHazmat selectHazmatByCode(@Param("code") String code,@Param("companyId") Long companyId);
/**
* 危化品使用数量
* @param startTime
* @param endTime
* @param companyId
* @return
*/
List useCountEverydayStatic(@Param("startTime")String startTime,@Param("endTime") String endTime,@Param("companyId") Long companyId);
/**
* 统计使用频繁的试剂
* @param startTime
* @param endTime
* @param companyId
* @return
*/
List maxUseCountStatic(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("companyId")Long companyId);
/**
* 超期未归还的危化品列表
* @param startIndex
* @param pageSize
* @return
*/
ListselectWarningHazmatList(@Param("slice")Integer slice,@Param("startIndex")Integer startIndex,@Param("pageSize")Integer pageSize);
/**
* 根据条件分页汇总仓库危化品
* @param hzHazmat
* @return
*/
List selectHazmatGroupWareHouse(HzHazmat hzHazmat);
/**
* 危化品完全用完数量
* @param startTime
* @param endTime
* @param companyId
* @return
*/
List useCountStatic(@Param("startTime")String startTime,@Param("endTime") String endTime,@Param("companyId") Long companyId);
}