package cn.iocoder.yudao.module.inspection.service;

import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.module.inspection.entity.ProjectRoyalty;
import cn.iocoder.yudao.module.inspection.vo.ProjectRoyaltyPageReqVO;
import cn.iocoder.yudao.module.inspection.vo.ProjectRoyaltySaveReqVO;

/**
 * 检测项目子表（项目提成） Service 接口
 *
 * @author 若依
 */
public interface ProjectRoyaltyService {

    /**
     * 创建检测项目子表（项目提成）
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createProjectRoyalty(@Valid ProjectRoyaltySaveReqVO createReqVO);

    /**
     * 批量创建检测项目子表（项目提成）
     *
     * @param createReq 创建信息
     */
    void batchInsertProjectRoyalty(@Valid List<ProjectRoyalty> createReq);

    /**
     * 根据项目id删除检测项目子表（项目提成）
     * @param projectId
     */
    void deleteInsertProjectRoyalty(String projectId);

    /**
     * 根据项目id查询检测项目子表（项目提成）
     * @param projectId
     * @return
     */
    List<ProjectRoyalty> getProjectRoyaltyList(String projectId);

    /**
     * 批量更新检测项目子表（项目提成）
     * @param createReq
     */
    void updtaBatch(List<ProjectRoyalty> createReq);

//    /**
//     * 更新检测项目子表（项目提成）
//     *
//     * @param updateReqVO 更新信息
//     */
//    void updateProjectRoyalty(@Valid ProjectRoyaltySaveReqVO updateReqVO);
//
//    /**
//     * 删除检测项目子表（项目提成）
//     *
//     * @param id 编号
//     */
//    void deleteProjectRoyalty(Long id);
//
//    /**
//     * 获得检测项目子表（项目提成）
//     *
//     * @param id 编号
//     * @return 检测项目子表（项目提成）
//     */
//    ProjectRoyalty getProjectRoyalty(Long id);
//
//    /**
//     * 获得检测项目子表（项目提成）分页
//     *
//     * @param pageReqVO 分页查询
//     * @return 检测项目子表（项目提成）分页
//     */
//    PageResult<ProjectRoyalty> getProjectRoyaltyPage(ProjectRoyaltyPageReqVO pageReqVO);

}