package cn.com.countrygarden.bi.main.dao.insuranceOrder;


import cn.com.countrygarden.bi.main.core.Mapper;
import cn.com.countrygarden.bi.main.dto.insuranceOrder.InsuranceOrderDTO;
import cn.com.countrygarden.bi.main.dto.insuranceOrder.InsuranceOrderVO;
import cn.com.countrygarden.bi.main.model.insuranceOrder.InsuranceOrder;
import cn.com.countrygarden.bi.main.model.sys.UserRoles;
import com.github.pagehelper.PageRowBounds;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * <p>
 *   保险订单数据层
 * </p>
 *
 * @author 吕伟峰
 * @date 2020-07-15
 * @version V1.0
 */
public interface InsuranceOrderMapper extends Mapper<InsuranceOrder> {

    List<InsuranceOrder> queryPageList(@Param("insuranceOrder") InsuranceOrderDTO insuranceOrder, PageRowBounds pageRowBounds,
                                       @Param("organCodeString") List<String> organCodeString, @Param("commIdString") List<String> commIdString);

    List<InsuranceOrder> queryPageListOrg(@Param("insuranceOrder") InsuranceOrderDTO insuranceOrder, PageRowBounds pageRowBounds,
                                       @Param("organCodeString") List<String> organCodeString);

    List<InsuranceOrder> queryPageListComm(@Param("insuranceOrder") InsuranceOrderDTO insuranceOrder, PageRowBounds pageRowBounds,
                                           @Param("commIdString") List<String> commIdString);

    int update(InsuranceOrder insuranceOrder);

    int deleteupdate(InsuranceOrder insuranceOrder);

    List<InsuranceOrderVO> evaluationrddInsuranceOrder(@Param("insuranceOrder") InsuranceOrderDTO insuranceOrder,
                                                       @Param("organCodeString") List<String> organCodeString, @Param("commIdString") List<String> commIdString,
                                                       @Param("rids") List<String> rids);

    List<UserRoles> selectuserRoles(@Param("userCode") String userCode);

    List<InsuranceOrder> selectEdit(@Param("insuranceOrder") InsuranceOrder insuranceOrder);

    List<InsuranceOrderVO> evaluationrddInsuranceOrderCodeString(@Param("insuranceOrder") InsuranceOrderDTO insuranceOrder,
                                                       @Param("organCodeString") List<String> organCodeString,
                                                       @Param("rids") List<String> rids);

    List<InsuranceOrderVO> evaluationrddInsuranceOrderComm(@Param("insuranceOrder") InsuranceOrderDTO insuranceOrder,
                                                           @Param("commIdString") List<String> commIdString,
                                                                 @Param("rids") List<String> rids);

}
