package com.zt.plat.module.qms.business.bus.service;

import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.module.qms.business.bus.controller.vo.*;

/**
 * <b>SampleAnalysisService</b>
 * @since 2025年9月22日
 */
public interface SampleAnalysisService {

	/**
	 * 根据分配任务单id获取任务分配单分析样品项目
	 * @param businessAssayTaskId 任务分配单id
	 * @return
	 */
	@Deprecated
	BusinessAssayTaskAnalysisSampleProjectRespVO batchSampleAnalysisByTaskId(Long businessAssayTaskId);

	/**
	 * 批量保存任务单录入数据
	 * @param vo
	 */
	@Deprecated
	void saveBatchSampleAnalysis(BusinessAssayTaskAnalysisSampleProjectRespVO vo);

	/**
	 * 根据分配任务id 获取任务分配单 分析样品项目及品控样品项目
	 * @param businessAssayTaskId
	 * @return
	 */
	BusinessAssayTaskAnalysisSampleAndQcProjectRespVO batchSampleAndQcAnalysisByTaskId(Long businessAssayTaskId);
	
	/**
	 * 下发配料(自动火试金配料)
	 * @param businessAssayTaskId
	 */
	void issuedIngredients(Long businessAssayTaskId);

	/**
	 * 人工配料
	 * @param businessAssayTaskId
	 */
	void manualIngredients(Long businessAssayTaskId);

	/**
	 * 根据任务单id提交分析数据
	 * @param businessAssayTaskId 任务单id
	 */
	void submitSampleAnalysisByTaskId(Long businessAssayTaskId);

	/**
	 * 批量保存任务单录入数据
	 * @param vo
	 */
	void saveBatchSmpleAndQcAnalysis(BusinessAssayTaskAnalysisSampleAndQcProjectRespVO vo);

	/**
	 * 根据子样任务id查询分析数据
	 * @param businessAssayTaskDataId
	 * @return
	 */
	JSONObject getSampleAnalysisDataByTaskDataId(Long businessAssayTaskDataId);

	void rollbackAnalysisSample(BusinessAssayTaskBackSampleReqVO req);



}
