package com.op.mes.mapper;

import java.util.Date;
import java.util.List;

import com.op.mes.domain.Bucket;
import com.op.mes.domain.ProWetMaterialPlan;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 湿料计划管理Mapper接口
 *
 * @author Open Platform
 * @date 2023-07-24
 */
public interface ProWetMaterialPlanMapper {
    /**
     * 查询湿料计划管理
     *
     * @param id 湿料计划管理主键
     * @return 湿料计划管理
     */
    public ProWetMaterialPlan selectProWetMaterialPlanById(String id);

    /**
     * 查询湿料计划管理列表
     *
     * @param proWetMaterialPlan 湿料计划管理
     * @return 湿料计划管理集合
     */
    public List<ProWetMaterialPlan> selectProWetMaterialPlanList(ProWetMaterialPlan proWetMaterialPlan);

    /**
     * 新增湿料计划管理
     *
     * @param proWetMaterialPlan 湿料计划管理
     * @return 结果
     */
    public int insertProWetMaterialPlan(ProWetMaterialPlan proWetMaterialPlan);

    /**
     * 修改湿料计划管理
     *
     * @param proWetMaterialPlan 湿料计划管理
     * @return 结果
     */
    public int updateProWetMaterialPlan(ProWetMaterialPlan proWetMaterialPlan);

    /**
     * 删除湿料计划管理
     *
     * @param id 湿料计划管理主键
     * @return 结果
     */
    public int deleteProWetMaterialPlanById(String id);

    /**
     * 批量删除湿料计划管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProWetMaterialPlanByIds(String[] ids);

    /**
     * 根据时间范围查询范围内的计划列表
     *
     * @param startTime
     * @param endTime
     * @return
     */
    List<ProWetMaterialPlan> selectProWetMaterialPlanListByTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    /**
     * 通过班次id查询班次名称
     *
     * @param shiftId
     * @return
     */
    @Select("SELECT bst.Shift_Desc_Global shiftName FROM base_shifts_t bst WHERE bst.Shift_Id = #{shiftId}")
    String selectShiftById(String shiftId);

    /**
     * 查询料罐list
     * @return
     */
    @Select("SELECT equipment_id AS 'bucketId',equipment_code AS 'bucketCode',equipment_name AS 'bucketName' FROM base_equipment WHERE equipment_type_code = 'equ_type_lg'")
    List<Bucket> selectBucketList();
}
