package com.xinyilu.system.mapper.testItemCityScoreinfo;

import com.xinyilu.system.domain.testItemCityScoreinfo.TestItemCityScore;
import com.xinyilu.system.domain.vo.TestItemCityScoreinfoVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 全市平均成绩Mapper接口
 *
 * @author xinyilu
 * @date 2022-08-03
 */
public interface TestItemCityScoreMapper {
    /**
     * 查询全市平均成绩
     *
     * @param id 全市平均成绩主键
     * @return 全市平均成绩
     */
    public TestItemCityScoreinfoVo selectTestItemCityScoreById(Long id);

    /**
     * 查询全市平均成绩列表
     *
     * @param testItemCityScore 全市平均成绩
     * @return 全市平均成绩集合
     */
    public List<TestItemCityScoreinfoVo> selectTestItemCityScoreList(TestItemCityScoreinfoVo testItemCityScore);

    /**
     * 新增全市平均成绩
     *
     * @param testItemCityScore 全市平均成绩
     * @return 结果
     */
    public int insertTestItemCityScore(TestItemCityScore testItemCityScore);

    /**
     * 修改全市平均成绩
     *
     * @param testItemCityScore 全市平均成绩
     * @return 结果
     */
    public int updateTestItemCityScore(TestItemCityScore testItemCityScore);

    /**
     * 删除全市平均成绩
     *
     * @param id 全市平均成绩主键
     * @return 结果
     */
    public int deleteTestItemCityScoreById(Long id);

    /**
     * 批量删除全市平均成绩
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTestItemCityScoreByIds(Long[] ids);

    /**
     * 逻辑批量删除全市平均成绩
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int updateTestItemCityScoreByIds(Long[] ids);

    /**
     * 根据项目id查询对应得项目类型值
     *
     * @param itemId 项目id
     * @return 类型值
     */
    String getItemType(Long itemId);

    /**
     * 根据id修改平均成绩信息
     *
     * @param id 主键id
     * @return 数量
     */
    int updateItemScoreById(Long id);

    /**
     * 根据id修改平均成绩信息
     *
     * @param id 主键id
     * @return 数量
     */
    int updateItemTextById(Long id);

    /**
     * 全市平均成绩信息
     *
     * @param areaId 区域id
     * @param itemId 项目id
     * @param sex    性别
     * @return 平均成绩信息
     */
    TestItemCityScore getItemCityScoreInfo(@Param("areaId") Long areaId, @Param("itemId") Long itemId, @Param("sex") String sex);

    /**
     * 全市平均成绩信息
     *
     * @param areaId 区域id
     * @param itemId 项目id
     * @param sex    性别
     * @return id集合
     */
    List<Long> getItemCityScoreIds(@Param("areaId") Long areaId, @Param("itemId") Long itemId, @Param("sex") String sex);
}
