package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Gcd;
import com.brilliance.isc.vo.lg.GcdDetailVo;
import com.brilliance.isc.vo.lg.GcdInfoVo;
import com.brilliance.isc.vo.lg.InfgcdDetailVo;
import com.brilliance.isc.vo.lg.QueryConditionInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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


@Mapper
public interface GcdMapper {
    int insert(Gcd record);

    int insertSelective(Gcd record);

    int updateByPrimaryKeySelective(Gcd record);

    int updateByPrimaryKey(Gcd record);

    int deleteByPrimaryKey(Gcd record);

    int deleteByIds(Collection<Object> collection);

    Gcd selectByPrimaryKey(Gcd record);

    int dyncDelete(Map<String,Object> dyncMap);

    List<Gcd> dyncRead(Map<String,Object> dyncMap);

    int getActPendingClaimCount(@Param("inr") String inr);

    int getGcdCount(@Param("inr") String inr);

    int getSptCount(@Param("ownref") String ownref,@Param("inr") String inr);

    List<GcdInfoVo> getGcdByGidinr(@Param("opentyp") String opentyp, @Param("gidinr") String gidinr);

    List<GcdInfoVo> selectAllGcdByCondition(QueryConditionInfoVo conditionInfoVo);
    Gcd selectByAnyref(@Param("objtyp") String objtyp,@Param("ref") String ref,@Param("rol") String rol);

    Gcd selectByWhere(Gcd record);

    List<InfgcdDetailVo> queryInfgcd(QueryConditionInfoVo conditionInfoVo);


    Map<String,String > querySingleGcdInfo(QueryConditionInfoVo conditionInfoVo);

    Map<String,String > querySingleNcdInfo(QueryConditionInfoVo conditionInfoVo);

    List<String> getGcdOwnrefList(@Param("inr") String inr);

    List<String> getSptOwnrefList(@Param("ownref") String ownref,@Param("inr") String inr);

    Gcd selectOneByOwnRef(@Param("ownRef") String ownRef);
}
