package com.ruoyi.project.production.service;

import java.util.List;

import com.ruoyi.project.production.controller.vo.MonthlyUpdateVO;
import com.ruoyi.project.production.domain.TMonthlyProductionPrice;
import com.ruoyi.project.production.service.impl.vo.MonthlyProductionReportVO;

/**
 * 生产月报单价维护Service接口
 * 
 * @author ruoyi
 * @date 2022-11-18
 */
public interface ITMonthlyProductionPriceService 
{
    /**
     * 查询生产月报单价维护
     * 
     * @param id 生产月报单价维护ID
     * @return 生产月报单价维护
     */
    public TMonthlyProductionPrice selectTMonthlyProductionPriceById(Long id);

    /**
     * 查询生产月报单价维护列表
     * 
     * @param tMonthlyProductionPrice 生产月报单价维护
     * @return 生产月报单价维护集合
     */
    public List<TMonthlyProductionPrice> selectTMonthlyProductionPriceList(TMonthlyProductionPrice tMonthlyProductionPrice);

    /**
     * 新增生产月报单价维护
     * 
     * @param tMonthlyProductionPrice 生产月报单价维护
     * @return 结果
     */
    public int insertTMonthlyProductionPrice(TMonthlyProductionPrice tMonthlyProductionPrice);

    /**
     * 修改生产月报单价维护
     * 
     * @param tMonthlyProductionPrice 生产月报单价维护
     * @return 结果
     */
    public int updateTMonthlyProductionPrice(TMonthlyProductionPrice tMonthlyProductionPrice);

    /**
     * 批量删除生产月报单价维护
     * 
     * @param ids 需要删除的生产月报单价维护ID
     * @return 结果
     */
    public int deleteTMonthlyProductionPriceByIds(Long[] ids);

    /**
     * 删除生产月报单价维护信息
     * 
     * @param id 生产月报单价维护ID
     * @return 结果
     */
    public int deleteTMonthlyProductionPriceById(Long id);

    List<MonthlyProductionReportVO> selectPriceByYear(Long year);

    int updatePriceList(MonthlyUpdateVO monthlyUpdateVO);
}
