package com.dayou.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dayou.entity.MajorProduction;
import com.dayou.dao.CustomBaseMapper;
import com.dayou.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 大中型产品 Mapper 接口
 * </p>
 *
 * @author wucl
 * @since 2023-11-06
 */
public interface MajorProductionMapper extends CustomBaseMapper<MajorProduction> {

    List<MajorProduction> getList(@Param("production") MajorProduction majorProduction);

    Page<MajorProductionSaveDoneVO> saveDonePage(Page page, @Param("done") MajorProductionSaveDoneVO productionDone,@Param("keyword") String keyword);

    Page<MajorProductionVO> getHouse(Page page, @Param("vo") MajorProductionVO vo,@Param("keyword") String keyword);

    Page<MajorOrderVO> myOrder(Page page, @Param("vo") MajorOrderVO myOrder,@Param("keyword") String keyword);

    Page<MajorOrderVO> waitingClaim(Page page, @Param("vo") MajorOrderVO myOrder);

    List<MajorProduction> getMajorProductionAboutFundId(@Param("majorId") Long majorId);

    Page<TaskTodoVO> todoSaveFilePage(Page page, @Param("todoVO") TaskTodoVO todoVO,@Param("keyword") String keyword);

    void updateSaveFileInfo(@Param("productionIds") List<Long> productionIds);

    Page<MajorProductionPerformanceVO> performanceAllotPage(Page page, @Param("vo") MajorProductionPerformanceVO vo,@Param("currentUserId") Long currentUserId);

    ProdValidateVO validateProd(@Param("id") Long id);

    Page<MajorProductionVO> waitingClaimProd(Page page, @Param("vo")MajorProductionVO production);
}
