/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved.
*
*/
package net.northking.cctp.testbug.db.dao;

import net.northking.cctp.common.db.PagingQueryDao;
import net.northking.cctp.platform.db.entity.CltDictItem;
import net.northking.cctp.testbug.db.entity.BugManagement;
import net.northking.cctp.testbug.db.mapper.BugManagementMapper;
import net.northking.cctp.testbug.dto.*;
import net.northking.cctp.testbug.dto.bus.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Mybatis数据库持久层（业务层）：缺陷管理
 *
 * <p>文件内容由代码生成器产生，请不要手动修改！ <br>
 * createdate:  2021-10-08 15:56:45  <br>
 * @author:  maven-cctp-plugin  <br>
 * @since:  1.0 <br>
 */
@Repository
public interface BugManagementDao extends BugManagementMapper, PagingQueryDao
{
    List<String> queryBugCreatedBy(@Param("projectList") List<String> projectList, @Param("tenantId") String tenantId);

    List<String> queryBugReceiver(@Param("projectList") List<String> projectList, @Param("tenantId") String tenantId);

    List<BugManagementDetailDto> pagingQuery(BugManagementQueryDto dto);

    List<BugManagementDetailDto> pagingQueryFilter(BugManagementQueryDto dto);

    List<BugManagement> queryBugInfo(BugManagementQueryDto dto);

    Integer synchronizationModule(SynModule data);

    Integer synchronizationSystem(SynSystem data);

    List<BugManagementDetailDto> findByLinkId(@Param("linkId") String linkId);

    List<BugTendencyChartDetailDto> queryBugByStatus(@Param("proId") String proId,@Param("statusList") List<String> statusList,@Param("tenantId") String tenantId,@Param("startTime") String startTime,@Param("endTime") String endTime);

    List<BugStatisticsChartAddDto> queryBugByDicItems(@Param("dictItems")List<CltDictItem> dictItems,@Param("tenantId") String tenantId);

    List<IsCommitBugDetailDto> findByLinkIdList(@Param("linkIdList") List<String> linkIdList);

    List<String> findTenantIdList();

    List<BugStatisticsChartAddDto> queryBugByDicItems2(@Param("parseArray") List<CltDictItem> parseArray,@Param("tenantId")  String tenantId, @Param("projectIdList") List<String> projectIdList, @Param("recordType") String recordType);

    List<BugHighDegreeChartDetailDto> pagingQueryHighDegree(BugHighDegreeChartQueryDto query);

    Integer queryUserBugByProId(@Param("projectId") String projectId, @Param("userId") String userId);

    CountBugDetailDto countBugAmount(@Param("projectId")String projectId,@Param("endStatusList")List<String> endStatusList);

    List<BugManagementDetailDto> pageQ(BugManagementQueryDto query);

    void add(BugManagement entity);

}
