package com.ruoyi.project.production.mapper;

import java.util.List;
import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
import com.ruoyi.project.production.controller.vo.MonthlyQualityRemoveVO;
import com.ruoyi.project.production.domain.TMonthlyQualityReportS0501;

/**
 * 质量月报S0501Mapper接口
 * 
 * @author ruoyi
 * @date 2023-10-27
 */
public interface TMonthlyQualityReportS0501Mapper 
{
    public TMonthlyQualityReportS0501 selectTMonthlyQualityReportS0501ListMonth(TMonthlyQualityReportS0501 tMonthlyQualityReportS0501);

    /**
     * 查询质量月报S0501
     * 
     * @param id 质量月报S0501ID
     * @return 质量月报S0501
     */
    public TMonthlyQualityReportS0501 selectTMonthlyQualityReportS0501ById(Long id);

    /**
     * 查询质量月报S0501列表
     * 
     * @param tMonthlyQualityReportS0501 质量月报S0501
     * @return 质量月报S0501集合
     */
    @DataScope(deptAlias = "d")
    public List<TMonthlyQualityReportS0501> selectTMonthlyQualityReportS0501List(TMonthlyQualityReportS0501 tMonthlyQualityReportS0501);

    /**
     * 新增质量月报S0501
     * 
     * @param tMonthlyQualityReportS0501 质量月报S0501
     * @return 结果
     */
    public int insertTMonthlyQualityReportS0501(TMonthlyQualityReportS0501 tMonthlyQualityReportS0501);

    /**
     * 修改质量月报S0501
     * 
     * @param tMonthlyQualityReportS0501 质量月报S0501
     * @return 结果
     */
    public int updateTMonthlyQualityReportS0501(TMonthlyQualityReportS0501 tMonthlyQualityReportS0501);

    /**
     * 删除质量月报S0501
     * 
     * @param id 质量月报S0501ID
     * @return 结果
     */
    public int deleteTMonthlyQualityReportS0501ById(Long id);

    /**
     * 批量删除质量月报S0501
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTMonthlyQualityReportS0501ByIds(Long[] ids);

    public void deleteTMonthlyQualityReportBranch(MonthlyQualityRemoveVO vo);

    public String[] selectTMonthlyQualityReportYearMonth();
}
