package com.bonus.material.project.mapper;

import com.bonus.material.project.domain.Project;
import com.bonus.material.project.domain.ProjectType;
import org.apache.ibatis.annotations.Param;


import java.util.List;

public interface ProjectMapper {

    /**
     * 查询工程列表
     *
     * @param project 工程信息
     * @return 工程集合
     */
    public List<Project> selectProjectList(Project project);

    /**
     * 通过ID查询工程
     *
     * @param projectId 工程ID
     * @return 工程对象
     */
    public Project selectProjectById(@Param("id") Long projectId);

    /**
     * 新增工程
     *
     * @param project 工程信息
     * @return 结果
     */
    public int insertProject(Project project);

    /**
     * 修改工程
     *
     * @param project 工程信息
     * @return 结果
     */
    public int updateProject(Project project);

    /**
     * 删除工程
     *
     * @param projectId 工程ID
     * @return 结果
     */
    public int deleteProjectById(@Param("id") Long projectId);

    /**
     * 查询工程类型列表
     *
     * @return 工程类型集合
     */
    public List<ProjectType> selectProjectTypeList();

    public int delProjectBatch(List<Long> ids);

    int countByProjectName(String proName);

    int countByProjectCode(String proCode);

    int countByProjectNameById(@Param("proName")String proName, @Param("id") Integer id);
}
