package com.goafanti.common.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.goafanti.common.model.TechProject;
import com.goafanti.techproject.bo.ProjectDetailBo;
import com.goafanti.techproject.bo.TaskListBo;
import com.goafanti.techproject.bo.TechProjectContractListBo;
import com.goafanti.techproject.bo.TechProjectDetailBo;
import com.goafanti.user.bo.OrgUnitNames;

public interface TechProjectMapper {
    int deleteByPrimaryKey(String id);

    int insert(TechProject record);

    int insertSelective(TechProject record);

    TechProject selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(TechProject record);

    int updateByPrimaryKey(TechProject record);

	TechProjectDetailBo selectProjectDetail(String pid);

	int batchDeleteByPrimaryKey(List<String> id);

	Integer countTechProjectDone(@Param("uid")String uid, @Param("year")Integer year);

	Integer countTechProjectUndone(@Param("uid")String uid, @Param("year")Integer year);

	List<OrgUnitNames> selectWebsiteUnitNames(String principal);

	List<TechProjectContractListBo> listContractTechProjectByContractId(String contractId);

	void batchInsert(List<TechProject> tp);

	Integer findTechProjectNumByUid(String uid);

	int batchDeleteByContractId(List<String> id);

	ProjectDetailBo selectTechProjectDetail(@Param("contractId")String contractId,@Param("buyerType")Integer buyerType);

	List<TaskListBo> selectProjectTask(String contractId);
}