package com.jwipc.spe.logic;

import com.jwipc.page.PageView;
import com.jwipc.query.BasePageQuery;
import com.jwipc.spe.dto.SubmitScoreDTO;
import com.jwipc.spe.dto.SupAppraisePlanDetailDTO;
import com.jwipc.spe.dto.SupAppraisePlanSaveDTO;
import com.jwipc.spe.entity.SupAppraisePlan;
import com.jwipc.spe.model.dto.ScoreReportDTO;
import com.jwipc.spe.model.query.AppraiseSupplierQuery;
import com.jwipc.spe.model.query.ScoreReportQuery;
import com.jwipc.spe.model.query.SupAppraisePlanQuery;

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

/**
 * <p> </p>
 *
 * @author BOGON
 * @version 1.0
 * @since JDK 1.8
 */
public interface SupAppraisePlanLogic {
    PageView list(SupAppraisePlanQuery query);

    SupAppraisePlanDetailDTO getDetail(Long id);

    void saveOrUpdate(SupAppraisePlanSaveDTO supAppraisePlanSaveDTO);

    PageView detailList(AppraiseSupplierQuery query);

    void hanlderStr2Num(List<Map<String, Object>> planDetails);

    List<Map<String, Object>> getPlanDetail(AppraiseSupplierQuery query);

    void updateStatus(Long planId);

    void submitScore(Integer type, SubmitScoreDTO submitScoreDTO);

    void needWard(Long planId);

    void remove(Long id);

    PageView scoreReportList(ScoreReportQuery query);
    /**
     * 查询预测计划信息列表：过滤新建状态
     * @return
     */
    List<SupAppraisePlan> selectPlanYearList();
    List<ScoreReportDTO> listAll(ScoreReportQuery scoreReportQuery);

    PageView rectifiedSupplierList(Long planId);

    PageView getSupplierAppraisePlan(BasePageQuery basePageQuery, Long supplierId);

}