package com.lz.modules.sys.service.app;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lz.common.utils.BigDecimalUtil;
import com.lz.modules.app.resp.ResultDetailResp;
import com.lz.modules.app.resp.Step;
import com.lz.modules.flow.model.Auth;
import com.lz.modules.flow.model.ResultDetailDto;
import com.lz.modules.sys.entity.app.ResultDetail;
import com.lz.modules.sys.entity.app.ResultRecord;

import java.math.BigDecimal;
import java.util.List;

/**
* <p>
* 业绩详情表 服务类
* </p>
*
* @author quyixiao
* @since 2020-08-10
*/
public interface ResultDetailService extends IService<ResultDetail> {



	ResultDetail selectResultDetailById(Long id);


	Long insertResultDetail(ResultDetail resultDetail);


	int updateResultDetailById(ResultDetail resultDetail);


	int updateCoverResultDetailById(ResultDetail resultDetail);


	int deleteResultDetailById(Long id);


    List<ResultDetail> selectByRecordId(Long recordResultId);

	List<ResultDetail> selectByRecordIdType(Long recordResultId, Integer type);

    ResultDetailResp getYeJi();

	ResultDetailResp getYeJiKaoHe(BigDecimal acquireScore);

	ResultDetailResp getWenHuaJiaZhiGua2(Auth auth);

	ResultDetailResp getWenHuaJiaZhiGua1(Auth auth);

	ResultDetailResp getWenHuaJiaZhiGuaResult1(BigDecimal bigDecimal);

	ResultDetailResp getWenHuaJiaZhiGuaResult2();

	ResultDetailResp getLastResult(BigDecimal bigDecimal);

	void insertWenHuaJiaZhiGua(String s, Long id, Long userId,BigDecimal checkWeight);

	String initRole(Long staffId, Long l);

    List<Step> getStepList(ResultRecord resultRecord);

    String getScoreLevel(double doubleValue);

	List<ResultDetail> selectByRecordIdAndType(Long id, int i);

    Long insertResultDetails(List<ResultDetail> resultDetails);

    List<ResultDetailDto> selectDtosByRecordId(Long id, Long modelId);

    int deleteResultDetailByRecordId(Long recordId);

	ResultDetail selectNotNoticeResultDetailByBackId(Long id);

    List<ResultDetail> selectNotNoticeResultDetailByRecordId(Long recordId);
}