package com.ruoyi.web.modules.industryservice.service;

import java.util.List;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.web.modules.industryservice.domain.BizVaccinationData;
import com.ruoyi.web.modules.industryservice.domain.vo.VaccinationDataImportResultVo;

/**
 * 疫苗接种数据填报服务。
 */
public interface IBizVaccinationDataService
{
    BizVaccinationData selectBizVaccinationDataById(Long id);

    List<BizVaccinationData> selectBizVaccinationDataList(BizVaccinationData query);

    int insertBizVaccinationData(BizVaccinationData row);

    int updateBizVaccinationData(BizVaccinationData row);

    int deleteBizVaccinationDataByIds(Long[] ids, String updateBy);

    /**
     * Excel 导入：按 (年,月,村) upsert；任一行失败整批不写。
     */
    VaccinationDataImportResultVo importData(MultipartFile file, Integer statYear, Integer statMonth, String username);

    List<Integer> listYearOptions();

    List<Integer> listMonthOptions();

    List<java.util.Map<String, Object>> listTownOptions();

    List<TreeSelect> listVillageTree();

    byte[] exportByYearMonth(Integer statYear, Integer statMonth, Long townDeptId);

    byte[] exportByYearMonth(Integer statYear, Integer statMonth, Long townDeptId, String fillerName);
}
