package com.brilliance.isc.mda.dao;

import com.brilliance.isc.bo.Ack;
import com.brilliance.isc.bo.AckVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 
 */
@Mapper
public interface AckMapper {

    /**
     * 更新objsub字段
     *
     * @param objSub 更新值
     * @param sndRef 更新条件
     * @return int 返回结果
     */
    int updateObjSubBySndRef(@Param("objSub") String objSub, @Param("sndRef") String sndRef);

    int updateObjSub(@Param("newInr") String newInr, @Param("oldInr") String oldInr);

    /**
     * 查询一条数据
     *
     * @param ack 入参
     * @return Ack 返回结果
     */
    Ack selectOneByVo(@Param("vo") Ack ack);

    Ack selectOneByVoS(@Param("vo") Ack ack);
    Ack selectOneByVoG(@Param("vo") Ack ack);

    Ack selectOneByVoF(@Param("vo") Ack ack);

    /**
     * 插入数据
     *
     * @param ack 入参
     * @return int 返回结果
     */
    int insert(@Param("vo") Ack ack);

    /**
     * 更新数据
     *
     * @param ack 入参
     * @return int 返回结果
     */
    int update(@Param("vo") Ack ack);

    List<Ack> selectPdaSta(@Param("vo") Ack ack);

    List<Ack> selectPdeSta(@Param("vo") Ack ack);

    Ack selectBySndrefAndAcksrv(@Param("vo") Ack ack);

    List<Ack> selectByCondition(@Param("sql")String sql);
    List<AckVo> selectByCon(@Param("sql")String sql);

    Ack selectByObjtypAndObjinrAndSta(@Param("objtyp") String objtyp, @Param("objinr") String objinr, @Param("sta") String sta);

    Ack selectByObjtypAndObjinrAndStas(@Param("objtyp") String objtyp, @Param("objinr") String objinr, @Param("list") List<String> list);

    Ack selectOneByObjtypAndObjinr(@Param("objtyp") String objtyp, @Param("objinr") String objinr);
}
