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

import java.util.List;
import com.ruoyi.web.modules.industryservice.domain.BizYakAsset;
import com.ruoyi.web.modules.industryservice.domain.BizYakPhysioSeries;
import com.ruoyi.web.modules.industryservice.domain.vo.YakAssetDetailVo;
import com.ruoyi.web.modules.industryservice.domain.vo.YakAssetGrowthChartVo;
import com.ruoyi.web.modules.industryservice.domain.vo.LivestockFinanceSyncResultVo;

/**
 * 牦牛资产档案业务接口。
 * <p>
 * 负责列表/详情只读查询、生理与生长曲线组装，以及触发牧业金融生物资产全量同步。
 * </p>
 */
public interface IBizYakAssetService
{
    /** 分页列表，过滤已删除档案 */
    List<BizYakAsset> selectBizYakAssetList(BizYakAsset query);

    /** 按主键查详情（含子表与实时生理） */
    YakAssetDetailVo selectDetailById(Long id);

    /** 按牦牛编号查详情，系谱跳转用 */
    YakAssetDetailVo selectDetailByYakNo(String yakNo);

    /**
     * 生理曲线时序点，供详情 ECharts 使用。
     *
     * @param days 近 N 天，默认 30
     */
    List<BizYakPhysioSeries> selectPhysioChart(Long id, Integer days);

    /**
     * 生长曲线，按 dataKind 分实测/预测。
     *
     * @param metric weight / height / chest / length
     */
    YakAssetGrowthChartVo selectGrowthChart(Long id, String metric);

    /**
     * 牧业金融生物资产全量同步：养殖场 → 圈舍 → 计划 → 批次 → 入栏建档。
     */
    LivestockFinanceSyncResultVo syncFromThirdParty();
}
