package com.gx.obe.evaluation.step.listener;

import java.util.List;
import java.util.Map;

import com.gx.obe.web.entity.EvaluationFactorResult;
import com.gx.obe.web.entity.Supplier;
import com.gx.obe.web.entity.evaluation.EvaluationStep;
import com.gx.obe.web.entity.expert.Expert;
import com.gx.obe.web.entity.expert.ExpertEvaluationResult;
import com.gx.obe.web.entity.tender.TenderProjectEntity;

public interface AiEvaluationListener {
	
	/**
	 * @Description: 获取当前项目
	 * @author chenxw
	 * @return
	 */
	TenderProjectEntity getCurTender();
	
	/**
	 * @Description: 获取当前步骤
	 * @author chenxw
	 * @return
	 */
	EvaluationStep getCurStep();
	
	/**
	 * @Description: 获取当前专家
	 * @author chenxw
	 * @return
	 */
	Expert getCurExpert();
	
	/**
	 * @Description: 获取供应商列表
	 * @author chenxw
	 * @return
	 */
	List<Supplier> getSupplierList();
	
	/**
	 * @Description: 刷新指标表格图片
	 * @author chenxw
	 */
	void refreshFactorGridImage();
	
	/**
	 * @Description: 刷新投标人结构化数据
	 * @author chenxw
	 * @param supplierId 
	 */
	void refreshSupplierStruct(String supplierId);
	
	/**
	 * @Description: 刷新投标人结果
	 * @author chenxw
	 * @param supplierId 
	 */
	void refreshSupplierResult(String supplierId);
	
	/**
	 * @Description: 选择供应商事件
	 * @author chenxw
	 * @param supplier
	 */
	void selectingSupplierAction(Supplier supplier);
	
	/**
	 * @Description: 获取评审指标结果
	 * @author chenxw
	 * @return
	 */
	Map<String, EvaluationFactorResult> getFactorResultMap();
	
	/**
	 * @Description: 获取专家评审结果
	 * @author chenxw
	 * @return
	 */
	Map<String, ExpertEvaluationResult> getResultSupplierMap();
	
	/**
	 * @Description: 获取供应商名称
	 * @author chenxw
	 * @return
	 */
	String getSupplierName();
	
	/**
	 * @Description: 获取得分小数位数
	 * @author chenxw
	 * @return
	 */
	int getScoreRound();

}
