package com.yifu.cloud.plus.v1.yifu.insurances.mapper.ekp;

import com.yifu.cloud.plus.v1.yifu.insurances.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zhaji
 * @description TODO
 * @date 2022-08-26 09:12:46
 */
@Mapper
public interface EkpSettleMapper {
	/**
	 * 获取结算信息
	 *
	 * @author zhaji
	 * @param id
	 * @return {@link SettleVo}
	 */
	SettleVo getSettle(String id);

	/**
	 * 获取结算信息
	 *
	 * @author zhaji
	 * @param id
	 * @return {@link SettleVo}
	 */
	DeptSettleVo getDeptSettle(String id);

	/**
	 * 获取结算信息
	 *
	 * @author zhaji
	 * @param id
	 * @return {@link SettleVo}
	 */
	DeptSettleVo getDeptYgSettle(String id);

	/**
	 * 从商险订单明细中获取当前保单的结算状态
	 *
	 * @author huyc
	 * @param id
	 * @return {@link SettleVo}
	 */
	EkpSettleStatusVo getSettleStatusFromEkpInsuranceDetail(String id);

	List<EkpInsuranceViewVo> selectSettleStatusBySettleNo(@Param("settleNo") String settleNo, @Param("payFlag") String payFlag);

	List<EkpSocialViewVo> selectSocialViewStatusBySettleNo(@Param("settleNo") String settleNo,@Param("payFlag") String payFlag);

	List<EkpSocialViewVo> selectFundViewBySettleNo(@Param("settleNo") String settleNo,@Param("payFlag") String payFlag);

	List<EkpInsuranceViewVo> selectFIncomelViewBySettleNo(@Param("settleNo") String settleNo);

	List<EkpInsuranceViewVo> selectIncomeViewBySettleNo(@Param("settleNo") String settleNo);

	List<EkpSocialViewVo> selectSalarylViewBySettleNo(@Param("settleNo") String settleNo,@Param("payFlag") String payFlag);

	EkpInsuranceDeptInfoVo getInsuranceEkpDeptInfo(@Param("deptNo") String deptNo);

}
